Jump to content
×
×
  • Create New...
  • 0

Problème avec ma Quest.


xSeRieSkiLls
 Share

Question

Version des files : 2012

Domaine (Base de données, Core, etc.) : SSH / Quest.

Votre niveau (débutant, intermédiaire, avancé) : Intermédiaire

 

Description du problème :

 

Voilà j'ai créé une quete qui permet par l'intermédiaire d'un item de sauvegarder certains lieux (un peu comme les parchemins) pour pouvoir s'y retéléporter par la suite, mais j'ai un petit soucis après un reboot je n'arrive plus à accéder à mon menu "Téléportation" qui contient les lieux sauvegardés pour s'y téléporter.

 

la quete :

 

quest parcho_tp begin
state start begin
	when 40004.use with pc.get_level() >= 50 begin
		local interdit = pc.get_empire()+pc.get_map_index()
		local l1 = (pc.getqf("xxx1")*100+pc.getqf("yyy1")*100) local l2 = (pc.getqf("xxx2")*100+pc.getqf("yyy2")*100) local l3 = (pc.getqf("xxx3")*100+pc.getqf("yyy3")*100)
		if l1+l2+l3 == 0 then
		lieu1 = "Vide"
			pc.setqf("xxx1",0) --78
			pc.setqf("yyy1",0) --73
			lieu2 = "Vide"
			pc.setqf("xxx2",0) --65
			pc.setqf("yyy2",0)
			lieu3 = "Vide"
			pc.setqf("xxx3",0)
			pc.setqf("yyy3",0)			
		end
		say_title("Parchemin de Téléportation")
		say("Ce parchemin très ancien vous permet de vous")
		say("téléporter vers 3 de vos lieux favoris que")
		say("vous aurez sauvegardé auparavant")
			local ch = select ("Nouv. Lieu", "Téléportation", "Réinitialisation", "Fermer")
				if ch == 1 then
					if l1+l2+l3 ==0 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!")
						return
					end						
					say("Souhaitez vous sauvegarder un lieu favori ?")
					local sauv = select("Oui", "Non")
					if sauv == 2 then
						return						
					elseif sauv == 1 then
					pc.setqf("xxx1",pc.getx()*100) --72
					pc.setqf("yyy1",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu") --69
					lieu1 = input()
					end
					end

					if l1 >= 1 and l2 == 0 and l3 == 0 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!")
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?") --65
					local sauv0 = select("Oui", "Non")
					if sauv0 == 2 then
						return						
					elseif sauv0 == 1 then
					pc.setqf("xxx2",pc.getx()*100) --73
					pc.setqf("yyy2",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu")
					lieu2 = input()
					end
					end

					if l1 >= 1 and l2 >= 1 and l3 == 0 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!") --6b
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?") --69
					local sauv1 = select("Oui", "Non")
					if sauv1 == 2 then
						return						
					elseif sauv1 == 1 then
					pc.setqf("xxx3",pc.getx()*100)
					pc.setqf("yyy3",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu") --6c
					lieu3 = input()
					end
					end

					if l1 >= 1 and l2 ==0 and l3 >= 1 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!") --6c
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?")
					local sauv10 = select("Oui", "Non")
					if sauv10 == 2 then
						return						
					elseif sauv10 == 1 then
					pc.setqf("xxx2",pc.getx()*100)
					pc.setqf("yyy2",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu")
					lieu2 = input()
					end
					end

					if l1 == 0 and l2 == 0 and l3 >= 1 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!")
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?") --73
					local sauv001 = select("Oui", "Non")
					if sauv001 == 2 then
						return						
					elseif sauv001 == 1 then
					pc.setqf("xxx1",pc.getx()*100)
					pc.setqf("yyy1",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu")
					lieu1 = input()
					end
					end

					if l1 == 0 and l2 >= 1  and l3 == 0 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!")
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?")
					local sauv002 = select("Oui", "Non")
					if sauv002 == 2 then
						return						
					elseif sauv002 == 1 then
					pc.setqf("xxx1",pc.getx()*100)
					pc.setqf("yyy1",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu")
					lieu1 = input()
					end
					end

					if l1 == 0 and l2 >= 1  and l3 >= 1 then
					if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
						say("Vous etes en territoire ennemi, par conséquent")
						say("vous ne pouvez pas marquer ce lieu comme favori!")
						return
					end
					say("Souhaitez vous sauvegarder un lieu favori ?")
					local sauv003 = select("Oui", "Non")
					if sauv003 == 2 then
						return						
					elseif sauv003 == 1 then
					pc.setqf("xxx1",pc.getx()*100)
					pc.setqf("yyy1",pc.gety()*100)
					say("Veuillez donner un nom à  ce lieu")
					lieu1 = input()
					end
					end

					if l1 >= 1 and l2 >= 1  and l3 >= 1 then
					say("Tous vos emplacements sont pleins, réinitialisez")
					say("d'abord un ou plusieurs emplacements avant de")
					say("pouvoir enregistrer un nouveau lieu favori !")
						return
					end



				elseif ch == 3 then
					say_title("Réinitialisation")
					say("Quel emplacement de lieu souhaitez-vous")
					say("réinitialiser ?")

					wait()
					say_title("Réinitialiser l'emplacement:")
						local empl = select ("1","2","3","Tous","Fermer")
						if empl == 1 then
							lieu1 = "Vide"
							pc.setqf("xxx1",0)
							pc.setqf("yyy1",0)
						elseif empl == 2 then
							lieu2 = "Vide"
							pc.setqf("xxx2",0)
							pc.setqf("yyy2",0)
						elseif empl == 3 then
							lieu3 = "Vide"
							pc.setqf("xxx3",0)
							pc.setqf("yyy3",0)
						elseif empl == 4 then
							lieu1 = "Vide"
							pc.setqf("xxx1",0)
							pc.setqf("yyy1",0)
							lieu2 = "Vide"
							pc.setqf("xxx2",0)
							pc.setqf("yyy2",0)
							lieu3 = "Vide"
							pc.setqf("xxx3",0)
							pc.setqf("yyy3",0)
						elseif empl == 5 then
							return	
						end
					say("Emplacement(s) réinitialisé(s), vous pourrez dès")
					say("maintenant assigner un nouveau lieu à  cet(ces)")
					say("emplacement(s) !")
						return

				elseif ch == 2 then
				say_title("Téléportation")
				say("Où souhaitez vous etre téléporté ?")							
					local seleclieu = select (lieu1, lieu2, lieu3, "Fermer")
						if seleclieu == 1 and l1 > 1 then
						pc.warp(pc.getqf("xxx1"),pc.getqf("yyy1"))

						elseif seleclieu == 2 and l2 > 1 then
						pc.warp(pc.getqf("xxx2"),pc.getqf("yyy2"))

						elseif seleclieu == 3 and l3 > 1 then
						pc.warp(pc.getqf("xxx3"),pc.getqf("yyy3"))							
						elseif seleclieu == 4 then
						return
						end

				elseif ch == 4 then
					return
				end
	end
end
end

 

Message d'erreur, capture d'écran :

 

Donc quand je clique sur le menu "Téléportation" j'attéris sur ça :

 

993440prob001.jpg

 

et je ne peux plus rien faire je reste bloqué, obligé de me déconnecter/reconnecter pour revenir à la normale.

Voilà, j'espère que vous pourrez m'aider.

Merci.

 

PS : Je vous prie de ne pas "voler" la quest au passage, sachant que je la partagerai une fois terminée ;)

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Link to comment
Share on other sites

  • Answers 11
  • Created
  • Last Reply

Top Posters For This Question

11 answers to this question

Recommended Posts

  • 0

Essaye ceci :):

 

quest parcho_tp begin
   state start begin
       when 40004.use with pc.get_level() >= 50 begin
           local interdit = pc.get_empire()+pc.get_map_index()
           local l1 = (pc.getqf("xxx1")*100+pc.getqf("yyy1")*100) local l2 = (pc.getqf("xxx2")*100+pc.getqf("yyy2")*100) local l3 = (pc.getqf("xxx3")*100+pc.getqf("yyy3")*100)
           if l1+l2+l3 == 0 then
           lieu1 = "Vide"
               pc.setqf("xxx1",0) --78
               pc.setqf("yyy1",0) --73
               lieu2 = "Vide"
               pc.setqf("xxx2",0) --65
               pc.setqf("yyy2",0)
               lieu3 = "Vide"
               pc.setqf("xxx3",0)
               pc.setqf("yyy3",0)            

			say_title("Parchemin de Téléportation")
			say("Ce parchemin très ancien vous permet de vous")
			say("téléporter vers 3 de vos lieux favoris que")
			say("vous aurez sauvegardé auparavant")
               local ch = select ("Nouv. Lieu", "Téléportation", "Réinitialisation", "Fermer")
                   if ch == 1 then
                       if l1+l2+l3 ==0 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!")
							return
						end
                       end                        
                       say("Souhaitez vous sauvegarder un lieu favori ?")
                       local sauv = select("Oui", "Non")
                       if sauv == 2 then
                           return                        
                       elseif sauv == 1 then
						pc.setqf("xxx1",pc.getx()*100) --72
						pc.setqf("yyy1",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu") --69
						lieu1 = input()
                       end

                       if l1 >= 1 and l2 == 0 and l3 == 0 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!")
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?") --65
                       local sauv0 = select("Oui", "Non")
                       if sauv0 == 2 then
                           return                        
                       elseif sauv0 == 1 then
						pc.setqf("xxx2",pc.getx()*100) --73
						pc.setqf("yyy2",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu")
						lieu2 = input()
                       end

                       if l1 >= 1 and l2 >= 1 and l3 == 0 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!") --6b
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?") --69
                       local sauv1 = select("Oui", "Non")
                       if sauv1 == 2 then
                           return                        
                       elseif sauv1 == 1 then
						pc.setqf("xxx3",pc.getx()*100)
						pc.setqf("yyy3",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu") --6c
						lieu3 = input()
                       end

                       if l1 >= 1 and l2 ==0 and l3 >= 1 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!") --6c
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?")
                       local sauv10 = select("Oui", "Non")
                       if sauv10 == 2 then
                           return                        
                       elseif sauv10 == 1 then
						pc.setqf("xxx2",pc.getx()*100)
						pc.setqf("yyy2",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu")
						lieu2 = input()
                       end

                       if l1 == 0 and l2 == 0 and l3 >= 1 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!")
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?") --73
                       local sauv001 = select("Oui", "Non")
                       if sauv001 == 2 then
                           return                        
                       elseif sauv001 == 1 then
						pc.setqf("xxx1",pc.getx()*100)
						pc.setqf("yyy1",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu")
						lieu1 = input()
                       end

                       if l1 == 0 and l2 >= 1  and l3 == 0 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!")
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?")
                       local sauv002 = select("Oui", "Non")
                       if sauv002 == 2 then
                           return                        
                       elseif sauv002 == 1 then
						pc.setqf("xxx1",pc.getx()*100)
						pc.setqf("yyy1",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu")
						lieu1 = input()
                       end

                       if l1 == 0 and l2 >= 1  and l3 >= 1 then
						if interdit == 22 or interdit == 42 or interdit== 3 or interdit == 43 or interdit == 4 or interdit == 24 then
							say("Vous etes en territoire ennemi, par conséquent")
							say("vous ne pouvez pas marquer ce lieu comme favori!")
							return
						end
                       end
                       say("Souhaitez vous sauvegarder un lieu favori ?")
                       local sauv003 = select("Oui", "Non")
                       if sauv003 == 2 then
                           return                        
                       elseif sauv003 == 1 then
						pc.setqf("xxx1",pc.getx()*100)
						pc.setqf("yyy1",pc.gety()*100)
						say("Veuillez donner un nom à  ce lieu")
						lieu1 = input()
                       end

                       if l1 >= 1 and l2 >= 1  and l3 >= 1 then
						say("Tous vos emplacements sont pleins, réinitialisez")
						say("d'abord un ou plusieurs emplacements avant de")
						say("pouvoir enregistrer un nouveau lieu favori !")
						return
                       end

                   elseif ch == 3 then
                       say_title("Réinitialisation")
                       say("Quel emplacement de lieu souhaitez-vous")
                       say("réinitialiser ?")                       
                       wait()
                       say_title("Réinitialiser l'emplacement:")
                           local empl = select ("1","2","3","Tous","Fermer")
                           if empl == 1 then
                               lieu1 = "Vide"
                               pc.setqf("xxx1",0)
                               pc.setqf("yyy1",0)
                           elseif empl == 2 then
                               lieu2 = "Vide"
                               pc.setqf("xxx2",0)
                               pc.setqf("yyy2",0)
                           elseif empl == 3 then
                               lieu3 = "Vide"
                               pc.setqf("xxx3",0)
                               pc.setqf("yyy3",0)
                           elseif empl == 4 then
                               lieu1 = "Vide"
                               pc.setqf("xxx1",0)
                               pc.setqf("yyy1",0)
                               lieu2 = "Vide"
                               pc.setqf("xxx2",0)
                               pc.setqf("yyy2",0)
                               lieu3 = "Vide"
                               pc.setqf("xxx3",0)
                               pc.setqf("yyy3",0)
                           elseif empl == 5 then
                               return    
                           end
						say("Emplacement(s) réinitialisé(s), vous pourrez dès")
						say("maintenant assigner un nouveau lieu à  cet(ces)")
						say("emplacement(s) !")
                           return
					end

                   elseif ch == 2 then
					say_title("Téléportation")
					say("Où souhaitez vous etre téléporté ?")                            
                       local seleclieu = select (lieu1, lieu2, lieu3, "Fermer")
                           if seleclieu == 1 and l1 > 1 then
							pc.warp(pc.getqf("xxx1"),pc.getqf("yyy1"))

                           elseif seleclieu == 2 and l2 > 1 then
							pc.warp(pc.getqf("xxx2"),pc.getqf("yyy2"))

                           elseif seleclieu == 3 and l3 > 1 then									
							pc.warp(pc.getqf("xxx3"),pc.getqf("yyy3")) 

                           elseif seleclieu == 4 then
							return
                           end

                   elseif ch == 4 then
                       return
                   end
			end
		end
       end
   end
end 

Link to comment
Share on other sites

  • 0
  • Retraité

Je doute que le setskin t'aidera mais oui en effet tu n'auras plus cette fenêtre.

setskin(NOWINDOW) = setskin(0)

 

Cette fonction est simple d'utilisation et est facile à comprendre :

Automatiquement et ce à chaque action, une fenêtre s'affiche ( les barres noires ), le setskin ira tout simplement "enlever " cette fenêtre.

( Pour exemple ton mag, le setskin permet de ne pas afficher cette fenêtre et d'arriver sur le magasin, enlève-le et regarde ce que ça fait )

Utile pour les quêtes et les actions passifs.

You can't be immortal,
But you can make people remember
you for thousands of years...

Link to comment
Share on other sites

  • 0

Oui du coup c'est pas ce qu'il me faut je veux garder cette fenetre, mais le problème c'est (d'après moi) le texte stocké dans les variables qui ne répond plus (après un reboot) puisque quand j'ouvre le menu "Téléportation" c'est du texte enregistré dans la partie "Nouveau Lieu" qui s'ouvre (normalement) et donc à l'aide de variables.

Link to comment
Share on other sites

  • 0

Pourquoi "up" sachant que je te t'ai montré la solution et que désormais ça marche ? Seul souci c'est lors du reboot et ça m'étonnerait que quelqu'un puisse y faire quelque chose. Dernière alternative, les event flag sauf que ça va devenir dur à gérer et que ça va être du n'importe quoi.

Link to comment
Share on other sites

  • 0
  • Retraité

Bonjour,

 

Le sujet contient la balise [glow=#800000][Résolu][/glow] ou reste sans réponse depuis deux semaines ou plus, de ce fait il a été déplacé dans la section "Résolu ou sans réponse".

 

Cordialement.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Flux d'Activité

    1. 30

      AresiaCMS

    2. 30

      AresiaCMS

    3. 30

      AresiaCMS

    4. 66

      Decay 2.51

    5. 0

      PACK Dofus Arcenciel

    6. 0

      Partage Ornament L'attaque des Titans

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.