Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Impossible d'effacer un personnage


lythiskin

Question

[Message d'introduction]

 

Version des files :2016Fe V3

Domaine (Base de données, Core, etc.) :SQL

Votre niveau (débutant, intermédiaire, avancé) :debutant

 

Description du problème : Apres la création du serveur il m'es impossible de supprimer les personnage 

Comment reproduire le problème :

Recherches et tests effectué : copie de la table player suivi d'un rename en 

Résultat des recherches et tests :

 

Message d'erreur, capture d'écran :https://metin2.download/picture/s2gP4Vfxg4qxmvkr9YA9J5mDQRvTdBhz/.png

 

Petit renseignement demander en parallèle, sur mon putty au lancment de mon serveur il m'affiche ceci : https://metin2.download/picture/2xhF3x23j2E4Q4Xn0oo924qJ1NeyMFPq/.png 

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 3
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

3 réponses à cette question

Messages recommandés

  • 0

 

Le tutoriel est correcte, mais en rien ça réglera le malheureux soucis de la suppression des personnages sur des game supérieur au 2089.

Si tu utilises des game comme le 2089, le bug n'est pas présent côté src.

 

 

Sauf que là, il y est, et donc une modification côté db s'impose.

 

Ouvre le fichier ClientManagerPlayer.cpp dans le dossier db et cherche:

 

        char queryStr[QUERY_MAX_LEN];

       snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d", // La query exécutée par le fichier db est erronée
               GetTablePostfix(), GetTablePostfix(), pi->player_id);
       std::auto_ptr 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;
       }

 

Remplace par:

 

        char queryStr[QUERY_MAX_LEN];

       snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d",
               GetTablePostfix(), GetTablePostfix(), pi->player_id);
       std::auto_ptr 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;
       }

 

Good luck

Modifié par Funky Emulation
Core X - External 2 Internal
Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

En effet, j'allais la poster car j'avais apporté la solution en complément sur OG à l'époque, je ne l'ai pas mise dans mon "grand" tutoriel car je ne parlais "que" de la partie BDD et non pas de la partie source ^^

 

Normalement, problème résolu

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.