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

Quête "When..."


Dean Winchester

Question

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

11 réponses à cette question

Messages recommandés

  • 0

quest kill_mob begin
state start begin
	when XXX.kill begin
		if pc.getqf("nombre_de_kill") == X-1 then
			--RECOMPENSE ICI
		else
			pc.setqf("nombre_de_kill", pc.getqf("nombre_de_kill") + 1)
		end
	end
end
end

 

Remplace le X-1 par le nombre voulu, -1.

 

Edit: Tu peux virer le XXX devant le .kill, mais tu dois rajouter with not npc.is_pc().

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Merci ça fonctionne.

Par contre, dans l'aprem j'ai voulu réaliser une quête mais vu mon niveau je pense qu'il doit y avoir des erreurs.

Elle ne veut pas se recompile =/

 

quest dada1 begin
state start begin
	when login or levelup witch pc.get_level() >= 25 begin
		send_letter("Poney")
	end
	when button or info begin
		say_title("Le Poney")
		say("")
		say("Felicitation, tu viens d'atteindre le niveau 25 !")
		say("Il est temps pour toi de passer à autre chose.")
		say("Le Palfrenier t'attend, vas vite le rencontrer !")
	end
	when 20349.chat."Poney" begin
		say_title("Le Palfrenier:")
		say("Bonjour !")
		say("Tu es ici pour les chevaux pas vrai ?")
	local choix1=select("Oui","Non")
		if choix1 == 2 then
			say_title("Le Palfrenier:")
			say("Non ? Alors pourquoi es tu là ? Je ne parle que de chevaux ...")
	end
		elseif choix1 == 1 then
			say_title("Le Palfrenier:")
			say("Je vois que tu as atteint le niveau parfait.")
			say("Tu peux dès à présent chevaucher un poney !")
			say("Cependant, ce n'est pas si simple. Tu devras te montrer courageux !")
			say_reward("Pour avoir le poney, il te faudra tuer le Singe de Pierre.")
			wait()
			say_title("Le Palfrenier:")
			say("Es tu pret à relever le defi ?")
	local choix2=select("Oui","Non")
		if choix2 == 2 then
			say_title("Le Palfrenier:")
			say("Je te comprend, ce n'est pas un tâche facile")
	end
		elseif choix2 == 1 then
			say_title("Le Palfrenier:")
			say("Très bien, reviens me voir une fois ta mission terminée.")
	end
	when 5115.kill begin
		send_letter("Le Palfrenier t'attend")
	end
	when button or info begin
		say_title("Resultat de la mission")
		say("Le Palfrenier t'attend pour que tu lui raconte ton histoire !")
	end
	when 20349.chat."Resultat de la mission" begin
		say_title("La palfrenier:")
		say_reward("Quoi ?! Deja !?")
		say_reward("Bravo, de tout les combattants que j'ai vu, tu es de loin le plus rapide")
		say_reward("Voici ton poney, utilise le dessin de cheval pour l'invoquer.")
		horse.get_grade() = 1
		pc.give_item2(50051)

		end
	end
end
end

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Voici ta quête, revus et corrigé.

 

Tu avais ajouté un end de trop à la fin, et fermé tes if avant chaque elseif

(ce qui n'est pas logique puisque c'est si ou sinon, on ne ferme pas une condition juste avant l'autre possibilité sinon cette dernière ne comprendrais à quel moment elle va devoir intervenir.)

 

-----------------------------------------
--	Quête XXX par Dean pour XXX
--	Corrigé par SmokKe 17/07/2012
-----------------------------------------
quest dada1 begin
state start begin
	when login or levelup with pc.get_level() >= 25 begin
		send_letter("Poney")
	end
	---
	when button or info begin
		say_title("Le Poney")
		say("")
		say("Felicitation, tu viens d'atteindre le niveau 25 !")
		say("Il est temps pour toi de passer à autre chose.")
		say("Le Palfrenier t'attend, vas vite le rencontrer !")
	end
	---
	when 20349.chat."Poney" begin
		say_title("Le Palfrenier:")
		say("Bonjour !")
		say("Tu es ici pour les chevaux pas vrai ?")
	local choix1=select("Oui","Non")
		if choix1 == 2 then
			say_title("Le Palfrenier:")
			say("Non ? Alors pourquoi es tu là ? Je ne parle que de chevaux ...")
		elseif choix1 == 1 then
			say_title("Le Palfrenier:")
			say("Je vois que tu as atteint le niveau parfait.")
			say("Tu peux dès à présent chevaucher un poney !")
			say("Cependant, ce n'est pas si simple. Tu devras te montrer courageux !")
			say_reward("Pour avoir le poney, il te faudra tuer le Singe de Pierre.")
			wait()
			say_title("Le Palfrenier:")
			say("Es tu pret à relever le defi ?")
				local choix2=select("Oui","Non")
					if choix2 == 2 then
						say_title("Le Palfrenier:")
						say("Je te comprend, ce n'est pas un tâche facile")
					elseif choix2 == 1 then
						say_title("Le Palfrenier:")
						say("Très bien, reviens me voir une fois ta mission terminée.")
					end
                       end
	end
               ---				
	when 5115.kill begin
		send_letter("Le Palfrenier t'attend")
	end
	---
	when button or info begin
		say_title("Resultat de la mission")
		say("Le Palfrenier t'attend pour que tu lui raconte ton histoire !")
	end
	---
	when 20349.chat."Resultat de la mission" begin
		say_title("La palfrenier:")
		say_reward("Quoi ?! Deja !?")
		say_reward("Bravo, de tout les combattants que j'ai vu, tu es de loin le plus rapide")
		say_reward("Voici ton poney, utilise le dessin de cheval pour l'invoquer.")
		horse.get_grade() = 1
		pc.give_item2(50051)
	end
end
end

XIII

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Je te conseille de mettre avec ton ID_MOB.kill, un pc.get_map_index() == ID_MAP.

Petit plus t'indiquant que seul le mob de la map en question comptera.

C'est en quelque sorte une sécurité au cas ou un GM fait pop tes mobs map1, ta quête ne se validera pas et cela oblige les joueurs à bouger leurs fesses !

 

Bonne journée !

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

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Je te conseille de mettre avec ton ID_MOB.kill, un pc.get_map_index() == ID_MAP.

Petit plus t'indiquant que seul le mob de la map en question comptera.

C'est en quelque sorte une sécurité au cas ou un GM fait pop tes mobs map1, ta quête ne se validera pas et cela oblige les joueurs à bouger leurs fesses !

 

Bonne journée !

 

Bonne idée effectivement :)

Et si je voudrais que le palfrenier "clignote" à chaque fois que je dois le voir, où dois je placer le target.npc () ?

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Retraité

Juste après ton send_letter tu met :

 

		local v = find_npc_by_vnum(ID_PNJ)

		if v != 0 then
			target.vid("__TARGET__", v, "Blablabla")
		end

 

Puis,avant le when ID_PNJ.chat."Blablabla" :


	when __TARGET__.target.click  begin
		target.delete("__TARGET__")

 

Ce qui donne :

 

	when __TARGET__.target.click or ID_PNJ.chat."Blablabla"  begin
		target.delete("__TARGET__")

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

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


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.