#Pawno 306 Опубликовано 18 июля, 2018 (изменено) Вообщем суть в чем , сделал систему респавна фракционых тачек , но проблема в том что, при вызове этой функций машины не спавнится. В чем проблема может быть? if(PI[playerid][pLeader] != F_POLICE) return SendClientMessage(playerid, -1, "Вы не лидер полиций"); for(new i; i<sizeof(POLICAR); i++) { if(!IsVehicleOccupied(i)) SetVehicleToRespawn(i); SCM(playerid,-1,"Вы успешно зареспавнили транспорт фракций"); } Изменено 18 июля, 2018 пользователем #Pawno Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MOP TTEX 144 Опубликовано 18 июля, 2018 У Вас проверяются все авто от 0 до ID авто POLICARMAX Попробуйте так: for(new i; i<sizeof(POLICAR); i++) { if(POLICAR[0] >= i && POLICAR[MAXPOLICAR] <= i) { if(!IsVehicleOccupied(i)) SetVehicleToRespawn(i); SCM(playerid,-1,"Вы успешно зареспавнили транспорт фракций"); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
danlab 7 Опубликовано 18 июля, 2018 У тебя есть некоторые недочёты. Если ты создаёшь транспорт через переменную POLICAR (POLICAR[0] = CreateVehicle...), то тебе нужно указывать именно эту переменную в аргументе. То есть в переменной POLICAR - хранится тот самый айдишник который нам нужен (он может быть и 50, может быть и 100). Используя SetVehicleToRespawn(i); ты спавнишь транспорт с ID 0 и так до последней итерации. Ещё при спавне каждой модели - будет вылезать сообщение "Вы успешно зареспавнили транспорт фракций", я вынес SCM за цикл. for(new i = sizeof POLICAR-1; i != -1; i--) // Запускаем цикл на декремент { if(IsVehicleOccupied(POLICAR[i])) continue; // Если транспорт занят то пропускаем итерацию SetVehicleToRespawn(POLICAR[i]); // Респавним транспорт } SCM(playerid,-1,"Вы успешно зареспавнили транспорт фракций"); // Выводим сообщение 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Pawno 306 Опубликовано 20 июля, 2018 Уже переписал , тема закрыта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты