sometimes comparing a var with a real numberm as you are doing doesnt work.
Its buried deep in the manual somewhere, from memory, it goes something like
...sometimes a var will not contain the expected integer, but contain a near value,
where one is expecting a 1.000, you will in fact get a 1.000001 which causes the if to fail...
or something to that effect.

try this instead. (untested)
Code:
//Function for creating pickups
function pickups_places()
{
	place = random(6);
	if (integer(place) == 1)
	{ent_create("pass.mdl",vector(-192,-192,0),NULL);}
	if (integer(place) == 2)
	{ent_create("pass.mdl",vector(-160,-192,0),NULL);}
	if (integer(place) == 3)
	{ent_create("pass.mdl",vector(-128,-192,0),NULL);}
	if (integer(place) == 4)
	{ent_create("pass.mdl",vector(-96,-192,0),NULL);}
	if (integer(place) == 5)
	{ent_create("pass.mdl",vector(-64,-192,0),NULL);}
}




"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial