Bonsoir
J'ai finis par réussir à faire ma quête de chasse, mais je rencontre un dernier problème, la quête fonctionne à merveille sous 2012, et quand je la met sur mon serveur sous files 2014, rien ne se passe quand un joueur passe level 5.
Voici la quête :
quest couple_ring begin
state start begin
when login or levelup with pc.level >= 5 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Quête de chasse Lv.5")
local v = find_npc_by_vnum(20008)
if v!= 0 then
target.vid("__TARGET__", v, "Quête de chasse Lv.5")
end
end
when button or info begin
--- l
say_title("Quête de chasse Lv.5")
say("")
say("La vieille dame à besoin d'aide, allez la voir.")
end
when __TARGET__.target.click or
20008.chat."Vielle dame" begin
target.delete("__TARGET__")
--- l
say_title("Vieille dame :")
say("")
say("Aidez moi s'il vous plaît !")
say("Hier, lorsque je revenais de la vallée, des chiens")
say("errants m'ont attaqués, j'ai bien failli y rester !")
say("")
say("Pourriez vous nous débarrasser de quelques chiens ?")
set_state(kill)
end
end
state kill begin
when enter begin
pc.setqf("kill_count", 0)
end
when leave begin
pc.setqf("kill_count", 0)
q.done()
end
when letter begin
q.set_counter("Restant", couple_ring.get_rest_count());
end
when 101.kill begin
local kill_count=pc.getqf("kill_count")+1
pc.setqf("kill_count", kill_count)
q.set_counter("Restant", couple_ring.get_rest_count());
if couple_ring.is_completed() then
--- l
say_title("Quête de chasse Lv.5")
say("")
say("Vous avez tué tous les chiens errants, retournez")
say("voir la vieille dame !")
set_state(report)
end
end
function get_rest_count()
return 25-pc.getqf("kill_count")
end
function is_completed()
return pc.getqf("kill_count")>=25
end
when letter begin
send_letter("Les chiens errants")
end
when button or info begin
--- l
say_title("Quête de chasse Lv.5")
say("")
say_reward(string.format("Chiens errants restants : %d", couple_ring.get_rest_count()))
end
when 20008.chat."Vous n'avez pas terminé la quête !" begin
--- l
say_title("La vieille dame:")
say("Avez-vous vaincu les Jin-Hees? Ah non, je crois")
say("qu'il en reste encore. Si c'est trop difficile,")
say("dites-le-moi!")
local s=select("Continuer", "Annuler")
if 1==s then
--- l
say_title("La vieille dame:")
say("La famille du marchand de bagues veut venger sa")
say("mort! Si vous pouvez les aider et atténuer leur")
say("peine, faites-le.")
else
--- l
say_title("La vieille dame:")
say("Dommage que vous ne souhaitiez pas venger la mort")
say("du marchand de bagues. Hum, bien sûr vous tenez à")
say("votre propre vie. Comme vous voulez. Chaque vie a")
say("sa propre valeur.")
wait()
--- l
say_title("La vieille dame:")
say("Au moment où elle se retourne, vous remarquez que")
say("la vieille dame tient quelques chose dans sa main, ")
say("un objet brillant. (On dirait une pierre")
say("précieuse).")
local s=select("Je continue à essayer.", "Annuler")
if 1==s then
--- l
say_title("La vieille dame:")
say("Les pierres précieuses ne m'intéressent pas. Je")
say("veux juste que la mort du marchand de bagues soit")
say("vengée, pour sa famille. Je vous remercie d'être")
say("revenu sur votre décision et d'accepter de")
say("remplir cette mission.")
elseif 2==s then
--- l
say_title("La vieille dame:")
say("Je suis désolé mais, je ne veut vraiment pas")
say("risquer ma vie pour un marchand de bagues.")
set_state(start)
q.done()
end
end
end
end
state report begin
when letter begin
send_letter("Les chiens errants")
end
when button or info begin
--- l
say_title("Quête de chasse Lv.5")
say("")
say("Vous avez tué tous les chiens errants, retournez")
say("voir la vieille dame !")
end
when 20008.chat."Les chiens errants" begin
--- l
say_title("Vieille dame :")
say("")
say("Vous avez tué les chiens errants, c'est génial !")
say("Je dois avoir un peu de yangs qui traînent...")
wait()
say_title("Récompense :")
say("")
say("- 45.000 Yangs")
say("- 1075 points d'expérience")
say("")
wait()
pc.warp(pc.get_x()*100, pc.get_y()*100)
pc.change_gold(45000)
pc.give_exp2(1075)
clear_letter()
set_quest_state("chasse_2", "run")
set_state(__complete)
end
end
state __giveup__ begin
end
state __complete begin
end
end
Je précise que putty n'affiche aucune erreur
J'ai pensé à un conflit de nom de quête, celle ci s'appelant "couple_ring" j'ai cru que la quête couple_ring d'origine posait problème, mais elle n'est pas présente.
Ensuite même si quoique que ce soit posait problème, le joueur devrait forcément avoir la lettre au level 5 non ?
Merci d'avance !
Cordialement