[Ajuda] Bug dificil de resolver :/
#1

Quando eu crio uma conta e compro uma casa ele salva e pб sу que quando crio outra conta vai pra casa 0, mais quando relogo e logo dnv vai na casa q comprei naquela conta..
Pq isso acontece? Manй ele nem tem a casa kkkkkkkkkkk
PHP код:
    if(pInfo[playerid][Ja_Tem_Casa] == 1)
    {
        new 
stf[57], Arquivo[200];
        
format(Arquivosizeof(Arquivo), "/Contas/%s.ini"PlayerName(playerid));
        new 
DOF2_GetInt(Arquivo"ID_Da_Casa");
        
SetPlayerPos(playeridInfo_Casa[c][PosicaoCasaX], Info_Casa[c][PosicaoCasaY], Info_Casa[c][PosicaoCasaZ]);
          
format(stf57"| CASA | Casa id %i carregada, Veja nossas /Atualizacoes."c);
          
SendClientMessage(playeridAMARELOstf);
        }
        else
        {
        new 
ultpos[90];
        
format(ultpos90"* Vc foi levado para a ultima pos: %f, %f, %f"pInfo[playerid][UltimaPosicaoX], pInfo[playerid][UltimaPosicaoY], pInfo[playerid][UltimaPosicaoZ]);
        
SetPlayerPos(playeridpInfo[playerid][UltimaPosicaoX], pInfo[playerid][UltimaPosicaoY], pInfo[playerid][UltimaPosicaoZ]);
        
SetPlayerInterior(playeridpInfo[playerid][InteriorSalva]);
        
SendClientMessage(playerid0xFFFFFF22ultpos);
    } 
Jб tentei parar o Timer de Atualizar Conta quando Deslogar, mais nada funciona.. Oloc
Reply
#2

1- Cria uma conta e compra uma casa (OK!)
2- Cria outra conta (Conta nova spawna na Casa 0 !?)
3- Reloga e spawn na casa que comprou na primeira conta (Reloga em qual conta o.O!?)

Informe mais precisamente para eu tentar ajudar
Reply
#3

Suponha, eu criei uma conta com o Nome 'Guilherme', Ai eu comprei uma casa nessa conta.
Depois eu criei outra conta com o Nome Guilherme._.Henrique ai Nessa q eu criei eu vou na casa ID 0, sabendo que na verificaзгo nem tem casa.
Ai quando eu relogo na conta Guilherme._.Henrique Que nem tem casa, vai para a casa de 'Guilherme' , sabendo que a conta Guilherme._.Henrique nem tem casa.'-'
Reply
#4

Salvou os dados de usuбrio de casa e resetou as vбriaveis na public OnPlayerDisconnect quando o player sai do servidor? Lembre tambйm de resetar as variбveis na OnPlayerConnect.

Um exemplo:
PHP код:
DOF2_SetInt(file"Tem_Casa"pInfo[playerid][Ja_Tem_Casa]);
pInfo[playerid][Ja_Tem_Casa] = 0
E quando fizer o login verificar a pasta do jogador se ele possui tais dados para spawnar na casa, caso tiver uma.
Reply
#5

Valeu Deu certin.. Sт que agora, quando eu desconecto e crio +acc as textdraws vai sumindo a cada conta q eu crio, Pq isso acontece? Tenho que remover as textdraw tbm quando algum player Desconectar?
Reply
#6

Jб coloquei OnPlayerDisconnect e OnPlayerConnect, Mais continua.
PHP код:
static LimparTextDraws(playerid)
{

    
EsconderText(playeridDiesel_Text[playerid]); // Texto Diesel
    
EsconderText(playeridLevelUP[playerid]); // Level UP
    
EsconderText(playeridRelogioServer[playerid]); // Text Relogio Server Feito
    
TextDrawDestroy(Diesel_Text[playerid]);
    
TextDrawDestroy(LevelUP[playerid]);
    
TextDrawDestroy(RelogioServer[playerid]);
    for(new 
t6t++)
    {
        
EsconderText(playeridStatusPlayer[t][playerid]);
        
TextDrawDestroy(StatusPlayer[t][playerid]);
    }
    return 
1;

Ajuda ae.
Reply
#7

Mais uma informaзгo ъtil, caso queira testar,

No dialog de LOGIN, vocк faz isso:
PHP код:
pInfo[playerid][Ja_Tem_Casa] = DOF2_GetInt(file"Tem_Casa");
SpawnCasa(playerid); 
Agora, a stock:
PHP код:
stock SpawnCasa(playerid)
{
    new 
userFile[MAX+PLAYER_NAME+16], file[MAX_PLAYER_NAME+12], string[18], MSG[60];
    
format(userFilesizeof(userFile), "/Casas/Usuarios/%s"PlayerName(playerid)); //Verifica se o jogador conectado estб na pasta.
    
format(filesizeof(file), /Contas/%s.iniPlayerName(playerid)); //Verifica os dados da conta do jogador.
    /*
    if(DOF2_GetInt(file,"ID_Da_Casa") != -1) {
    }
    else {
            DOF2_RemoveFile(userFile);
        }
    }
    //Este й um DEBUG: Verificaзгo se o player possui alguma casa, se nгo irб remover de qualquer forma, caso aconteзa um bug e o arquivo do mesmo esteja na pasta usuarios.
    */
    
    
if(!DOF2_FileExists(userFile)) {
        
DOF2_SetInt(file"Tem_Casa"0);
        
DOF2_SetInt(file"ID_Da_Casa", -1);
        
pInfo[playerid][Ja_Tem_Casa] = 0;
    }
    else {
        if(
DOF2_GetInt(userFile,"ID_Da_Casa") != -1) {
            
format(stringsizeof(string), "/Casas/CasaID%d"DOF2_GetInt(file"ID_Da_Casa"));
            new 
Float:x,Float:y,Float:z;
            
DOF2_GetFloat(userFile"SpawnX"); // Isso getarб a coordenada x dentro do arquivo do jogador na pasta Usuarios.
            
DOF2_GetFloat(userFile"SpawnY"); // Isso getarб a coordenada y dentro do arquivo do jogador na pasta Usuarios.
            
DOF2_GetFloat(userFile"SpawnZ"); // Isso getarб a coordenada z dentro do arquivo do jogador na pasta Usuarios.
            
SetPlayerPos(playeridxyz);
            new 
DOF2_GetInt(file"ID_Da_Casa"); // Pega o id da casa na pasta do jogador.
            
format(MSGsizeof(MSG), "| CASA | Casa id %d carregada, Veja nossas /Atualizacoes."c);
            
SendClientMessage(playerid0x00FFFFFFMSG);
        }
    }
    return 
1;

Reply
#8

Jб ta resolvido, Mais e as TextDraw? As text ta bugando Mt
Reply
#9

Quote:
Originally Posted by GuiKommander
Посмотреть сообщение
Valeu Deu certin.. Sт que agora, quando eu desconecto e crio +acc as textdraws vai sumindo a cada conta q eu crio, Pq isso acontece? Tenho que remover as textdraw tbm quando algum player Desconectar?
Sinceramente, nгo entendi kkk, quando vocк cria uma acc era para aparecer todas, no caso, estб sumindo 1 por 1 por relogging?
Reply
#10

Ss. isso msm.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)