Ir para conteúdo

Apagar personagem Metin2

[FIX]

  • Por favor, faça o login para responder
Não há respostas para este tópico

#1
...Lost

...Lost
    • Administrador
    Posts:
    12
    Cadastrado:
    18-setembro 18
  • Skype:
    renssis

Olá a todos!

 

Esse tutorial serve para você resolver o erro na hora de deletar personagem, geralmente a mensagem é:

 

F74g3GK.png

 

 

 

Você deve verificar o level máximo para apagar personagens, geralmente é 75.

Se não funcionou prossiga para o passo 2.

 

 

 

Vamos apagar a tabela player_deleted se houver e logo em seguida copiar a estrutura da tabela "player" e logo depois renomear a tabela copiada para player_deleted.

Com isso você pode testar se irá funcionar ok?

 

Segue exemplo de como copiar a tabela:

Não esqueça de depois disso apagar todos os player que existe na tabela player_deleted se não.. não irá funcionar.

 

F9v5Yj5.png

 

 

 

 

Esse passo é mais digamos assim complexo.. você precisa ter uma source code do seu game.

Se você tem vamos acessar em db logo em seguida ClientManagerPlayer.cpp

 

 

Pesquise por:

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
          std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

          if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
          {
                sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player%s_deleted", dwPID, GetTablePostfix());

                peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
                peer->EncodeBYTE(pi->account_index);
                return;
          }

Altere por:

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
          std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

          if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
          {
                sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player_deleted%s", dwPID, GetTablePostfix());

                peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
                peer->EncodeBYTE(pi->account_index);
                return;
          }

Se você reparar estamos alterando de "player%s_deleted" para "player_deleted%s".

 

 

Créditos: UPGAMERS

Tutorial By Lost


ig9Lbcw.png

- Perfeccionista -





0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos

Olá, bem vindo a UP!
 
Faça LOGIN ou CADASTRE-SE.