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

Python - Ajouter un Bouton dans le Target


Messages recommandés

  • Robot

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Bonjour

 

Dans le but de la "rénovation" du forum, j'essaye d'aider comme je peux, et ça semblait intéressant que je fasse une petite réécriture de certains tutoriels qui manquaient d'informations.

Je vais commence donc mes réécriture avec celui la qui était partagé par Litchy qui lui même l'avait partagé d'autre part etc...

Des nouveautés ? Je vous explique entièrement le code.

 


L'objectif est certe de rénové les tutoriels, mais aussi de vous offrir un peu plus d'information. Vous voyez que en générale, je vais vous apprendre comment ajouter un bouton, pas quelque chose de spécifique en vous faisait suivre une procédure digne d'un vieux avec ses habitudes.

Commençons !


 

Avant de commencer, je précise juste que le target c'est ça :

123516Screenshot-13.png

Ou encore les différents boutons qui s'affichent dans la petite fenetre en haut quand vous cliquez sur un joueur contenant "MP", "Echange", "Groupe" etc....


 

Commencez par depack votre root :

Je vous laissez ensuite ouvrir votre uitarget.py qui va contenir toutes les informations "système" du target.

 

Vous allez ensuite cherchez ceci :

class TargetBoard(ui.ThinBoard) :
 
Tout ce qui se trouve derrière ceci, avec une tabulation va faire partie de sa class, c'est comme une catégorie si vous voulez !

Ensuite vous aurez une liste qui devrait ressembler à ceci :

123741Screenshot-14.png

 

Si c'est ça, (surtout le "LocaleInfo"), ajoutez :

localeInfo.TARGET_BUTTON_DC,
 
--->Notez dans ce cas que vous avez des files 2014 ou plus.

Si au contraire, vous avez des locale.TARGET_BUTTON...., ajoutez :

locale.TARGET_BUTTON_DC,
 
--->Notez dans ce cas que vous avez des files antérieur aux 2014.

Ici, nous ajoutons un élément à une liste. Le changement entre local/localInfo dépend de la version de vos files. Effectivement, à partir des 2014 il y a eu un changement à ce niveau.

Vous allez ensuite, toujours dans le même fichier chercher :

-->Pour les files 2014 ou plus :

self.buttonDict[localeinfo.TARGET_BUTTON_EMOTION_ALLOW].SAFE_SetEvent(self.__OnEmotionAllow)
Ajoutez en dessous :
self.buttonDict[localeInfo.TARGET_BUTTON_DC].SAFE_SetEvent(self.__OnDc)
-->Pour les files antérieurs aux 2014 :
self.buttonDict[locale.TARGET_BUTTON_EMOTION_ALLOW].SAFE_SetEvent(self.__OnEmotionAllow)
Ajoutez en dessous :
self.buttonDict[locale.TARGET_BUTTON_DC].SAFE_SetEvent(self.__OnDc)
 
Pour les deux cas, faites que les tabulations au début correspondent. C'est à dire que vous devez mettre le même nombre de tabulation entre la recherche et l'ajout ici.
 

Ici, nous avons dis au client que :

Le button que l'on nomme par le nom que l'on a ajouté dans la liste à l'étape précédente, à pour événement/exécute quand on l'utilise notre fonction __OnDc.

Ensuite, on va afficher le bouton, sous une condition, celle que le pseudo commence par un "[", vous devez donc le changer.

 

Cherchez :

def ShowDefaultButton(self):
Vous trouverez ici la liste des boutons qui s'affichent.

-->Pour les files 2014 et plus :

Ajoutez :

        if str(player.GetName())[0] == "[":           self.__ShowButton(localeInfo.TARGET_BUTTON_DC)
---> Pour les files antérieurs à 2014 :
        if str(player.GetName())[0] == "[":           self.__ShowButton(locale.TARGET_BUTTON_DC)
 
Cela donne :

121341Screenshot-15.png

 

Bien ! On continue ? On va maintenant ajouter la fonction qui va permettre de déconnecter le joueur, ajoutons là en dessous de la fonction __OnEmotionAllow(self):

 

Ajoutons en dessous :

    def __OnDc(self):       net.SendChatPacket("/dc " + str(self.nameString))
Nous créons donc une fonction qui envoie dans le chat :
Citation

/dc [NomDuJoueur]

 

-->le str() sert à préciser que on l'envoie en temps que string(texte).

 

Cela donne :

121717Screenshot-16.png

Bien ! 

On va finir par ajouter notre bouton déconnexion.

 

Dépackez le local et rendez vous dans le locale_game.txt, ajoutez :

TARGET_BUTTON_DC[TAB]Déconnexion
N'oubliez pas de remplacer [TAB] par une tabulation.

Et voilà.

 

J'espère que la réécriture rend un peu plus propre.

Cordialement.

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet



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.