und meine alte Run quest.
Kill Quests:
PHP Code:
define quest_npc 20003
define quest_level 76
quest boss begin
state start begin
function say_green(name) say(color256(0, 255, 0)..name..color256(196, 196, 196)) end
function say_red(name) say(color256(255, 0, 0)..name..color256(196, 196, 196)) end
function mob_list()
return {
-- {mob_id, amount}
{591, 1}, --!!!
{691, 1}, --!!!
{791, 1}, --!!!
{1901, 1}, --!!!
{2206, 1}, --!!!
{1304, 1}, --!!!
{2598, 1}, --!!!
{8027, 50} --!!!
}
end
function in_mob_list(val)
local ml = boss.mob_list()
local t = false
table.foreach(ml, function(i,p)
if p[1] == val then
t = true
end
end)
return t
end
function write_mobs_to_kill()
local ml = boss.mob_list()
table.foreach(ml, function(i,p)
if pc.getqf("boss_"..p[1]) < p[2] then
boss.say_red(pc.getqf("boss_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
else
boss.say_green(pc.getqf("boss_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
end
end)
end
function check_killed_mobs()
local ml = boss.mob_list()
local t = true
table.foreach(ml, function(i,p)
if pc.getqf("boss_"..p[1]) < p[2] then
t = false
end
end)
return t
end
function give_reward()
pc.give_item2(30168, 15) --!!!
pc.give_item2(50513, 10) --!!!
pc.give_item2(60109, 1) --!!!
pc.give_item2(71035, 15) --!!!
pc.change_gold(7500000) --!!!
end
end
state start begin
when login or levelup with pc.level >= quest_level begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(quest_npc)
if v != 0 then
target.vid("__TARGET__", v, "NPC-NAME") --!!!
end
send_letter("Wer ist der Boss?") --!!!
end
when button or info begin
say_title("Wer ist der Boss?") --!!!
say("Ah-Yu braucht deine Hilfe!") --!!!
say("Suche Ah-Yu auf") --!!!
end
when __TARGET__.target.click or quest_npc.chat."Der wahre Boss" begin --!!!
target.delete("__TARGET__")
say_title("Wer ist der Boss?") --!!!
say("Dich erreicht ein Brief von deinem") --!!!
say("alten Freund Epvp, in dem") --!!!
say("er dir mitteilt, dass er sich in einer") --!!!
say("verfahrenen Situation befindet.") --!!!
say("Er hat endlich die Frau seines Lebens kennengelernt,") --!!!
say("jedoch möchte ihr Vater sie nur an einen") --!!!
say("mutigen Helden verheiraten.") --!!!
say("Da er nicht der Mutigste ist,") --!!!
say("bittet er dich um Unterstützung.")
say("Hilf ihm, indem du ihm Tötungsbeweise")
say("folgender Bossmonster beschaffst:")
set_state(kill_now)
end
end
state kill_now begin
when letter begin
send_letter("Der wahre Boss") --!!!
end
when button or info begin
say_title("Erfülle Ah-Yus Auftrag") --!!!
say("du musst noch diese Bosse töten:") --!!!
boss.write_mobs_to_kill()
end
when quest_npc.chat."Der wahre Boss" begin --!!!
say_title("Ah-Yu:")
say("Hast du schon alle Bosse getötet?") --!!!
if boss.check_killed_mobs() then
say("Klasse, du hast alle Bosse getötet!") --!!!
wait()
boss.give_reward()
set_state(finish)
else
say("Wie ich sehe hast du noch nicht alle Bosse getötet.") --!!!
end
end
when kill with boss.in_mob_list(npc.get_race()) begin
pc.setqf("boss_"..npc.get_race(), pc.getqf("boss_"..npc.get_race())+1)
end
end
state finish begin
end
end
PHP Code:
define quest_npc 20018
define quest_level 62
quest dunkle_hoehle begin
state start begin
function say_green(name) say(color256(0, 255, 0)..name..color256(196, 196, 196)) end
function say_red(name) say(color256(255, 0, 0)..name..color256(196, 196, 196)) end
function mob_list()
return {
-- {mob_id, amount}
{2034, 100}, --!!!
{2035, 100}, --!!!
{2091, 1}, --!!!
}
end
function in_mob_list(val)
local ml = dunkle_hoehle.mob_list()
local t = false
table.foreach(ml, function(i,p)
if p[1] == val then
t = true
end
end)
return t
end
function write_mobs_to_kill()
local ml = dunkle_hoehle.mob_list()
table.foreach(ml, function(i,p)
if pc.getqf("dunkle_hoehle_"..p[1]) < p[2] then
dunkle_hoehle.say_red(pc.getqf("dunkle_hoehle_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
else
dunkle_hoehle.say_green(pc.getqf("dunkle_hoehle_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
end
end)
end
function check_killed_mobs()
local ml = dunkle_hoehle.mob_list()
local t = true
table.foreach(ml, function(i,p)
if pc.getqf("dunkle_hoehle_"..p[1]) < p[2] then
t = false
end
end)
return t
end
function give_reward()
pc.give_item2(27987, 15) --!!!
pc.give_item2(27992, 1) --!!!
pc.give_item2(27993, 1) --!!!
pc.give_item2(27994, 1) --!!!
pc.change_gold(3500000) --!!!
end
end
state run begin
when login or levelup with pc.level >= quest_level begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(quest_npc)
if v != 0 then
target.vid("__TARGET__", v, "NPC-NAME") --!!!
end
send_letter("Dunkle Höhlen") --!!!
end
when button or info begin
say_title("Dunkle Höhlen") --!!!
say("Baek-Go braucht deine Hilfe!") --!!!
say("Suche Baek-Go auf") --!!!
end
when __TARGET__.target.click or quest_npc.chat."Die Spinnenbrut" begin --!!!
target.delete("__TARGET__")
say_title("Dunkle Höhlen") --!!!
say("Sei gegrüßt Abenteurer.") --!!!
say("Wir sind zu dem Entschluss gekommen,") --!!!
say("dass endlich etwas gegen die zunehmende Spinnenplage unternommen") --!!!
say("werden muss. Seid einigen Jahren") --!!!
say("steigt die Anzahl der Spinnen rasant, und wer wäre") --!!!
say("besser geeignet, ihnen eine Lektion zu erteilen, als du?") --!!!
say("Du findest sie gemeinsam mit ihrer") --!!!
say("Anführerin in den Höhlen hinter der Yongbi-Wüste.") --!!!
set_state(kill_now)
end
end
state kill_now begin
when letter begin
send_letter("Dunkle Höhlen") --!!!
end
when button or info begin
say_title("Erfülle Baek-Gos Auftrag") --!!!
say("Monster, die du noch vernichten musst :") --!!!
dunkle_hoehle.write_mobs_to_kill()
end
when quest_npc.chat."Dunkle Höhlen" begin --!!!
say_title("Baek-Go:")
say("Hast du die Spinnen schon für mich getötet?") --!!!
if dunkle_hoehle.check_killed_mobs() then
say("Klasse, du hast sie getötet!") --!!!
wait()
dunkle_hoehle.give_reward()
set_quest_state("kalt", "run")
set_state(finish)
else
say("Wie ich sehe hast du noch nicht alle Spinnen getötet.") --!!!
end
end
when kill with dunkle_hoehle.in_mob_list(npc.get_race()) begin
pc.setqf("dunkle_hoehle_"..npc.get_race(), pc.getqf("dunkle_hoehle_"..npc.get_race())+1)
end
end
state finish begin
end
end
PHP Code:
define quest_npc 20018
define quest_level 25
quest eierdiebe begin
state start begin
function say_green(name) say(color256(0, 255, 0)..name..color256(196, 196, 196)) end
function say_red(name) say(color256(255, 0, 0)..name..color256(196, 196, 196)) end
function mob_list()
return {
-- {mob_id, amount}
{492, 1}, --!!!
{494, 1}, --!!!
{493, 1}, --!!!
{491, 1}, --!!!
{532, 1}, --!!!
{531, 1}, --!!!
{533, 1}, --!!!
{534, 1}, --!!!
{8005, 5}, --!!!
{8006, 10}, --!!!
{8007, 15}, --!!!
}
end
function in_mob_list(val)
local ml = eierdiebe.mob_list()
local t = false
table.foreach(ml, function(i,p)
if p[1] == val then
t = true
end
end)
return t
end
function write_mobs_to_kill()
local ml = eierdiebe.mob_list()
table.foreach(ml, function(i,p)
if pc.getqf("eierdiebe_"..p[1]) < p[2] then
eierdiebe.say_red(pc.getqf("eierdiebe_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
else
eierdiebe.say_green(pc.getqf("eierdiebe_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
end
end)
end
function check_killed_mobs()
local ml = eierdiebe.mob_list()
local t = true
table.foreach(ml, function(i,p)
if pc.getqf("eierdiebe_"..p[1]) < p[2] then
t = false
end
end)
return t
end
function give_reward()
pc.give_item2(50136, 10) --!!!
pc.give_item2(25040, 7) --!!!
pc.give_item2(60101, 1) --!!!
pc.change_gold(1000000) --!!!
end
when login or levelup with pc.level >= quest_level begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(quest_npc)
if v != 0 then
target.vid("__TARGET__", v, "NPC-NAME") --!!!
end
send_letter("Die Eierdiebe") --!!!
end
when button or info begin
say_title("Baek-Go sucht die Eierdiebe") --!!!
say("Gehe zu Baek-Go den er braucht deine Hilfe. ") --!!!
end
when __TARGET__.target.click or quest_npc.chat."Die Eierdiebe" begin --!!!
target.delete("__TARGET__")
say_title("Die Eierdiebe") --!!!
say("Ein mutiger Held wie du findet sicherlich die") --!!!
say("Zeit, einem alten Mann zu helfen.") --!!!
say("Mein Laden wurde ausgeraubt und mir wurden") --!!!
say("alle bemalten Eier gestohlen.") --!!!
say("Die Leute aus unserem Dorf haben mir erzählt, dass") --!!!
say("die Diebe nach Bokjung, Bakra und Jayang verschwunden sind.") --!!!
say("Einige Eier wurden auch in Metinsteinen versteckt,") --!!!
say("die restlichen müssen noch im Besitz der Diebe sein!") --!!!
say("Mach dich bitte schleunigst auf die Suche,") --!!!
say("ich werde dich reichlich entlohnen!") --!!!
set_state(kill_now)
end
end
state kill_now begin
when letter begin
send_letter("Baek-Go's Bitte!") --!!!
end
when button or info begin
say_title("Erfülle die Bitte von Baek-Go!") --!!!
say("Monster, die du noch vernichten musst :") --!!!
eierdiebe.write_mobs_to_kill()
end
when quest_npc.chat."Die Eierdiebe" begin --!!!
say_title("Die Eierdiebe:")
say("Hast du schon die lausigen Diebe erwischt,") --!!!
say("die meine Eier gestohlen haben?") --!!!
if eierdiebe.check_killed_mobs() then
say("Wunderbar! Du hast mir alle Eier besorgt,") --!!!
say("hier ist deine Belohnung :") --!!!
wait()
eierdiebe.give_reward()
set_quest_state("herrscher_der_unterwelt", "run")
set_state(finish)
else
say("Wie ich sehe bist du noch nicht mit der") --!!!
say("Aufgabe fertig! Komm wieder, wenn du alles erledigt hast.") --!!!
end
end
when kill with eierdiebe.in_mob_list(npc.get_race()) begin
pc.setqf("eierdiebe_"..npc.get_race(), pc.getqf("eierdiebe_"..npc.get_race())+1)
end
end
state finish begin
end
end
PHP Code:
define quest_npc 20018
define quest_level 45
quest herrscher_der_unterwelt begin
state start begin
function say_green(name) say(color256(0, 255, 0)..name..color256(196, 196, 196)) end
function say_red(name) say(color256(255, 0, 0)..name..color256(196, 196, 196)) end
function mob_list()
return {
-- {mob_id, amount}
{5161, 1}, --!!!
{5162, 1}, --!!!
{5163, 1}, --!!!
}
end
function in_mob_list(val)
local ml = herrscher_der_unterwelt.mob_list()
local t = false
table.foreach(ml, function(i,p)
if p[1] == val then
t = true
end
end)
return t
end
function write_mobs_to_kill()
local ml = herrscher_der_unterwelt.mob_list()
table.foreach(ml, function(i,p)
if pc.getqf("herrscher_der_unterwelt_"..p[1]) < p[2] then
herrscher_der_unterwelt.say_red(pc.getqf("herrscher_der_unterwelt_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
else
herrscher_der_unterwelt.say_green(pc.getqf("herrscher_der_unterwelt_"..p[1]).."/"..p[2].." "..mob_name(p[1]))
end
end)
end
function check_killed_mobs()
local ml = herrscher_der_unterwelt.mob_list()
local t = true
table.foreach(ml, function(i,p)
if pc.getqf("herrscher_der_unterwelt_"..p[1]) < p[2] then
t = false
end
end)
return t
end
function give_reward()
pc.give_item2(50513, 2) --!!!
pc.give_item2(50129, 5) --!!!
pc.give_item2(50130, 3) --!!!
pc.change_gold(2500000) --!!!
end
end
state run begin
when login or levelup with pc.level >= quest_level begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(quest_npc)
if v != 0 then
target.vid("__TARGET__", v, "NPC-NAME") --!!!
end
send_letter("Herrscher der Affenwelt") --!!!
end
when button or info begin
say_title("Herrscher der Affenwelt") --!!!
say("Baek-Go braucht deine Hilfe!") --!!!
say("Suche Baek-Go auf") --!!!
end
when __TARGET__.target.click or quest_npc.chat."Angst & Terror" begin --!!!
target.delete("__TARGET__")
say_title("Herrscher der Affenwelt") --!!!
say("Ein Spähtrupp hat eine neue Bedrohung für") --!!!
say("die Bewohner der drei Reiche ausgemacht, die") --!!!
say("es dringend zu beseitigen gilt.") --!!!
say("Finde und töte die Anführer der Affensoldaten,") --!!!
say("um einen Angriff auf die Dörfler zu verhindern.") --!!!
set_state(kill_now)
end
end
state kill_now begin
when letter begin
send_letter("Angst & Terror") --!!!
end
when button or info begin
say_title("Bringe Baek-Go die Köpfe der 3 Affenkönige") --!!!
say("Köpfe der Affenkönige :") --!!!
herrscher_der_unterwelt.write_mobs_to_kill()
end
when quest_npc.chat."Herrscher der Affenwelt" begin --!!!
say_title("Baek-Go :")
say("Hast du schon die Köpfe gesammelt?") --!!!
if herrscher_der_unterwelt.check_killed_mobs() then
say("Klasse, du hast sie gesammelt!") --!!!
wait()
herrscher_der_unterwelt.give_reward()
set_quest_state("dunkle_hoehle", "run")
set_state(finish)
else
say("Wie ich sehe hast du sie noch nicht sammeln können.") --!!!
end
end
when kill with herrscher_der_unterwelt.in_mob_list(npc.get_race()) begin
pc.setqf("herrscher_der_unterwelt_"..npc.get_race(), pc.getqf("herrscher_der_unterwelt_"..npc.get_race())+1)
end
end
state finish begin
end
end
PHP Code:
define quest_npc 20018
define quest_level 70
define percentage 1
define item_value 70001
define item_amount 40
quest kalt begin
state start begin
function say_green(name) say(color256(0, 255, 0)..name..color256(196, 196, 196)) end
function say_red(name) say(color256(255, 0, 0)..name..color256(196, 196, 196)) end
function mob_list()
return {
-- {mob_id, amount}
{2314, 10}, --!!!
{2315, 10}, --!!!
{2311, 10}, --!!!
{2312, 10}, --!!!
}
end
function in_mob_list(val)
local ml = kalt.mob_list()
local t = false
table.foreach(ml, function(i,p)
if p[1] == val then
t = true
end
end)
return t
end
function give_reward()
pc.give_item2(50513, 5) --!!!
pc.give_item2(71134, 1) --!!!
pc.give_item2(50134, 3) --!!!
pc.give_item2(27987, 7) --!!!
pc.change_gold(5000000) --!!!
end
end
state run begin
when login or levelup with pc.level >= quest_level begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(quest_npc)
if v != 0 then
target.vid("__TARGET__", v, "NPC-NAME") --!!!
end
send_letter("Kalt, Kälter am Kältesten") --!!!
end
when button or info begin
say_title("Kalt, Kälter am Kältesten") --!!!
say("Baek-Go braucht deine Hilfe!") --!!!
say("Suche Baek-Go auf") --!!!
end
when __TARGET__.target.click or quest_npc.chat."Frostbeulen" begin --!!!
target.delete("__TARGET__")
say_title("Kalt, Kälter am Kältesten") --!!!
say("Du bist weit gekommen, Abenteurer.") --!!!
say("Zeit, dich darauf vorzubereiten,") --!!!
say("was dich noch erwarten wird.") --!!!
say("Du stehst kurz davor, ein Gebiet zu betreten,") --!!!
say("dessen eisige Kälte schon viele Leben gefordert hat.") --!!!
say("Um dich davor zu schützen, kann ich dir einen speziellen") --!!!
say("Umhang herstellen, dafür brauche ich aber") --!!!
say("spezielles Holz aus dem roten Wald.") --!!!
say("Dieses Holz erhältst du beim Töten folgender Monster:") --!!!
say("Rote Geisterweide")
say("Roter böser Baum")
say("Roter Geisterbaum")
say("Roter Geisterbaumstumpf")
set_state(kill_now)
end
end
state kill_now begin
when letter begin
send_letter("Frostbeulen") --!!!
end
when button or info begin
say_title("Bringe Baek-Go das Holz aus dem Roten Wald") --!!!
if pc.count_item(item_value) < item_amount then
kalt.say_red(string.format(pc.count_item(item_value).."/%d "..item_name(item_value), item_amount))
else
kalt.say_green(string.format(pc.count_item(item_value).."/%d "..item_name(item_value), item_amount))
end
end
when quest_npc.chat."Frostbeulen" begin --!!!
say_title("Baek-Go:")
say("Hast du mir schon das Holz besorgt?") --!!!
if pc.count_item(item_value) >= item_amount then
say("Klasse, du hast das Holz besorgt!") --!!!
pc.remove_item(item_value, item_amount)
wait()
kalt.give_reward()
set_quest_state("boss", "run")
set_state(finish)
else
say("Wie ich sehe hast du das Holz noch nicht geholt.") --!!!
end
end
when kill with kalt.in_mob_list(npc.get_race()) begin
if number(1, 100) <= percentage then
game.drop_item_with_ownership(item_value, 1)
end
end
end
state finish begin
end
end
PHP Code:
quest colosseum begin
state start begin
when 30228.chat."Colloseum" begin
say_title(mob_name(30228))
say("Hallo "..pc.get_name()..",")
say("Du hast also von dem Himmels Colloseum gehört.")
if pc . get_level ( ) < 80 then
say_reward("Mindestlevel ist 80!. Komme wieder, wenn du Level 80 bist!")
return
elseif pc . get_level ( ) > 150 then
say_reward("Max Level 150!")
return
end
say("Deine erste Aufgabe besteht darin")
say("die Heilige Truhe zu bezwingen!")
say("Aber seht euch vor! Es wird 5 Monster")
say("Wellen geben. Jede Welle wird stärker.")
say("Nur wenn du das Himmels Colloseum bezwingst")
say("bekommst du auch die Belohnung!")
local s = select("Ja", "Nein")
if s == 2 then return end
pc.setqf("warp", 1)
pc.warp(235300, 372300)
end
when login with pc.get_map_index()==306 begin
if pc.getqf("warp")==0 then
pc.warp(89900, 66700)
end
pc.setqf("warp", 0)
end
when 30229.kill with pc.get_map_index()==306 begin
timer("first_jump", 5)
end
when first_jump.timer begin
d.new_jump_all(306, 2353, 3723)
d.regen_file("data/dungeon/colosseum/colosseum1.txt")
d.setf("level", 1)
end
when login with pc.get_map_index()>=3060000 and pc.get_map_index()<3070000 begin
loop_timer("dont_die", 1)
pc.set_warp_location(343, 899, 667)
if d.select(pc.get_map_index()) and d.getf("timer_aktiv")==0 then
server_loop_timer("check_eliminated", 3, pc.get_map_index())
d.setf("timer_aktiv", 1)
end
end
when dont_die.timer begin
if pc.get_hp()<=0 then
notice("Du bist gestorben und wurdest deshalb hinaus teleportiert.")
pc.warp(89900, 66700)
end
end
when check_eliminated.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster()<=0 then
clear_server_timer("check_eliminated", get_server_timer_arg())
d.setf("level", d.getf("level")+1)
if d.getf("level")==6 then
d.notice("Geschafft! Sprich mit den Legendären Drachen.")
d.spawn_mob(30234, 203, 223)
return
end
d.notice("Alle tot! Gleicht gehts weiter.")
server_timer("continue", 5, get_server_timer_arg())
end
end
end
when continue.server_timer begin
if d.select(get_server_timer_arg()) then
d.regen_file("data/dungeon/colosseum/colosseum"..d.getf("level")..".txt")
d.notice("Los gehts.")
server_loop_timer("check_eliminated", 3, get_server_timer_arg())
end
end
when 30234.chat."Belohnung abholen" with pc.get_map_index()>=3060000 and pc.get_map_index()<3070000 begin
say_title("Legendärer Drache")
say("Du hast es also gepackt! Hier nimm diese Belohnung!")
pc.give_item2(59431, 1)
wait()
d.exit()
end
end
end
Hier die Map:


Die Objekte und die Sachen für den Clienten findet ihr unten im Anhang.
Wers gebrauchen kann bedient euch.







