[Ajuda] /Olhar volta do respawn
#1

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

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

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

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

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.
Reply
#6

Fazer direito?

Como assim?
Reply
#7

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 ...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)