SA-MP Forums Archive
[Ajuda] /Olhar volta do respawn - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] /Olhar volta do respawn (/showthread.php?tid=435789)



/Olhar volta do respawn - .ThePro - 08.05.2013

Quando dou /pOlhar ele volta da posiзгo do respawn e nгo de onde eu estava quando dei /olhar

Код:
forward EspiandoPlayer();
public EspiandoPlayer()
{
	for(new i = 0; i < GetMaxPlayers(); i++)
	{
		if(IsPlayerConnected(PlayerTv[i]))
		{
			if(Espiando[i] == true)
			{
				if(IsPlayerInAnyVehicle(PlayerTv[i]))
				{
				    new VeiculoEspiar = GetPlayerVehicleID(PlayerTv[i]);
				    PlayerSpectateVehicle(i, VeiculoEspiar);
				}
				if(!IsPlayerInAnyVehicle(PlayerTv[i]))
				{
			 		PlayerSpectatePlayer(i, PlayerTv[i]);
				}
		        SetPlayerInterior(i,GetPlayerInterior(PlayerTv[i]));
		        SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(PlayerTv[i]));
		    }
		    else
		    {
		        TogglePlayerSpectating(i, 0);
	        }
		}
	}
	return 1;
}
Код:
CMD:olhar(playerid, params[])
{
	new id;
	if(Logado[playerid] == false) return SendClientMessage(playerid,-1,"{008B00}[ ATENЗГO ] {FFFFFF}Й preciso logar para executar este comando");
	if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "{008B00}[ ATENЗГO ] {FFFFFF}Comando Restrito, apуs 3 tentativas tomarб BAN");
	if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}[ERRO] {FFFFFF}Jogador nгo conectado");
	if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "{FFA500}[ USE ] /olhar [ID]");
	if(Espiando[playerid] == true)  return SendClientMessage(playerid, -1, "{FF0000}[ERRO] {FFFFFF}Vocк jб estб espiando.");
	
	GetPlayerPos(playerid, CorX, CorY, CorZ);
	
    if(IsPlayerInAnyVehicle(id))
    {
		TogglePlayerSpectating(playerid, 1);
		PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
 	}
 	else
 	{
 	    TogglePlayerSpectating(playerid, 1);
  		PlayerSpectatePlayer(playerid, id);
 	}

 	SetPlayerInterior(playerid, GetPlayerInterior(id));
  	Espiando[playerid] = true;
  	PlayerTv[playerid] = id;
	return 1;
}
Код:
CMD:polhar(playerid, params[])
{
	if(Logado[playerid] == false) return SendClientMessage(playerid,-1,"{008B00}[ ATENЗГO ] {FFFFFF}Й preciso logar para executar este comando");
	if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "{008B00}[ ATENЗГO ] {FFFFFF}Comando Restrito, apуs 3 tentativas tomarб BAN");

	TogglePlayerSpectating(playerid, 0);
	Espiando[playerid] = false;

    SetPlayerPos(playerid, CorX, CorY, CorZ);
	return 1;
}



Re: /Olhar volta do respawn - ForT - 08.05.2013

Isso deve funcionar..
pawn Код:
CMD:polhar(playerid, params[])
{
    if(Logado[playerid] == false) return SendClientMessage(playerid,-1,"{008B00}[ ATENЗГO ] {FFFFFF}Й preciso logar para executar este comando");
    if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "{008B00}[ ATENЗГO ] {FFFFFF}Comando Restrito, apуs 3 tentativas tomarб BAN");

    TogglePlayerSpectating(playerid, 0);
    Espiando[playerid] = false;

    //SetPlayerPos(playerid, CorX, CorY, CorZ);
    SetTimerEx("VoltarPos", 1000, 0, "ifff", playerid, CorX, CorY, CorZ);
    return 1;
}
forward VoltarPos(playerid, Float:x, Float:y, Float:z);
public VoltarPos(playerid, Float:x, Float:y, Float:z)
{
    SetPlayerPos(playerid, x, y, z);
    return true;
}



Re: /Olhar volta do respawn - .ThePro - 08.05.2013

Funciono, mais por que sem o SetTimerEx nгo funciona? '-'


Re: /Olhar volta do respawn - ProKillerpa - 08.05.2013

Quote:
Originally Posted by .ThePro
Посмотреть сообщение
Funciono, mais por que sem o SetTimerEx nгo funciona? '-'
Porque quando vocк digitar o comando para ir ou voltar, ele chama o timer em 1000 ( 1 segundo ) e ai ele chama a callback que farб tudo funcionar.


Re: /Olhar volta do respawn - .ThePro - 08.05.2013

Quote:
Originally Posted by ProKillerpa
Посмотреть сообщение
Porque quando vocк digitar o comando para ir ou voltar, ele chama o timer em 1000 ( 1 segundo ) e ai ele chama a callback que farб tudo funcionar.
Isso eu entendi cara, sу nгo entendi o por que nгo estou conseguindo fazer direto.


Re: /Olhar volta do respawn - ProKillerpa - 08.05.2013

Fazer direito?

Como assim?


Re: /Olhar volta do respawn - .ThePro - 08.05.2013

Ao invйs de chamar a callback que tem o SetPlayerPos(playerid, x, y, z);
Colcar o SetPlayerPos(playerid, x, y, z); direto no comando ...