comando buga o servidor todo - fear -  31/01/2025
 
 
boa tarde. 
 
Estou com um problema que quando o staff da /espiar o servidor para de funciona tudo.. parece que tu desligo os plugins e o gm.. ele nao da erro algum no chat mas tb nao funciona comandos e mais nada..  
 
comando espiar e esparioff 
 
oque ta de errado? 
 
Código PHP: CMD:espiar(playerid, params[]) {     new id,string[128];     if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(sscanf(params, "u", id))          return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Espiar [id ou nick]");
      if(PlayerInfo[id][Admin] > PlayerInfo[playerid][Admin])         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode aplicar esse tipo de comando em seus Superiores!");
      if(!IsPlayerConnected(id))         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");          new Status = GetPlayerState(id);
      GetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]); 
      if(Status == PLAYER_STATE_DRIVER || Status == PLAYER_STATE_PASSENGER)     {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     } else {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectatePlayer(playerid, id);
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     }
      return 1; } 
 
  
Código PHP: CMD:pr(playerid, params[]) {      if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(gSpectateID[playerid] == -1) {         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao esta espiando nenhum player");     }
      TogglePlayerSpectating(playerid, 0);     SetPlayerSkin(playerid,PlayerInfo[playerid][skin]);     SetPlayerInterior(playerid,0);     gSpectateID[playerid] = INVALID_PLAYER_ID;     gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
      for(new i = 0; i < sizeof(ESPIANDO); i++) PlayerTextDrawHide(playerid,ESPIANDO[i][playerid]);     SetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]);     SetPlayerFacingAngle(playerid,275.7067);     return 1; } 
 
  
 
 
 
RE: comando buga o servidor todo - Cifra Modder -  31/01/2025
 
 
 (31/01/2025 12:14)fear Escreveu:  boa tarde. 
 
Estou com um problema que quando o staff da /espiar o servidor para de funciona tudo.. parece que tu desligo os plugins e o gm.. ele nao da erro algum no chat mas tb nao funciona comandos e mais nada..  
 
comando espiar e esparioff 
 
oque ta de errado? 
 
Código PHP: CMD:espiar(playerid, params[]) {     new id,string[128];     if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(sscanf(params, "u", id))          return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Espiar [id ou nick]");
      if(PlayerInfo[id][Admin] > PlayerInfo[playerid][Admin])         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode aplicar esse tipo de comando em seus Superiores!");
      if(!IsPlayerConnected(id))         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");          new Status = GetPlayerState(id);
      GetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]); 
      if(Status == PLAYER_STATE_DRIVER || Status == PLAYER_STATE_PASSENGER)     {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     } else {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectatePlayer(playerid, id);
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     }
      return 1; } 
 
  
Código PHP: CMD:pr(playerid, params[]) {      if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(gSpectateID[playerid] == -1) {         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao esta espiando nenhum player");     }
      TogglePlayerSpectating(playerid, 0);     SetPlayerSkin(playerid,PlayerInfo[playerid][skin]);     SetPlayerInterior(playerid,0);     gSpectateID[playerid] = INVALID_PLAYER_ID;     gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
      for(new i = 0; i < sizeof(ESPIANDO); i++) PlayerTextDrawHide(playerid,ESPIANDO[i][playerid]);     SetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]);     SetPlayerFacingAngle(playerid,275.7067);     return 1; } 
 
   
Os 2 comandos está bem estruturados. Você já verificou se o log retorna algo?
 
 
 
RE: comando buga o servidor todo - fear -  31/01/2025
 
 
 (31/01/2025 13:46)Cifra Modder Escreveu:   (31/01/2025 12:14)fear Escreveu:  boa tarde. 
 
Estou com um problema que quando o staff da /espiar o servidor para de funciona tudo.. parece que tu desligo os plugins e o gm.. ele nao da erro algum no chat mas tb nao funciona comandos e mais nada..  
 
comando espiar e esparioff 
 
oque ta de errado? 
 
Código PHP: CMD:espiar(playerid, params[]) {     new id,string[128];     if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(sscanf(params, "u", id))          return SendClientMessage(playerid, Vermelho, "[ ERRO ] Digite: /Espiar [id ou nick]");
      if(PlayerInfo[id][Admin] > PlayerInfo[playerid][Admin])         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao pode aplicar esse tipo de comando em seus Superiores!");
      if(!IsPlayerConnected(id))         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Player nao Conectado!");          new Status = GetPlayerState(id);
      GetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]); 
      if(Status == PLAYER_STATE_DRIVER || Status == PLAYER_STATE_PASSENGER)     {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     } else {         SetPlayerInterior(playerid,GetPlayerInterior(id));         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));         TogglePlayerSpectating(playerid, 1);         PlayerSpectatePlayer(playerid, id);
          gSpectateID[playerid] = id;         gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
          format(string,sizeof(string),"Player: ~r~%s[%d]",pName[id],id);         PlayerTextDrawSetString(playerid, ESPIANDO[1][playerid],string);
          format(string,sizeof(string),"Mundo: ~r~%s",modosq(id));         PlayerTextDrawSetString(playerid, ESPIANDO[2][playerid],string);                  for(new i = 0; i < sizeof(ESPIANDO); i++)PlayerTextDrawShow(playerid,ESPIANDO[i][playerid]);         SendClientMessage(playerid,COR_ZONE,"| ZP - Admin | Voce esta espiando!");     }
      return 1; } 
 
  
