[Ajuda] Funзхes jб feitas
#1

Boas amigos. Consegui desenvolver o comando atй aqui, porйm estou com um problema. Eu ligo um veнculo, e quando vou pra outro e uso o comando /motorc novamente, aparece que ele foi desligado e eu tenho que utilizar mais uma vez o comando pro veнculo ligar. Desejava que, eu pudesse ligar vбrios veнculos de uma vez e reconhecesse se ele esta ligado ou nгo.

Alйm disso, o comando /motor nгo existe no meu gamemode mas quando eu executo in-game nгo aparece mensagem de erro, nem nada e quando mudo de "motorc" pra "motor", in-game nгo acontece exatamente nada. O comando й inexistente e nгo consigo utilizado no game-mode, alguйm tem ideia? O foco й o primeiro problema.

Motorc:

Код:
	if (strcmp("/motorc", cmdtext, true, 10) == 0)
	{
        if(Motor[playerid] == 0)
        {
			new Float:x,Float:y,Float:z;
			GetPlayerPos(playerid,x,y,z);

			if(!IsPlayerInAnyVehicle(playerid))
			return SendClientMessage(playerid, COR_ERRO, "Vocк deve ser o motorista.");

	        new rands = random(2)+1;
	        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(rands == 1)
				{
					format(string, sizeof(string), "* %s liga o motor.", GetName(playerid, true));
		            TogglePlayerControllable(playerid, true);
		            SetVehicleEngineOn(vid);
		            GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
		            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
		            GameTextForPlayer(playerid,"~g~MOTOR LIGADO", 1000,3);
				}
				else
				{
					format(string, sizeof(string), "* %s tenta mas nгo consegue.", GetName(playerid, true));
				}
				ProxDetector(10.0, playerid, string, COR_PURPLE);
	        }
		}
        else if(Motor[playerid] == 1)
        {
	        if(!IsPlayerInAnyVehicle(playerid))
			{
	            SendClientMessage(playerid, COR_ERRO, "Vocк deve ser o motorista.");
	            return 0x01;
	        }
	        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
			{
	            return 0x01;
			}
	        new vid = GetPlayerVehicleID(playerid);

	        if(vid != INVALID_VEHICLE_ID)
	        {
				GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
	            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
		        GameTextForPlayer(playerid,"~r~MOTOR DESLIGADO", 2000,3);
	        }
		}
		return 1;
	}
Reply
#2

Vocк precisa colocar para quando ele ligar o veнculo alterar a variбvel Motor[playerid] = 1, e para quando o veнculo desligar Motor[playerid] = 0;

Acho que й isso. Tenta aн, acho que vai funcionar.

Код:
	if (strcmp("/motorc", cmdtext, true, 10) == 0)
	{
        if(Motor[playerid] == 0)
        {
			new Float:x,Float:y,Float:z;
			GetPlayerPos(playerid,x,y,z);

			if(!IsPlayerInAnyVehicle(playerid))
			return SendClientMessage(playerid, COR_ERRO, "Vocк deve ser o motorista.");

	        new rands = random(2)+1;
	        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(rands == 1)
				{
					format(string, sizeof(string), "* %s liga o motor.", GetName(playerid, true));
		            TogglePlayerControllable(playerid, true);
                            Motor[playerid] = 1;
		            SetVehicleEngineOn(vid);
		            GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
		            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
		            GameTextForPlayer(playerid,"~g~MOTOR LIGADO", 1000,3);
				}
				else
				{
					format(string, sizeof(string), "* %s tenta mas nгo consegue.", GetName(playerid, true));
				}
				ProxDetector(10.0, playerid, string, COR_PURPLE);
	        }
		}
        else if(Motor[playerid] == 1)
        {
	        if(!IsPlayerInAnyVehicle(playerid))
			{
	            SendClientMessage(playerid, COR_ERRO, "Vocк deve ser o motorista.");
	            return 0x01;
	        }
	        if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
			{
	            return 0x01;
			}
	        new vid = GetPlayerVehicleID(playerid);

	        if(vid != INVALID_VEHICLE_ID)
	        {
				GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
	            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
		        GameTextForPlayer(playerid,"~r~MOTOR DESLIGADO", 2000,3);
                        Motor[playerid] = 0;
	        }
		}
		return 1;
	}
Reply
#3

https://sampforum.blast.hk/showthread.php?tid=627813
Reply
#4

Certo. Sobre a segunda dъvida?

Alйm disso, o comando /motor nгo existe no meu gamemode mas quando eu executo in-game nгo aparece mensagem de erro, nem nada e quando mudo de "motorc" pra "motor", in-game nгo acontece exatamente nada. O comando й inexistente e nгo consigo utilizado no game-mode, alguйm tem ideia? O foco й o primeiro problema.
Reply
#5

Em relaзгo ao primeiro problema basta:

PHP код:
new enginelightsalarmdoorsbonnetbootobjective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(
engine == 1// LIGADO
if(engine != 1// DESLIGADO 
Quanto ao segundo nгo sei, sу vendo o cуdigo.
Reply
#6

Quote:
Originally Posted by ThuuGLif3
Посмотреть сообщение
Certo. Sobre a segunda dъvida?

Alйm disso, o comando /motor nгo existe no meu gamemode mas quando eu executo in-game nгo aparece mensagem de erro, nem nada e quando mudo de "motorc" pra "motor", in-game nгo acontece exatamente nada. O comando й inexistente e nгo consigo utilizado no game-mode, alguйm tem ideia? O foco й o primeiro problema.
Tem algum filterscript? Se sim veja se estб retornado 0 (return 0) no final da OnPlayerCommandText.
Tente colocar o comando bem no inнcio da callback.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)