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

Quête avec pass et temps d'attente


Naia
 Share

Question

Bonjour à tous,

je ne sais pas si c'est ici que je doit poser ma question,

actuellement, je suis à la recherche d'une quête assez spéciale.

Sur mon serveur, j'ai mis une MAP, spéciale Metin, sauf que j'aimerai que lorsqu'un joueurs se téléporte dans cette MAP, un décompte de 1h se mette en route, au bout de 1h, le joueurs est re-téléporter dans sa MAP perspective ou exemple à la vallé des orc.

Ainsi, pour y retourner faire attendre le joueurs 12h, c'est à dire, tout les 12h le joueurs peu y aller pour 1h de farm.

Voilà.

Je suis en files 2012

Si vous voulez d'autre information, dites le moi.

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 19
  • Created
  • Last Reply

Top Posters For This Question

Top Posters For This Question

19 answers to this question

Recommended Posts

  • 0
  • Funkiest

Le fait de préciser 2012 n'est pas forcément important car il n'y a pas de fonction particulière.

 

un timer puis un warp.to.village() (ou commande du style)

 

 

server_timer('naia2', 5*60, get_server_timer_arg())

Par exemple (tour de demon)

Link to comment
Share on other sites

  • 0

Bonjour,

merci pour ta réponse mais ce que je cherche, c'est une quête entière, car je n'est pas encore appris à faire de quête malgré qui et des tutoriel expliquant ^^.

Merci

Link to comment
Share on other sites

  • 0

Si c'est comme ça que get_server_timer_arg() s'utilise devrait pas y avoir de soucis sinon désolé ça fait longtemps que j'ai pas codé

 

quest x begin
state start begin
	when ID_PNJ.chat."TITRE" begin -- A MODIFIER
		if pc.getqf("v") !=0 then
			local servertime = get_server_timer_arg()
			say_title("X")
			say("t'veux entrer?")
			if select(locale.yes, locale.no) == 2 then return end
			timer("time_out", 3600, servertime)
			pc.warp(xxx, yyy) -- A MODIFIER
		else
			say_title("X")
			say("Vous ne pouvez pas encore entrer")
		end
	end
	when time_out.timer begin
		local servertime = get_server_timer_arg()
		timer("time_start", 43200, servertime)
		notice("Fin de l'event, vous allez être téléporté dans 10 secondes.")
		notice("Prochaine ouverture dans 12 heures")
		warp_to_village(X, 10) -- A MODIFIER
		pc.setqf("v", 0)
	end
	when time_start.timer begin
		pc.setqf("v", 1)
	end
end
end

 

 

La première modification c'est l'id du pnj (si tu voulais mettre la quête sur un pnj)

 

La deuxième c'est les coordonnées de téléportation vers la map où y'aura l'event

 

La troisième c'est l'id de la map où y'aura l'event

Link to comment
Share on other sites

  • 0

Bonjour,

lorsque je teste la quête, sa fait sa

Je clique sur TITRE

Ensuite sa me dit directement sa

X

Vous ne pouvez pas entrer

 

Merci,

Cordialement, Naia

Link to comment
Share on other sites

  • 0

quest x begin
   state start begin
       when ID_PNJ.chat."TITRE" begin -- A MODIFIER
           if get_time() >= pc.getqf("next_time") then
               say_title("X")
               say("t'veux entrer?")
               if select(locale.yes, locale.no) == 2 then return end
               pc.setqf("next_time", get_time()+12*60*60) -- A modifier
               pc.setqf("end_time", get_time()+60*60) -- A modifier
               pc.warp(xxx00, yyy00) -- A MODIFIER
           else
               say_title("X")
               say("Vous ne pouvez pas encore entrer")
           end
       end
       when login with pc.get_map_index() == X begin -- A modifier
             if get_time() > pc.getqf("end_time") then
                     warp_to_village(X, 10) -- A modifier
             else
                     local remain = pc.getqf("end_time")-get_time()
                     timer("time_out", remain)
             end
       end
       when time_out.timer begin
           notice("Fin de l'event, vous allez être téléporté dans 10 secondes.")
           notice("Prochaine ouverture dans 12 heures")
           warp_to_village(X, 10) -- A MODIFIER
       end

   end
end

 

Essaie plutôt ça. J'ai évidemment pas testé mais ça devrait mieux marcher normalement. Sauf erreur de ma part, les timers liés aux personnages se suppriment lors d'une téléportation ou d'une déconnexion.

