[AJUDA] BUG id 0
#1

No meu GM tem um sistema de registro q salva score e dinheiro e esse sistema esta implantado no GM.
Mas tem um bug q acontece com o id 0, as vezes q da GMX o id 0 й resetado, e sempre q da GMX e o id 0 da /q na hr do GM ele tbm й resetado. Oq pode ser isso?
Reply
#2

Poste seu OnGameModeExit e OnPlayerDisconnect.
Reply
#3

Ta Ae!!

pawn Код:
public OnGameModeExit()
{
    new playerid;
    GetPlayerName(playerid, nome, sizeof(nome));
 format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
 if(fexist(arquivo))
 {
   dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid));
      dini_IntSet(arquivo,"Level", GetPlayerScore(playerid));
 }
  TextDrawHideForAll(Textdrawdebaixodoradar);
  TextDrawDestroy(Textdrawdebaixodoradar);
 for(new i=0; i<MAX_PLAYERS; i++)
 {
    TextDrawHideForPlayer(i, PlayersOnServer);
    }
       return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
   new pName[MAX_PLAYER_NAME];
    new string[56];
 GetPlayerName(playerid, pName, sizeof(pName));
 format(string, sizeof(string), "(ID %d) %s Saiu do Servidor! ", playerid, pName); // mensagem se alguem sair
 SendClientMessageToAll(GREY, string);
    GetPlayerName(playerid, nome, sizeof(nome));
 format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
 if(fexist(arquivo))
 {
   dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid));
      dini_IntSet(arquivo,"Level", GetPlayerScore(playerid));
 }

    return 1;
}
Reply
#4

pawn Код:
public OnGameModeExit()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        GetPlayerName(i, nome, sizeof(nome));
        format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
        if(fexist(arquivo))
        {
            dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(i));
            dini_IntSet(arquivo,"Level", GetPlayerScore(i));
        }
        TextDrawHideForAll(Textdrawdebaixodoradar);
        TextDrawDestroy(Textdrawdebaixodoradar);
        TextDrawHideForPlayer(i, PlayersOnServer);
    }
    return 1;
}
Reply
#5

Vlw vo testa
Reply
#6

ok
Reply
#7

T-T Nao Deu certo, eu acho que tava normal mais eu coloquei umas TextDraws e Bugou, ou tava bugado antes e eu fui perceber agr.

Preciso muito dessa ajuda to a combinar um parceria e o GM nao pode ter bugs, e esse й o unico.
Reply
#8

pawn Код:
public OnGameModeExit()
{
//  new playerid;
    for(new playerid; playerid < MAX_PLAYERS; ++playerid)
    {
        GetPlayerName(playerid, nome, sizeof(nome));
        format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);
        if(fexist(arquivo))
        {
            dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid));
            dini_IntSet(arquivo,"Level", GetPlayerScore(playerid));
        }
    }
    TextDrawHideForAll(Textdrawdebaixodoradar);
    TextDrawDestroy(Textdrawdebaixodoradar);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        TextDrawHideForPlayer(i, PlayersOnServer);
    }
    return 1;
}
tentar
Reply
#9

PHP код:
public OnGameModeExit(){ 
/*new playerid;*/    
for(new playeridplayerid MAX_PLAYERS; ++playerid)  {        
GetPlayerName(playeridnomesizeof(nome));        
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);        
if(
fexist(arquivo))        
{            
dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid));            
dini_IntSet(arquivo,"Level"GetPlayerScore(playerid));        
}   
}    
return 
1;

Reply
#10

Quote:
Originally Posted by MatriXBorn
Посмотреть сообщение
PHP код:
public OnGameModeExit(){ 
new 
playerid;    
for(new 
playeridplayerid MAX_PLAYERS; +=playerid)  {        
GetPlayerName(playeridnomesizeof(nome));        
format(arquivo,sizeof(arquivo),"/Arquivos/Contas/%s.ini",nome);        
if(
fexist(arquivo))        
{            
dini_IntSet(arquivo,"Dinheiro",GetPlayerMoney(playerid));            
dini_IntSet(arquivo,"Level"GetPlayerScore(playerid));        
}   
}    
return 
1;

este seu cуdigo estб incorreto!.
darб erro.
porque vocк estб definidno playerid duas vezes e usando += ao invйs da incrementaзгo ( ++ ).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)