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

Problèmes Instance


MacDonarty

Question

Bonjour et bonne année à tous !

 

 

J'ai essayé de faire l'instance salle du dragon pour tué le béran mais il n'y que lui, il n'y a pas de mob ni de pierre Metin et quand je le tue je n'ai aucun affichage de temps. Je voudrais savoir si quelqu'un possède la quest avec le chronomètre et les mob et pierre metin. 

 

Et la quest de l'observatoire du Nèmere car la mienne plante mais sans raison et aucune erreur sysser. 

 

Si c'est possible, je vous serais reconnaissant.

 

Merci 

 

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

15 réponses à cette question

Messages recommandés

  • 0
  • Robot

Si tu veux le faire en Python, en gros ça peut donner ça :

import threading as TH, time as TI

class Timer:
   def __init__(self, n, f, *args, **kargs):
       """Appelle la fonction/classe f toutes les n secondes,
       les arguments optionnels sont transmis à f"""
       if type(n) is not int:
           raise TypeError("n doit être entier")
       if n < 1:
           raise ValueError("Délai invalide (minimum 1s)")
       if not callable(f):
           raise TypeError("f ne peut pas être appelé")
       self._f = f
       self._f_args = args
       self._f_kargs = kargs
       self._n = n
       self.lance = False
       self.threads = []

   def _appel(self, id):
       self._f(*self._f_args, **self._f_kargs)

   def _boucle(self):
       while not self._fin:
           th = TH.Thread(target = self._appel, args = (len(self.threads),))
           th.start()
           self.threads.append(th)
           TI.sleep(self._n)
       for t in self.threads:
           t.join()

   def Go(self):
       """Lance le timer"""
       if not self.lance:
           self._fin = False
           self.thread = TH.Thread(target = self._boucle)
           self.thread.start()
           self.lance = True

   def Stop(self):
       """Arrete le timer"""
       if self.lance:
           self._fin = True
           self.running = False

if __name__ == '__main__':
   x = 1
   def f():
       global x
       print '\t' + `x`
       x += 1

   T = Timer(3, f)
   T.Go()

   try:
       i = 1
       while True:
           print i
           i += 1
           TI.sleep(1)
   except KeyboardInterrupt:
       pass

   T.Stop()

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Salut ! merci d'avoir répondu ! 

 

Euh comment placé ça dans la quest du dragon ? ^^^

 

