Pypcin
Ученик
Итак начнём.
Сначало будем делать двигатель.
Чтобы велосипеды не имели у нас двигателей создаём функцию:
Создаём цикл и каждой машине ставим параметры engine - false. В public OnGameModeInit вставляем:
Теперь компилируем. Если ошибок нет то продолжаем...Если есть то проверьте всё.
Теперь переходим к запуску двигателя. В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) вставляем:
Всё готово теперь двигатель будет запускаться по нажатию 2 и так же глохнуть по нажатию этой клавиши.
В этой переменной у нас будет храниться кол-во бензина.
Теперь надо сделать чтоб бензин у нас отнимался. В public OnGameModeInit() вставляем
Идем дальше. Теперь сама функция. В конец мода вставляем:
И теперь сделаем так что если бензина нет то он не может завести машину.
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
после этого
Вставляем это:
Ну всё готово, можно смело жать F5, ах да чуть не забыл чтоб установить кол во бензина в машинах в public OnGameModeInit, в цикл который мы делали ранее добавляем это:
//Вставляем после проверки на велик
Не сложно Читай Ниже Перейди и Оцени 
Сначало будем делать двигатель.
Чтобы велосипеды не имели у нас двигателей создаём функцию:
PHP:
forward FuelCheck(playerid,engine,lights,alarm,doors,bonnet,boot,objective);
public FuelCheck(playerid,engine,lights,alarm,doors,bonnet,boot,objective)
{
for(new car=0; car< MAX_VEHICLES; car++) {
if(!IsAVelik(car)) GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine) fuel[car]-=1;
if(fuel[car] <= 0) SetVehicleParamsEx(car,false,lights,alarm,doors,bonnet,boot,objective);
}
return true;
}
PHP:
for(new car=0; car<MAX_VEHICLES; car++)
{
if(!IsAVelik(car))
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(car,false,lights,alarm,doors,bonnet,boot,objective);
}
}
Теперь переходим к запуску двигателя. В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) вставляем:
PHP:
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
if (newkeys == 512 && IsPlayerInVehicle(playerid,vid) && !IsAVelik(vid))
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(!engine){SetVehicleParamsEx(vid,true,lights,alarm,doors,bonnet,boot,objective); }
else if(engine){SetVehicleParamsEx(vid,false,lights,alarm,doors,bonnet,boot,objective);}
}
PHP:
new fuel[500];//500 - сколько у вас авто в моде, не обязательно ставить точное кол-во можно больше но не меньше у меня 2000
Теперь надо сделать чтоб бензин у нас отнимался. В public OnGameModeInit() вставляем
PHP:
SetTimer("FuelCheck", 10000, 1);// FuelCheck - функция которая будет срабатывать. 10000 - кол-во милисекунд
PHP:
forward FuelCheck(playerid);
public FuelCheck(playerid)
{
for(new car=0; car<MAX_VEHICLES; car++)//Каждые 10сек будет срабатывать этот цикл
{
if(!IsAVelik(car))//Проверка на велик
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine)//если двигатель у проверяемой машины работает
{
fuel[car]-=1;//отнимаем 1 литр
if(fuel[car] <= 0)//Если бензина нет
{
SetVehicleParamsEx(car,false,lights,alarm,doors,bonnet,boot,objective);//вырубаем двигатель
}
}
}
}
}
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
после этого
PHP:
if (newkeys == 512 && IsPlayerInVehicle(playerid,vid) && !IsAVelik(vid))
{
PHP:
if(fuel[vid] <= 0) return SendClientMessage(playerid, 0xbb0000ff, "Нет бензина!");
//Вставляем после проверки на велик
PHP:
fuel[car] = 300;//Где 300 это кол во бензина
Последнее редактирование модератором:
