Egy kisebb észrevétel:
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid)
Ez akkor fog teljesülni, ha az 1-es jármûben ülsz (de még az se biztos). A GetPlayerVehicleID 0-ával tér vissza, ha nem ül, és nagyobb számokkal, ha valamelyikben ül.
És, mi a probléma?
Az if true értékkel tér vissza, ha 0-nál nagyobb érték szerepel a feltételben.
Edit:
Ha nem hiszed, akkor teszteld le, íme:
new
vehicleid;
for(new i; i < 100; i++)
{
vehicleid = random(4);
if(vehicleid)
{
printf(\"TESZT: %d\", vehicleid);
}
}