[AJUDA] /espiar
#1

Pessoal uso o seguinte codigo para poder espiar o player, sу que ele tem uma coisa que irrita, quando se vai parar de espiar o player usando o /pararespiar ele da respaw no admin, fazendo voltar para a posiзгo inicial onde nasce e nгo para o ponto onde foi usado o /espiar (que seria em qualquer lugar)

PHP код:

if(strcmp(cmd"/espiar"true) == 0) {
new 
aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanameMAX_PLAYER_NAME);
format(filesizeof(file), PASTA_CONTASaname);
if(
pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == 5){
new 
tmp[256];
tmp strtok(cmdtextidx);
if(!
strlen(tmp)) {
SendClientMessage(playeridVermelho"(ERRO) Digite: /espiar [id]");
return 
1;
}
specplayerid strval(tmp);
if(!
IsPlayerConnected(specplayerid)) {
SendClientMessage(playeridVermelho"(ERRO) ID Invбlido.");
return 
1;
}
TogglePlayerSpectating(playerid1);
PlayerSpectatePlayer(playeridspecplayerid);
SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
gSpectateID[playerid] = specplayerid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
return 
1;
}
}
if(
strcmp(cmd"/pararespiar"true) == 0) {
new 
aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanameMAX_PLAYER_NAME);
format(filesizeof(file), PASTA_CONTASaname);
if(
pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == || pAdmin[playerid] == 5){
TogglePlayerSpectating(playerid0);
gSpectateID[playerid] = INVALID_PLAYER_ID;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
return 
1;
}

Reply
#2

Nгo testei mais tente ai:
pawn Код:
//topo
new Float:Espiando[MAX_PLAYERS][3];
// comando
if(strcmp(cmd, "/espiar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "(ERRO) Digite: /espiar [id]");
return 1;
}
specplayerid = strval(tmp);

if(!IsPlayerConnected(specplayerid)) {
SendClientMessage(playerid, Vermelho, "(ERRO) ID Invбlido.");
return 1;
}
GetPlayerPos(playerid, Espiando[playerid][1],Espiando[playerid][2],Espiando[playerid][3]);
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, specplayerid);
SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
gSpectateID[playerid] = specplayerid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;

return 1;
}
}

if(strcmp(cmd, "/pararespiar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
TogglePlayerSpectating(playerid, 0);
gSpectateID[playerid] = INVALID_PLAYER_ID;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
SetPlayerPos(playerid,Espiando[playerid][1],Espiando[playerid][2],Espiando[playerid][3]);
return 1;
}
}
Reply
#3

Amigo aprenda sscanf vc vai criar cmds muito mais rapido e facil

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

deu os seguintes erros

Quote:

error: 032: array index out of bounds (variable "Espiando")
error: 032: array index out of bounds (variable "Espiando")

Nas seguintes linhas

PHP код:
GetPlayerPos(playeridEspiando[playerid][1],Espiando[playerid][2],Espiando[playerid][3]);
SetPlayerPos(playerid,Espiando[playerid][1],Espiando[playerid][2],Espiando[playerid][3]); 
Reply
#5

pawn Код:
GetPlayerPos(playerid, Espiando[playerid][0],Espiando[playerid][1],Espiando[playerid][2]);
SetPlayerPos(playerid,Espiando[playerid][0],Espiando[playerid][1],Espiando[playerid][2]);
Pronto tente ai
Reply
#6

Deu certo agora, ja testei e ele salva a posiзгo que usa o /espiar

Vlw
Reply
#7

Disponha, ><
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)