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

Créer "une boite de dialogue"


Metin2 Dev

Question

  • Robot

Bonjour,

 

Et tant en pleine programmation de mes propres système Metin2, un problème est venu à moi :

 

 

Je sais afficher mes variables, aucun problème cependant j'aimerai savoir comment :

 

Ouvrir une genre de boite de dialogue (textbox + bouton), donc pour entrer son texte et le valider, mais aussi savoir comment récupérer le texte pour le déclarer par la suite dans un variables de type String.

 

En précision, je vous mets un peu le context en "traduit"

 

Si costinfo.MaVariable = 1 Alors :

"On ouvre une boite de dialogue"

 

On recupère le texte et on l'attribue à une variable, par exemple Variable

On compte le nombre de caractère de Variable :

          Si moins de ... caractères alors : 

              Variable2 = Variables

          Sinon : On fait apparaitre une popup message.

 

Voilà, c'est un peu brouillon, mais vous voyez le principe. Il ne me manque que ce que j'ai écris avant la citation.

 

J'espère que ma demande est assez claire... si elle ne l'ai pas dites le moi.

 

 

Cordialement, merci d'avance de votre aide

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

19 réponses à cette question

Messages recommandés

  • 0
  • Robot

Juste un petit problème,

 

Si j'intègre pour teste du code comme ça :

	def __afk(self):
	if constInfo.AFK == 0:
		constInfo.AFK = 1
		afktext = uiCommon.InputDialog()
		afktext.SetTitle("Répondeur AFK")
		afktext.Open()
		text = self.afktext.GetText()
		self.PopupMessage("Mode AFK activé")
	elif constInfo.AFK == 1:
		constInfo.AFK = 0
		self.PopupMessage("Mode AFK desactivé")

ça m'ouvre la fenetre comme je l'a veux cependant, comment faire pour mettre en fonction le "Annuler" et le "Valider" ?

 

Merci de ton aide.

 

Cordialement.

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

"Length" ça me rappelle le java ça :o

 

Bah je vais voir ça, pour l'instant j'essaye de m'y retrouvé dans mes defs, si j'avais un double écran ça serai tellement plus pratique x)

 

Quelqu'un fais un dons ?

 

 

Bref, Merci à toi je fais tout ça !

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

Après avoir fais quelques trucs, je me retrouve avec ça :

	def __afk(self):
	if constInfo.AFK == 0:
		afktext = uiCommon.InputDialog()
		afktext.SetTitle("Répondeur AFK")
		afktext.Open()
		textafk = self.afktext.GetText()
		friendNameBoard.SetAcceptEvent(ui.__mem_func__(self.OnAcceptAfkText))
		friendNameBoard.SetCancelEvent(ui.__mem_func__(self.OnCancelAfkText))
	elif constInfo.AFK == 1:
		constInfo.AFK = 0
		self.PopupMessage("Mode AFK desactivé")

def OnAcceptAfkText(self):
	afktext.Hide()
	self.PopupMessage("Mode AFK activé")
	constInfo.AFK = 1
def OnCancelAfkText(self):
	afktext.Hide()

Cependant il ne se passe rien quand j'appuie sur les boutons :/ J'ai surement fait une énorme erreur, mais j'arrive pas à la voir O_o

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

Salut,

 

	def __afk(self):
	if constInfo.AFK == 0:
		friendNameBoard = uiCommon.InputDialog()
		friendNameBoard.SetTitle("Répondeur AFK")
		friendNameBoard.Open()
		textafk = self.afktext.GetText()
		friendNameBoard.SetAcceptEvent(ui.__mem_func__(self.OnAcceptAfkText))
		friendNameBoard.SetCancelEvent(ui.__mem_func__(self.OnCancelAfkText))
	elif constInfo.AFK == 1:
		constInfo.AFK = 0
		self.PopupMessage("Mode AFK desactivé")

def OnAcceptAfkText(self):
	friendNameBoard.Hide()
	self.PopupMessage("Mode AFK activé")
	constInfo.AFK = 1
def OnCancelAfkText(self):
	friendNameBoard.Hide()

Toujours rien, les boutons ne marchent pas.

:/

 

Merci de ton aide

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0

tu as fait l'inverse de ce que je t'ai dit dans mon post précédent ^^

 

ton erreur était d'utiliser friendNameBoard au lieu de afktext

 

mais bref, ta nouvelle erreur est sur cette ligne :

 

textafk = self.afktext.GetText()

 

tu récupères la valeur de afktext alors que tu as mis friendNameBoard

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

J'ai pas tous compris ce que tu m'as dis, j'ai fais ça :

	def __afk(self):
	if constInfo.AFK == 0:
		afktext = uiCommon.InputDialog()
		afktext.SetTitle("Répondeur AFK")
		afktext.Open()
		textafk = self.afktext.GetText()
		afktext.SetAcceptEvent(ui.__mem_func__(self.OnAcceptAfkText))
		afktext.SetCancelEvent(ui.__mem_func__(self.OnCancelAfkText))
	elif constInfo.AFK == 1:
		constInfo.AFK = 0
		self.PopupMessage("Mode AFK desactivé")

def OnAcceptAfkText(self):
	afktext.Hide()
	self.PopupMessage("Mode AFK activé")
	constInfo.AFK = 1

def OnCancelAfkText(self):
	afktext.Hide()

Est-ce que tu pourrais me dire ou elle l'erreur là ?

 

Merci de ta réponse :P

french_banner.gif

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

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    2. 2

      problème de lancement serveur

    3. 9
    4. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    5. 2

      problème de lancement serveur

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.