Так как я релизил некоторые фишки из Собейта, пора показать и эту возможность.
Автор: OKStyle
PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_FIRE)
{
if(GetPVarInt(playerid, "UsePulsarRims") == 1) return DeletePVar(playerid, "UsePulsarRims");
if(!IsPlayerInAnyVehicle(playerid)) return 0;
// if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, 0xFDE39DFF, "Только водитель может запустить пульсатор дисков транспорта!"); // закомментируйте эту строку, если хотите, чтобы не только водитель мог запускать пульсатор, но и пассажиры
SetPVarInt(playerid, "UsePulsarRims", 1);
new vehicleid = GetPlayerVehicleID(playerid);
SetTimerEx("PulsarRims", 200, 0, "ii", playerid, vehicleid);
return 1;
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_DRIVER && newstate != PLAYER_STATE_DRIVER && GetPVarInt(playerid, "UsePulsarRims") == 1) return DeletePVar(playerid, "UsePulsarRims"); // закомментируйте эту строку, если хотите, чтобы после выхода из тачки диски продолжали меняться на ней (в этом случае, при повторном запуске пульсатора в другом транспорте, смена на первой остановится, а при повторном нажатии - запустится уже на новом транспорте)
return 1;
}
forward PulsarRims(playerid, vehicleid);
public PulsarRims(playerid, vehicleid)
{
if(GetPVarInt(playerid, "UsePulsarRims") != 1) return 0;
new AvailableRims[17] = {1025, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1096, 1097, 1098};
AddVehicleComponent(vehicleid, AvailableRims[random(sizeof(AvailableRims))]);
SetTimerEx("PulsarRims", 200, 0, "ii", playerid, vehicleid);
return 1;
}