Randoms e Dois em um -
ThuuGLif3 - 02.02.2017
Nesse comando desejo fazer que, ao digitar /ligar uma vez o veнculo ligue, outra vez o veнculo desligue. Como posso obter isso? Poderia me exemplificar fazendo a funзгo e explicando pra que serve cada coisa?
Segunda dъvida do mesmo cуdigo:
Queria colocar algumas falhas, tipo "Thug tenta mas nгo consegue ligar o veнculo" mais uma vez, "Thug liga o veнculo" uma espйcie de Randoms dentro do comando. Cб estб ele:
Код:
if (strcmp("/motor", cmdtext, true, 10) == 0)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, COR_LARANJA,"Й necessбrio que esteja em um veнculo para liga-lo.");
new vid = GetPlayerVehicleID(playerid);
new Float:vidacarro;
GetVehicleHealth(GetPlayerVehicleID(playerid),vidacarro);
if(IsPlayerNPC(playerid))
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
return 0x01;
}
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 0x01;
}
if(vid != INVALID_VEHICLE_ID)
{
if(pInfo[playerid][Logado] == true)
{
format(string, sizeof(string), "* %s insire a chave na igniзгo e liga o motor.", GetName(playerid, true));
}
ProxDetector(10.0, playerid, string, COLOR_PURPLE);
TogglePlayerControllable(playerid, true);
SetVehicleEngineOn(vid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
}
return 1;
}
Re: Randoms e Dois em um -
ThuuGLif3 - 02.02.2017
Update.
Re: Randoms e Dois em um -
RodrigoMSR - 02.02.2017
Код:
if (strcmp("/motor", cmdtext, true, 10) == 0)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, COR_LARANJA,"Й necessбrio que esteja em um veнculo para liga-lo.");
new vid = GetPlayerVehicleID(playerid);
new Float:vidacarro;
GetVehicleHealth(GetPlayerVehicleID(playerid),vidacarro);
if(IsPlayerNPC(playerid))
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
return 0x01;
}
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 0x01;
}
if(vid != INVALID_VEHICLE_ID)
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == VEHICLE_PARAMS_OFF)
{
if(random(5) != 3)
{
format(string, sizeof(string), "* %s insire a chave na igniзгo e liga o motor.", GetName(playerid, true));
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
TogglePlayerControllable(playerid, true);
ProxDetector(10.0, playerid, string, COLOR_PURPLE);
{
else
{
format(string, sizeof(string), "* %s insire a chave na igniзгo e nгo consegue ligar o motor.", GetName(playerid, true));
ProxDetector(10.0, playerid, string, COLOR_PURPLE);
}
}
else
{
format(string, sizeof(string), "* %s desliga o motor.", GetName(playerid, true));
ProxDetector(10.0, playerid, string, COLOR_PURPLE);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
}
}
return 1;
}
Re: Randoms e Dois em um -
MorteAmerica - 03.02.2017
Dois em um e facil, vc cria uma variavel para cada player que salvaria 0 = Desligado e 1 = Ligado.
Quando digita-se o CMD Faria a verificaзгo se a variavel esta = 0, ligaria o veiculo, se estaria = 1, deslgaria o mesmo.
Sobre as msg, se quiser global Seria "SendClientMessageToAll", agr so para os proximos teria que criar um loop que verificaria apartir da posiзгo do player que digitou o comando atй um certo raio de distancia e mostraria a "SendClientMessage".
Re: Randoms e Dois em um -
ThuuGLif3 - 03.02.2017
Sim. Consegui resolver tudo, DJ Morte.