quest pvptunier begin
state start begin
-- Das PvP Tunier konfigurieren
when 20011.chat."Konfiguration" with pc.is_gm() == true and game.get_event_flag("pvptunier") == 0 and game.get_event_flag("konfiguriert") == 0 begin
say_title("Grüß dich"..pc.get_name()..",")
say("")
say("Möchtest du das Tunier konfigurieren?")
if select("Ja", "Nein") == 2 then return end
repeat
local sel = select("Mindestlevel", "Belohnungen", "Belohnungen anzeigen", "Beenden")
if sel == 1 then
say("Setzen Sie das Mindestlevel:")
local inp = tonumber(input())
wait()
if inp > 1 and inp < 106 then
MINLEVEL = inp
say("Mindestlevel wurde erfolgreich auf"..MINLEVEL.."gesetzt.")
end
elseif sel == 2 then
say("Geben Sie die vnum's der Items ein, die vergeben werden sollen.")
say("Wenn Sie damit fertig sind, bestätigen sie Ihre Eingabe mit der 0.")
local p = 1
PRICES = {}
while p != 0 do
local p = tonumber(input())
table.insert(PRICES, p)
end
elseif sel == 3 then
i = 0
say_reward("Belohnungen:")
while i < table.getn(PRICES) do
say(i..".)"..PRICES[i])
i = i + 1
end
end
until sel == 4
game.set_event_flag("konfiguriert", 1)
end
end
end
quest shops begin
state start begin
when 9010.chat."Traenke-SHop" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Tränke-Shop öffnen?")
local a = select("Ja", "Nein")
if a == 1 then
npc.open_shop(13)
else
return
end
when 9010.chat."Item-Shop" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Item-Shop öffnen?")
local b = select("Ja", "Nein")
if b == 1 then
npc.open_shop(14)
else
return
end
when 9010.chat."Waffen" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Item-Shop öffnen?")
local c = select("Ja", "Nein")
if c == 1 then
npc.open_shop(1)
else
return
end
when 9010.chat."Rüstungen" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Rüstungs Shop öffnen?")
local d = select("Ja", "Nein")
if d == 1 then
npc.open_shop(4)
else
return
end
when 9010.chat."Schmuck" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Schmuck Shop öffnen?")
local e = select("Ja", "Nein")
if e == 1 then
npc.open_shop(5)
else
return
end
when 9010.chat."Waffen2" begin
say_title("Shop Tante:")
say("")
say("Möchtest du den Waffen2 Shop öffnen?")
local f = select("Ja", "Nein")
if f == 1 then
npc.open_shop(6)
else
return
end
end
end
end
Leider habe ich es beim letzten Hilfspost nicht ganz verstanden was nun falsch war könnte sie wie oben genannt einer berichtigen für mich
local s = select3(category)
local menu = {}
for i = 1, table.getn(list[s]) do
table.insert(menu, list[s][i][1])
end
say_title("Achievement Shop")
say("Wähle ein Item aus:")
say()
local t = select3(menu)
local reward_item = list[s][t][2]
local reward_count = list[s][t][3]
say_title("Achievement Shop")
say_reward("Achievementpoints: "..points)
say()
say("Gewähltes Item: "..item_name(reward_item))
say_reward(string.format("Das Item kostet %d Achievementpoints", reward_count))
say()
if points < reward_count then
return say("Du hast nicht genügend Achievementpoints")
end
if select("Eintauschen","Abbrechen") == 2 then return end
pc.setqf("achieve", points - reward_count)
pc.give_item2(reward_item)
end
-- // get points
when login begin
mob_data = {
-- Vnum Points qf cmdchat
{3290, 10, "3290", "achievement ".. mob_name(3290) .."_getötet#".. pc.getqf("3290") + 1 .."%".. pc.getqf("achieve") + 10},
{3491, 20, "3491", "achievement ".. mob_name(3491) .."_getötet#".. pc.getqf("3491") + 1 .."%".. pc.getqf("achieve") + 20},
{3091, 40, "3091", "achievement ".. mob_name(3091) .."_getötet#".. pc.getqf("3091") + 1 .."%".. pc.getqf("achieve") + 40},
{3791, 30, "3791", "achievement ".. mob_name(3791) .."_getötet#".. pc.getqf("3791") + 1 .."%".. pc.getqf("achieve") + 30},
{3891, 50, "3891", "achievement ".. mob_name(3891) .."_getötet#".. pc.getqf("3891") + 1 .."%".. pc.getqf("achieve") + 50},
{3690, 30, "3690", "achievement ".. mob_name(3690) .."_getötet#".. pc.getqf("3690") + 1 .."%".. pc.getqf("achieve") + 30},
{3691, 30, "3691", "achievement ".. mob_name(3691) .."_getötet#".. pc.getqf("3691") + 1 .."%".. pc.getqf("achieve") + 30},
{3390, 40, "3390", "achievement ".. mob_name(3390) .."_getötet#".. pc.getqf("3390") + 1 .."%".. pc.getqf("achieve") + 40},
{3391, 40, "3391", "achievement ".. mob_name(3391) .."_getötet#".. pc.getqf("3391") + 1 .."%".. pc.getqf("achieve") + 40},
{3596, 50, "3596", "achievement ".. mob_name(3596) .."_getötet#".. pc.getqf("3596") + 1 .."%".. pc.getqf("achieve") + 50},
}
item_data = {
{12010, 5, "12010", "achievement Edelstein-Panzer%".. pc.getqf("achieve") + 5},
{12020, 5, "12020", "achievement Edelstein-Anzug%".. pc.getqf("achieve") + 5},
{12030, 5, "12030", "achievement Edelstein-Panzer%".. pc.getqf("achieve") + 5},
{12040, 5, "12040", "achievement Edelstein-Kleid%".. pc.getqf("achieve") + 5},
{42030, 5, "42030", "achievement Nebel-Panzer%".. pc.getqf("achieve") + 5},
{44030, 5, "44030", "achievement Nebel-Anzug%".. pc.getqf("achieve") + 5},
{46030, 5, "46030", "achievement Nebel-Panzer%".. pc.getqf("achieve") + 5},
{48030, 5, "48030", "achievement Nebel-Kleid%".. pc.getqf("achieve") + 5},
{42040, 5, "42040", "achievement Toxin-Panzer%".. pc.getqf("achieve") + 5},
{44040, 5, "44040", "achievement Toxin-Anzug%".. pc.getqf("achieve") + 5},
{46040, 5, "46040", "achievement Toxin-Panzer%".. pc.getqf("achieve") + 5},
{48040, 5, "48040", "achievement Toxin-Kleid%".. pc.getqf("achieve") + 5},
{42050, 5, "42050", "achievement Frost-Panzer%".. pc.getqf("achieve") + 5},
{44050, 5, "44050", "achievement Frost-Anzug%".. pc.getqf("achieve") + 5},
{46050, 5, "46050", "achievement Frost-Panzer%".. pc.getqf("achieve") + 5},
{48050, 5, "48050", "achievement Frost-Kleid%".. pc.getqf("achieve") + 5},
}
level_data = {
-- Level points qf cmdchat
{5, 5, "level5", "achievement Level_5_erreicht%".. pc.getqf("achieve") + 5},
{30, 5, "level30", "achievement Level_30_erreicht%".. pc.getqf("achieve") + 5},
{50, 5, "level50", "achievement Level_50_erreicht%".. pc.getqf("achieve") + 5},
{70, 5, "level70", "achievement Level_70_erreicht%".. pc.getqf("achieve") + 5},
{80, 5, "level80", "achievement Level_80_erreicht%".. pc.getqf("achieve") + 5},
{90, 5, "level90", "achievement Level_90_erreicht%".. pc.getqf("achieve") + 5},
{100, 5, "level100", "achievement Level_100_erreicht%".. pc.getqf("achieve") + 5},
{110, 10, "level110", "achievement Level_110_erreicht%".. pc.getqf("achieve") + 10},
{120, 20, "level120", "achievement Level_120_erreicht%".. pc.getqf("achieve") + 20},
{130, 30, "level130", "achievement Level_130_erreicht%".. pc.getqf("achieve") + 30},
{140, 40, "level140", "achievement Level_140_erreicht%".. pc.getqf("achieve") + 40},
{150, 50, "level150", "achievement Level_150_erreicht%".. pc.getqf("achieve") + 50},
}
end
when kill with not npc.is_pc() begin
local vid = npc.get_vid()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(vid)
if d ~= false then
pc.setqf(mob_data[d][3], pc.getqf(mob_data[d][3]) + tonumber(mob_data[d][2]))
cmdchat(mob_data[d][4])
end
end
when use begin
local vnum = item.get_vnum()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(vnum)
if d ~= false and pc.getqf(tostring(item_data[d][3]) == 0 then
pc.setqf(item_data[d][3], 1)
pc.setqf(item_data[d][3], pc.getqf(item_data[d][3]) + tonumber(item_data[d][2]))
cmdchat(item_data[d][4])
end
end
when levelup begin
local lvl = pc.get_level()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(lvl)
if d ~= false and pc.getqf(tostring(level_data[d][3]) == 0 then
pc.setqf(level_data[d][3], 1)
pc.setqf(level_data[d][3], pc.getqf(level_data[d][3]) + tonumber(level_data[d][2]))
cmdchat(level_data[d][4])
end
end
end
end
local s = select3(category)
local menu = {}
for i = 1, table.getn(list[s]) do
table.insert(menu, list[s][i][1])
end
say_title("Achievement Shop")
say("Wähle ein Item aus:")
say()
local t = select3(menu)
local reward_item = list[s][t][2]
local reward_count = list[s][t][3]
say_title("Achievement Shop")
say_reward("Achievementpoints: "..points)
say()
say("Gewähltes Item: "..item_name(reward_item))
say_reward(string.format("Das Item kostet %d Achievementpoints", reward_count))
say()
if points < reward_count then
return say("Du hast nicht genügend Achievementpoints")
end
if select("Eintauschen","Abbrechen") == 2 then return end
pc.setqf("achieve", points - reward_count)
pc.give_item2(reward_item)
end
-- // get points
when login begin
mob_data = {
-- Vnum Points qf cmdchat
{3290, 10, "3290", "achievement ".. mob_name(3290) .."_getötet#".. pc.getqf("3290") + 1 .."%".. pc.getqf("achieve") + 10},
{3491, 20, "3491", "achievement ".. mob_name(3491) .."_getötet#".. pc.getqf("3491") + 1 .."%".. pc.getqf("achieve") + 20},
{3091, 40, "3091", "achievement ".. mob_name(3091) .."_getötet#".. pc.getqf("3091") + 1 .."%".. pc.getqf("achieve") + 40},
{3791, 30, "3791", "achievement ".. mob_name(3791) .."_getötet#".. pc.getqf("3791") + 1 .."%".. pc.getqf("achieve") + 30},
{3891, 50, "3891", "achievement ".. mob_name(3891) .."_getötet#".. pc.getqf("3891") + 1 .."%".. pc.getqf("achieve") + 50},
{3690, 30, "3690", "achievement ".. mob_name(3690) .."_getötet#".. pc.getqf("3690") + 1 .."%".. pc.getqf("achieve") + 30},
{3691, 30, "3691", "achievement ".. mob_name(3691) .."_getötet#".. pc.getqf("3691") + 1 .."%".. pc.getqf("achieve") + 30},
{3390, 40, "3390", "achievement ".. mob_name(3390) .."_getötet#".. pc.getqf("3390") + 1 .."%".. pc.getqf("achieve") + 40},
{3391, 40, "3391", "achievement ".. mob_name(3391) .."_getötet#".. pc.getqf("3391") + 1 .."%".. pc.getqf("achieve") + 40},
{3596, 50, "3596", "achievement ".. mob_name(3596) .."_getötet#".. pc.getqf("3596") + 1 .."%".. pc.getqf("achieve") + 50},
}
item_data = {
{12010, 5, "12010", "achievement Edelstein-Panzer%".. pc.getqf("achieve") + 5},
{12020, 5, "12020", "achievement Edelstein-Anzug%".. pc.getqf("achieve") + 5},
{12030, 5, "12030", "achievement Edelstein-Panzer%".. pc.getqf("achieve") + 5},
{12040, 5, "12040", "achievement Edelstein-Kleid%".. pc.getqf("achieve") + 5},
{42030, 5, "42030", "achievement Nebel-Panzer%".. pc.getqf("achieve") + 5},
{44030, 5, "44030", "achievement Nebel-Anzug%".. pc.getqf("achieve") + 5},
{46030, 5, "46030", "achievement Nebel-Panzer%".. pc.getqf("achieve") + 5},
{48030, 5, "48030", "achievement Nebel-Kleid%".. pc.getqf("achieve") + 5},
{42040, 5, "42040", "achievement Toxin-Panzer%".. pc.getqf("achieve") + 5},
{44040, 5, "44040", "achievement Toxin-Anzug%".. pc.getqf("achieve") + 5},
{46040, 5, "46040", "achievement Toxin-Panzer%".. pc.getqf("achieve") + 5},
{48040, 5, "48040", "achievement Toxin-Kleid%".. pc.getqf("achieve") + 5},
{42050, 5, "42050", "achievement Frost-Panzer%".. pc.getqf("achieve") + 5},
{44050, 5, "44050", "achievement Frost-Anzug%".. pc.getqf("achieve") + 5},
{46050, 5, "46050", "achievement Frost-Panzer%".. pc.getqf("achieve") + 5},
{48050, 5, "48050", "achievement Frost-Kleid%".. pc.getqf("achieve") + 5},
}
level_data = {
-- Level points qf cmdchat
{5, 5, "level5", "achievement Level_5_erreicht%".. pc.getqf("achieve") + 5},
{30, 5, "level30", "achievement Level_30_erreicht%".. pc.getqf("achieve") + 5},
{50, 5, "level50", "achievement Level_50_erreicht%".. pc.getqf("achieve") + 5},
{70, 5, "level70", "achievement Level_70_erreicht%".. pc.getqf("achieve") + 5},
{80, 5, "level80", "achievement Level_80_erreicht%".. pc.getqf("achieve") + 5},
{90, 5, "level90", "achievement Level_90_erreicht%".. pc.getqf("achieve") + 5},
{100, 5, "level100", "achievement Level_100_erreicht%".. pc.getqf("achieve") + 5},
{110, 10, "level110", "achievement Level_110_erreicht%".. pc.getqf("achieve") + 10},
{120, 20, "level120", "achievement Level_120_erreicht%".. pc.getqf("achieve") + 20},
{130, 30, "level130", "achievement Level_130_erreicht%".. pc.getqf("achieve") + 30},
{140, 40, "level140", "achievement Level_140_erreicht%".. pc.getqf("achieve") + 40},
{150, 50, "level150", "achievement Level_150_erreicht%".. pc.getqf("achieve") + 50},
}
end
when kill with not npc.is_pc() begin
local vid = npc.get_vid()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(vid)
if d ~= false then
pc.setqf(mob_data[d][3], pc.getqf(mob_data[d][3]) + tonumber(mob_data[d][2]))
cmdchat(mob_data[d][4])
end
end
when use begin
local vnum = item.get_vnum()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(vnum)
if d ~= false and pc.getqf(tostring(item_data[d][3])) == 0 then
pc.setqf(item_data[d][3], 1)
pc.setqf(item_data[d][3], pc.getqf(item_data[d][3]) + tonumber(item_data[d][2]))
cmdchat(item_data[d][4])
end
end
when levelup begin
local lvl = pc.get_level()
local function in_table(arg)
for i = 1, table.getn(mob_data) do
if mob_data[i][1] == arg then
return i
end
end
return false
end
local d = in_table(lvl)
if d ~= false and pc.getqf(tostring(level_data[d][3])) == 0 then
pc.setqf(level_data[d][3], 1)
pc.setqf(level_data[d][3], pc.getqf(level_data[d][3]) + tonumber(level_data[d][2]))
cmdchat(level_data[d][4])
end
end
end
end
Es geht um diesen Abschnitt, es wird mir einfach kein Reich im notice_all angezeigt, setze ich allerdings das "empire" ins notice_all bekomme ich 1 2 oder 3 zurück.
Wieso weshalb und warum gibt es mir kein Gelb, Rot oder Blau aus?
PHP Code:
local empire = pc.get_empire() if empire ==1 then local reich = 'Gelb' elseif empire ==2 then local reich = 'Rot' elseif empire ==3 then local reich = 'Blau' end notice_all(pc.get_name(), "Reich:", reich, " ist online.") -- Ankündigung
Es geht um diesen Abschnitt, es wird mir einfach kein Reich im notice_all angezeigt, setze ich allerdings das "empire" ins notice_all bekomme ich 1 2 oder 3 zurück.
Wieso weshalb und warum gibt es mir kein Gelb, Rot oder Blau aus?
PHP Code:
local empire = pc.get_empire() if empire ==1 then local reich = "Gelb" elseif empire ==2 then local reich = "Rot" elseif empire ==3 then local reich = "Blau" end notice_all(pc.get_name(), "Reich: ", reich, " ist online.") -- Ankündigung
PS: Es wird mir auch kein Fehler angezeigt.
PHP Code:
local empire = pc.get_empire() local reich = "" if empire ==1 then local reich = "Gelb" elseif empire ==2 then local reich = "Rot" elseif empire ==3 then local reich = "Blau" end notice_all(pc.get_name(), "Reich: ", reich, " ist online.")) -- Ankündigung
local empire = pc.get_empire() local reich = "" if empire ==1 then local reich = "Gelb" elseif empire ==2 then local reich = "Rot" elseif empire ==3 then local reich = "Blau" end notice_all(pc.get_name(), "Reich: ", reich, " ist online.")) -- Ankündigung
Geht nicht :/ Ich checks nicht, ich konnte das sonst immer so machen..
EDIT: Ich hab jetzt mal das "local" überall weggelassen, jetzt funktionierts!
-Warum auch immer :O
quest cristal_event begin
state start begin
when login with game.get_event_flag("e_cristal", 1) begin
syschat(" В данный момент происходит ежедневный ивент криссталов. ")
end
when kill with npc.is_pc and not pc.get_map_index() == 1 and not pc.get_map_index() == 21 and not pc.get_map_index() == 41 and game.get_event_flag("e_cristal", 1) begin
local dropitem = number(1,10)
if s == 1 then
give_item2(19,2)
else
return
end
when kill with not npc.is_pc and not pc.get_map_index() == 1 and not pc.get_map_index() == 21 and not pc.get_map_index() == 41 and game.get_event_flag("e_cristal", 1) begin
local dropitem = number(1,10)
if s == 1 then
give_item2(19,1)
else
return
end
end
when login or levelup or logout or kill with game.set_event_flag("e_cristal", 1) and pc.count_item(50613) == 400 begin
notice_all(" Ивент с криссталами завершен ")
pc.remove_item(19,200)
game.set_event_flag("e_cristal", 0)
end
end
end
quest cristal_event begin
state start begin
when login with game.get_event_flag("e_cristal") == 1 begin
syschat("В данный момент происходит ежедневный ивент криссталов.")
end
when kill with npc.is_pc() and pc.get_map_index() == 1 and pc.get_map_index() == 21 and pc.get_map_index() == 41 and game.get_event_flag("e_cristal") == 1 begin
local s = math.random(1, 10)
if s == 1 then
pc.give_item2(19,2)
else
return
end
end
when kill with npc.is_pc() and pc.get_map_index() == 1 and pc.get_map_index() == 21 and pc.get_map_index() == 41 and game.get_event_flag("e_cristal") == 1 begin
local s = math.random(1, 10)
if s == 1 then
pc.give_item2(19,1)
else
return
end
end
when login or levelup or logout or kill with game.get_event_flag("e_cristal") == 1 and pc.count_item(50613) == 400 begin
notice_all(" Ивент с криссталами завершен ")
pc.remove_item(19, 200)
game.set_event_flag("e_cristal", 0)
end
end
end
quest grotte begin state start begin when 20091.chat."Die Grotte der Verbannung betreten" begin say_title("Seon-Pyeong") say("Hallo "..pc.get_name()) say("Ich kann dich in die Grotte der Verbrannung porten") say("Jedoch musst du ein bestimmtes Level haben") say("um die Grotte zu betreten") say("") say_reward("Wohin willst?") local s = select("Grotte der Verbannung(1. Etage)", "Grotte der Verbannung(2. Etage)", "Grotte der Verbannung(Bossraum)", "Hier bleiben") if s == 4 then return elseif s == 1 then if pc.get_level() >= 75 then pc.warp(0, 1203200) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 75 erreicht hast.") return end elseif s == 2 then if pc.get_level() >= 80 then pc.warp(241700, 1274900) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 80 erreicht hast.") return elseif s == 3 then if pc.get_level() >= 90 then pc.warp(171700, 1220400) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 90 erreicht hast.") return end end end end end
quest grotte begin state start begin when 20091.chat."Die Grotte der Verbannung betreten" begin say_title("Seon-Pyeong") say("Hallo "..pc.get_name()) say("Ich kann dich in die Grotte der Verbrannung porten") say("Jedoch musst du ein bestimmtes Level haben") say("um die Grotte zu betreten") say("") say_reward("Wohin willst?") local s = select("Grotte der Verbannung(1. Etage)", "Grotte der Verbannung(2. Etage)", "Grotte der Verbannung(Bossraum)", "Hier bleiben") if s == 4 then return elseif s == 1 then if pc.get_level() >= 75 then pc.warp(0, 1203200) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 75 erreicht hast.") return end elseif s == 2 then if pc.get_level() >= 80 then pc.warp(241700, 1274900) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 80 erreicht hast.") return elseif s == 3 then if pc.get_level() >= 90 then pc.warp(171700, 1220400) end else say("Du bist noch zu schwach") say("Komm wieder wenn du Level 90 erreicht hast.") return end end end end end
Hey, da ich es am Handy geschrieben hab, kann ich nicht garantieren, dass die Quest funzt.
quest grotte begin
state start begin
when 20091.chat."Die Grotte der Verbannung betreten" begin
local kuchen = { {"Grotte der Verbannung (1. Etage)", 0, 1203200, 75},{"Grotte der Verbannung (2. Etage)", 241700, 1274900, 80}, {"Grotte der Verbannung (Bossraum)", 241700, 1274900, 90}}
local auswahl = {}
for x = 1, table.getn(kuchen), 1 do
table.insert(auswahl, kuchen[x][1])
end
table.insert(auswahl, "Abbrechen")
local e = select(auswahl)
if pc.get_level () < kuchen[e][4] then
say"du bist zu schwach."
say"du musst mind lv. "..kuchen[e][4].."sein"
else
pc.warp(kuchen[e][2], kuchen[e][3])
end
end
end
Schreib mich in Skype an, falls sie nicht funktionieren sollte.
habe probleme mit deviltower_zone.quest anfang ist alles
in Ordnung aber soweit man bei der Ebende wo die metinsteine kommen und
den richtigen metinstein haut bekommt ein kick und ch1 stürzt ab !!
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((6380+532), (10701+596+4), 64)
end
pc.set_warp_location(64, 6380+532, 10701+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(64, 6380+532, 10701+596+4)
end
end
when 20348.chat."Der Gunsamturm" with pc.get_map_index() == 64 and game.get_event_flag("run") == 1 begin
if pc.get_level() < 10 then
say_title("Wächter.:")
say("")
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder,wenn du Level 10 bist!")
else
say_title("Wächter.:")
say("")
say_reward("Speedrun aktiv!")
say("Möchtest du den Gusamturm betreten?")
local auswahl = select ("Betreten","Nein danke")
if auswahl == 1 then
say_title("Wächter.:")
say("")
say("Dann tritt ein doch gib bitte")
say("achte auf dich,Ich werde dich nicht")
say("retten.")
wait()
pc.warp(216500,727000)
elseif auswahl == 2 then
return
end
end
end
when 20348.chat."Der Gunsamturm" with pc.get_map_index() == 64 and game.get_event_flag("run") == 0 begin
if pc.get_level() < 40 then
say_title("Wächter.:")
say("")
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder,wenn du Level 40 bist!")
else
say_title("Wächter.:")
say("")
say("Möchtest du den Gunsamturm betreten?")
local auswahl = select ("Betreten","Nein danke")
if auswahl == 1 then
say_title("Wächter.:")
say("")
say("Dann tritt ein doch gib bitte")
say("achte auf dich,Ich werde dich nicht")
say("retten.")
wait()
pc.warp(216500,727000)
elseif auswahl == 2 then
return
end
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302)
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
when devil_stone3.kill begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 15*60, pc.get_map_index())
d.notice_all("Findet den richtigen Metinstein");
d.notice_all("und zerstört ihn. Die falschen");
d.notice_all("Metinsteine werden verschwinden!");
d.notice_all("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 10*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Die Zeit ist abgelaufen")
d.notice_all("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice_all("Ein falscher Metinstein verschwindet");
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice_all("Ihr habt den richtigen Metinstein")
d.notice_all("zerstört. Ihr werdet nun in die nächste")
d.notice_all("Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice_all("Ihr befindet euch nun in der 5. Ebene ")
d.notice_all("Öffnet alle Siegel um in die nächste Ebene zu gelangen.")
d.notice_all("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 20*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 15*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 10*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Die Zeit ist abgelaufen")
d.notice_all("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice_all("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice_all("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice_all("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
d.kill_all()
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- Turmschmiede
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20074).."")
say("")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20074).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
npc.purge()
timer("devil_jump_7", 6)
return
else
say_title(""..mob_name(20074).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20075).."")
say("")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20075).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
npc.purge()
return
else
say_title(""..mob_name(20075).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20076).."")
say("")
say("Ihr möchtet in die nächste")
say("Etage des Gunsamturms?Hmm...")
say("Ihr haben Glück! Heute erlaube")
say("ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20076).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
npc.purge()
return
else
say_title(""..mob_name(20076).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
--------------------------------------------
-- Finde die Karte
--------------------------------------------
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
game.drop_item(30302, 1)
d.clear_regen()
else
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title("Menü.:")
say("")
say("Ihr habt die richtige Karte gefunden,")
say("die nächste Ebene wurde euch geöffnet.")
say("")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
when 30301.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title("Menü.:")
say("")
say("Du hast die falsche Karte gefunden,")
say("für die nächste Ebene benötigt Ihr")
say("Karte des Gunsamturm.")
pc.remove_item("30301", 1)
end
--------------------------------------------
-- Finde den Schlüssel
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level")==8 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
game.drop_item(30304, 1)
else
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- Die letzte Etagen
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.set_regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.notice_all("Der Geist vom Sensenmann wurde bezwungen nun ist");
d.notice_all("ist der Gunsamenturm wirklich frei von allen Bösen.");
d.notice_all("Ihr könnt den Turm nun verlassen.");
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
habe probleme mit deviltower_zone.quest anfang ist alles
in Ordnung aber soweit man bei der Ebende wo die metinsteine kommen und
den richtigen metinstein haut bekommt ein kick und ch1 stürzt ab !!
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((6380+532), (10701+596+4), 64)
end
pc.set_warp_location(64, 6380+532, 10701+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(64, 6380+532, 10701+596+4)
end
end
when 20348.chat."Der Gunsamturm" with pc.get_map_index() == 64 and game.get_event_flag("run") == 1 begin
if pc.get_level() < 10 then
say_title("Wächter.:")
say("")
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder,wenn du Level 10 bist!")
else
say_title("Wächter.:")
say("")
say_reward("Speedrun aktiv!")
say("Möchtest du den Gusamturm betreten?")
local auswahl = select ("Betreten","Nein danke")
if auswahl == 1 then
say_title("Wächter.:")
say("")
say("Dann tritt ein doch gib bitte")
say("achte auf dich,Ich werde dich nicht")
say("retten.")
wait()
pc.warp(216500,727000)
elseif auswahl == 2 then
return
end
end
end
when 20348.chat."Der Gunsamturm" with pc.get_map_index() == 64 and game.get_event_flag("run") == 0 begin
if pc.get_level() < 40 then
say_title("Wächter.:")
say("")
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder,wenn du Level 40 bist!")
else
say_title("Wächter.:")
say("")
say("Möchtest du den Gunsamturm betreten?")
local auswahl = select ("Betreten","Nein danke")
if auswahl == 1 then
say_title("Wächter.:")
say("")
say("Dann tritt ein doch gib bitte")
say("achte auf dich,Ich werde dich nicht")
say("retten.")
wait()
pc.warp(216500,727000)
elseif auswahl == 2 then
return
end
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302)
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
when devil_stone3.kill begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 15*60, pc.get_map_index())
d.notice_all("Findet den richtigen Metinstein");
d.notice_all("und zerstört ihn. Die falschen");
d.notice_all("Metinsteine werden verschwinden!");
d.notice_all("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 10*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice_all("Die Zeit ist abgelaufen")
d.notice_all("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice_all("Ein falscher Metinstein verschwindet");
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice_all("Ihr habt den richtigen Metinstein")
d.notice_all("zerstört. Ihr werdet nun in die nächste")
d.notice_all("Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice_all("Ihr befindet euch nun in der 5. Ebene ")
d.notice_all("Öffnet alle Siegel um in die nächste Ebene zu gelangen.")
d.notice_all("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 20*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 15*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 10*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer with d.getf("level") == 5 begin
if d.select(get_server_timer_arg()) then
d.notice_all("Die Zeit ist abgelaufen")
d.notice_all("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice_all("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice_all("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice_all("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
d.kill_all()
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- Turmschmiede
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20074).."")
say("")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20074).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
npc.purge()
timer("devil_jump_7", 6)
return
else
say_title(""..mob_name(20074).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20075).."")
say("")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20075).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
npc.purge()
return
else
say_title(""..mob_name(20075).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title(""..mob_name(20076).."")
say("")
say("Ihr möchtet in die nächste")
say("Etage des Gunsamturms?Hmm...")
say("Ihr haben Glück! Heute erlaube")
say("ich es euch.")
say("")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=75 then
say_title(""..mob_name(20076).."")
say("")
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
npc.purge()
return
else
say_title(""..mob_name(20076).."")
say("")
say_reward("Betreten der 7.Etage nicht erlaubt!")
say("")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 75 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
say("")
wait()
pc.warp(691400,1130000)
return
end
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
--------------------------------------------
-- Finde die Karte
--------------------------------------------
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
game.drop_item(30302, 1)
d.clear_regen()
else
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title("Menü.:")
say("")
say("Ihr habt die richtige Karte gefunden,")
say("die nächste Ebene wurde euch geöffnet.")
say("")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
when 30301.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title("Menü.:")
say("")
say("Du hast die falsche Karte gefunden,")
say("für die nächste Ebene benötigt Ihr")
say("Karte des Gunsamturm.")
pc.remove_item("30301", 1)
end
--------------------------------------------
-- Finde den Schlüssel
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level")==8 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
game.drop_item(30304, 1)
else
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- Die letzte Etagen
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.set_regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.notice_all("Der Geist vom Sensenmann wurde bezwungen nun ist");
d.notice_all("ist der Gunsamenturm wirklich frei von allen Bösen.");
d.notice_all("Ihr könnt den Turm nun verlassen.");
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
mfg
bine
Ein bekannter Fehler bei den Daroo files :P
siehe Anhang die funktionieren