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

Galet

 Funkiest
  • Compteur de contenus

    2506
  • Inscription

  • Dernière visite

  • Jours gagnés

    11

Tout ce qui a été posté par Galet

  1. Reyo Bah à vrai dire pas spécialement, c'est juste que l'ui est déclarée dans uiscript, qui plus est ça économise pas mal de place et c'est vachement user_friendly car il suffit juste de savoir fouiller et d'avoir un niveau minimum d'anglais, le seul truc un peu chiant c'est le calcul de coordonnées qui en général me prends quelques repacks Pro-Tip : Tu peux repacker uiscript en étant en jeu ! Du coup tu as juste à faire ta modification, repack, changer de map et la modification sera prise en compte ! C'est un côté de j'adore très franchement { "name":"NomDuBouton", "type" : "button", "x":CoordonéesX, "y":CoordonéesY, "default_image" : "Image_par_défaut", "over_image" : "Image_Quand_Souris_Dessus", "down_image" : "Image_Quand_Cliquée", }, Pour Player et Item, tu ne vas rien trouver de concret dans root, étant donné que le module appelé est comme le module "net" par exemple, il est interne au lanceur, tu peux le trouver dans UserInterface si je ne me trompe pas, dans les fichiers C++ ! Si je ne me trompe pas (j'avais taffé sur les slots y'a deux ans, dans A/Q/S j'avais répondu à quelqu'un qui se posait une question similaire), les slots sont de base limités à 255, ils englobent tous les inventaires possibles et imaginables, shops et entrepôts exclus (Inventaire normal, ceintures & DragonSoul), il faut aussi préciser que tu peux créer des slots visuels dans le client où tu peux mettre des items dedans, mais ces derniers resteront dans l'inventaire et ne se stockeront pas dedans (ex : FastEquip ou SwitchBot) Tu peux aller voir par là, ça peut te guider un peu ! /topic/16497-c-debug-bug-de-lechange-des-4-pages-dinventaires/ Sinon, petite question, tu es nouveau dans l'émulation ? Tu me sembles être doué Edit 1 minutes après : Ok j'ai ma réponse à la dernière question
  2. Vérifie de bien faire un gmake clean et vérifie les includes / la lib (et que les deux correspondent )
  3. Salut, Tutoriel très bien expliqué, tu as dit tout ce qu'il fallait ! Je précise aussi qu'il est préférable de rajouter les informations graphiques dans uiscript, c'est plus "propre" à mon goût et ça reste dans la logique de Metin2. Après tu aurais pu créer une partie test pour savoir si le bouton est fonctionnel en jeu ex : def handleToto(self): import chat chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.Test) Puis dans "locale_game.txt" Test Mon bouton fonctionne bien ! Après il faut aussi préciser que le bouton doit être bien placé si il est ajouté dans uiscript sur quelque chose de déjà existant (inventaire, costumes, page de statistiques etc...). Par exemple, il faut faire attention d'où le bouton est placé, si il est en dessous d'un autre élément, il pourra être vu graphiquement et inutilisable (non cliquable) ou inversement Excellent guide, je suis sûr qu'il servira aux membres qui veulent se lancer là dedans sans spécialement avoir envie de décoder un bouton déjà existant +1 l'ami !
  4. Oui, par contre il faut mettre un pc.setqf ou setf validant la quête à la fin
  5. Yo, base toi sur des quêtes qui ont ont déjà, c'est un simple target, t'as juste à décortiquer ^^'
  6. Vérifie dans ton makefile que l'appel de libjasper.so.4 se fait bien à partir du dossier usr/local/lib ou usr/lib essaie aussi lib32 mais je pense juste que l'appel de la lib se fait ailleurs
  7. Remet la liblua d'origine et n'oublie pas de la compiler ^^
  8. Yo, Le anticpxsvr c'est le hackshield, et concrètement, tu t'en moques... (Tu peux l'activer mais il n'est pas très efficace) Du coup, dans ton Makefile, enlève ce qui est en rapport au hackshield, puis lorsque ça te fait chier dans les sources, si tu comprends pas, colle ton erreur ici avec ton fichier et je t'aiderai
  9. De rien ! J'aurais du inverser les explications Y'en a deux différentes :'(
  10. Désolé du double post, mais j'ai peut-être une solution ! Essaie ça : Dans char.h cherche : boost::unordered_map TargetVIDMap; Remplace par : boost::unordered_map TargetVIDMap; Puis dans char_skill.cpp, remplace: boost::unordered_map::iterator iterTargetMap = rSkillUseInfo.TargetVIDMap.find(TargetVID); par : auto iterTargetMap = rSkillUseInfo.TargetVIDMap.find(TargetVID); Cependant, si t'es pas en c++11 minimum, tu pourras pas utiliser "auto"... Du coup si ça marche pas, essaie ça : Dans char_skill.cpp, remplace: boost::unordered_map::iterator iterTargetMap = rSkillUseInfo.TargetVIDMap.find(TargetVID); par : boost::unordered_map::iterator iterTargetMap = rSkillUseInfo.TargetVIDMap.find((DWORD)TargetVID); Puis : rSkillUseInfo.TargetVIDMap.insert( std::make_pair(TargetVID, 1) ); par : rSkillUseInfo.TargetVIDMap.insert( std::make_pair((DWORD)TargetVID, 1) ); Après, c'est dans char.h : Remplace : boost::unordered_map TargetVIDMap; Par : boost::unordered_map TargetVIDMap; Keep Calm and Sugi Pula mon ami
  11. Yo, J'avais eu ce soucis en tentant de mettre à jour Boost y'a... 1ans et demi j'crois Ce soucis, soit tu le contournes en prenant l'ancienne partie de extensions.hpp (diffchecker) genre d'une version précédente, soit en ajoutant un truc au code, mais franchement avec le temps j'ai oublié quoi
  12. Galet

    [Débug 2016] Etoles

    Salut, Merci, c'est drôle car en plus la target s'appelle "Octavio"
  13. Galet

    Déconnexion soudaine

    Salut, Logiquement le header 254 ne fait juste que spammer sans spécialement déconnecter, par contre ton serveur lague (alloue plus de mémoire)
  14. Galet

    [Instance] Dungeon Infernal

    De rien ! Continue ! Tu peux faire des belles choses ☺
  15. Galet

    [Instance] Dungeon Infernal

    Salut, Très belle instance, à vrai dire, le Gameplay reste un peu basique parmis les instances mais tu as réussi à donner ce côté "officiel 2012" à l'instance et j'aime beaucoup ! Bon travail
  16. Si tu es en hamachi mets l'ip de ton réseau hamachi ^^
  17. Je disais que ton syserr client avait rien à voir avec ton problèmes, ce sont des effets liés aux anneaux je crois, c'est un problème mineur et plus un avertissement qu'autre chose
  18. Logs client : Manque d'effet : Tu as juste à le trouver et à les mettre dans les packs
  19. Envoie nous un screen de la VM s'il te plaît
  20. Salut, Tu as mit un chmod 0755 au game & db ?
  21. Galet

    Ajouter Commandes

    Salut, Dans cmd.cpp, tu remplaces IMPLEMENTOR par HIGH_WIZZARD
  22. Ça m'étonnerait J'ai bien tout relaté plus haut :c
  23. Ça n'a pas marché chez Mei non plus, pourtant chez moi, c'est corrigé à 100% (testé avec plus de 6 persos, sur deux comptes différents et avec des reboots entre) et j'ai fait exactement cette manipulation
  24. Bonjour, En voyant ce sujet, j'ai décidé de m'y pencher car ce bug me posait vraiment problème, alors j'ai eu le raisonnement qui va suivre : 1 - J'ai premièrement analysé chacun de mes paquets, à la connexion, au tp, à la création d'un nouveau personnage etc... 2 - J'ai créé une quête s'appelant "testlogin.quest" qui m'affichait du texte à la connexion. 3 - Cette quête marchait sans aucun soucis, le texte ne restait pas. 4 - J'ai pensé à la quête des montures, qui s'est mise à marcher après l'avoir renommée. 5 - J'ai laissé uniquement du texte sur la "give_basic_weapon.quest", cette quête avait le problème en question. 6 - J'ai transposé le contenu de la "give_basic_weapon.quest" sur ma quête "testlogin.quest", la quête fonctionnait parfaitement sans aucun soucis. Du coup, voilà la solution, qui est, je précise, bancale; en effet, je n'ai pas encore identifié la source probable du bug, même si les paquets semblent être les coupables. Je vais aussi vous donner des conseils pour être sûr que le bug ne pointe pas le bout de son nez à nouveau. PS : Vous n'avez pas besoin d'utiliser les sources pour cette solution ! Premièrement, identifiez la quête qui pose problème, chez moi, c'était la "give_basic_weapon.quest", alors on va faire avec celle-ci : 1 - Une fois la quête identifiée, renommez-la du coup, chez moi, j'ai renommé : "give_basic_weapon.quest" en "giveitem.quest". 2 - Ouvrez la quête "giveitem.quest" (donc votre quête renommée) et changez la première ligne pour qu'elle corresponde avec le nom de la quête. (Exemple : "give_basic_weapon" deviendra "giveitem") 3 - Ouvrez "locale_list" et renommez l'ancienne quête par le nom de la nouvelle (Chez moi : "give_basic_weapon.quest" est devenu "giveitem.quest") 4 - Enregistrez, compilez vos quêtes, rebootez, allez en jeu. 4Bis - Enregistrez, compilez vos quêtes, allez en jeu et tapez /reload q Vous pouvez choisir l'étape 4 qui vous convient. Chez moi, le soucis était corrigé mais je vous conseille d'effectuer la manipulation qui va suivre en local avant d'ouvrir votre serveur et avant de transférer sur votre dédié à l'ouverture : /!\ NE FAITES PAS ÇA SUR UN SERVEUR DÉDIÉ AVEC DES JOUEURS ! C'EST PRIMORDIAL ! CE N'EST À FAIRE SOUS AUCUN PRÉTEXTE ET SURTOUT SI VOUS AVEZ DES JOUEURS /!\ Avant de mettre vos quêtes sous votre dédié naissant (donc avant l'ouverture), suivez ces étapes : 1 - Supprimez le dossier "Object" qui se situe dans le dossier "quest" 2 - Videz complètement la table "quest" dans la base de donnée player 3 - Compilez et ouvrez votre serveur Avec ces deux solutions combinées je suis presque sûr à 100% que vous n'aurez plus ce bug, cependant, je précise qu'à chaque fois que vous identifiez une quête avec ce soucis, vous devez refaire la première étape (en faisant attention que cette quête ne soit pas appelée ailleurs, sinon, vous devez adapter) Bonne journée et bon débug ! Solution n°2, proposée par Loki : Ouvrez votre quête give_basic_weapon.quest Ajoutez return après le dernier say : say("monture niveau 11 ainsi que tout l'équipement du") say("débutant +9 (bouclier, armure, armes et bijoux) !") say("Alors qu'attendez vous ? Bonne chance !") return end end end end Solution n°3, proposée par crapounette : Ouvrez votre quête give_basic_weapon.quest : Supprimez toutes les lignes qui utilisent fonction say

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.