[Quest|Küldetés

Indította ddani700, 2018-06-17, 21:56:07

Sziasztok!

Szeretnék csinálni egy questet ami most tesztként level 1-től 5 -ig lehet megcsinálni.
De ezt majd szeretném tovább is hogy pl: 6-10 ig lehessen és így tovább.
Még ez nem a végleges mert még nem tudom mi lesz a küldetés most tesztnek beraktam
hogy bánat metint kelljen megsemmisíteni.
Ezt a questet úgy szeretném hogy 1-5 ig annyiszor lehessen megcsinálni amennyiszer akarjuk és ha eléri a 6 -os szintet akkor már a következőt fogja megkapni.
Ebben akadtam el. nagyából megírtam a questet de tuti ki kell még egészíteni csak van amit még sajnos nem tudok.
Tudnátok segíteni?

A quest a következő lenne:

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level > 1 and pc.get_level() <= 5 then
set_state(information)
end

state information begin
when info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemisítése (lvl 5)")
say("")
say("Ezt a küldetést level 1 -től egészen level 5 -ig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("DE ha elérted a 6-os szintet már a következő")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.getgf("kill_count")
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesísd ezt a küldetést")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
say_reward(string.format("Eddig legyőztél %d Bánat metint.", pc.getgf("kill_count")))
end

when 8001.kill begin
pc.getqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( ""..mob_name("8001").."", 2-pc.getqf("kill_count"))
end

when 8001.kill with pc.getgf("kill_count") == 2 begin
end

when kesz begin
notice("A Kapitány 1. küldetése teljesítve!")
set_state(teljesitve)
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesitve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Level 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Level 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Level 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Level 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Level 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)
end
end
end
end


Remélem nem a semmiért szórakoztam vele :D :D :)

//Még mielött valaki kritizálná vagy akármi nem vagyok profi..// :/

A vegen kuld ki neki ujra a kuldit, es ha belep es nagyobb mint 5 torold a kuldetest es ennyi.

Az a baj hogy az elejével van valami gondja.

Valakinek van ötlete mit rontottam el?

2018-06-18, 20:47:24 #3 Utolsó szerkesztés: 2018-06-18, 21:06:28 Szerző: Chookez™
Próbáld meg így:

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 1 and pc.get_level() <= 5 then
set_state(information)
end
end

state information begin
when info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5ős szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.getgf("kill_count")
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
say_reward(string.format("Eddig legyőztél %d Bánat metint.", pc.getgf("kill_count")))
end

when 8001.kill begin
pc.getqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( ""..mob_name("8001").."", 2-pc.getqf("kill_count"))
end

when 8001.kill with pc.getgf("kill_count") == 2 begin
end

when kesz begin
notice("A Kapitány 1. küldetése teljesítve!")
set_state(teljesitve)
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)
end
end
end
end


szerkesztve: Ma - 21:04:10

Továbbra sem jó :/

Vagy másképpen kellene megírni? De akkor hogy?

2018-06-18, 21:00:59 #5 Utolsó szerkesztés: 2018-06-18, 22:15:22 Szerző: Pisti95
Így jó lesz ;)


quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() >= 1 and pc.get_level() <= 5 begin
set_state(information)
end

end -----ez maradt le

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemisítése (lvl 5)")
say("")
say("Ezt a küldetést level 1 -től egészen level 5 -ig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("DE ha elérted a 6-os szintet már a következő")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.getgf("kill_count")
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesísd ezt a küldetést")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
say_reward(string.format("Eddig legyőztél %d Bánat metint.", pc.getgf("kill_count")))
end

when 8001.kill begin
pc.getqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( ""..mob_name("8001").."", 2-pc.getqf("kill_count"))
end

when 8001.kill with pc.getqf("kill_count") >= 2 and pc.getqf("kill_count") >= 2 begin
notice("A Kapitány 1. küldetése teljesítve!")
set_state(teljesitve)
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesitve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Level 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Level 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Level 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Level 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Level 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)

set_state(start) ---előlről kezdi.
end
end
end



Edit:  módosítva, hogy ha befejezted a küldetést, és megkaptad a jutalmat, újra kezdje a küldetést, de ellenőrzi a szintet az elején, így csak akkor kap tekercset, ha a szinthez tartozó kritériumnak megfelel.

Edit2:  így már biztosan jó.

