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; }