13/01/2023 16:54
Olha só amigo, todas as vezes que você utiliza um if(...) deve utilizar as bracks corretamente, o else corresponde a um if, o comando é para ligar e desligar o motor, mesmo que o gamemode liga-se o comando não iria funcionar corretamente identifiquei uns erros e vou tentar ajudar, estou pelo celular então fica meio complicado de identar o código, mas acredito que você conseguirá entender.
Aqui é seu comando original, destaquei os erros, analise..
Aqui está seu comando, não testei, fiz correndo, mas talvez funcione kkkkk
Aqui é seu comando original, destaquei os erros, analise..
Citar:CMD:motor(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid); <- Aqui você define uma variável com o id do veiculo, de nome vehicleid
for(new i=0; i<MAX_VEHICLES; i++) <- Para que serve esse loop se você não usou em momento algum?
if(VehiculosInfo[vehicleid][vcomprable] == 1) return 1;
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "Não está dentro do veículo!"); <- Se não estiver como motorista, não liga o carro
if(VehicleFuel[vehicleid] < 1) return SinGasolina(playerid);
if(averiado[vehicleid] != 0) return MotorMalogrado(playerid);
if(MotorAuto[vehicleid] == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Ligando veículo...");
SetTimerEx("EncenderMotor",1200, false, "d",playerid);
}
else SendClientMessage(playerid,-1,"O motor do veículo já se encontra ligado"); <- Aqui você já utilizou if&else.
return 1;
} <- Aqui você fechou seu comando, junto da brack lá de cima, em baixo de CMD:motor
else <- Aqui já ficou bem crítico, pois, você achou estar usando o else para if(Motor mas você fechou o comando antes mesmo de chegar até aqui
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "Não está dentro do veículo!"); <- Você já havia definido isso lá em cima
if(MotorAuto[vehicleid] == 1)
{
new carid,string[256],pName[32];
GetPlayerName(playerid, pName, 32);
carid = GetPlayerVehicleID(playerid); <- vehicleid, lembra?
format(string, 256, "%s desligou o motor de seu veículo.",pName);
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), OFF, lights, alarm, doors, bonnet, boot, objective);
ProxDetector(15.0, playerid, string, COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO);
MotorAuto[carid] = 0;
}
else SendClientMessage(playerid, COLOR_WHITE, "O veículo está desligado!");
return 1;
} <- Ja até me perdi no final kkkkk, mas, você está fechando seu else exatamente aqui '-'
Aqui está seu comando, não testei, fiz correndo, mas talvez funcione kkkkk
Código:
CMD:motor(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
if(VehiculosInfo[vehicleid][vcomprable] == 1) return 1;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Você não está em um veículo!");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "Você não é o motorista deste veículo!");
if(VehicleFuel[vehicleid] < 1) return SinGasolina(playerid);
if(averiado[vehicleid] != 0) return MotorMalogrado(playerid);
if(MotorAuto[vehicleid] == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Ligando veículo...");
SetTimerEx("EncenderMotor",1200, false, "d",playerid);
}
else
{
new string[128],pName[32];
GetPlayerName(playerid, pName, 32);
format(string, 128, "%s desligou o motor do seu veículo.",pName);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, OFF, lights, alarm, doors, bonnet, boot, objective);
ProxDetector(15.0, playerid, string, COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO,COLOR_VERDECLARO);
MotorAuto[vehicleid] = 0;
}
return 1;
}
by ziiQz.
Since 2007, quando tudo aqui era mato. kkkkkkk
Since 2007, quando tudo aqui era mato. kkkkkkk