Nem lesz jó.

say("DE ha elérted a 6-os szintet már a következő")

8) 8) 8) 8)

Gyakorlatilag én úgy látom hogy ezzel a résszel van valami gondja mert a
8. sorral van gondja ha beírok még 1db end -et ha nem akkor a 7-el és ott ez van:
state information begin
when info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

Mert így kellene kinézni ennek a résznek:

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end
        end

2018-06-18, 21:39:46 #9 Utolsó szerkesztés: 2018-06-18, 21:42:54 Szerző: ddani700
Továbbra sem jó.
Az igaz hogy ott elírtam de ugyan az :/

Most így néz ki jelenleg:
quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 0 and pc.get_level() <= 5 then
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5ős szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.getgf("kill_count")
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
say_reward(string.format("Eddig legyőztél %d Bánat metint.", pc.getgf("kill_count")))
end

when 8001.kill begin
pc.getqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( ""..mob_name("8001").."", 2-pc.getqf("kill_count"))
end

when 8001.kill with pc.getgf("kill_count") == 2 begin
end

when kesz begin
notice("A Kapitány 1. küldetése teljesítve!")
set_state(teljesitve)
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
taget.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)
end
end
end
end


Olyan mint ha a szerver nem értené ezt a részt:
state start begin
when login or levelup with pc.get_level() > 0 and pc.get_level() <= 5 then
set_state(information)
end
end

Talán így:
when login or levelup with pc.get_level() > 0 and pc.get_level() <= 5 begin


Fentebb van a javított quest, amit először posztoltam.

2018-06-18, 22:19:21 #11 Utolsó szerkesztés: 2018-06-18, 22:34:01 Szerző: ddani700
Áhán most már lefut teljesen de a Kapitánynál semmi nem jelenik meg.

Kicsit javítgattam de még mindig semmi :/

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 1 and pc.get_level() <= 5 begin
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5ős szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.setgf("Banatmetin", 2)
q.set_counter("Banatmetin", 2)
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
cnt = 2 - pc.getgf("Banatmetin")
say_reward("Megsemmisítve: "..cnt.." db Bánat metin.")
end

when 8001.kill begin
local count = pc.getgf("Banatmetin") - 1
pc.setgf("Banatmetin", count)
q.set_counter("Banatmetin", count)
if count == 0 then
set_state(teljesitve)
notice("A Kapitány 1. küldetése teljesítve!")
end
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)
end
end
end
end

Tessék, most már jónak kell lennie.

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 1 and pc.get_level() <= 5 begin
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5ős szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
pc.setgf("Banatmetin", 2)
q.set_counter("Banatmetin", 2)
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
cnt = 2 - pc.getgf("Banatmetin")
say_reward("Megsemmisítve: "..cnt.." db Bánat metin.")
end

when 8001.kill begin
local count = pc.getgf("Banatmetin") - 1
pc.setgf("Banatmetin", count)
q.set_counter("Banatmetin", count)
if count == 0 then
set_state(teljesitve)
notice("A Kapitány 1. küldetése teljesítve!")
end
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.taget.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
wait()
set_skin(NOWINDOW)
end
end
end
end


Ez a sor volt a hibás, azért nem jelent meg: when __TARGET__.target.click or 20355."A Kapitány 1. küldetése" begin

Eddig jó még találtam én is 1 hibát lejebb a .target. helyett .taget. volt :D

Azon kívül a képen látható gond van hogy nem írja ki hogy hány db van még hátra.

ez a jelenlegi quest kicsit bővítettem már:

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 1 and pc.get_level() <= 5 begin
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5-ös szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
local a=select("Megcsinálom", "Majd Legközelebb")
if a == 2 then
return
end
if a == 1 then
pc.setgf("Banatmetin", 2)
q.set_counter("Banatmetin", 2)
set_state(kuldetes_01)
end
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
cnt = 2 - pc.getgf("Banatmetin")
say_reward("Megsemmisítve: "..cnt.." Bánat metint.")
end

when 8001.kill begin
local count = pc.getgf("Banatmetin") - 1
pc.setgf("Banatmetin", count)
q.set_counter("Banatmetin", count)
if count == 0 then
set_state(teljesitve)
notice("A Kapitány 1. küldetése teljesítve!")
end
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
end
end
end
end


hozzáraktam hogy meg akarja-e csinálni vagy nem.

