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

Python - Visibilité du Nombre de Yangs en Echange


Messages recommandés

Salut tout le monde, petit partage rapide de ce que je viens de faire.

 

Problèmatique: Un joueur souhaite vendre un item 160m, il se retrouve avec 160k car son acheteur n'a pas mis tous les zéros.
Conséquence : Il est énervé et souhaite avoir plus de lisibilité.

 

Rendu:

 

124531telechargement-2-.png

 

Code :

 

Dépack le root, cherchez le fichier uiexchange.py, remplacez la fonction Refresh. 

 

	def Refresh(self):

		self.RefreshOwnerSlot()
		self.RefreshTargetSlot()
		
	#Début des modifs
		prix = exchange.GetElkFromTarget()
		string_prix = ""
		compteur = 0

		for i in range(len(str(prix)),0,-1):
			if(compteur == 3):
				string_prix = "."+string_prix
				compteur = 0

			compteur = compteur+1
			string_prix = str(prix)[i-1]+string_prix


	
		self.OwnerMoney.SetText(str(exchange.GetElkFromSelf()))
		self.TargetMoney.SetText(string_prix)
	#Fin des modifs

		if True == exchange.GetAcceptFromSelf():
			self.OwnerAcceptLight.Down()
		else:
			self.AcceptButton.Enable()
			self.AcceptButton.SetUp()
			self.OwnerAcceptLight.SetUp()

		if True == exchange.GetAcceptFromTarget():
			self.TargetAcceptLight.Down()
		else:
			self.TargetAcceptLight.SetUp()

Si vous avez des questions n'hésitez pas. 

 

Modifié par Kameyu
  • Metin2 Dev 1
  • Love 3
Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

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 !

  • Good 1
  • Love 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, Takuma a dit :

Merci !

Rien à redire, si ce n'est que tu aurais pu faire ça en une ligne avec un join accompagné d'un for !

 

Merci à toi. Je ne voyais pas l'utilité du join qui est plus utilisé pour rejoindre des listes etc.. Une simple concaténation me plaisait bien.
Sinon propose ta version, si elle est plus optimisée on pourra éditer le poste, j'ai réaliser ce code sur un coup de tête, mais toute leçon est bonne à prendre si leçon il y a.

Lien vers le commentaire
Partager sur d’autres sites



  • 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.