Активный
- Тема Автор
- #1
Идея и назначение
Команда чинит двигатель текущего транспорта игрока, но не мгновенно.
Подходит для RP механиков и выездного ремонта.
Суть реализации
1. Проверяем, сидит ли игрок в машине.
2. Запускаем таймер и блокируем управление на время ремонта.
3. По окончании таймера восстанавливаем здоровье машины и управление.
Реализация
Дополнительные идеи
1. Делать разное время ремонта для разных классов машин.
2. Взимать плату за ремонт.
3. Ограничивать использование команды по времени.
Команда чинит двигатель текущего транспорта игрока, но не мгновенно.
Подходит для RP механиков и выездного ремонта.
Суть реализации
1. Проверяем, сидит ли игрок в машине.
2. Запускаем таймер и блокируем управление на время ремонта.
3. По окончании таймера восстанавливаем здоровье машины и управление.
Реализация
Код:
forward FinishEngineFix(playerid);
CMD:fixengine(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, -1, "Ты не в транспорте.");
TogglePlayerControllable(playerid, false);
SendClientMessage(playerid, -1, "Механик чинит двигатель, подожди несколько секунд.");
SetTimerEx("FinishEngineFix", 5000, false, "i", playerid);
return 1;
}
public FinishEngineFix(playerid)
{
if(!IsPlayerConnected(playerid)) return 1;
if(!IsPlayerInAnyVehicle(playerid)) return 1;
new veh = GetPlayerVehicleID(playerid);
SetVehicleHealth(veh, 900.0);
RepairVehicle(veh);
TogglePlayerControllable(playerid, true);
SendClientMessage(playerid, -1, "Двигатель отремонтирован.");
return 1;
}
Дополнительные идеи
1. Делать разное время ремонта для разных классов машин.
2. Взимать плату за ремонт.
3. Ограничивать использование команды по времени.