Próba:

quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() > 1 and pc.get_level() <= 5 begin
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5-ös szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
local a=select("Megcsinálom", "Majd Legközelebb")
if a == 2 then
return
end
if a == 1 then
pc.setgf("Banatmetin", 2)
q.set_counter("Banatmetin", 2)
set_state(kuldetes_01)
end
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 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
say("")
d.setf("Banatmetin", d.getf("Banatmetin") - 1)
say_reward("Megsemmisítve: "..d.getf("Banatmetin").." Bánat metinkő.")
end

when 8001.kill begin
local count = pc.getgf("Banatmetin") - 1
pc.setgf("Banatmetin", count)
q.set_counter("Banatmetin", count)
if count == 0 then
set_state(teljesitve)
notice("A Kapitány 1. küldetése teljesítve!")
end
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
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 teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
clear_letter()
end
end
end
end

Valami nem jó mert nem kapom meg a küldetést amikor felveszem.

Hello. Sikerült megcsinálni most már működik 100% -osan. Viszont még azt szeretném hogy a küldit addig kapd meg újra és újra amíg túl nem léped a határt ezt félig meddig sikerült úgy hogy beleírtam hogy set_state(start)
viszont így mindig relogolni kell ahhoz hogy megjelenjen még1x. Ezt hogy lehetne megcsinálni hogy ne keljen?



quest allandokuldetes_01 begin
state start begin
when login or levelup with pc.get_level() >= 1 and pc.get_level() <= 5 begin
set_state(information)
end
end

state information begin
when button or info begin
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetése" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("Üdvözöllek újonc!")
say("Van egy remek feladatom a számodra!")
say("")
say("A feladat a következő lenne:")
say_reward("~ 2db Bánat metin megsemmisítése (lvl 5)")
say("")
say("Ezt a küldetést 1-es szinttől egészen 5-ös szintig")
say("megcsinálhatod amennyiszer szeretnéd!")
say("De ha elérted a 6-os szintet már a következő ")
say("feladatot fogod megkapni!")
say("Minden szintnek az 5% tapasztalatát fogod megkapni!")
local a=select("Megcsinálom", "Majd Legközelebb")
if a == 2 then
return
end
if a == 1 then
pc.setqf("banatmetin", 2)
q.set_counter("banatmetin", 2)
set_state(kuldetes_01)
end
end
end

state kuldetes_01 begin
when letter begin
send_letter("A Kapitány 1. küldetése")
end

when info or button begin
say_title("A Kapitány 1. küldetése")
say("")
say("A Kapitány 1. küldetése, hogy egy")
say("igazi harcos legyen belőled!")
say("Ezért megkért hogy teljesítsd ezt a küldetést.")
say("")
say("Győzz le:")
say("2db Bánat metint (level 5)")
cnt = 2 - pc.getqf("banatmetin")
say_reward("Megsemmisítve: "..cnt.." Bánat metin.")
end

when 8001.kill begin
local count1 = pc.getqf("banatmetin") - 1
pc.setqf("banatmetin", count1)
q.set_counter("banatmetin", count1)
if count1 == 0 then
set_state(teljesitve)
end
end
end

state teljesitve begin
when letter begin
send_letter("A Kapitány 1. küldetése teljesítve!")
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Kapitány")
end
end

when info or button begin
say_title("A Kapitány 1. küldetése teljesítve!")
say("")
say("Menj el a Kapitányhoz, hogy át tudd venni a jutalmadat!")
end

when __TARGET__.target.click or 20355.chat."A Kapitány 1. küldetés jutalma" begin
target.delete("__TARGET__")
say_title(mob_name(20355)..":")
say("")
say("Gratulálok újonc!")
say("Sikeresen teljesítetted az első küldetést!")
say("A jutalmad:")
say("")
say_reward("5% Tapasztalat pont")
set_state(start)
if pc.get_level() == 1 then -- Szint 1
pc.give_exp2("15")
elseif pc.get_level() == 2 then -- Szint 2
pc.give_exp2("40")
elseif pc.get_level() == 3 then -- Szint 3
pc.give_exp2("75")
elseif pc.get_level() == 4 then -- Szint 4
pc.give_exp2("125")
elseif pc.get_level() == 5 then -- Szint 5
pc.give_exp2("215")
end
end
end
end