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

Soucis quête PvP


popololo

Question

[Message d'introduction]

 

Version des files : FILES 2012 (dédier)

Domaine (Base de données, Core, etc.) : winscp

Votre niveau (débutant, intermédiaire, avancé) : débutant

 

Description du problème :

voilà après avoir mis ma quête dans win scp et avoir fait un sh make sur putty ça m'affiche ça ! :

QUEST : spirit_warrior

STATE : start

WHEN : login or

WHEN : levelup

with pc . level >= 105

STATE : information

WHEN : letter

WHEN : button or

WHEN : info

when name must be given

spirit_warrior.quest:29:Abort trap (core dumped)

 

 

 

 

 

 

 

 

 

 

 

Voici ma quête

 

 

 

---------------------------------------------------------

-- Quette Réaliser par Shenko --

-- Pour Shogun-Online --

----------------------------------------------------------

 

quest spirit_warrior begin

state start begin

when login or levelup with pc.level >= 105 begin

set_state(information)

end

end

 

state information begin

when letter begin

send_letter("Le grand esprit")

local v = find_npc_by_vnum(30122)

if v == 0 then

target.vid("_TARGET_",v,"Le grand esprit")

end

end

 

when button or info begin

say_title("Le grand esprit")

say("Allez voir le Grand esprit,il a une mission tres importante pour vous")

wait()

close_letter()

end

 

when (__TARGET__).target.click or

30122.chat."Le Grand esprit" begin

target.delete("__TARGET__")

end

 

when 30122.chat begin

say_title("Le Grand Esprit")

say("Bonjour,")

say("Tu as été réunni en ce lieu pour")

say("Te battre!!! ")

say("Exactement, te battre pour la gloire de nôtre royaume!")

say("Tu devra tuer 100 joueurs parmis les 3 royaumes")

say("Accepte tu ?")

local a = select("Oui","Non")

if a == 1 then

say("Prépare toi au combat et tue moi ses envahisseurs")

pc.setqf("state", 100)

q.set_counter("compteur_kill", 100)

elseif a == 2 then

return

end

end

end

 

when kill begin

if npc.is_pc() then

local count = pc.getqf("state") - 1

if count <= 100 then

pc.setqf("state", count)

q.set_counter("compteur_kill", count)

end

end

 

when letter begin

send_letter("Retournez voir le Grand Esprit")

local v = find_npc_by_vnum(30122)

 

if v == 0 then

target.vid("_TARGET_", v, "Retournez voir le Grand Esprit"

end

end

 

when button or info begin

say_title("Retournez voir le Grand Esprit")

say("Allez voir le Grand esprit,pour obtenir vôtre récompense")

wait()

close_letter()

end

 

when (__TARGET__).target.click or

30122.chat."Retournez voir le Grand Esprit" begin

target.delete("__TARGET__")

end

 

when 30122.chat begin

say_title("Le Grand Esprit")

say("Félicitation, je te suis redevable d'avoir éradiquer l'ennemie")

say("pour te récompensé voici 150M et 10% de DH permanent")

wait()

pc.give.gold(150000000)

affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 15, 60*60*24*365*180)

end

end

end

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

4 réponses à cette question

Messages recommandés

  • 0

C'était trop te demandé de mettre des TAB ? Entre des balises ( code ) ?

Ta quête c'est un vrai champs de mine ( oui, un champs d'erreur, une horreur quoi ), te lance pas dans ce genre de quêtes si tu n'as pas encore le niveau...

- Des balises erronées.

- Le compteur de kill ne se terminera jamais puisque tu as mit if count <= 100 then, soit inférieur à 100 ( le personne sera un jour à -3000 par exemple ).

- pc.give_gold() n'existe pas.

- close_letter n'existe pas.

- Le joueur quand il se connectera aura deux quêtes, une pour la quête et l'autre pour la récompense.

- Dans les find_npc_by_vnum(), c'est pas if v == 0 then mais if v !=0 then, sinon la flèche jaune n'apparaîtra jamais.

- Pour avoir la récompense, il n'y a aucunes restrictions, il suffit de cliquer sur le PNJ et recliquer encore et encore pour avoir une infinité de récompenses.

- Des when inutiles.

Je pense que c'est tous.

 

Bref, voici le corrigé ( j'ai dû la refaire entièrement, c'est même plus un corrigé ) :

---------------------------------------------------------
-- Quette Réaliser par Shenko --
--	Pour Shogun-Online --
----------------------------------------------------------
quest spirit_warrior begin
state start begin
	when login or levelup with pc.level	>= 105 begin
		set_state(information)
	end
end
state information begin
	when letter begin
		send_letter("Le grand esprit")
		local v = find_npc_by_vnum(30122)	
		if v !=0 then
			target.vid("__TARGET__", v,"Le grand esprit")
		end
	end
	when button or info begin
		say_title("Le grand esprit")
		say("Allez voir le Grand esprit,il a une mission tres importante pour vous")
	end
	when __TARGET__.target.click or 30122.chat."Le Grand esprit" begin
		target.delete("__TARGET__")
		say_title("Le Grand Esprit")
		say("Bonjour,")
		say("Tu as été réunni en ce lieu pour")
		say("Te battre!!! ")
		say("Exactement, te battre pour la gloire de nôtre royaume!")
		say("Tu devra tuer 100 joueurs parmis les 3 royaumes")
		say("Accepte tu ?")
		local a = select("Oui","Non")
		if a == 1 then
			say("Prépare toi au combat et tue moi ses envahisseurs")
			pc.setqf("count", 100)
			q.set_counter("compteur_kill", 100)	
		elseif a == 2 then
			return
		end
	end	
	when kill with npc.is_pc() begin
		if pc.getqf("count") > 1 then
			pc.setqf("count", pc.getqf("count")-1)
			q.set_counter("compteur_kill", pc.getqf("count"))
		else
			set_state(__complete)
		end
	end
end
state __complete begin
	when letter begin
		send_letter("Retournez voir le Grand Esprit")
		local v = find_npc_by_vnum(30122)
		if v !=0 then
			target.vid("__TARGET__", v, "Retournez voir le Grand Esprit")
		end
	end
	when button or info begin 
		say_title("Retournez voir le Grand Esprit")
		say("Allez voir le Grand esprit,pour obtenir vôtre récompense")
	end
	when __TARGET__.target.click or 30122.chat."Retournez voir le Grand Esprit" begin
		target.delete("__TARGET__")
		say_title("Le Grand Esprit")
		say("Félicitation, je te suis redevable d'avoir éradiquer l'ennemie")
		say("pour te récompensé voici 150M et 10% de DH permanent")
		wait()
		pc.change_gold(150000000)
		affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 15, 60*60*24*365*180)
		set_state(__complete2)
	end	
end
state __complete2 begin
end
end

Merci à Sparks de m'avoir aidé en repérant quelques bêtises et les avoir réglées, c'est plus efficace à deux sinon j'y serais encore.

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.