Código PHP: CMD:pr(playerid, params[]) {      if(PlayerInfo[playerid][Admin] < 1)         return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao tem permissao!");
      if(gSpectateID[playerid] == -1) {         return SendClientMessage(playerid, Vermelho, "[ ERRO ] Voce nao esta espiando nenhum player");     }
      TogglePlayerSpectating(playerid, 0);     SetPlayerSkin(playerid,PlayerInfo[playerid][skin]);     SetPlayerInterior(playerid,0);     gSpectateID[playerid] = INVALID_PLAYER_ID;     gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
      for(new i = 0; i < sizeof(ESPIANDO); i++) PlayerTextDrawHide(playerid,ESPIANDO[i][playerid]);     SetPlayerPos(playerid, PlayerInfo[playerid][posEspiar][0], PlayerInfo[playerid][posEspiar][1], PlayerInfo[playerid][posEspiar][2]);     SetPlayerFacingAngle(playerid,275.7067);     return 1; } 
 
   
Os 2 comandos está bem estruturados. Você já verificou se o log retorna algo?  
Retorna isso e para de funciona tudo. 
 
 Array index out of bounds
 
 
 
RE: comando buga o servidor todo - BitSain -  31/01/2025
 
 
Use o crash detect e compile com a flag -d3 para debug profundo (irá retornar a linha no código). 
Execute o servidor novamente e veja onde o erro ("Índice da array fora dos limites", você quis acessar um índice que é maior do que o definido) ocorre.
 
 
 
RE: comando buga o servidor todo - fear -  31/01/2025
 
 
 (31/01/2025 14:47)BitSain Escreveu:  Use o crash detect e compile com a flag -d3 para debug profundo (irá retornar a linha no código). 
Execute o servidor novamente e veja onde o erro ("Índice da array fora dos limites", você quis acessar um índice que é maior do que o definido) ocorre.  
Flag -d3 não sei isso mano.
 
 
 
RE: comando buga o servidor todo - BitSain -  31/01/2025
 
 
 (31/01/2025 15:12)fear Escreveu:   (31/01/2025 14:47)BitSain Escreveu:  Use o crash detect e compile com a flag -d3 para debug profundo (irá retornar a linha no código). 
Execute o servidor novamente e veja onde o erro ("Índice da array fora dos limites", você quis acessar um índice que é maior do que o definido) ocorre.  
Flag -d3 não sei isso mano. Se você usa o programa pawn.exe: 
Pasta pawno -> settings.ini -> params -> adicione: -d3 
 
Se você usa o vscode, vá no arquivo tasks.json (na gm, na pasta ".vscode") e adicione em: "args": o -d3
 
 
 
RE: comando buga o servidor todo - LOS_SANTOS -  13/02/2025
 
 
 (31/01/2025 19:31)BitSain Escreveu:   (31/01/2025 15:12)fear Escreveu:   (31/01/2025 14:47)BitSain Escreveu:  Use o crash detect e compile com a flag -d3 para debug profundo (irá retornar a linha no código). 
Execute o servidor novamente e veja onde o erro ("Índice da array fora dos limites", você quis acessar um índice que é maior do que o definido) ocorre.  
Flag -d3 não sei isso mano. Se você usa o programa pawn.exe: 
Pasta pawno -> settings.ini -> params -> adicione: -d3 
 
Se você usa o vscode, vá no arquivo tasks.json (na gm, na pasta ".vscode") e adicione em: "args": o -d3 Se eu entendi bem você está usando um comando para spiar o player né isso?! Porém quando vc usa o servidor desliga por algum motivo e isso?! Se for isso tentei usar esse código e altere o If(IsPlayerAdmin) para a variável do seu admin  a do seu servidor , bem não sou nenhum expert no assunto mas se isso não te ajudou  só ignora blz 
Código: //------------------------------------------------------------------------------ 
#define ADMIN_SPEC_TYPE_NONE 0 
#define ADMIN_SPEC_TYPE_PLAYER 1 
new gSpectateID[MAX_PLAYERS]; 
new gSpectateType[MAX_PLAYERS]; 
CMD:spec(playerid, params[]) 
{ 
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"» voce nao tem permissao de usar esse comando"); 
    new specplayerid; 
    if (sscanf(params, "u", specplayerid))return SendClientMessage(playerid, -1, "» /spec[playerid]"); 
    if (!IsPlayerConnected(specplayerid))return SendClientMessage(playerid, -1, "» specplayer: esse jogador nao esta ativo."); 
    TogglePlayerSpectating(playerid, 1); 
    PlayerSpectatePlayer(playerid, specplayerid); 
    SetPlayerInterior(playerid, GetPlayerInterior(specplayerid)); 
    gSpectateID[playerid] = specplayerid; 
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER; 
    return 1; 
} 
CMD:specoff(playerid, params[]) 
{ 
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"» voce nao tem permissao de usar esse comando"); 
    TogglePlayerSpectating(playerid, 0); 
    gSpectateID[playerid] = INVALID_PLAYER_ID; 
    gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE; 
    return 1; 
}
  
 
 
 
 |