[Ajuda] Randoms e Dois em um
#1

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;
	}
Reply
#2

Update.
Reply
#3

Код:
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;
	}
Reply
#4

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".
Reply
#5

Sim. Consegui resolver tudo, DJ Morte.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)