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

Modification Python


Craven

Question

Bonjour à vous !

 

 

Le python n'est pas vraiment mon fort, je demande donc l'aide de personnes pouvant m'aider !

 

J'ai donc installé une nouvelle interface de login, celle-ci permet de sauvegarder les ID dans des fichiers situés dans le client, le problème est que, lorsque quelqu'un lance le patcher, les fichiers en question sont directement remis à 0, normal puisque les fichiers sont upload sur le FTP et comme en sauvegardant les ID, les fichiers sont modifiés, une MàJ se lance pour remettre les fichiers comme sur le FTP.

 

Mon idée est de retirer ces fichiers du FTP pour qu'ils ne se mettent plus à jour, sauf que dans le code, rien n'est dit qu'au lancement du client, il faut vérifier si les fichiers existent ou non, il faudrait donc modifier le code pour que lorsqu'on lance le client, on vérifie si les fichiers existent ou non, si ils sont créé alors rien ne se passe, ils restent comme tel, si ils n'existent pas, les fichiers sont alors créés.

 

 

 

Voilà donc ce qui nous intéresse (du moins, je pense que c'est tout):

 

def __LoadACCNames(self):

	fd = open( "Settings/loginsetting1.cfg" )
	login1 = fd.readline()
	login1.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting2.cfg" )
	login2 = fd.readline()
	login2.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting3.cfg" )
	login3 = fd.readline()
	login3.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting4.cfg" )
	login4 = fd.readline()
	login4.replace( "\n", "" )
	fd.close()

	if login1 != "":
		self.ACC1__LABEL.SetText(login1)
		self.ACC1_LABEL.SetText(login1)
	if login2 != "":
		self.ACC2__LABEL.SetText(login2)
		self.ACC2_LABEL.SetText(login2)
	if login3 != "":
		self.ACC3__LABEL.SetText(login3)
		self.ACC3_LABEL.SetText(login3)
	if login4 != "":
		self.ACC4__LABEL.SetText(login4)
		self.ACC4_LABEL.SetText(login4)

def __LoadACCInfos(self, accid):
	import linecache
	login = linecache.getline("Settings/loginsetting" + str(accid) + ".cfg", 1)
	password = linecache.getline("Settings/loginsetting" + str(accid) + ".cfg", 2)
	login = login.replace('\n', '')
	self.Connect(login, password)

def __OnClickACC1LoginButton(self):
	self.__LoadACCInfos(1)

def __OnClickACC2LoginButton(self):
	self.__LoadACCInfos(2)

def __OnClickACC3LoginButton(self):
	self.__LoadACCInfos(3)

def __OnClickACC4LoginButton(self):
	self.__LoadACCInfos(4)

def __OnClickLoginSaveButton(self):
	id = self.idEditLine.GetText()
	pwd = self.pwdEditLine.GetText()

	fd = open( "Settings/loginsetting1.cfg" )
	login1 = fd.readline()
	login1.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting2.cfg" )
	login2 = fd.readline()
	login2.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting3.cfg" )
	login3 = fd.readline()
	login3.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting4.cfg" )
	login4 = fd.readline()
	login4.replace( "\n", "" )
	fd.close()

	if login1 == "":
		slot = 1
	elif login2 == "":
		slot = 2
	elif login3 == "":
		slot = 3
	elif login4 == "":
		slot = 4
	else:
		self.PopupNotifyMessage("Il n'y a plus de slot libre !")
		return


	f = open("Settings/loginsetting" + str(slot) + ".cfg", "w")
	f.write (id +"\n")
	f.write (pwd)
	f.close()

	self.PopupNotifyMessage("Votre ID et votre MDP ont été sauvegardés !")
	self.__LoadACCNames()

 

 

 

J'avais donc essayé de modifier comme ceci:

 

 

	def __LoadACCNames(self):

	fd = open( "Settings/loginsetting1.cfg", "w+")
	login1 = fd.readline()
	login1.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting2.cfg", "w+")
	login2 = fd.readline()
	login2.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting3.cfg", "w+")
	login3 = fd.readline()
	login3.replace( "\n", "" )
	fd.close()

	fd = open( "Settings/loginsetting4.cfg", "w+")
	login4 = fd.readline()
	login4.replace( "\n", "" )
	fd.close()

 

 

 

Les fichiers sont donc créés au lancement du client or, il ne sauvegarde plus les ID lorsque je le demande.

 

 

Merci à vous pour votre aide, bonne journée à toutes et à tous !

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

2 réponses à cette question

Messages recommandés

  • 0
  • Retraité

Je ne suis pas sûr d'avoir bien compris mais test ça :

 

def __LoadACCNames(self):

	if os.path.exists("Settings/loginsetting1.cfg"):
		fd = open( "Settings/loginsetting1.cfg")
		login1 = fd.readline()
		login1.replace( "\n", "" )
		fd.close()
	else:
		fd = open("Settings/loginsetting1.cfg", "w")
		fd.close()
		login1 = ""

	if os.path.exists("Settings/loginsetting2.cfg"):
		fd = open( "Settings/loginsetting2.cfg")
		login2 = fd.readline()
		login2.replace( "\n", "" )
		fd.close()
	else:
		fd = open("Settings/loginsetting2.cfg", "w")
		fd.close()
		login2 = ""

	if os.path.exists("Settings/loginsetting3.cfg"):
		fd = open( "Settings/loginsetting3.cfg")
		login3 = fd.readline()
		login3.replace( "\n", "" )
		fd.close()
	else:
		fd = open("Settings/loginsetting3.cfg", "w")
		fd.close()
		login3 = ""

	if os.path.exists("Settings/loginsetting4.cfg"):
		fd = open( "Settings/loginsetting4.cfg")
		login4 = fd.readline()
		login4.replace( "\n", "" )
		fd.close()
	else:
		fd = open("Settings/loginsetting4.cfg", "w")
		fd.close()
		login4 = ""

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

      Metin2 en 2020 peut-on en parler?

    2. 0

      METIN2Project

    3. 3

      Ressources - UnPack - Metin2 Client - Officiel

    4. 0

      Barre des tâches d'argent étendue

    5. 16

      Redémarrage automatique des channels

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