ich habe ein Problem bei dem Eisrun in der 9. Ebene. Und zwar.. Wenn ich alle Mobs und Säule des Norddrachen töte, sowie zerstöre, komme ich nicht weiter zur nächsten Ebene.. Wofür steht "snow_dungeon_settings.BossVnumGroup = 6062", dass steht nämlich in der Lua.
Lua/Quest:
PHP Code:
quest snow_dungeon begin
state start begin
when 20395.chat."Spawn Statue" with snow_dungeon.is_nemeres_dungeon() == true begin
d.purge()
d.spawn_mob_dir(20397, 173,262,1)
setskin(NOWINDOW)
end
when 20395.chat."TESTSERVER: SnowD Jump level 9" with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_9",6,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_9.txt")
setskin(NOWINDOW)
end
when 20395.chat."TESTSERVER: SnowD Jump level 10" with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
server_timer("Jp_Boss",3,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
local v = set.BossVnumGroup
d.spawn_group(v, 928, 335, 5 ,1, 1)
setskin(NOWINDOW)
end
when 20395.chat."TESTSERVER: SnowD Spawn Boss" with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
local v = set.BossVnumGroup
d.spawn_group(v, 928, 335, 5 ,1, 1)
end
when 20395.chat."TESTSERVER: SnowD Ending" with snow_dungeon.is_nemeres_dungeon() == true begin
server_timer("Jp_OutAll",5,d.get_map_index())
say("done")
end
when 20395.chat."TESTSERVER: SnowD Spawn create Cords Test level 5" with snow_dungeon.is_nemeres_dungeon() == true begin
snow_dungeon._Create_Stones_level5()
setskin(NOWINDOW)
end
when 20395.chat."TESTSERVER: SnowD Create Key level 5" with snow_dungeon.is_nemeres_dungeon() == true begin
snow_dungeon._DropKeyOnLevel5()
setskin(NOWINDOW)
end
when 20395.chat."TESTSERVER: SnowD Get Kords from Level" with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
local warp_to_level = set.Position_level_1
local level = 2
say("old: x: "..warp_to_level[1].." y:"..warp_to_level[2].."")
local warp_to_level = set. _G[ "Position_level_"..level ]
say("new: x: "..warp_to_level[1].." y:"..warp_to_level[2].."")
end
function get_settings()
local snow_dungeon_settings = {}
snow_dungeon_settings.map_index = 352
snow_dungeon_settings.base_cord = {5120, 1536}
snow_dungeon_settings.outside_entry_pos = {61,4321,1667}
snow_dungeon_settings.need_level = 100
snow_dungeon_settings.need_level_group = 100 --Benötigte Level für Gruppenmitglieder
snow_dungeon_settings.WaitBeforOutAllOnExit = 60 --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Empfohlen 60)
snow_dungeon_settings.NextJumpTime = 5 --Wann man zur nächsten ebene Gejumpt wird (timer) (Empfohlen 5)
snow_dungeon_settings.DurationLoopTimer = 45 --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45)
snow_dungeon_settings.wait_duration = 60*60*4 --Ab wann der Dungeon wieder betretbar ist (PartyLeader)
snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*1 --Maximale Zeit für den Dungeon.
snow_dungeon_settings.DurationMaxOnReJoinGroup = 60*5 --Maximale Zeit innerhalb wann man wieder in die Gruppe joinen kann.
snow_dungeon_settings.key_level_2 = 30331
snow_dungeon_settings.NpcVnum_level_5 = 20398
snow_dungeon_settings.StoneCount_level_5 = 6
snow_dungeon_settings.Key_on_level_5 = 30332
snow_dungeon_settings.StoneCords_level_5 = {
{432,508},{437,493},{448,492},{448,476},{467,475},{466,464},
{462,450},{458,428},{446,439},{431,431},{415,416},{402,427},
{397,438},{375,434},{374,456},{390,468},{385,492},{402,505},
{404,489},{386,482}
}
snow_dungeon_settings.MobVnum_level_6 = 8058
snow_dungeon_settings.MobVnum_level_7 = 6151
snow_dungeon_settings.SzelCords_level_7 = {
{752,499},{758,479},{772,452},{763,444},{750,451},{728,441},
{726,455},{718,482},{715,491},{731,473},{748,429}
}
snow_dungeon_settings.Key_on_level_8 = 30333
snow_dungeon_settings.NpcVnum_level_9 = 20399
snow_dungeon_settings.BossVnumGroup = 6062
snow_dungeon_settings.BossVnum = 6191
snow_dungeon_settings.Position_level_1 = { 171,271 }
snow_dungeon_settings.Position_level_2 = { 761,270 }
snow_dungeon_settings.Position_level_3 = { 187,491 }
snow_dungeon_settings.Position_level_4 = { 421,259 }
snow_dungeon_settings.Position_level_5 = { 419,530 }
snow_dungeon_settings.Position_level_6 = { 571,706 }
snow_dungeon_settings.Position_level_7 = { 746,534 }
snow_dungeon_settings.Position_level_8 = { 303,710 }
snow_dungeon_settings.Position_level_9 = { 848,693 }
snow_dungeon_settings.Position_level_10 = { 927,391 }
snow_dungeon_settings.Enable_TestServerMode = false
snow_dungeon_settings.IsNewga_me_re_vi_sion = false
return snow_dungeon_settings
end
function is_TestServerMode()
local set = snow_dungeon.get_settings()
return set.Enable_TestServerMode
end
function is_nemeres_dungeon()
local set = snow_dungeon.get_settings()
local map = pc.get_map_index()
if map >= (set.map_index * 10000) and map < (set.map_index * 10000 + 9000) then
return true
else
return false
end
end
when 20395.chat."Nemeres Warte: Gruppe beitreten" with (party.is_party() and d.find(party.getf("ice_dungeon_map_index"))) begin
local set = snow_dungeon.get_settings()
local n = party.getf("ice_dungeon_map_index")
local cord = set.base_cord
local level = d.getf_from_map_index("level", n)
if level == 0 then
say_npc_name()
say("Deine Gruppe hat den Run bereits beendet.")
return
end
if pc.getqf("out_party_time") < get_global_time() then
say_npc()
say("")
say("Du hast länger als "..math.ceil(set.DurationMaxOnReJoinGroup /60) .." Minute(n) vor dem")
say("Eisberg verweilt und kannst jetzt nicht")
say("mehr eintreten.")
return
end
if n == 0 then
setskin(NOWINDOW)
return
else
say_npc()
say("")
say("Möchtest du deiner Gruppe wieder beitreten?")
if select("Beitreten","Abbrechen") == 1 then
local warp_to_level = set.Position_level_1
local level = d.getf_from_map_index("level", n)
if level >= 1 and level <= 10 then
if level == 1 then warp_to_level = set.Position_level_1
elseif level == 2 then warp_to_level = set.Position_level_2
elseif level == 3 then warp_to_level = set.Position_level_3
elseif level == 4 then warp_to_level = set.Position_level_4
elseif level == 5 then warp_to_level = set.Position_level_5
elseif level == 6 then warp_to_level = set.Position_level_6
elseif level == 7 then warp_to_level = set.Position_level_7
elseif level == 8 then warp_to_level = set.Position_level_8
elseif level == 9 then warp_to_level = set.Position_level_9
elseif level == 10 then warp_to_level = set.Position_level_10
end
pc.warp((cord[1] + warp_to_level[1])*100,(cord[2] + warp_to_level[2])*100,n)
else
return
end
end
end
end
when 20395.chat."Nemeres Warte" begin
local set = snow_dungeon.get_settings()
local need_level = set.need_level
say_title("Die Nemeres Warte ~ Dungeon")
say("")
say("Einen Kampf mit Nemeres aufnehmen.")
say("")
say_reward("Möchtest du die Nemeres Warte betreten?")
if select("Die Nemeres Warte betreten", "Abbrechen") == 2 then
return
end
if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then
say("Your are GameMaster, remove the duration?")
if select("Yes","No") == 1 then
pc.setf("snow_dungeon","duration",0)
return
end
end
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
say("TestServer Mode is enable.")
say("Join now")
timer("make_dungeon",3)
return
end
if not party.is_leader() then
say_title("Die Nemeres Warte ~ Dungeon")
say("")
say_reward("Betreten fehlgeschlagen!")
say("")
say("Ich schätze deinen Mut, doch alleine wirst du in")
say("der Nemeres-Warte in dein Verderben rennen.")
say("Stelle eine starke Gruppe zusammen und ich werde")
say("dir Einlass gewähren.")
return
end
if pc.get_level() < 100 then
say_title("Die Nemeres Warte ~ Dungeon")
say("")
say_reward("Betreten fehlgeschlagen!")
say("")
say("Ich schätze deinen Mut, doch um den Dungeon")
say("betreten zu können, musst du level "..need_level.."")
say("erreicht haben.")
say("")
say_reward("Bitte komme später nochmal vorbei.")
return
end
if pc.getf("snow_dungeon","duration") >= get_global_time() then
say_title("Die Nemeres Warte ~ Dungeon")
say("")
say_reward("Betreten fehlgeschlagen!")
say("")
say("Die Wartezeit für den Wiedereintritt in die")
say("Nemeres-Warte ist noch nicht abgelaufen. ")
say("Verb. Zeit: "..LIB_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."")
return
end
if snow_dungeon._CheckMembersLevel() == false then
return
else
timer("make_dungeon",2)
end
end
when 20397.chat."Die Schlacht beginnen" begin
say_title("Die Nemeres Warte ~ Dungeon")
say("")
say_reward("Einen Kampf zu Nemeres beginnen.")
say("")
say("Möchtet Ihr den Kampf zu Nemeres beginnen?")
if select("Beginnen","Abbrechen") == 1 then
local set = snow_dungeon.get_settings()
local loop_durr = set.DurationLoopTimer
local wait_durations = set.wait_duration
local t = get_global_time()
d.setf("LastTimeGetOutPut",0)
server_loop_timer("CheckLevelAndCountKillOnMobs",loop_durr,d.get_map_index())
d.regen_file("data/dungeon/ice_dungeon/zone_1.txt")
d.setf("Start_Time",t + set.maxlife_time_on_dungeon)
server_timer("Jp_OutAllFailNotice",(t + set.maxlife_time_on_dungeon) - t,d.get_map_index())
d.setqf2("snow_dungeon","duration",t + wait_durations)
d.setf("level",1)
d.notice("Die ersten Monster erscheinen, tötet alle um in den nächsten Stock zu gelangen.")
npc.purge()
snow_dungeon._GetLastTime()
end
setskin(NOWINDOW)
end
when make_dungeon.timer begin
local set = snow_dungeon.get_settings()
local cord = set.base_cord
local start_pos = set.Position_level_1
local t = get_global_time()
d.new_jump_party(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2]))
snow_dungeon._ClearAlls()
d.setf("party_leader_pid",party.get_leader_pid())
party.setf("ice_dungeon_map_index",d.get_map_index())
d.spawn_mob_dir(20397, 173,262,1)
end
function _ClearAlls()
local d_index = d.get_map_index()
clear_server_timer("CheckLevelAndCountKillOnMobs",d_index)
clear_server_timer("Jp_1",d_index)
clear_server_timer("Jp_2",d_index)
clear_server_timer("Jp_3",d_index)
clear_server_timer("Jp_4",d_index)
clear_server_timer("Jp_5",d_index)
clear_server_timer("Jp_6",d_index)
clear_server_timer("Jp_7",d_index)
clear_server_timer("Jp_8",d_index)
clear_server_timer("Jp_9",d_index)
clear_server_timer("Jp_10",d_index)
clear_server_timer("Jp_OutAll",d_index)
clear_server_timer("Jp_OutAllFail",d_index)
clear_server_timer("Jp_OutAllFailNotice",d_index)
d.setf("level",0)
d.setf("party_leader_pid",0)
d.setf("Start_Time",0)
d.setf("LastTimeGetOutPut",0)
d.setf("Stone_5_count",0)
d.setf("Stone_5_item_fail",0)
d.clear_regen()
d.kill_all()
end
function _CheckMembersLevel()
local set = snow_dungeon.get_settings()
local user_fail_level = {}
local pids = {party.get_member_pids()}
local need_level = set.need_level_group
local have_ninja = true
local have_shaman = true
for i = 1, table.getn(pids), 1 do
q.begin_other_pc_block(pids[i])
if pc.get_level() < need_level then
table.insert(user_fail_level, table.getn(user_fail_level) +1, pc.get_name())
end
local job = pc.get_job()
if job == 1
or job == 5
then
have_ninja = true
end
if job == 3
or job == 7
then
have_shaman = true
end
q.end_other_pc_block()
end
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
return true
end
if have_ninja == false then
say("Ihr könnt diesen Dungeon nicht ohnen einen")
say("Ninja betreten.")
return false
end
if have_shaman == false then
say("Ihr könnt diesen Dungeon nicht ohnen einen")
say("Schamanen betreten.")
return false
end
if table.getn(user_fail_level) >= 1 then
say_npc()
say("")
say("Einige Mitglieder einer Gruppe haben das")
say("Level "..need_level.." noch nicht erreicht:")
for x = 1, table.getn(user_fail_level), 1 do
say(color(1,1,0), " "..user_fail_level[x])
end
return false
end
if table.getn(user_fail_level) == 0 then
return true
end
end
when logout begin
if snow_dungeon.is_nemeres_dungeon() == true then
local set = snow_dungeon.get_settings()
pc.setqf("out_party_time",get_global_time() + set.DurationMaxOnReJoinGroup)
end
end
when login begin
if snow_dungeon.is_nemeres_dungeon() == true then
local set = snow_dungeon.get_settings()
local backk = set.outside_entry_pos
pc.set_warp_location(backk[1], backk[2],backk[3])
if d.getf("party_leader_pid") != party.get_leader_pid() then
chat("nemeres_wait_dungeon #RAUS:# Outside, your Group is not on this Dungeon")
chat("nemeres_wait_dungeon #RAUS:#debug -> "..d.getf("party_leader_pid").." != "..party.get_leader_pid().."")
d.exit()
return
end
if pc.get_level() < set.need_level_group then
chat("nemeres_wait_dungeon #RAUS:# My level is low")
d.exit()
return
end
end
end
function _GetLastTime()
local c = get_global_time()
local t = d.getf("Start_Time") - c
local o = d.getf("LastTimeGetOutPut")
if c >= o then
if t >= 60 then
d.notice("Verbleibende Zeit: "..math.ceil(t / 60).." Minute(n)")
d.notice("Nach Ablauf der Zeit wird die Gruppe aus der Warte teleportiert.")
else
d.notice("Verbleibende Zeit: "..t .." Sekunde(n)")
end
if t >= (60*10) then
d.setf("LastTimeGetOutPut",c + 60*5)
elseif t >= (60*5) then
d.setf("LastTimeGetOutPut",c + 60*2)
else
d.setf("LastTimeGetOutPut",c + 10)
end
end
end
when Jp_OutAllFailNotice.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Dungeon fehlgeschlagen. Die Zeit ist abgelaufen")
server_timer("Jp_OutAll",1,d.get_map_index())
end
end
when CheckLevelAndCountKillOnMobs.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local level = d.getf("level")
local mob_count = d.count_monster()
d.notice("Information: Ebene "..level..". Verbleibende Monster: "..mob_count)
local next_jump_time = set.NextJumpTime
if level == 1 and mob_count <= 0 then
d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_2",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.set_regen_file("data/dungeon/ice_dungeon/zone_2.txt")
elseif level == 3 and mob_count <= 0 then
d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_4",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_4.txt")
elseif level == 4 and mob_count <= 0 then
d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_5",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.set_regen_file("data/dungeon/ice_dungeon/zone_5.txt")
elseif level == 6 and mob_count <= 0 then
local MobStonelvl6 = set.MobVnum_level_6
d.notice("Ihr habt alle Monster besiegt: Der "..mob_name(MobStonelvl6).." erscheint.")
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
d.spawn_mob(MobStonelvl6,570,649)
elseif level == 7 and mob_count <= 0 then
d.notice("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_8",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.set_regen_file("data/dungeon/ice_dungeon/zone_8.txt")
end
snow_dungeon._GetLastTime()
end
end
when Jp_2.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.key_level_2
d.setf("level",2)
local cord = set.base_cord
local pos = set.Position_level_2
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Findet den richtigen "..item_name(v).." um weiter zu gelangen.")
end
end
when 30331.use with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
local next_jump_time = set.NextJumpTime
local job = pc.get_job()
local level = d.getf("level")
if level == 2 then
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
job = 3
end
if number(1,3) == 1 then
d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_3",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_3.txt")
item.remove()
else
d.notice("Das war der Falsche Schlüssel.")
item.remove()
end
end
end
when Jp_3.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
d.setf("level",3)
local cord_MQ = set.base_cord
local pos = set.Position_level_3
d.jump_all((cord_MQ[1] + pos[1]), (cord_MQ[2] + pos[2]))
d.notice("Tötet auf dieser Ebene alle Monster, um in den nächsten Stock zu gelangen.")
end
end
when Jp_4.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
d.setf("level",4)
local cord = set.base_cord
local pos = set.Position_level_4
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Tötet auf dieser Ebene alle Monster, um in den nächsten Stock zu gelangen.")
end
end
when Jp_5.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.NpcVnum_level_5
d.setf("level",5)
local cord = set.base_cord
local pos = set.Position_level_5
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Öffnet in der richtigen Reihenfolge die Siegel um die "..mob_name(v).." zu zerstören.")
if set.IsNewga_me_re_vi_sion == true then
d.notice("Die Monster lassen die Schlüssel fallen.")
else
d.notice("Die Schlüssel wandern automatisch in dein Inventar.")
end
snow_dungeon._Create_Stones_level5()
end
end
function _DropKeyOnLevel5()
if number(500,1000) >= 666 then
return
end
local set = snow_dungeon.get_settings()
local count = set.StoneCount_level_5
local vnum = set.Key_on_level_5
local get_random_unique = d.get_unique_vid("stone5_"..number(1,count).."")
local fail_count = d.getf("Stone_5_item_fail") +1
local search = d.getf("Stone_5_count")
local search2 = d.get_unique_vid("stone5_"..search.."")
if search2 != get_random_unique then
d.setf("Stone_5_item_fail",fail_count)
end
if set.IsNewga_me_re_vi_sion == true then
game.drop_item_and_select(vnum,1)
else
pc.give_item2_select(vnum,1)
end
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
item.set_socket(1,search2)
d.setf("Stone_5_item_fail",0)
elseif fail_count > 6 then
item.set_socket(1,search2)
d.setf("Stone_5_item_fail",0)
else
item.set_socket(1,get_random_unique)
end
end
function _Create_Stones_level5()
local set = snow_dungeon.get_settings()
local stone_level5_count_MQ = set.StoneCount_level_5
local c = set.StoneCords_level_5
local v = set.NpcVnum_level_5
for i = 1, stone_level5_count_MQ, 1 do
local n = number(1,table.getn(c))
d.set_unique("stone5_"..i.."", d.spawn_mob(v, c[n][1], c[n][2]))
table.remove(c,n)
if i == 1 then
d.setf("Stone_5_count",1)
d.setf("Stone_5_item_fail",0)
end
end
end
when 20398.take begin
if snow_dungeon.is_nemeres_dungeon() == true then
local set = snow_dungeon.get_settings()
local stone_level5_count = set.StoneCount_level_5
local next_jump_time = set.NextJumpTime
local vnum = item.get_vnum()
local key_level_5 = set.Key_on_level_5
local unique_item = item.get_socket(1)
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
d.notice("TESTSERVERMODE, in wenigen Sekunden geht es in den nächsten Stock.")
npc.purge()
item.remove()
server_timer("Jp_6",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
return
end
if vnum == key_level_5 then
local npc_vid = npc.get_vid()
local search = d.getf("Stone_5_count")
local search2 = d.get_unique_vid("stone5_"..search.."")
if npc_vid == search2 then
if unique_item == npc_vid then
local new = search +1
if new > stone_level5_count then
d.notice("Der letzte Stein wurde endeckt, in wenigen Sekunden geht es in den nächsten Stock.")
npc.purge()
item.remove()
server_timer("Jp_6",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")
else
d.notice("Der "..search..". Stein wurde endeckt. Es müssen noch weitere ".. stone_level5_count - search .." Steine gefunden werden.")
npc.purge()
item.remove()
end
d.setf("Stone_5_count",new)
else
chat("Das ist zwar der richtige Stein, aber der falsche Schlüssel.")
item.remove()
end
else
chat("Das ist nicht der richtige Stein.")
end
end
end
end
when Jp_6.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.MobVnum_level_6
d.setf("level",6)
local cord = set.base_cord
local pos = set.Position_level_6
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Ihr habt alle Monster getötet.")
d.notice("Tötet nun alle Monster und zerstört anschließend den "..mob_name(v).."")
end
end
when Jp_7.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.MobVnum_level_7
d.setf("level",7)
local cord = set.base_cord
local pos = set.Position_level_7
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Ihr habt den Metinstein erfolgreich zerstört nun Tötet alle Monster und "..mob_name(v)..".")
end
end
when Jp_8.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.Key_on_level_8
d.setf("level",8)
local cord = set.base_cord
local pos = set.Position_level_8
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Tötet solange Monster bis ihr den richtigen "..item_name(v).." habt.")
end
end
when 30333.use with snow_dungeon.is_nemeres_dungeon() == true begin
local set = snow_dungeon.get_settings()
local next_jump_time = set.NextJumpTime
local level = d.getf("level")
local job = pc.get_job()
if level == 8 then
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
job = 3
end
if number(1,3) == 1 then
d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_9",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_9.txt")
item.remove()
else
d.notice("Das war der falsche Schlüssel.")
item.remove()
end
end
end
when Jp_9.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.NpcVnum_level_9
d.setf("level",9)
local cord = set.base_cord
local pos = set.Position_level_9
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Zerstört die "..mob_name(v).." ")
d.spawn_mob(v,849,655)
end
end
when Jp_Boss.server_timer begin
if d.select(get_server_timer_arg()) then
local set = snow_dungeon.get_settings()
local v = set.BossVnum
d.setf("level",10)
local cord = set.base_cord
local pos = set.Position_level_10
d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2]))
d.notice("Besiegt "..mob_name(v)..", den König über Frost und Eis.")
end
end
when kill begin
if snow_dungeon.is_nemeres_dungeon() == true then
local set = snow_dungeon.get_settings()
local next_jump_time = set.NextJumpTime
local level = d.getf("level")
local stone_level_6 = set.MobVnum_level_6
local stone_level_9 = set.NpcVnum_level_9
local boss_vnum = set.BossVnum
local wait_time = set.WaitBeforOutAllOnExit
local mobvnum = npc.get_race()
if level == 2 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then
local v = set.key_level_2
game.drop_item(v,1)
elseif level == 5 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,15) then
snow_dungeon._DropKeyOnLevel5()
elseif level == 6 and mobvnum == stone_level_6 then
d.notice("Der "..mob_name(stone_level_6).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_7",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_7.txt")
local v_MQv = set.MobVnum_level_7
local c = set.SzelCords_level_7
local n = number(1,table.getn(c))
d.spawn_mob(v_MQv, c[n][1], c[n][2])
elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then
local v = set.Key_on_level_8
game.drop_item(v,1)
elseif level == 9 and mobvnum == stone_level_9 then
d.notice("Der "..mob_name(stone_level_9).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
server_timer("Jp_Boss",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
local v = set.BossVnumGroup
d.spawn_group(v, 928, 335, 5 ,1, 1)
elseif level == 10 and mobvnum == boss_vnum then
d.clear_regen()
d.kill_all()
game.drop_item_with_ownership(72000, 1)
game.drop_item_with_ownership(81002, 1)
game.drop_item_with_ownership(72000, 1)
notice_all("Die Gruppe von ".. pc.get_name() .." haben "..mob_name(boss_vnum).." besiegt. Herzlichen Glückwunsch!")
notice_all("Endlich herrscht Frieden in der Nemeres Warte.")
d.notice("Alle Kämpfer werden in einer Minute aus der Nemeres-Warte teleportiert.")
server_timer("Jp_OutAll",wait_time,d.get_map_index())
end
end
end
when Jp_OutAll.server_timer begin
if d.select(get_server_timer_arg()) then
snow_dungeon._ExitAll()
end
end
function _ExitAll()
d.exit_all()
end
end
end
Dazu haben ich in der Sysser (Clientside) stehen:
PHP Code:
1213 18:49:21349 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
1213 18:49:21960 :: CRaceManager::RegisterRacePath : RACE[20397] LOAD MSMFILE[d:/ymir work/npc/ICE_lionstone/ICE_lionstone.msm] ERROR. Will Find Another Path.
1213 18:49:28509 :: CRaceManager::RegisterRacePath : RACE[6102] LOAD MSMFILE[d:/ymir work/monster2/ice_snow_insect/ice_snow_insect1.msm] ERROR. Will Find Another Path.
1213 18:49:28525 :: CRaceManager::RegisterRacePath : RACE[6103] LOAD MSMFILE[d:/ymir work/monster2/ice_snow_man/ice_snow_man1.msm] ERROR. Will Find Another Path.
1213 18:49:28564 :: CRaceManager::RegisterRacePath : RACE[6101] LOAD MSMFILE[d:/ymir work/monster2/ice_snow_monster/ice_snow_monster1.msm] ERROR. Will Find Another Path.
1213 18:49:28670 :: CRaceManager::RegisterRacePath : RACE[6104] LOAD MSMFILE[d:/ymir work/monster2/ice_snow_giant_man/ice_snow_giant_man1.msm] ERROR. Will Find Another Path.
1213 18:49:28719 :: CRaceManager::RegisterRacePath : RACE[6105] LOAD MSMFILE[d:/ymir work/monster2/ice_snow_golem/ice_snow_golem1.msm] ERROR. Will Find Another Path.
1213 18:50:41065 :: CRaceManager::RegisterRacePath : RACE[20375] LOAD MSMFILE[d:/ymir work/npc/npc_fence/npc_fence.msm] ERROR. Will Find Another Path.
1213 18:50:39203 :: CRaceManager::RegisterRacePath : RACE[20399] LOAD MSMFILE[d:/ymir work/npc/ice_stonepillar/ice_stonepillar.msm] ERROR. Will Find Another Path.
Und Serverside:
PHP Code:
SYSERR: Dec 13 17:31:13 :: main: Failed to Load ClientPackageCryptInfo File(package/)
SYSERR: Dec 13 17:31:52 :: heart_idle: losing 37 seconds. (lag occured)
SYSERR: Dec 13 17:37:00 :: SyncPosition: Too many SyncPosition Count(17) from Name(WasLossHier)
SYSERR: Dec 13 17:39:17 :: AddServerTimer: already registered server timer name:Jp_3 arg:3520000
SYSERR: Dec 13 17:42:57 :: GetUniqueVid: Unknown Key or Dead: stone5_1
SYSERR: Dec 13 17:43:45 :: GetUniqueVid: Unknown Key or Dead: stone5_2
SYSERR: Dec 13 17:44:06 :: GetUniqueVid: Unknown Key or Dead: stone5_2
SYSERR: Dec 13 17:44:59 :: GetUniqueVid: Unknown Key or Dead: stone5_1
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_6
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_6
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_2
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_6
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_6
SYSERR: Dec 13 17:47:17 :: GetUniqueVid: Unknown Key or Dead: stone5_6
SYSERR: Dec 13 17:59:59 :: AddServerTimer: already registered server timer name:Jp_9 arg:3520000
SYSERR: Dec 13 18:00:16 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:00:16 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:00:26 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:00:35 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:00:59 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:00:59 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:00 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:09 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:09 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:10 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:15 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:17 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:01:17 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:05:01 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:10:27 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:10:28 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:10:28 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)
SYSERR: Dec 13 18:10:28 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(100) Map(3520000)






