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

Problème de quête (encore et toujours)


XDarkKillerX

Question

Bonjour bonjour :)

 

(Désolé d'avoir effacé le "formulaire" mais il ne me sera jamais d'aucune utilité)

 

Donc voilà j'essaie de faire une quête depuis 1heure mais rien à faire je serais jamais un génie *-*

 

En gros il me faudrait ce type de quête :

 

-Le joueur up level X, il reçoit une quête, et quand il clic dessus elle s'affiche.(Oui je ne sais pas faire ça je sais y'a du niveau x)).

 

Bref si quelqu'un sait faire ce genre de début de quête ça serait très gentil de me le partager :)

 

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

20 réponses à cette question

Messages recommandés

  • 0
  • Développeur

Je te fais ça, j'éditerai mon message une fois terminé.

 

Edit: Voilà pour toi:

 

quest nom_de_ta_quete begin
state start begin
	when login or levelup with pc.level >= LEVEL begin
		set_state(information)
	end	
end

state information begin
	when letter begin
		send_letter("Titre de ta Quête")
	end

	when button or info begin
		say_title("Titre de ta Quête")
		say("Ton Texte")
		say("")
	end
end
end
Lien vers le commentaire
Partager sur d’autres sites

  • 0

Bizarrement moi ça marche.

quest xxx begin
state start begin
	when login or levelup with pc.get_level() == X begin
		send_letter("DarkKiller")
	end
	when info or button begin
		say_title("DarkKiller")
		say("Blablabla.")
	end
end
end

T'as quête Sparkk donne le même résultat, c'est juste que celle de Sparks ( ou bien la mienne ) est optimisée ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Ah... c'est rassurant merci xD

 

Pourtant la quête du biolo est basée sur le même type de début et elle marche.

 

Tenez, si ça peu renseigner un peu :

 

quest collect_quest_lv30 begin
state start begin
	when login or levelup with pc.level >= 30 begin
		set_state(information)
	end	
end

state information begin
	when letter begin
		send_letter("La demande du biologiste")
		local v = find_npc_by_vnum(20084)

		if v!= 0 then
			target.vid("__TARGET__", v, "Quête du biologiste")
		end
	end

	when button or info begin
		---                                                   l
		say_title("La demande du biologiste")
		say("Le biologiste Chaegirab, élève d'Uriel, a")
		say("désespérément besoin de votre aide. Allez vite")
		say("le voir.")
	end

	when __TARGET__.target.click or
		20084.chat."Le biologiste Chaegirab." begin
		target.delete("__TARGET__")
		---                                                   l
		say_title("Le biologiste Chaegirab:")
		say("Oh !! S'il vous plait, aidez-moi... Je rassemble")
		say("des informations sur les monstres dans cet Empire")

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Ok j'essaie mais regardez la quête du biolo précédemment postée :P On sait jamais ça peut aider

 

Edit : Le problème c'est que je veut que une fois la quête faite, elle ne revienne pas, donc déco reco sert a rien ni reboot d'ailleurs puisque le code précise bien : "levelup" et non "login".

 

 

La meilleure chose serait que ça marche plutôt que de temps en temps x)

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Non, pas de login ^^' Sinon le joueur peut la recommencer quand il veut juste avec déco reco x)


A ba elle marche à la perfection... Metin2 c'est vraiment wath the fuck quoi ><

 

Merci beaucoup :)

 

A ba tant qu'à faire, est ce que vous savez faire ce truc affreux :

 

Le joueur up level X, une lettre s'affiche, elle lui demande d'aller voir X pnj, le pnj va lui dire d'aller voir un autre pnj X, puis celui ci va le renvoyer revoir le premier pnj X

 

Je sais que c'est pas facile à comprend (made in DarkKiller normal...)

 

Voilà mdr x)

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Pas forcément DarkKiller. Que ce soit au login ou non, il suffit d'un set_state et c'est réglé. Et puis, si tu ne mets pas " when login " aussi et que la personne up level X et qu'elle se déconnecte avant d'ouvrir la quête, cette personne là ne pourra plus ouvrir la quête puisque c'est " when levelup ".

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Je n'ai pas testé la quête.

PNJ_1 = " elle lui demande d'aller voir X pnj "

PNJ_2 = " le pnj va lui dire d'aller voir un autre pnj X "

quest xxx begin
state start begin
	when login or levelup with pc.get_level() == X begin -- A MODIFIER
		send_letter("TON_TITRE") -- A MODIFIER
	end
	when info or button begin
		say_title("TON_TITRE") -- A MODIFIER
		say("Blablabla")
		say("Vous devez aller voir le PNJ_1.") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_1) -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_1.chat."TON_TITRE" begin -- A MODIFIER
		target.delete("__TARGET__")
		say_title("TON_TITRE")
		say("Blablabla")
		say("Vous devez aller voir le PNJ_2") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_2)  -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_2.chat."TON_TITRE" begin -- A MODIFIER
		target.delete("__TARGET__")
		say_title("TON_TITRE")
		say("Blablabla")
		say("Vous devez retourner voir le PNJ_1") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_1) -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_1.chat."TON_TITRE" begin -- A MODIFIER
		say_title("TON_TITRE")
		say("Blablabla")
		set_state(__complete)
	end
end
state __complete begin
end
end

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Développeur

quest xxx begin
state start begin
	when login or levelup with pc.get_level() == X begin -- A MODIFIER
		send_letter("TON_TITRE") -- A MODIFIER
	end
	when info or button begin
		say_title("TON_TITRE") -- A MODIFIER
		say("Blablabla")
		say("Vous devez aller voir le PNJ_1.") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_1) -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_1.chat."TON_TITRE" begin -- A MODIFIER
		target.delete("__TARGET__")
		say_title("TON_TITRE")
		say("Blablabla")
		say("Vous devez aller voir le PNJ_2") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_2)  -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_2.chat."TON_TITRE" begin -- A MODIFIER
		target.delete("__TARGET__")
		say_title("TON_TITRE")
		say("Blablabla")
		say("Vous devez retourner voir le PNJ_1") -- A MODIFIER
		local v = find_npc_by_vnum(ID_DU_PNJ_1) -- A MODIFIER
           if v !=0 then
               target.vid("__TARGET__", v,"TON_TITRE") -- A MODIFIER
           end
	end
	when __TARGET__.target.click or ID_DU_PNJ_1.chat."TON_TITRE" begin -- A MODIFIER
		say_title("TON_TITRE")
		say("Blablabla")
		set_state(__complete)
	end
end
state __complete begin
end
end

 

Et si ton joueur n'est plus level "X" il n'aura plus la quête :D

 

Au lieu de mettre "when login or levelup with pc.get_level() == X begin" tu devrais remplacer le "==" par un ">=", comme ça même s'il up au-dessus du level requis, il aura toujours la quête. M'enfin, à ton bon vouloir.

 

Et si tu veux qu'il recommence la quête à chaque déco/reco, tu as juste à enlever "set_state(__complete)" et

"state __complete begin

end"

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

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    2. 2

      problème de lancement serveur

    3. 9
    4. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    5. 2

      problème de lancement serveur

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.