/espiar e /poff -
Maxwilson01 - 07.04.2017
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(playerid, 1);
GetPlayerPos(playerid, Pos[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(playerid, pInterior);
PlayerInfo[playerid][pVirtualWorld] = SetPlayerInterior(playerid, pVirtualWorld);
PlayerInfo[playerid][iPosx] = Pos[0];
PlayerInfo[playerid][iPosz] = Pos[1];
PlayerInfo[playerid][iPosy] = Pos[2];
SetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]);
Re: /espiar e /poff -
ViniBorn - 07.04.2017
Vocк estб atribuindo valores а variбvel, quando na verdade vocк deveria usar os valores obtidos anteriormente nas respectivas funзхes (SetPlayerPos, SetPlayerInterior, etc)
Re: /espiar e /poff -
Maxwilson01 - 07.04.2017
Na verdade teria que ser assim ?:
PHP код:
PlayerInfo[playerid][pInterior] = SetPlayerInterior(playerid, pInterior);
PlayerInfo[playerid][pVirtualWorld] = SetPlayerInterior(playerid, pVirtualWorld);
Pos[0] = PlayerInfo[playerid][iPosx];;
Pos[1] = PlayerInfo[playerid][iPosz];
Pos[2] = PlayerInfo[playerid][iPosy];
SetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]);
Porque eu fiz mesmo assim continua do mesma forma.
Re: /espiar e /poff -
ForT - 07.04.2017
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(playerid, Pos[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(playerid, 1);
Em
/poff
PHP код:
SetPVarInt(playerid, "poff", 1);
TogglePlayerSpectating(playerid, 0);
E vocк deve setar a posiзгo do player em OnPlayerSpawn:
PHP код:
if (GetPVarInt(playerid, "poff")) {
// Setar posiзгo
SetPlayerPos(playerid, PlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
// Interior/World
SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVirtualWorld]);
DeletePVar(playerid, "poff");
}
Re: /espiar e /poff -
Maxwilson01 - 07.04.2017
ForT, fiz como vocк explicou, mesmo assim nгo funcionou.
Re: /espiar e /poff -
ForT - 07.04.2017
Quote:
Originally Posted by Maxwilson01
ForT, fiz como vocк explicou, mesmo assim nгo funcionou.
|
Poste exatamente como vocк fez.
Re: /espiar e /poff -
ViniBorn - 07.04.2017
Quando ele digita /espiar
PHP код:
GetPlayerPos(playerid, PlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
TogglePlayerSpectating(playerid, 1);
Quando ele digita /poff
PHP код:
TogglePlayerSpectating(playerid, 0);
SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVirtualWorld]);
SetPlayerPos(playerid, PlayerInfo[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
Re: /espiar e /poff -
Maxwilson01 - 07.04.2017
Quote:
Originally Posted by ViniBorn
Quando ele digita /espiar
PHP код:
GetPlayerPos(playerid, PlayerInfo[playerid][iPosx], PlayerInfo[playerid][iPosy], PlayerInfo[playerid][iPosz]);
PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
PlayerInfo[playerid][pVirtualWorld] = GetPlayerVirtualWorld(playerid);
TogglePlayerSpectating(playerid, 1);
Quando ele digita /poff
PHP код:
TogglePlayerSpectating(playerid, 0);
SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVirtualWorld]);
SetPlayerPos(playerid, PlayerInfo[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.
Re: /espiar e /poff -
ViniBorn - 07.04.2017
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?
Re: /espiar e /poff -
Maxwilson01 - 07.04.2017
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.