27.11.2016, 22:45
Eu to tentando fazer um comando de ligaзгo direta com o tempo de espera de 2 minutos, sу que se eu sair do carro o tempo buga, mesmo que vocк espere passar mais de 2 minutos fica dando a mensagem de erro.
Код:
new ligdirtempo[MAX_PLAYERS];
forward tempoligacaodireta(playerid);
public tempoligacaodireta(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
switch (GetEngineStatus(vehicleid))
{
case false:
{
SetEngineStatus(vehicleid, true);
ShowPlayerFooter(playerid, "Vocк ~g~ligou~w~ o motor!");
SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s gira a chave na igniзгo e liga o motor.", ReturnName(playerid, 0));
}
case true:
{
SetEngineStatus(vehicleid, false);
ShowPlayerFooter(playerid, "Vocк ~r~desligou~w~ o motor!");
SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s Gira a chave na igniзгo e desliga o motor.", ReturnName(playerid, 0));
}
}
ligdirtempo[vehicleid] = 0;
return 1;
}
Код:
CMD:ligacaodireta(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
if (!IsEngineVehicle(vehicleid))
return SendErrorMessage(playerid, "Vocк esta fora de um veiculo.");
if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
return SendErrorMessage(playerid, "Vocк precissa ser o motorista para usar esse comando.");
if (CoreVehicles[vehicleid][vehFuel] < 1)
return SendErrorMessage(playerid, "O tanque de combustнvel estб vazio.");
if (ReturnVehicleHealth(vehicleid) <= 300)
return SendErrorMessage(playerid, "Esse veiculo nгo tem condiзхes de uso.");
if(ligdirtempo[playerid]) return SendClientMessage(playerid, COLOR_WHITE, "Aguarde o fim do tempo de espera para que o motor ligue!");
SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s forзa a igniзгo do veiculo.", ReturnName(playerid, 0));
SendServerMessage(playerid, "Aguarde 2 minutos para o fim da ligaзгo direta...");
SetTimerEx("tempoligacaodireta", 200000, 0, "d", playerid);
ligdirtempo[playerid] = 1;
return 1;
}

