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

Madrix

Membre
  • Compteur de contenus

    65
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Madrix

  1. Bonjour, 1/° Pack root => uiexchange.py Cherchez : def Refresh(self): self.RefreshOwnerSlot() self.RefreshTargetSlot() Juste en-dessous, incluez ceci : self.OwnerMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromSelf()))) self.TargetMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromTarget()))) Ensuite cherchez : def OnUpdate(self): USE_EXCHANGE_LIMIT_RANGE = 1000 Juste en dessous, incluez ceci : self.OwnerMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromSelf()))) self.TargetMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromTarget()))) /!\ Si vous utilisez un client 2013 ou inférieur il vous faut remplacer les "localeinfo" par "locale" !!!! /!\ Repacker root et le tour est joué. Si vous voulez enlevé le "Yang" après les chiffres il faut (facultatif): 2/° Ouvrir localeinfo.py Cherchez : elif IsEUROPE() Descendez jusqu'à trouver : def NumberToMoneyString(n) : if n <= 0 : return "0 %s" % (MONETARY_UNIT0) return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT0) Il suffit de copier cette fonction et de la modifier comme ceci : def NumberToMoneyStringoy(n) : if n <= 0 : return "0" return "%s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ])) Bien sûr il faudra aussi modifier le nom de la fonction dans "uiexchange.py" (là j'ai juste rajouté "oy" au nom de base). A vos modifs !
  2. Madrix

    Prix revente item

    La taxe est enlever, j'ai essayé les trois empires et le résultat est le même partout.
  3. Madrix

    Skill P en Anglais

    Bonjour, En pièce jointe. skilldesc.txt
  4. Veuillez ajouté un premier bouton pour faire disparaître ce petit bug. game.py Recherchez: self.sideBar.Destroy() self.sideBar = None Ajoutez en dessous : self.sideBar.AddButton("Screenshot", self.SaveScreen)
  5. Bonjour, Après avoir implanter le système d'équipement rapide (F7 et fonctionnel) et après l'avoir rajouter dans une sidebar(fonctionnel) je me suis mis au défi(même si j'y connais pas grand chose en python..) de l'intégrer dans l'inventaire via un bouton (le même que celui pour costume bref). Après avoir procéder à quelques modifications (voir fin post) le bouton est bien implanter dans l'inventaire mais au clic petit message d'erreur syserr et non fonctionnel. J'ai essayé plusieurs arguments(tous lier au fast equip(fast_equip/__quikeqchange/uuifastequipDlg etc..) pour tenter de résoudre le problème mais toujours le même problème. Je sais que je dois ajouter la fonction quelque part mais où ? Version des files : 2014 Domaine (Base de données, Core, etc.) : client / python Votre niveau (débutant, intermédiaire, avancé) : débutant Description du problème : Bouton non fonctionnel Comment reproduire le problème : appuyez sur le bouton Recherches et tests effectué : forum émulation Résultat des recherches et tests : Message d'erreur : 0719 00:23:30449 :: File "ui.py", line 1016, in CallEvent 0719 00:23:30449 :: File "ui.py", line 87, in __call__ 0719 00:23:30449 :: File "ui.py", line 69, in __call__ 0719 00:23:30449 :: File "uiInventory.py", line 565, in ClickEquipeButton 0719 00:23:30449 :: AttributeError 0719 00:23:30449 :: : 0719 00:23:30449 :: 'InventoryWindow' object has no attribute 'FAST_EQUIP' 0719 00:23:30449 :: Mes modifications/ajouts : uiinventory.py 1/ self.equipeButton = self.GetChild2("EquipeButton") 2/ # Equipe Button if self.equipeButton: self.equipeButton.SetEvent(ui.__mem_func__(self.ClickEquipeButton)) 3/ # fastequipbutton def ClickEquipeButton(self): self.FAST_EQUIP.Show() Et autre pour afficher le bouton (fonctionnel) Merci d'avance, madrix En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  6. Fonctionnel. Ajoute ça Bakemodz : self.sideBar.AddButton("Screenshot", self.SaveScreen) après self.sideBar.Destroy() self.sideBar = None
  7. L'incompatibilité entre les fichiers 2014 et hamachi .. D'où un récent tutoriel de Calyspo je crois, visant à régler ce soucis (no-ip & hamachi) édition : Du genre : /topic/18028-thread/
  8. Bonjour, Via les sources tu peux arrangé ça.
  9. Bonjour ! Suite à ce post : /topic/18101-problème-avec-les-prix/ J'ai remarqué qu'il y avait un réel soucis avec le prix des item's revendus sur les fichiers 2014 par la teamfe et peut être tout les différents fichiers 2014.. Exemple simple : Gold Reçu à la revente(marchand/marchande etc...) shop_buy_price id 10 100 20 100 id 17 100 70 350 id 19 100 150 500 Si je met à l'identique gold et shop_buy_price ça reviens à une perte de 80 % .. Taxe 3 % empire enlevé. Tester partout. Version des files : 2014 par teamfe Domaine (Base de données, Core, etc.) : bdd / source Votre niveau (débutant, intermédiaire, avancé) : débutant Description du problème : Prix de revente incorrecte par rapport aux prix indiqué item_proto.txt Comment reproduire le problème : vendre un item à un marchand Recherches et tests effectué : fe / epvp / just4 etc.. Résultat des recherches et tests : shop.cpp "Issellingitem ?" En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  10. Madrix

    Problème avec les prix

    Je viens d'essayer par hasard de vendre une épée +9 +8 +7 etc.. et j'ai le même problème qu'Aragon. Après avoir un peu réfléchi .. J'ai découvert qu'un item +9 prenait un bonus de 50% en + lors de la vente (par rapport au prix indiqué sur l'item proto) Le +8 est exacte Et de +7 à +0 le prix chute id : 17 = 12 % de perte id 27 = 24 % de perte id 37 = 48 % de perte Mais riens à voir .. en testant d'autre item, je ne trouve pratiquement jamais le prix indiqué. Autres petits tacles dans les sources ^^
  11. Madrix

    Bonus 1/5 File 2014.

    Bonjour, Des recherches sur le problème ? => char_item.cpp Code à rechercher : if (pPC) { DWORD dwNowMin = get_global_time() / 60; DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag); if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ĽÓĽşŔ» ąŮ˛ŰÁö %dşĐ ŔĚł»żˇ´Â ´Ů˝Ă şŻ°ćÇŇ Ľö ľř˝Ŕ´Ď´Ů.(%d şĐ ł˛Ŕ˝)"), dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin)); return false; } pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin); } Remplacez par : if (pPC) { DWORD dwNowMin = get_global_time() / 60; //Comment for 0 switch players start //DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag); //if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin) //{ //ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ĽÓĽşŔ» ąŮ˛ŰÁö %dşĐ ŔĚł»żˇ´Â ´Ů˝Ă şŻ°ćÇŇ Ľö ľř˝Ŕ´Ď´Ů.(%d şĐ ł˛Ŕ˝)"), //dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin)); //return false; //} //Comment for 0 switch players end pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin); } }
  12. Madrix

    Limite yang

    A fermer, merci Galet et Kijaru : )
  13. Madrix

    Limite yang

    Merci, je vais y réussir avec ou sans aide !
  14. Madrix

    Limite yang

    Ça sert pour les serveur semi fun fun et ultra fun ^^ Les gens aiment les gros chiffres, Metin doit donc évoluer.
  15. Madrix

    Limite yang

    Merci de ta réponse Galet, je vais essayé. Après une recherche c'est %llu qu'il faut utilisé pour afficher un unsigned long long.
  16. Madrix

    Limite yang

    Bonjour, Après des recherches et modification via les sources pour élever la limite de yang qu'un joueur peut avoir sur lui. 2.147mm actuellement int modifier par du DWORD. Connaissant pratiquement rien en c++ j'ai fais selon mon intuition et changer tout les long et int en DWORD (concernant les gold) ET changez la limite via length.h (common). Après 1h de recherches et modification j'ai réussi à compiler le game et une fois mise en place, eh ba toujours cette limite sur le jeu... (2.147... mm) Programmeur help ! Version des files : 2014 par teamfe Domaine (Base de données, Core, etc.) : Votre niveau (débutant, intermédiaire, avancé) : débutant Description du problème : Retour à 0 yangs après avoir dépassez 2.147mm yang) Comment reproduire le problème : S'ajouter des yangs via la commande Recherches et tests effectué : google Résultat des recherches et tests : Message d'erreur, capture d'écran : En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  17. Bonjour, Ce tutoriel-partage va vous aidez à fix le bug de pouvoir switch les bonus d'un équipement déjà équiper et du coup fix l'accumulation des bonus. Rendez vous dans dans le fichier char_item.cpp Cherchez : if (ITEM_COSTUME == item2->GetType()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ĽÓĽşŔ» şŻ°ćÇŇ Ľö ľř´Â ľĆŔĚĹŰŔÔ´Ď´Ů.")); return false; } if (item2->IsExchanging()) return false; Ajoutez en dessous : if (item2->IsEquipped()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("no.switch")); return false; } /!\ Attention à bien mettre les tabulations /!\ Dans le même fichier cherchez : case 71052 : // ÁøÀç°æ { // À¯·´, ½Ì°¡Æú, º£Æ®³² ÁøÀç°¡ »ç¿ë±ÝÁö //if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam()) //return false; LPITEM item2; if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell))) return false; if (item2->IsExchanging() == true) return false; if (item2->GetAttributeSetIndex() == -1) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¼Ó¼ºÀ» º¯°æÇÒ ¼ö ¾ø´Â ¾ÆÀÌÅÛÀÔ´Ï´Ù.")); return false; } if (item2->ChangeRareAttribute() == true) { char buf[21]; snprintf(buf, sizeof(buf), "%u", item2->GetID()); LogManager::instance().ItemLog(this, item, "CHANGE_RARE_ATTR", buf); item->SetCount(item->GetCount() - 1); } else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("º¯°æ ½Ãų ¼Ó¼ºÀÌ ¾ø½À´Ï´Ù")); } } Entre "if (item2->GetAttributeSetIndex() == -1)" et "if (item2->ChangeRareAttribute() == true)" Ajoutez ceci : if (item2->IsEquipped()) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("no.switch")); return false; } /!\ Attention à bien mettre les tabulations /!\ Partie source c'est fini ! Ensuite rendez vous ici => /usr/metin2/share/locale/france/locale_string.txt/ Et ajoutez à la fin du fichier : "no.switch"; "Vous ne pouvez pas switch les bonus d'un équipement équiper"; /!\ Attention à bien laisser une ligne vide à la fin du fichier /!\ Source : Just4Metin et moi
  18. Je vais essayer sur un autre réseau , merci. C'est pas urgent, je vais surement passer sur dédié.

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.