Link to comment
Share on other sites

  • 0

Bonjour,

après un test, le temps qu'on reste sur la map n'est pas fonctionnel.

C'est à dire, je suis rester 1h et 20 minute de + sur la MAP, rien ne se passe, aucun message pour me dire que c'est fini, aucune téléportation.

Autrement, quand je sort de la map, je doit bien attendre 12h pour pouvoir y retourner.

Merci.

Link to comment
Share on other sites

  • 0

Tu as bien modifié la ligne when login with pc.get_map_index() == X begin -- A modifier ?

 

X doit être l'index de la map d'event.

 

Si c'est déjà fait, rajoute un notice("test") derrière pour vérifier que le timer se déclenche bien. Après, tu peux faire afficher la variable remain aussi, la variable qf end_time pour vérifier que tout est bon.

Link to comment
Share on other sites

  • 0

J'ai pas vraiment compris ce que tu voulait dire,

en attendant, voici la quête

quest map_turko begin
   state start begin
       when 20014.chat."Map de farmage" begin -- A MODIFIER
           if get_time() >= pc.getqf("next_time") then
               say_title("Map de farmage")
               say("Cette Map renferme la tempête des Metin,")
               say("seul vous peu aller détruire c'est pierre")
			say("qui nous envahissent de jour en jour.")
			say("Le seul désinconvénient, c'est que vous pouvez")
			say("y rester que pendant 1h, ensuite, vous pourrez")
			say("y retourner dans 12h.")
			say("")
			say("Souhaitez-vous y aller ?")
               if select(locale.yes, locale.no) == 2 then return end
               pc.setqf("next_time", get_time()+12*60*60) -- A modifier
               pc.setqf("end_time", get_time()+60*60) -- A modifier
               pc.warp(911100, 911100) -- A MODIFIER
           else
               say_title("Map de farmage")
               say("Vous ne pouvez pas encore y aller,")
			say("Revenez plus tard !")
           end
       end
       when login with pc.get_map_index() == X begin -- A modifier
             if get_time() > pc.getqf("end_time") then
                     warp_to_village(202, 10) -- A modifier
             else
                     local remain = pc.getqf("end_time")-get_time()
                     timer("time_out", remain)
             end
       end
       when time_out.timer begin
           notice("Fin, vous allez être téléporté dans 10 secondes.")
           notice("Prochaine ouverture dans 12 heures")
           warp_to_village(63, 10) -- A MODIFIER
       end

   end
end

Link to comment
Share on other sites

  • 0

J'ai déjà mis l'index de la map "202".

PS: Trinity: merci pour la remarque, mais pour le moment c'est qu'un test ^^. Même si je ne suis pas la pro de l'orthographe.

Link to comment
Share on other sites

  • 0

Si c'est le même code que tu as dans ton fichier, c'est normal. Comme l'a dit Galet, tu as oublié de modifier le X dans la ligne que j'ai mentionnée.

 

quest map_turko begin
   state start begin
       when 20014.chat."Map de farmage" begin -- A MODIFIER
           if get_time() >= pc.getqf("next_time") then
               say_title("Map de farmage")
               say("Cette Map renferme la tempête des Metin,")
               say("seul vous peu aller détruire c'est pierre")
               say("qui nous envahissent de jour en jour.")
               say("Le seul désinconvénient, c'est que vous pouvez")
               say("y rester que pendant 1h, ensuite, vous pourrez")
               say("y retourner dans 12h.")
               say("")
               say("Souhaitez-vous y aller ?")
               if select(locale.yes, locale.no) == 2 then return end
               pc.setqf("next_time", get_time()+12*60*60) -- A modifier
               pc.setqf("end_time", get_time()+60*60) -- A modifier
               pc.warp(911100, 911100) -- A MODIFIER
           else
               say_title("Map de farmage")
               say("Vous ne pouvez pas encore y aller,")
               say("Revenez plus tard !")
           end
       end
       when login with pc.get_map_index() == 202 begin -- A modifier
             if get_time() > pc.getqf("end_time") then
                     warp_to_village(202, 10) -- A modifier
             else
                     local remain = pc.getqf("end_time")-get_time()
                     timer("time_out", remain)
             end
       end
       when time_out.timer begin
           notice("Fin, vous allez être téléporté dans 10 secondes.")
           notice("Prochaine ouverture dans 12 heures")
           warp_to_village(63, 10) -- A MODIFIER
       end

   end
end

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



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.