[Ajuda] /espiar e /poff
#1

Olб, estou com probleminha, quando admin digita comando /espiar [ ID ] pego as coordenadas dele, interior, VirtualWorld... Porйm quando ele digita /poff ( Espiar desligado ) ele nгo volta para posiзгo anterior onde ele estava quando digitou o comando.

Ou seja o que quero fazer й quando admin digita comando /espiar o pegue as coodernada dele e jogue dentro PlayerInfo para quando ele digitar comando /poff ele volta pra ultima posiзгo dele.
Se eu nгo estiver fazendo certo, me indica mode de fazer por favor.

Quando ele digita comando, espiar

PHP код:
         TogglePlayerSpectating(playerid1);
                
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
                
PlayerInfo[playerid][iPosx] = Pos[0];
                
PlayerInfo[playerid][iPosz] = Pos[1];
                
PlayerInfo[playerid][iPosy] = Pos[2];
                
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
                
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid); 
Quando ele digita poff

PHP код:
    PlayerInfo[playerid][pInterior] = SetPlayerInterior(playeridpInterior);
            
PlayerInfo[playerid][pVirtualWorld] = SetPlayerInterior(playeridpVirtualWorld);
            
PlayerInfo[playerid][iPosx] = Pos[0];
            
PlayerInfo[playerid][iPosz] = Pos[1];
            
PlayerInfo[playerid][iPosy] = Pos[2];
            
SetPlayerPos(playeridPos[0],Pos[1],Pos[2]); 
Reply
#2

Vocк estб atribuindo valores а variбvel, quando na verdade vocк deveria usar os valores obtidos anteriormente nas respectivas funзхes (SetPlayerPos, SetPlayerInterior, etc)
Reply
#3

Na verdade teria que ser assim ?:

PHP код:
    PlayerInfo[playerid][pInterior] = SetPlayerInterior(playeridpInterior); 
            
PlayerInfo[playerid][pVirtualWorld] = SetPlayerInterior(playeridpVirtualWorld); 
            
Pos[0] = PlayerInfo[playerid][iPosx];; 
            
Pos[1] = PlayerInfo[playerid][iPosz]; 
            
Pos[2] = PlayerInfo[playerid][iPosy]; 
            
SetPlayerPos(playeridPos[0],Pos[1],Pos[2]); 
Porque eu fiz mesmo assim continua do mesma forma.
Reply
#4

Apуs usar a funзгo TogglePlayerSpectating(playerid, 0) (que vocк deve usar em /poff), vai ter um delay atй o player respawnar. Entгo vocк deve fazer desse jeito:

No comando /espiar:
PHP код:
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
PlayerInfo[playerid][iPosx] = Pos[0];
PlayerInfo[playerid][iPosz] = Pos[1];
PlayerInfo[playerid][iPosy] = Pos[2];
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
TogglePlayerSpectating(playerid1); 
Em /poff
PHP код:
SetPVarInt(playerid"poff"1);
TogglePlayerSpectating(playerid0); 
E vocк deve setar a posiзгo do player em OnPlayerSpawn:
PHP код:
if (GetPVarInt(playerid"poff")) {
    
// Setar posiзгo
    
SetPlayerPos(playeridPlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
    
// Interior/World
    
SetPlayerInterior(playeridPlayerInfo[playerid][pInterior]);
    
SetPlayerVirtualWorld(playeridPlayerInfo[playerid][pVirtualWorld]);
    
DeletePVar(playerid"poff");

Reply
#5

ForT, fiz como vocк explicou, mesmo assim nгo funcionou.
Reply
#6

Quote:
Originally Posted by Maxwilson01
Посмотреть сообщение
ForT, fiz como vocк explicou, mesmo assim nгo funcionou.
Poste exatamente como vocк fez.
Reply
#7

Quando ele digita /espiar

PHP код:
GetPlayerPos(playeridPlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
TogglePlayerSpectating(playerid1); 
Quando ele digita /poff

PHP код:
TogglePlayerSpectating(playerid0); 
SetPlayerInterior(playeridPlayerInfo[playerid][pInterior]);
SetPlayerVirtualWorld(playeridPlayerInfo[playerid][pVirtualWorld]);
SetPlayerPos(playeridPlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]); 
Nгo me lembro sobre a questгo do delay que o ForT falou, mas caso ocorra, vocк consegue resolver usando SpawnPlayer e OnPlayerSpawn
Reply
#8

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Quando ele digita /espiar

PHP код:
GetPlayerPos(playeridPlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
TogglePlayerSpectating(playerid1); 
Quando ele digita /poff

PHP код:
TogglePlayerSpectating(playerid0); 
SetPlayerInterior(playeridPlayerInfo[playerid][pInterior]);
SetPlayerVirtualWorld(playeridPlayerInfo[playerid][pVirtualWorld]);
SetPlayerPos(playeridPlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]); 
Nгo me lembro sobre a questгo do delay que o ForT falou, mas caso ocorra, vocк consegue resolver usando SpawnPlayer e OnPlayerSpawn
Eu fiz isso, porйm pega as coodernadas de quem estб espiando, ou seja pega depois de digitar /espiar e nгo antes.
Reply
#9

Quote:
Originally Posted by Maxwilson01
Посмотреть сообщение
Eu fiz isso, porйm pega as coodernadas de quem estб espiando, ou seja pega depois de digitar /espiar e nгo antes.
Mas essa nгo й a idйia? Pegar as informaзхes do admin, pra quando ele voltar, ser spawnado na mesma posiзгo?
Reply
#10

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Mas essa nгo й a idйia? Pegar as informaзхes do admin, pra quando ele voltar, ser spawnado na mesma posiзгo?
Nгo, deixa explicar melhor.

Exemplo Admin Paulo estб em "Los Santos - Hospital" (digamos que essa seja suas coodernadas) o player Miguel que ele quer espiar se encontra em "Las Vegas". O que eu quero й quando ele espiar agurdar as cooderndas Los santos Hospital pra quando ele digitar comando /espiaroff ele volta para lб(Los Santos - Hospital).

Quando fiz do jeito que vocк mandou setando dentro do /espiaroff, eu estava voltando para posiзгo do Player Miguel e nгo de onde eu estava em Los Santos - Hospital.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)