PHP код:
#undef MAX_VEHICLES
#define MAX_VEHICLES 1024
#assert MAX_VEHICLES > 0
enum VehicleOptions
{
VO_Type,
Float:VO_Pos_X,
Float:VO_Pos_Y,
Float:VO_Pos_Z,
bool:VO_Player,
bool:VO_VehicleTimer,
VO_TimerIndex,
VO_NeonObj_1,
VO_NeonObj_2
}
new VehicleOpt[MAX_VEHICLES][VehicleOptions];
Для временного транспорта (VO_Type == 0) не используются координаты, но я решил пусть себе будут координаты, может потом что-то придумаю и они будет нужны.
Да и создавать еще один массив неудобно.
По поводу что не так:
Мне нужно было сделать - если игрок выходит из временной машины то она удаляется через Х секунд (таймер) (стоит 30сек.)
Но если в течение этих Х секунд игрок обратно сядет в машину то таймер удалится.
Seregamil,
1) Это тоже самое что я придумал, просто тема была поднята с просьбой помочь реализовать это всем без массива на временные машины.
2)
PHP код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(!IsVehicleStatic(vehicleid))
{
VehicleOpt[vehicleid][VO_VehicleTimer] = true;
VehicleOpt[vehicleid][VO_TimerIndex] = SetTimerEx("DelayedVehicleDestroy", 30000, false, "d", vehicleid);
}
return 1;
}
publics: DelayedVehicleDestroy(vehicleid)
{
if(VehicleOpt[vehicleid][VO_Player] == true) return 1;
if(VehicleOpt[vehicleid][VO_VehicleTimer] == false) return 1;
else VehicleOpt[vehicleid][VO_VehicleTimer] = false;
return DestroyVehicle(vehicleid);
}
Из аргументов у меня только "vehicleid".
Я искал, нет натива чтобы проверить находится ли в данном транспорте кто-то.