quest dragon begin
state start begin
   
	function t()
		say_title("Esprit d'un Guerrier:")
	end
   
	when 30121.chat."Salle de Cristal" with pc.get_map_index() != 74 begin
		dragon.t()
		say("Voulez vous accedez à la salle de cristal?")
		local s = select("Oui", "Non")
		if s == 2 then
			return
		end
		dragon.t()
		say("Vous allez être teleporté...")
		pc.warp(843200, 1067000)
	end
   
	when 30121.chat."Salle de cristal" with pc.get_map_index() == 74 begin
		dragon.t()
		say("Vous allez affronter le dragon Béran Sétaou?")
		say("Si vous êtes dans un groupe, tous les membres")
		say("seront téléporté avec vous!")
		say_reward("Pour pouvoir entrer vous avez besoin de clé en spiral!")
		local s = select("J'ai la clé demander", "Fermer")
		if s == 2 then
			return
		end
		if pc.count_item(30179)==0 then
			dragon.t()
			say("Vous n'avez pas la clé pour rentrer!")
			return
		end
		if party.is_party() then
			if not party.is_leader() then
				dragon.t()
				say("Vous n'êtes pas le chef du Groupe!")
			else
				dragon.t()
				say("Vous allez être téléporter...")
				say("vous groupe vous suivera!")
				party.chat("Vous êtes sur le point de combattre le Beran Setaou!")
				notice_all(pc.get_name().." votre chef et votre groupe!")
				pc.remove_item(30190, 1)
				npc.purge()
				wait()
				d.join(75)
				d.spawn_mob(2493, 182, 173)
				d.spawn_mob(8034, 196, 163)
				d.spawn_mob(8033, 167, 163)
				d.spawn_mob(8032, 168, 183)
				d.spawn_mob(8031, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
	       		d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(9012, 239, 173)
			end
		else
		say("Vous êtes téléporté...")
		notice_all(pc.get_name().." et sur le point de combattre le Béran Sétaou!")
		pc.remove_item(30190, 1)
		npc.purge()
		wait()
		d.join(223)
		d.spawn_mob(2493, 182, 173)
		d.spawn_mob(8034, 196, 163)
		d.spawn_mob(8033, 167, 163)
		d.spawn_mob(8032, 168, 183)
		d.spawn_mob(8031, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
	       d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(9012, 239, 173)
		end
	end
   
	when login with pc.get_map_index()>=750000 and pc.get_map_index()<760000 begin
		local s = pc.get_empire()
		if s==1 then
			pc.set_warp_location (1, 4693, 9642)
		elseif s==2 then
			pc.set_warp_location (21, 557, 1579 )
		elseif s==3 then
			pc.set_warp_location (41, 9696 , 2784)
		end
	end
       
	when 2493.kill with pc.get_map_index()>=75000 and pc.get_map_index()<760000 begin
		pc.give_item2(71123)
		pc.give_item2(71129)
		d.kill_all() 
		notice_all(pc.get_name().." a tué le Béran Sétaou!")
		chat("Utiliser le téléporteur pour sortir de l'instance.")
		d.spawn_mob(9012, 183, 170)
	end
       
end
end

 

Sachant que c'est quand on le tape et le tue

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

Alors en LUA... heeeuuu j'ai pas vraiment de connaissance.. Cherche la fonction qui se lance quand on commence à le taper si tu la trouves, et lance le timer à ce moment.

J'ai trouvé ça pour les timers en LUA :

require 'socket' -- for having a sleep function ( could also use os.execute(sleep 10))
timer = function (time)
   local init = os.time()
   local diff=os.difftime(os.time(),init)
   while diff        coroutine.yield(diff)
       diff=os.difftime(os.time(),init)
   end
   print( 'Timer timed out at '..time..' seconds!')
end
co=coroutine.create(timer)
coroutine.resume(co,30) -- timer starts here!
while coroutine.status(co)~="dead" do
   socket.sleep(5)
end

A adapté pour ton système, mais ça te donne une idée

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

Comment tu l'embrouilles gros, laisse tomber, en plus y'a pas de trigger de quests "quand on tape" et encore moins en python xD

 

Les timers sont inclus de base dans metin2, mais là j'en ai pas utilisé, j'ai fait un chronomètre "maison", à voir si ça marche :D

Par contre ta quête c'est un gros merdier un peu x) genre les spawn de partout, les fautes d’orthographe et les messages qui doivent totalement délirer

 

quest dragon begin
state start begin

	function t()
		say_title("Esprit d'un Guerrier:")
	end

	when 30121.chat."Salle de Cristal" with pc.get_map_index() != 74 begin
		dragon.t()
		say("Voulez vous accedez à la salle de cristal?")
		local s = select("Oui", "Non")
		if s == 2 then
			return
		end
		dragon.t()
		say("Vous allez être teleporté...")
		pc.warp(843200, 1067000)
	end

	when 30121.chat."Salle de cristal" with pc.get_map_index() == 74 begin
		dragon.t()
		say("Vous allez affronter le dragon Béran Sétaou?")
		say("Si vous êtes dans un groupe, tous les membres")
		say("seront téléporté avec vous!")
		say_reward("Pour pouvoir entrer vous avez besoin de clé en spiral!")
		local s = select("J'ai la clé demander", "Fermer")
		if s == 2 then
			return
		end
		if pc.count_item(30179)==0 then
			dragon.t()
			say("Vous n'avez pas la clé pour rentrer!")
			return
		end
		if party.is_party() then
			if not party.is_leader() then
				dragon.t()
				say("Vous n'êtes pas le chef du Groupe!")
			else
				dragon.t()
				say("Vous allez être téléporter...")
				say("vous groupe vous suivera!")
				party.chat("Vous êtes sur le point de combattre le Beran Setaou!")
				notice_all(pc.get_name().." votre chef et votre groupe!")
				d.setf("start", get_global_time())
				pc.remove_item(30190, 1)
				npc.purge()
				wait()
				d.join(75)
				d.spawn_mob(2493, 182, 173)
				d.spawn_mob(8034, 196, 163)
				d.spawn_mob(8033, 167, 163)
				d.spawn_mob(8032, 168, 183)
				d.spawn_mob(8031, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(9012, 239, 173)
			end
		else
		say("Vous êtes téléporté...")
		notice_all(pc.get_name().." et sur le point de combattre le Béran Sétaou!")
		pc.remove_item(30190, 1)
		d.setf("start", get_global_time())
		npc.purge()
		wait()
		d.join(223)
		d.spawn_mob(2493, 182, 173)
		d.spawn_mob(8034, 196, 163)
		d.spawn_mob(8033, 167, 163)
		d.spawn_mob(8032, 168, 183)
		d.spawn_mob(8031, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(9012, 239, 173)
		end
	end
	when login with pc.get_map_index()>=750000 and pc.get_map_index()<760000 begin
		local s = pc.get_empire()
		if s==1 then
			pc.set_warp_location (1, 4693, 9642)
		elseif s==2 then
			pc.set_warp_location (21, 557, 1579 )
		elseif s==3 then
			pc.set_warp_location (41, 9696 , 2784)
		end
	end
	when 2493.kill with pc.get_map_index()>=75000 and pc.get_map_index()<760000 begin
		pc.give_item2(71123)
		pc.give_item2(71129)
		local TEMPS = get_global_time()-d.getf("start")
		d.kill_all()
		notice_all(pc.get_name().." a tué le Béran Sétaou en "..TIME.." secondes !")
		chat("Utiliser le téléporteur pour sortir de l'instance.")
		d.spawn_mob(9012, 183, 170)
	end

end
end

 

Le temps est affiché dès que tu tues le béran, en annonce : "X a tué le Béran Sétaou en Y secondes !"

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Robot

Comment tu l'embrouilles gros, laisse tomber, en plus y'a pas de trigger de quests "quand on tape" et encore moins en python xD

 

Les timers sont inclus de base dans metin2, mais là j'en ai pas utilisé, j'ai fait un chronomètre "maison", à voir si ça marche :D

Par contre ta quête c'est un gros merdier un peu x) genre les spawn de partout, les fautes d’orthographe et les messages qui doivent totalement délirer

 

quest dragon begin
state start begin
  
	function t()
		say_title("Esprit d'un Guerrier:")
	end
  
	when 30121.chat."Salle de Cristal" with pc.get_map_index() != 74 begin
		dragon.t()
		say("Voulez vous accedez à la salle de cristal?")
		local s = select("Oui", "Non")
		if s == 2 then
			return
		end
		dragon.t()
		say("Vous allez être teleporté...")
		pc.warp(843200, 1067000)
	end
  
	when 30121.chat."Salle de cristal" with pc.get_map_index() == 74 begin
		dragon.t()
		say("Vous allez affronter le dragon Béran Sétaou?")
		say("Si vous êtes dans un groupe, tous les membres")
		say("seront téléporté avec vous!")
		say_reward("Pour pouvoir entrer vous avez besoin de clé en spiral!")
		local s = select("J'ai la clé demander", "Fermer")
		if s == 2 then
			return
		end
		if pc.count_item(30179)==0 then
			dragon.t()
			say("Vous n'avez pas la clé pour rentrer!")
			return
		end
		if party.is_party() then
			if not party.is_leader() then
				dragon.t()
				say("Vous n'êtes pas le chef du Groupe!")
			else
				dragon.t()
				say("Vous allez être téléporter...")
				say("vous groupe vous suivera!")
				party.chat("Vous êtes sur le point de combattre le Beran Setaou!")
				notice_all(pc.get_name().." votre chef et votre groupe!")
				d.setf("start", get_global_time())
				pc.remove_item(30190, 1)
				npc.purge()
				wait()
				d.join(75)
				d.spawn_mob(2493, 182, 173)
				d.spawn_mob(8034, 196, 163)
				d.spawn_mob(8033, 167, 163)
				d.spawn_mob(8032, 168, 183)
				d.spawn_mob(8031, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 196, 183)
				d.spawn_mob(2412, 196, 183)
				d.spawn_mob(2413, 196, 183)
				d.spawn_mob(2414, 196, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 168, 183)
				d.spawn_mob(2412, 168, 183)
				d.spawn_mob(2413, 168, 183)
				d.spawn_mob(2414, 168, 183)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 167, 163)
				d.spawn_mob(2412, 167, 163)
				d.spawn_mob(2413, 167, 163)
				d.spawn_mob(2414, 167, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(2411, 196, 163)
				d.spawn_mob(2412, 196, 163)
				d.spawn_mob(2413, 196, 163)
				d.spawn_mob(2414, 196, 163)
				d.spawn_mob(9012, 239, 173)
			end
		else
		say("Vous êtes téléporté...")
		notice_all(pc.get_name().." et sur le point de combattre le Béran Sétaou!")
		pc.remove_item(30190, 1)
		d.setf("start", get_global_time())
		npc.purge()
		wait()
		d.join(223)
		d.spawn_mob(2493, 182, 173)
		d.spawn_mob(8034, 196, 163)
		d.spawn_mob(8033, 167, 163)
		d.spawn_mob(8032, 168, 183)
		d.spawn_mob(8031, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 196, 183)
		d.spawn_mob(2412, 196, 183)
		d.spawn_mob(2413, 196, 183)
		d.spawn_mob(2414, 196, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 168, 183)
		d.spawn_mob(2412, 168, 183)
		d.spawn_mob(2413, 168, 183)
		d.spawn_mob(2414, 168, 183)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 167, 163)
		d.spawn_mob(2412, 167, 163)
		d.spawn_mob(2413, 167, 163)
		d.spawn_mob(2414, 167, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(2411, 196, 163)
		d.spawn_mob(2412, 196, 163)
		d.spawn_mob(2413, 196, 163)
		d.spawn_mob(2414, 196, 163)
		d.spawn_mob(9012, 239, 173)
		end
	end
	when login with pc.get_map_index()>=750000 and pc.get_map_index()<760000 begin
		local s = pc.get_empire()
		if s==1 then
			pc.set_warp_location (1, 4693, 9642)
		elseif s==2 then
			pc.set_warp_location (21, 557, 1579 )
		elseif s==3 then
			pc.set_warp_location (41, 9696 , 2784)
		end
	end
	when 2493.kill with pc.get_map_index()>=75000 and pc.get_map_index()<760000 begin
		pc.give_item2(71123)
		pc.give_item2(71129)
		local TEMPS = get_global_time()-d.getf("start")
		d.kill_all()
		notice_all(pc.get_name().." a tué le Béran Sétaou en "..TIME.." secondes !")
		chat("Utiliser le téléporteur pour sortir de l'instance.")
		d.spawn_mob(9012, 183, 170)
	end
   
end
end

 

Le temps est affiché dès que tu tues le béran, en annonce : "X a tué le Béran Sétaou en Y secondes !"

 

Je parlais en LUA, je connais pas donc je me renseigne en même temps :)

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

Base toi sur la quête de Nemere, sinon stocke une valeur d'entrée avec le temps de l'entrée, une valeur de fin avec le temps de fin "get_global_time()" et à la fin une dernière valeur faisant la soustraction des deux, et va récupérer celle là ^^'

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Alors j'ai essayé ça dans un premier temps : 

 

J'ai mis ça dans le kill du dragon : 

 

temps = get_time() - d.getf("temps") --- Prend le temps à partir du moment que "temps" est activé (début de l'instance)
		sec = math.mod(temps, 60)
		min = (temps-sec)/60
		notice_all("Le groupe de "..pc.name.." a tué le Béran Sétaou en "..min.." minutes et "..sec.." secondes !")

 

et j'ai mis ça au start de l'instance : 

 

d.setf("temps", get_time()) --- Utilisé pour le temps à la fin de l'instance

 

Repris sur celle des gorges du purgatoire, ça fonctionne bien et s'affiche bien cependant j'ai un problème sur le timing voir screen : 

 

Hidden Content

    Give reaction to this post to see the hidden content.

 

Hidden Content

    Give reaction to this post to see the hidden content.

 

J'ai un temps de "malade" en minutes je ne sais pas pourquoi ?

 

Merci

 

EDIT : POur ce problème c'est résolu j'ai décaler le code au start et c'est bon !

Maintenant il faut que je récupère cette donnée

 

EDIT FINAL : C'est bon j'ai réussis : pour la solution si d'autre demande ou cherche : 

 

Vous ajoutez ça dans votre quest où il y a le when login with pc.get........

 

d.setf("temps", get_time()) --- Utilisé pour le temps à la fin de l'instance

 

puis au moment du kill ici pour le dragon (ex: when 2493.kill) vous écrivez ces quelques lignes : 

 

temps = get_time() - d.getf("temps") --- Prend le temps à partir du moment que "temps" est activé (début de l'instance)
		sec = math.mod(temps, 60)
		min = (temps-sec)/60
		notice_all("Le groupe de "..pc.name.." a tué le Béran Sétaou en "..min.." minutes et "..sec.." secondes !")

 

Cela vous affichera juste en général que le groupe de X (celui qui est chef du groupe ^^) a tué le béran en X min et Y secondes , et pour ajouter cette valeur au quest afin de récupérer le temps réalisé (ici "temps) vous ajoutez a la suite cette ligne (afin de faire un classement sur votre site) : 

 

d.setqf2("dragon_lair","duration",temps)

 

Merci pour vos réponses !!

Modifié par Funky Emulation
Core X - External 2 Internal
  • Love 1
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

    7. 0

      comment extraire les fichiers locale.epk locale.eix sur le serveur officiel ?

    8. 2

      Funky-emu.net -> fr.metin2.dev

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