NEMERE GİRİŞ LUA DOSYASINI DÜZENLEMEM RAĞMEN OLMUYOR bunu nedeni nedir yada nasıl yapacağımız detaylı bir biçimde anlatırmısınız benim çok kafam karıştı razadora girişte herhangi bir karakter istemesi ekleyeyip silebiliyorken nemerede bir türlü ninja ve şamanı kaldıramadım
bunu neresi yanlış hem gösterim hemde düzenleyebilirmisiniz rica etsem bütün karakterler içerisinde rahatça istediklerini yapabilsinler özel karaterler istemesin sadece ninja yapabilir sadece şaman yapabilir demesin hepsi yapsın
Lua (Quest):
quest snow_dungeon begin
state start begin
function get_settings()
local snow_dungeon_settings = {}
snow_dungeon_settings.map_index = 352 --Mapindex
snow_dungeon_settings.base_cord = {5120, 1536 } --Base Kordinaten
snow_dungeon_settings.outside_entry_pos = {61,4327,1668} --Mapindex, Exit Position (Eisland)
snow_dungeon_settings.need_level = 90 --Ab wann ist der Dungeon betretbar.
snow_dungeon_settings.need_level_group = 90 --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 = 15 --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45)
snow_dungeon_settings.wait_duration = 60*60*2 --Ab wann der Dungeon wieder betretbar ist (PartyLeader)
snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*2 --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 --KeyVnum für die 2.Ebene --Frostschlüssel
snow_dungeon_settings.NpcVnum_level_5 = 20398 --MobVnum von 5.Ebene --Würfel des Arktos
snow_dungeon_settings.StoneCount_level_5 = 6 --Wie viele Würfel des Arktos sollen erscheinen?
snow_dungeon_settings.Key_on_level_5 = 30332 --KeyVnum von 5.Ebene --Nordstern
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}
} --Positionen von Würfel des Arktos
snow_dungeon_settings.MobVnum_level_6 = 8058 --MobVnum von 6.Ebene --Metin der Kälte
snow_dungeon_settings.MobVnum_level_7 = 6151 --MobVnum von 7.Ebene --Szel
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}
} --Positionen von Szel
snow_dungeon_settings.Key_on_level_8 = 30333 --KeyVnum von 8.Ebene --Eisblumenschlüssel
snow_dungeon_settings.NpcVnum_level_9 = 20399 --MobVnum von 9.Ebene --Säule des Norddrachen
snow_dungeon_settings.BossVnumGroup = 6062 --GroupMobVnum vom Boss --(Group.txt)
snow_dungeon_settings.BossVnum = 6191 --MobVnum von 10.Ebene --Nemere(6191)
snow_dungeon_settings.Position_level_1 = { 171,271 } --Position ebene 1 --Startposition --Töte alle Monster auf dieser Ebene.
snow_dungeon_settings.Position_level_2 = { 761,270 } --Position ebene 2 --Finde den richtigen Frostschlüssel, nur ein Schamane kann ihn benutzen.
snow_dungeon_settings.Position_level_3 = { 187,491 } --Position ebene 3 --Töte alle Monster auf dieser Ebene.
snow_dungeon_settings.Position_level_4 = { 421,259 } --Position ebene 4 --Töte alle Monster auf dieser Ebene.
snow_dungeon_settings.Position_level_5 = { 419,530 } --Position ebene 5 --Öffnet die Siegel an den Würfel des Arktos in der richtigen Reihenfolge. (Zieht Nordstern auf die Würfel)
snow_dungeon_settings.Position_level_6 = { 571,706 } --Position ebene 6 --Töte alle Monster auf dieser Ebene. Danach Zersöre den Metin der Kälte (Nur ein Schamane kann ihn Schaden)
snow_dungeon_settings.Position_level_7 = { 746,534 } --Position ebene 7 --Töte alle Monster auf dieser Ebene und Szel
snow_dungeon_settings.Position_level_8 = { 303,710 } --Position ebene 8 --Der Eisblumenschlüssel muss gedroppt werden, jedoch kann dieser nur von Schamanen und Ninja benutzt werden.
snow_dungeon_settings.Position_level_9 = { 848,693 } --Position ebene 9 --Zerstört die Säule des Norddrachen. Nur Ninjas und Schamanen können ihm Schaden zufügen.
snow_dungeon_settings.Position_level_10 = { 927,391 } --Position ebene 10 (BossZone) --Besiege Nemere, den König über Frost und Eis.
snow_dungeon_settings.Enable_TestServerMode = false --Ob TestServer mode aktiviert ist. Wenn ja werden die Aufgaben schneller beendet.
snow_dungeon_settings.IsNewga_me_re_vi_sion = true --Need ga_me_re_vi_sion 40301
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
-- --------------------- #Zindana devam et ------------------------
-- pc.setf("snow_dungeon","dungeon_turn",1)
-- pc.setf("snow_dungeon","dungeon_turn",0)
-- ----------------------------------------------------------------
-- --------------------- #Zindana devam et ------------------------
-- function is_nemere_dungeon_turn_back()
-- if pc.getf("snow_dungeon","dungeon_turn") == 1 and game.get_event_flag("nemere_dungeon_turn_back") == 0 and game.get_event_flag("dungeon_turn_back") == 0 then
-- return true
-- else
-- return false
-- end
-- end
-- when 20395.chat."Nemereye devam et..." with snow_dungeon.is_nemere_dungeon_turn_back() begin
-- say_npc()
-- say_reward_center("Görünüse göre yarim kalan bir macera var")
-- say_reward_center("seni içeri tekrar göndermemi ister misin ?")
-- say("")
-- local s = select("Beni içeri gönder !","Kapat")
-- if s == 1 then
-- pc.dungeon_turn_back_warp(352)
-- end
-- end
-- ----------------------------------------------------------------
when 20395.chat."Nemere'nin Kulesi (Bireysel)" begin
addimage(35,35,'nemere.tga')
if party.is_leader() or party.is_party() then
say_title_center(mob_name(20395))
say("")
say("")
say("")
say("")
say("")
say_reward_center("Bu zindana grup halinde giremezsin")
say_reward_center("lütfen önce bulundugun grupdan ayril !")
return
end
-- sys_log(0,"snow_dungeon quest open")
local set = snow_dungeon.get_settings()
local need_level = 90
say_title_center(mob_name(20395))
addimage(35,35,'nemere.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Nemerenin kulesine tek basina giris yapabilirsin")
say_center("Biraz tehlikeli bir yolculuk olacak gibi duruyor!")
say("")
say_reward_center("Nemere'nin Gözetleme Kulesi'ne girmek")
say_reward_center("istiyor musun?")
if select("Gir","Girme") == 2 then
return
end
-- ------------ Dungeon Turn Back System ----------------------
-- pc.remove_turn_back_dungeon()
-- ------------------------------------------------------------
if (game.get_event_flag("enable_time_snow") == 1 and pc.getf("snow_dungeon","duration") >= get_global_time()) then
say_title_center(mob_name(20395))
addimage(35,35,'nemere.tga')
say("")
say("")
say("")
say("")
say("")
say("Beta Server; süreyi sifirlamak mi istiyorsun?")
if select("Evet","Hayir") == 1 then
pc.setf("snow_dungeon","duration",0)
return
end
end
if pc.get_level() < need_level then
say_title_center(mob_name(20395))
addimage(35,35,'nemere.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Kuleye girebilmek için en az "..need_level..".")
say_center("seviyede olmalisin.")
return
end
if pc.getf("snow_dungeon","duration") >= get_global_time() then
say_title_center(mob_name(npc.get_race()))
addimage(35,35,'nemere.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Nemere'nin Gözetleme Kulesi'ne yeniden giris ")
say_center("için bekleme süresi henüz dolmamis.")
say_center("Kalan süre: "..dungeon_get_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."")
return
end
if pc.count_item(71174) < 1 then
say_title_center(mob_name(20395))
addimage(35,35,'nemere.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Envanterinde yeterli miktarda yok:")
say_center(string.format("%s.", item_name(71175)))
say("")
return
end
pc.remove_item(71174, 1)
timer("make_dungeon",2)
end
when 20397.chat."Zindani Canlandir !" with d.getf("level") == 0 begin --Eisiger Löwe
say("Nemere'nin Gözetleme kulesine girdin. Burada")
say("en fazla bir saat bulunabilirsin. Kuleden")
say("çiktiginda dört saat bekledikten sonra tekrar")
say("girebilirsin.")
wait()
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())
--pc.setqf("duration",t + wait_durations)
d.setqf2("snow_dungeon","duration",t + wait_durations)
d.setf("level",1)
d.notice("Bütün düsmanlari maglup edin!")
npc.purge()
snow_dungeon._GetLastTime()
setskin(NOWINDOW)
end
when 20397.chat."Nemere Taht Salonu" with d.getf("level") == 9 begin --Eisiger Löwe
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()
say("Nemere Taht Salonu'na girmek istiyor musun?")
local s = select("Gir","Belki sonra")
if s == 2 then
return
end
server_timer("Jp_Boss",next_jump_time,d.get_map_index())
local v = set.BossVnumGroup
d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
d.spawn_group(v, 928, 335, 5 ,1, 1)
npc.purge()
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()
pc.setf("snow_dungeon","dungeon_turn",0)
-- d.new_jump(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2]))
pc.setf("snow_dungeon","turn_back_time", 0)
d.new_jump(set.map_index,(cord[1] + start_pos[1]) * 100, (cord[2] + start_pos[2]) * 100)
snow_dungeon._ClearAlls()
d.setf("party_leader_pid",pc.get_player_id())
pc.setf("ice_dungeon_map_index",d.get_map_index())
d.spawn_mob_dir(20397, 173,262,1) --Eisiger Löwe
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
if pc.get_level() < need_level then
say("Seviyen yetersiz.")
end
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
--dchat("TEST modu aktif.")
return true
end
if table.getn(user_fail_level) == 0 then
return true
end
end
when logout begin
if snow_dungeon.is_nemeres_dungeon() == true then
------------ Dungeon Turn Back System ----------------------
pc.setf("snow_dungeon","dungeon_turn",1)
-- pc.setf("snow_dungeon","turn_back_time", get_time() + (5 * 60))
------------------------------------------------------------
end
end
-- ------------ Dungeon Turn Back System ----------------------
-- when dungeon_turn_back_exit_nemeres.server_timer begin
-- if d.select(get_server_timer_arg()) then
-- pc.warp(432000,165000)
-- end
-- end
-- ------------------------------------------------------------
when login begin
if pc.get_map_index() == 352 then
pc.warp(432000,165000)
return
end
if snow_dungeon.is_nemeres_dungeon() == true then
-- ------------ Dungeon Turn Back System ----------------------
-- if (get_time() > pc.getf("snow_dungeon","turn_back_time") and get_time() > pc.getf("snow_dungeon","turn_back_time") != 0) then
-- say_npc()
-- say("Zindana devam etmek için sana verilen")
-- say("5 dakika süre doldu!")
-- say("")
-- say_reward_center("Disari gönderiliyorsun !")
-- server_timer("dungeon_turn_back_exit_nemeres",5 ,d.get_map_index())
-- return
-- end
-- ------------------------------------------------------------
local set = snow_dungeon.get_settings()
local backk = set.outside_entry_pos
-- pc.set_warp_location(backk[1], backk[2],backk[3])
if pc.get_level() < set.need_level_group then
chat("Yetersiz seviye!")
d.exit()
return
end
--chat("Hos geldiniz. Burada "..math.ceil((d.getf("Start_Time") - get_global_time()) /60) .." dakikalik süreniz var.")
--notice("Sonraki kata çikmak için Tüm yaratiklari öldürün.")
--snow_dungeon._GetLastTime()
end
end
function _GetLastTime()
local c = get_global_time()
local t = d.getf("Start_Time") - c
local o = d.getf("LastTimeGetOutPut")
--d.notice("CurrentTime: "..c.." Last: "..o.."")
if c >= o then
if t >= 60 then
d.notice("Nemere Gözlemevi'ndeki kalan süre: "..math.ceil(t / 60).." dakika")
d.notice("Süre bitiminde gözlemevinden disari, girise")
d.notice("isinlanacaksiniz.")
else
d.notice("Nemere Gözlemevi'ndeki kalan süre: "..t.." saniye")
d.notice("Süre bitiminde gözlemevinden disari, girise")
d.notice("isinlanacaksiniz.")
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
--d.setf("LastTimeGetOutPut",c + 60*number(3,5)) -- Random
end
end
when Jp_OutAllFailNotice.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Zaman doldu.")
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()
local next_jump_time = set.NextJumpTime
--d.notice("level: "..level.." mob_count: "..mob_count.."")
if level == 1 and mob_count <= 5 then
d.notice("Az sonra ikinci kata isinlanacaksiniz.")
--d.notice("")
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 <= 5 then
d.notice("Az sonra dördüncü kata isinlanacaksiniz.")
--d.notice("")
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 <= 5 then
d.notice("Az sonra besinci kata isinlanacaksiniz.")
-- d.notice("")
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 <= 5 then
local MobStonelvl6 = set.MobVnum_level_6
d.notice("Ayaz Metini belirdi!")
--d.notice("")
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 <= 5then
-- d.notice("Az sonra sekizinci kata isinlanacaksiniz.")
--d.notice("")
-- 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 --Jump Level 2
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("Bazi canavarlarin üzerinde buz anahtari var.")
d.notice("Buz anahtarlari ellerinden alin ve uyan anahtari bulun! ")
end
end
when 30331.use with snow_dungeon.is_nemeres_dungeon() == true and d.getf("fix30331") == 0 begin --key_level_2
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
--dchat("SET VARIABLE JOB 3")
job = 3
end
if number(1,3) == 1 then --or d.count_monster() < 10 then
d.setf("fix30331", 1)
d.notice("Az sonra üçüncü kata isinlanacaksiniz.")
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("Dogru anahtari aramaya devam edin.")
item.remove()
end
end
end
when Jp_3.server_timer begin --Jump Level 3
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("Bütün düsmanlari maglup edin!")
end
end
when Jp_4.server_timer begin --Jump Level 4
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("Bütün düsmanlari maglup edin! Kutsama size ikinci")
d.notice("akinda güç kazandiracak.")
end
end
when Jp_5.server_timer begin --Jump Level 5
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("Bir sonraki kata geçmek için Arktos Küpleri'ndeki")
d.notice("mühürleri sirasiyla kirin.")
d.notice("Buz canavarlarini maglup edin ve ellerinden kuzey")
d.notice("yildizlarini alip mühürleri kirin!")
--if set.IsNewga_me_re_vi_sion == true then
-- d.notice("Die Schlüssel lassen die Monster fallen...")
-- else
-- d.notice("Die Schlüssel landen automatisch ins Inventar...")
-- end
snow_dungeon._Create_Stones_level5()
end
end
function _DropKeyOnLevel5()
if number(1,1000) >= 900 then --Abbruch der weiteren funtion -> Damit es spannend bleibt bei den würfeln... :P
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
--New function
game.drop_item_and_select(vnum,1)
-- else
--pc.give_item2_select(vnum,1)
-- end
--dchat("Creaty Key fail_count: "..fail_count.."")
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --Wenn TestServer Modus
item.set_socket(1,search2)
d.setf("Stone_5_item_fail",0)
elseif fail_count > 6 then --Wenn mehr wie x mal nicht richtig erstellt wird, dann kommt der richtige Key
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 --{ {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}}
local v = set.NpcVnum_level_5
for i = 1, stone_level5_count_MQ, 1 do
local n = number(1,table.getn(c))
--d.spawn_mob(20398, c[n][1], c[n][2])
d.set_unique("stone5_"..i.."", d.spawn_mob(v, c[n][1], c[n][2]))
--d.set_unique("stone5_"..i.."", mob.spawn(20398, c[n][1], c[n][2],1,1,1)) --GEHT
--d.set_unique("stone5_"..i.."", d.spawn_mob_ac_dir(20398, c[n][1], c[n][2],i)) --GEHT
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 --NpcVnum_level_5
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 --30332
local unique_item = item.get_socket(1)
--dchat("unique_item: "..unique_item.."")
if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
d.notice("TESTSERVERMODE, Biraz sonra isinlanacaksiniz.")
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.."")
--dchat("npc_vid: "..npc_vid.." search:"..search.." search2:"..search2.." ")
if npc_vid == search2 then
if unique_item == npc_vid then
local new = search +1
if new > stone_level5_count then
d.notice("Az sonra altinci kata isinlanacaksiniz.")
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
if new == 2 then
say("Basardiniz! Simdi ikinci mührü açin.")
elseif new == 3 then
say("Basardiniz! Simdi üçüncü mührü açin.")
elseif new == 4 then
say("Basardiniz! Simdi dördüncü mührü açin.")
elseif new == 5 then
say("Basardiniz! Simdi besinci mührü açin.")
elseif new == 6 then
say("Basardiniz! Simdi altinci mührü açin.")
end
npc.purge()
item.remove()
end
d.setf("Stone_5_count",new)
else
say("Siralama dogru! Fakat anahtar yanlis. Baska")
say("bir anahtari deneyin.")
item.remove()
end
else
say("Siralamanin dogru olmasina dikkat edin! Baska bir")
say("küpü deneyin.")
--say("zaa")
item.remove()
end
end
end --if is dungeon end
end --when end
when Jp_6.server_timer begin --Jump Level 6
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("Bütün buz canavarlarini maglup edin ve ardindan")
d.notice("Ayaz Metini'ni yok edin.")
--- d.notice("Nur Schamanen können ihm Schaden hinzufügen.")
--d.spawn_mob(v,570,649)
end
end
when Jp_7.server_timer begin --Jump Level 7
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("Ayazin ve buzun efendisi Szel'i bulun ve yok edin.")
d.notice("Bunun üstesinden ancak ejderhanin destegiyle")
d.notice("gelinebilir.")
end
end
when Jp_8.server_timer begin --Jump Level 8
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("Bütün buz canavarlarini maglup edin ve buzçiçegi anahtarini bulun. ")
end
end
when 30333.use with snow_dungeon.is_nemeres_dungeon() == true and d.getf("fix30333") == 0 begin --Key_on_level_8
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
--dchat("SET VARIABLE JOB 3")
job = 3
end
if number(1,3) == 1 then
d.setf("fix30333", 1)
d.notice("Az sonra dokuzunca kata isinlanacaksiniz.")
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
say("Yanlis anahtardi. Dogru anahtari bulun!")
item.remove()
end
end
end
when Jp_9.server_timer begin --Jump Level 9
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("Kuzeyli Ejderha Sütunu'nu yok edin!")
d.spawn_mob(v,849,655)
end
end
when Jp_Boss.server_timer begin --Jump Level BossZone
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("Ayazin ve buzun krali Nemere'yi maglup edin.")
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_7 = set.MobVnum_level_7
local stone_level_9 = set.NpcVnum_level_9
local boss_vnum = set.BossVnum
local wait_time = set.WaitBeforOutAllOnExit
local mobvnum = npc.get_race()
--dchat("nemeres_wait_dungeon MobVnum = "..mobvnum.."")
if level == 2 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,50) 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,20) then
snow_dungeon._DropKeyOnLevel5()
elseif level == 6 and mobvnum == stone_level_6 then
d.notice("Az sonra yedinci kata isinlanacaksiniz.")
--d.notice("")
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") --Szel
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 == 7 and mobvnum == stone_level_7 then
d.notice("Az sonra sekizinci kata isinlanacaksiniz.")
--d.notice("")
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")
elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,50) then
local v = set.Key_on_level_8
game.drop_item(v,1)
elseif level == 9 and mobvnum == stone_level_9 then
--d.notice("Sonraki seviyeye geçiyorsunuz ve "..mob_name(stone_level_9).." maglup edildi.")
--server_timer("Jp_Boss",next_jump_time,d.get_map_index())
d.clear_regen()
d.kill_all()
d.spawn_mob_dir(20397, 849,670,1)
--d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
--local v = set.BossVnumGroup
--d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count)
elseif level == 10 and mobvnum == boss_vnum then
game.drop_item_with_ownership("50034",1)
d.clear_regen()
d.kill_all()
d.notice("Nemere maglup edildi!")
d.notice("Bir dakika içerisinde Nemere Gözlemevi'nden disari ")
d.notice("isinlanacaksiniz.")
notice_all("Nemere "..pc.get_name().." tarafindan yok edildi.")
server_timer("Jp_OutAll",wait_time,d.get_map_index())
end
end
end
when Jp_OutAll.server_timer begin --Jump Out Bye bye ;D
if d.select(get_server_timer_arg()) then
snow_dungeon._ExitAll()
end
end
function _ExitAll()
d.exit_all()
end
end
end
Son düzenleme: