wenn eine neuere game benutzt:
d.new_jump_party(index,kordx,kordy)
bei älteren game revesionen:
d.join(mapindx)
d.new_jump_party(index,kordx,kordy)
bei älteren game revesionen:
d.join(mapindx)
----------------------------------------------------
-- spider_dungeon_3floor_boss Quest
----------------------------------------------------
quest spider_dungeon_3floor_boss begin
state start begin
function is_in_bossroom()
if not pc.in_dungeon() then
return false
else
local map_index = d.get_map_index()
if map_index >= 740000 and map_index < 749000 then
return true
else
return false
end
end
end
when login with spider_dungeon_3floor_boss.is_in_bossroom() == true begin
pc.set_warp_location(74, 512, 5632)
if d.getf("spawn") == 0 then
d.regen_file(get_locale_base_path().."/map/metin2_map_spiderdungeon_03/base_regen.txt")
mob.spawn(2094,380, 585 , 10, 1, 1)
d.setf("spawn",1)
d.setf("random",number(1,32000))
clear_server_timer('duration_end',d.get_map_index())
clear_server_timer('duration_end1',d.get_map_index())
clear_server_timer('duration_end2',d.get_map_index())
clear_server_timer('duration_end3',d.get_map_index())
clear_server_timer('exit_bossrom',d.get_map_index())
server_timer('duration_end',60*4,d.get_map_index())
server_timer('exit_bossrom', 60*21,d.get_map_index())
d.notice("Willkommen in der Bruthöhle der Spinnenbaroness. Ihr habt maximal 20 Minuten Zeit um den Run zu absolvieren.")
end
end
when kill with spider_dungeon_3floor_boss.is_in_bossroom() == true begin
if npc.get_race() == 2094 then
game.drop_item(30327,1)
d.notice("Die "..mob_name(2094).." wurde besiegt nun ruft mit hilfe der "..item_name(30327).." das wahre Monster herbei!")
elseif npc.get_race() == 2095 then
local old_hp = d.getf("spider_full") - 10000
d.setf("spider_full",old_hp)
local new = 381590 + old_hp
d.unique_set_maxhp("spider"..d.getf("random"),new)
d.unique_set_hp("spider"..d.getf("random"),new)
elseif npc.get_race() == 2092 and d.is_unique_dead("spider") then --Spinnenbaroness
clear_server_timer('duration_end',d.get_map_index())
clear_server_timer('duration_end1',d.get_map_index())
clear_server_timer('duration_end2',d.get_map_index())
clear_server_timer('duration_end3',d.get_map_index())
clear_server_timer('exit_bossrom',d.get_map_index())
d.clear_regen()
d.kill_all()
notice(""..mob_name(2092).." wurde vernichtet und ihr werdet in 1 Minute hinausteleportiert.")
server_timer('exit_bossrom', 60,d.get_map_index())
d.setf("spawn",0)
end
end
when exit_bossrom.server_timer with d.select(get_server_timer_arg()) begin
game.set_event_flag("spider_dungeon_3floor_boss", get_time() + 3600)
d.exit_all()
d.clear_regen()
end
when duration_end.server_timer with d.select(get_server_timer_arg()) begin
server_timer('duration_end1', 60*14,d.get_map_index())
d.notice("Euch verbleiben noch 15 Minuten")
end
when duration_end1.server_timer with d.select(get_server_timer_arg()) begin
server_timer('duration_end2', 60*9,d.get_map_index())
d.notice("Euch verbleiben noch 10 Minuten")
end
when duration_end2.server_timer with d.select(get_server_timer_arg()) begin
server_timer('duration_end3', 60*4,d.get_map_index())
d.notice("Euch verbleiben noch 5 Minuten")
end
when duration_end3.server_timer with d.select(get_server_timer_arg()) begin
server_timer('exit_bossrom', 60,d.get_map_index())
d.notice("Euch verbleibt noch 1 Minute. Bevor ihr hinausteleportiert werdet.")
end
when 30327.use with spider_dungeon_3floor_boss.is_in_bossroom() == true begin
d.regen_file(get_locale_base_path().."/map/metin2_map_spiderdungeon_03/base_regen.txt")
local vid = d.spawn_mob(2092, 380, 585)
d.set_unique("spider"..d.getf("random"), vid)
item.remove()
d.notice("Das wahre Monster wurde herbeigerufen "..mob_name(2092).."! Vernichtet sie und ihr werdet reichlich belohnt!")
spider_dungeon_3floor_boss.spawn_eier()
end
when 30130.chat."Zugang zur Bruthöhle" with pc.get_level() >= 50 and pc.get_map_index() == 74 begin
if party.is_leader() == false then
say("")
say("Nur der Gruppenanführer kann euch in die")
say("Bruthöhle bringen.")
say("")
return
end
--if pc.getqf("spiderKeyMaking", "keymake") < 1 then
--say("")
--say("Du hast die Quest noch nicht absorlviert")
--say("Tue dies und komme anschließend wieder.")
--say("")
--return
--end
if get_time() < game.get_event_flag("spider_dungeon_3floor_boss") then
say("")
say("Die höhle kann momentan noch nicht betreten werden.")
say("Probiere es später nochmal.")
say("")
local tt = math.floor(((game.get_event_flag("spider_dungeon_3floor_boss") - get_time()) / 60)+0.5)
say("Verbleib Zeit: "..tt.." Minuten.")
return
end
say("")
say("Ohhh.")
say("Ich bekomme hier selten besuch..")
say("")
say("Wie ich sehe möchtest ihr die Bruthöhle")
say("der "..mob_name(2092).." betreten.")
say("Doch seit gewarnt.. Sie ist hungrig und")
say("zögert nicht euch alle zu fressen...")
say("")
wait()
say("")
say("Alles klar.. Ihr seit mutig!")
say("Ich bringe euch ins innere der höhle")
say("")
wait()
if pc.count_item(30324) >= 1 then
pc.remove_item(30324,1)
elseif pc.count_item(30325) >= 1 then
pc.remove_item(30325,1)
else
say("")
say("Ich kann euch nicht passieren lassen.")
say("Euch fehlt der "..item_name(30324).."")
say_item_vnum(30324)
return
end
d.new_jump_party(74,878,6148)
end
function spawn_eier()
local rr = number(3,10)
d.setf("spider_full",rr*10000)
local hp = rr * 10000 + 381590
d.unique_set_maxhp("spider"..d.getf("random"),hp)
d.unique_set_hp("spider"..d.getf("random"),hp)
for i = 1, rr,1 do
local r = number(1,5)
if r == 1 then
mob.spawn(2095,367 + number(2,15), 585 - number(1,15), 10, 1, 1)
elseif r == 2 then
mob.spawn(2095,360 + number(1,10), 580 - number(2,10), 10, 1, 1)
elseif r == 3 then
mob.spawn(2095,365 - number(3,10), 575 + number(4,10), 10, 1, 1)
elseif r == 4 then
mob.spawn(2095,370 + number(4,17), 590 - number(1,10), 10, 1, 1)
else
mob.spawn(2095,367 - number(1,15), 585 + number(3,15), 10, 1, 1)
end
end
end
end
end