Quest írás [Frissítve]

Indította ddani700, 2017-11-20, 20:39:04

2017-11-20, 20:39:04 Utolsó szerkesztés: 2017-11-20, 22:33:02 Szerző: ddani700
Sziasztok!

Az előző témát bezártam mivel már nem azzal kapcsolatos teljesen amit szeretnék.
A következő a gondom.
Írtam egy új questet ami másabb a felépítése és kicsit másabb az egész.
Az alapja szinte ugyan az de teljesen a biológusra épül fel így több dolgot is tudok vele csinálni.
Az a gond hogy nem a megfelelő ablak jön elő.
Rákattintok a Kapitányra kiírja mi a feladat majd a küldetések között csak továbbra is az szerepel hogy: Kapitány keres téged!
és az első üzenet jön be rá pedig nem annak kellene.


Teljes quest
quest kapitany_01 begin
state start begin
when login or levelup with pc.get_level() >= 5 begin
set_state(information)
end
end

state information begin
when letter begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
send_letter("Kapitány keres téged!")
end

when button or info begin
say_title("A Kapitány keres téged!")
say("")
say("Feledata van számodra, keresd fel.")
say("")
say_reward("Menj el a Kapitányhoz.")
say("")
end

when __TARGET__.target.click or 20355."Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Örülök hogy eljöttél újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("Győzz le:")
say_reward("~ 10db Bánat metint (lv 5)")
say_reward("~ 10db Kékfarkas (lv 6)")
say_reward("~ 10db Vaddisznó (lv 7)")
say("")
say("Ha megteszed a jutalmad a következő:")
say("10.000 Yang")
say("1.000 Tapasztalat pont")
say("")
pc.getgf("kill_count")
pc.getgf("kill_count1")
pc.getgf("kill_count2")
wait()
set_skin(NOWINDOW)
set_state(kuldetes_01)
end
end

state kuldetes_01 begin
when letter begin
send_letter("A Kapitány 1. küldetése")
end
when button or info begin
say_title("A Kapitány 1. küldetése")
say("")
say("A Kapitány első küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesísd a következő küldetést")
say("")
say("Győzz le:")
say("10db Bánat metint (lv 5)")
say("10db Kékfarkas (lv 6)")
say("10db Vaddisznó (lv 7)")
say("")
say_reward(string.format("Eddig legyőztél %d Bánat metint.", pc.getgf("kill_count")))
say_reward(string.format("Eddig legyőztél %d Kékfarkast.", pc.getgf("kill_count1")))
say_reward(string.format("Eddig legyőztél %d Vaddisznót.", pc.getgf("kill_count2")))
say("")
end

when 8001.kill begin
pc.getqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( ""..mob_name("8001").."", 10-pc.getqf("kill_count"))
end
when 104.kill begin
pc.getqf("kill_count1", pc.getqf("kill_count1")+1)
q.set_counter( ""..mob_name("104").."", 10-pc.getqf("kill_count1"))
end
when 108.kill begin
pc.getqf("kill_count2", pc.getqf("kill_count2")+1)
q.set_counter( ""..mob_name("108").."", 10-pc.getqf("kill_count2"))
end

when 8001.kill with pc.getqf("kill_count") == 10 begin
end
when 104.kill with pc.getqf("kill_count1") == 10 begin
end
when 108.kill with pc.getqf("kill_count2") == 10 begin
end
when kesz begin
notice("A Kapitány 1. küldetése befejeződött!")
set_state(teljesitve)
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése befejeződött!")
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end
when button or info begin
say_title("A Kapitány 1. küldetése befejeződött!")
say("")
say("Menj el a kapitányhoz, hogy át tudd venni")
say("a jutalmad!")
say("")
end

when __TARGET__.target.click or 20355.chat."Kapitány 1. Jutalom" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("Ezért megjutalmazlak téged!")
say("")
say_reward("Kaptál:")
say_reward("10.000 Yangot")
say_reward("1.000 Tapasztalat pontot")
pc.changegold("10000")
pc.give_exp2("1000")
clear_letter()
wait()
set_skin(NOWINDOW)
set_quest_state("Kapitany_02", "masodik")
set_state(kuldeteskesz)
end
end

state kuldeteskesz begin
end
end

El lehetne magyarazni  hogy hol a problema a questben amit irtal de szemely szerint az javaslom hogy inkabb Questflag-ot hasznalj sokkal egyszerubb mint state imo
all failure is psychological other than death all failure is psychological

Szerinted ha tudnám nem javítottam volna ki?
A szerver annyit mutat hogy lefut nincs gond.

Mégis a képen látható jön be ha felvetted a küldetést a kapitánynál.

Szia ha még aktuális a gondod próbáld meg így.


                 when __TARGET__.target.click or 20355."Kapitány 1. küldetése" begin
          target.delete("__TARGET__")
          say_title(mob_name(20355)..":")
          say("Örülök hogy eljöttél újonc!")
          say("Van egy remek feladatom a számodra!")
          say("")
          say("Győzz le:")
          say_reward("~ 10db Bánat metint (lv 5)")
          say_reward("~ 10db Kékfarkas (lv 6)")
          say_reward("~ 10db Vaddisznó (lv 7)")
          wait()
                         say_title(mob_name(20355)..":")
           say("Ha megteszed a jutalmad a következő:")
          say("10.000 Yang")
          say("1.000 Tapasztalat pont")
          say("")
                         local a = select("Elvállalom","Inkább késöbb")
                         if a == 1 then
                         say_title(mob_name(20355)..":")
                         say("Sok sikert! ")
          pc.getgf("kill_count")
          pc.getgf("kill_count1")
          pc.getgf("kill_count2")
          set_skin(NOWINDOW)
          set_state(kuldetes_01)
                         end
                         if a != 1 then
                         say_title(mob_name(20355)..":")
                         say("Rendben, gyere vissza ha készen álsz! ")
                         end
      end