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

Petite quete.


Stayms

Question

Bonjour a tous,

 

Je voudrais savoir si il existait un petit bout de quete qui permettrais de cliquer sur un item seulement toutes les 5 secondes.

 

 

 

~ Voici la solution donnée par Ant0k ! ~

 

quest spawn_metin begin
   state start begin
       when vnum.use begin -- modifier vnum par l'id de l'item
           if pc.getqf("limite") > get_time() then
               chat("Vous devez patienter 5 secondes entre chaque spawn.")
           else
               local array_metin={8001,8002,8003} -- ajouter vnums autres metins a spawn separees par des ,
               local spawn = math.random(3) -- NB de metins dans array_metin
               mob.spawn(array_metin[spawn], pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
               pc.setqf("limite", get_time()+5) -- 5 secondes d'attente
               pc.remove_item(vnum, 1) -- modifier vnum par l'id de l'item
           end
       end
   end
end

 

 

Merci a tous.

Stayms

Mettez 11 imbéciles d'un coté, 10 philosophes de l'autre...
Les imbéciles l'emporteront !
C'est ca, la démocratie...

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

18 réponses à cette question

Messages recommandés

  • 0

La quete se compile bien, mais elle ne fonctionne pas.

 

Enfait c'est pour l'item qui fait spawn les metin, j'aimerais mettre une limite, pas en spawn 100 en 1 secondes.

Mettez 11 imbéciles d'un coté, 10 philosophes de l'autre...
Les imbéciles l'emporteront !
C'est ca, la démocratie...

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Merci chaos75, mais j'y avais déja pensé quand meme :P

Quel meme quete, il en faudrais une qui fasse spawn des metin, car pour le moment c'est comme des boites.

Mettez 11 imbéciles d'un coté, 10 philosophes de l'autre...
Les imbéciles l'emporteront !
C'est ca, la démocratie...

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Suffit de recréer les vnum ( si ton item est une boite,ou autres item non utilisable par default,comme la précisé Cube ), que tu compile sous un vnum non utilisé et auquel tu attribut une quette pour faire se que bon te semble avec :P

 

Aurais-tu le nom ou un screen de l'item que tu souhaite utilisé ( pour plus de précision ^^ )

Lien vers le commentaire
Partager sur d’autres sites

  • 0

quest metin begin
state start begin
	when 71080.use."Event Metin" with pc.is_gm() and game.get_event_flag("Metin") == 0 begin
		setskin(0)
		game.set_event_flag("Metin", 1)
		notice_all("L'event PVE à Demarrer ! ")
		(wait)
		say_title("Veuillez selectionnez les Metin à invoquer")
		local a = select ("lvl50","lvl70","lvl100","lvl120","Continuer")
		if a == 1 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 50)
			elseif a == 2 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 70)
			elseif a == 3 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 100)
			elseif a == 4 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 120)
			elseif a == 5 then
			wait()
			local b = select ("lvl 150","lvl 170","lvl190","lvl 200","Fermer")
			if b == 1 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 150)
			elseif b == 2 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 170)
			elseif b == 3 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 190)
			elseif b == 4 then
						say_reward("Les Metin sont apparue")
						mob.spawn(id metin lvl 200)
			else
					return
			end

	end	
	when 71080.use."Finir L'event" with pc.is_gm() and game.get_event_flag("Metin") == 1 begin
		setskin(0)
		game.set_event_flag("Metin", 0)
		notice_all("L'event touche à sa fin... ")
		notice_all("Vous allez etre téléporté dans vos villages respectifs")
		warp_all_to_village(id de la map de l'event)
	end
end
end	

 

Il ne te reste plus qu'a insérer le code de temporisation que Sparks à partager, et à insérer les id des mobs et maps concerné :)

 

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Ouai Ant0k, en gros c'est ca.

Chaos, se n'est pas un event que je veux activer, c'est que quand le joueur clique sur l'item, ca fait spawn un metin.

Je vais essayer de modifier la quete voir si je peux en faire une nouvelle avec.


Après modification voici le code, tout fonctionne, mais les metin ne spawn pas.

 

quest metin begin
   state start begin
       when 40002.use with pc.getqf("attente") < get_time() begin
           say_title("Veuillez selectionnez les Metin à invoquer")
           local a = select ("lvl 5","lvl70","lvl100","lvl120","Continuer")
           if a == 1 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif a == 2 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif a == 3 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif a == 4 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif a == 5 then
               wait()
               local b = select ("lvl 150","lvl 170","lvl190","lvl 200","Fermer")
               if b == 1 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif b == 2 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif b == 3 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               elseif b == 4 then
                           say_reward("Les Metin sont apparue")
                           mob.spawn(8001)
               else
                       return
		pc.setqf("attente", get_time()+5)
               end
end
       end
   end
end

Mettez 11 imbéciles d'un coté, 10 philosophes de l'autre...
Les imbéciles l'emporteront !
C'est ca, la démocratie...

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Essaye ça (ça fait spawn une metin aléatoire, c'est pas le joueur qui choisit)

 

J'ai pas test mais normalement ça marche :

 

quest spawn_metin begin
state start begin
	when vnum.use begin -- modifier vnum par l'id de l'item
		if pc.getqf("limite") > get_time() then
			chat("Vous devez patienter 5 secondes entre chaque spawn.")
		else
			local array_metin={8001,8002,8003} -- ajouter vnums autres metins a spawn separees par des ,
			local spawn = math.random(table.getn(array_metin)) -- NB de metins dans array_metin
			mob.spawn(array_metin[spawn], pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
			pc.setqf("limite", get_time()+5) -- 5 secondes d'attente
			pc.remove_item(vnum, 1) -- modifier vnum par l'id de l'item
		end
	end
end
end

  • 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

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