[NEW] Ninja ve Şamansız Nemere Questi

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 77

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Başlıkta belirttiğim gibi ücretli arayanlar vardı, bir de ayaz sütunu mu ne var ninja ve şamanlar vurabiliyor sadece onun olayı ne bilmiyorum ama tahminimce navicat üzerinden kılıç savınmaları vs. fullenmiştir diye düşünüyorum.


Kod:
quest snow_dungeon begin     state start begin         function get_settings()             local snow_dungeon_settings = {}             snow_dungeon_settings.map_index = 240                           --Map�ndex             snow_dungeon_settings.base_cord = {5120, 1536 }                 --�lk I��nlanacak Kordinat             snow_dungeon_settings.outside_entry_pos = {61,4327,1668}        --S�re doldu�unda ataca�� kordinat ve map             snow_dungeon_settings.need_level = 100                          --Giri� i�in istenilen seviye 1             snow_dungeon_settings.need_level_group = 100                    --Giri� i�in istenilen seviye 2             snow_dungeon_settings.WaitBeforOutAllOnExit = 60            --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Empfohlen 60)             snow_dungeon_settings.NextJumpTime = 5                        --5 Saniye içinde kat atlanıcak             snow_dungeon_settings.DurationLoopTimer = 15                --Welchen intervall die Level und Missionen gepr�ft werden sollen. (Empfohlen 45)             snow_dungeon_settings.wait_duration = 60*60*4                   --Parti liderinin tekrar kuleye giri� ba�vurusu i�in istenilen s�re             snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*1         --Kule i�in toplam s�re             snow_dungeon_settings.DurationMaxOnReJoinGroup = 60*5           --Kuleden at�ld�ktan sonra 5 dk i�inde tekrar giri� s�resi             snow_dungeon_settings.key_level_2 = 30331                       --Buz Anahtar�             snow_dungeon_settings.NpcVnum_level_5 = 20398                   --Arktos K�p�             snow_dungeon_settings.StoneCount_level_5 = 6                    --6 adet Ayaz Kristali             snow_dungeon_settings.Key_on_level_5 = 30332                    --Kuzey Y�ld�z�             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         when 20395.chat."GM: Nemere Kulesi" with pc.is_gm() begin         local s = select("Nemere Kulesi A�/Kapat","Hi�bir �ey")             if s == 1 then                 if game.get_event_flag("nemere_on") == 0 then                     say("Nemere Kulesi �u anda kapal�.")                     say("Aktif etmek istiyor musun?")                     if select("Evet","Hay�r") == 2 then return end                     game.set_event_flag("nemere_on",1)                     return                 else                     say("Nemere Kulesi �u anda a��k.")                     say("Kapatmak istiyor musun?")                     if select("Evet","Hay�r") == 2 then return end                     game.set_event_flag("nemere_on",0)                     return                 end             elseif s == 2 then                 return             end         end     when 20395.chat."Gruba tekrar kat�l" with (party.is_party() and d.find(party.getf("ice_dungeon_map_index"))) and game.get_event_flag("nemere_on") == 1 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("Grubun zaten Nemere'yi yendi.")                 return             end             if pc.getqf("out_party_time") < get_global_time() then                 say("G�zetleme kulesinden "..math.ceil(set.DurationMaxOnReJoinGroup  /60) .." dakika �nce �km��s�n.")                 say("Art�k i�eriye giremezsin.")                 return             end             if n == 0 then                 setskin(NOWINDOW)                 return             else                 say_title(mob_name(npc.get_race()))                 say("")                 say("Tekrar grubuna kat�lmak istiyor musun?")                 if select("Evet","Hay�r") == 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."Nemere'nin G�zetleme Kulesi" with game.get_event_flag("nemere_on") == 1 begin             local set = snow_dungeon.get_settings()             local need_level = 100             say("Nemere'nin G�zetleme Kulesi'nde tek ba��na")             say("hayatta kalamazs�n. Seninle beraber gelecek")             say("bir arkada��na daha ihtiyac�n var.")             say("Nemere'nin G�zetleme Kulesi'ne girmek")             say("istiyor musun?")             if select("Gir","Girme") == 2 then                 return             end             if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then                 say("Game Master; s�reyi s�f�rlamak m� istiyorsun?")                 if select("Evet","Hay�r") == 1 then                     pc.setf("snow_dungeon","duration",0)                     return                 end             end             if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then                 say("Test server modu etkinle�tirildi.")                 say(" �imdi ���nlanacaks�n�z.")                 timer("make_dungeon",3)                 return             end             if not party.is_leader() then                 say("Cesaretini takdir ediyorum ama")                 say("yaln�zca grup lideri giri� talebi yapabilir.")                 return             end             if pc.get_level() < need_level then                 say("Kuleye girebilmek i�in en az "..need_level..".")                 say("seviyede olmal�s�n.")                 return             end             if pc.getf("snow_dungeon","duration") >= get_global_time() then                 say_title(mob_name(npc.get_race()))                 say("Nemere'nin G�zetleme Kulesi'ne yeniden giri� ")                 say("i�in bekleme s�resi hen�z dolmam��.")                 say("Kalan saniye: "..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."Nemere'nin G�zetleme Kulesi" with d.getf("level") == 0 begin --Eisiger L�we             if not party.is_leader() then                 say("Grup lideri de�ilsin.")                 return             end             say("Nemere'nin G�zetleme kulesine girdin. Burada")             say("en fazla bir saat bulunabilirsin. Kuleden")             say("��kt���nda 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())             d.setqf2("snow_dungeon","duration",t + wait_durations)             d.setf("level",1)             d.notice("B�t�n d��manlar� ma�lup edin!")              npc.purge()             snow_dungeon._GetLastTime()             setskin(NOWINDOW)         end                  when 20397.chat."Nemere Taht Salonu" with d.getf("level") == 9 begin             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 not party.is_leader() then                 say("Grup lideri de�ilsin.")                 return             end             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 pids = {party.get_member_pids()}             local ticketGroup = {71130, 1}             local set = snow_dungeon.get_settings()             local cord = set.base_cord             local start_pos = set.Position_level_1             local t = get_global_time()             for i, pid in next, pids, nil do                 q.begin_other_pc_block(pid)                 for idx=1, table.getn(ticketGroup),2 do                     if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then                         pc.remove_item(ticketGroup[idx], ticketGroup[idx+1])                         break                     end                 end                 q.end_other_pc_block()             end             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 user_bilet= {}             local pids = {party.get_member_pids()}             local need_level = set.need_level_group             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                 q.end_other_pc_block()             end             for i = 1, table.getn(pids), 1 do                 q.begin_other_pc_block(pids[i])                 if pc.count_item(71130) < 1 then                     table.insert(user_bilet, table.getn(user_bilet) +1, pc.get_name())                 end                 q.end_other_pc_block()             end             if table.getn(user_fail_level) >= 1 then                 say_title(mob_name(npc.get_race()))                 say("")                 say("Grubun ba�z� �yeleri")                 say("hen�z "..need_level..". seviyeye ula�mam��:")                 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_bilet) >= 1 then                 say_title(mob_name(npc.get_race()))                 say("")                 say("Nemere Kulesine girebilmek i�in,[ENTER]b�t�n grup �yelerinin[ENTER]ge�i� biletine sahip olmas� gereklidir.[ENTER]Ge�i� izni olmayan �yeler:")                 for x = 1, table.getn(user_bilet), 1 do                     say(color(1,1,0), " "..user_bilet[x])                 end                 return false             end             if table.getn(user_fail_level) == 0 and table.getn(user_bilet) == 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:# Sizin grubunuz i�eride de�il.")                     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:# Benim seviyem d���k.")                     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("Nemere G�zlemevi'ndeki kalan s�re: "..math.ceil(t / 60).." dakika")                     d.notice("S�re bitiminde g�zlemevinden d��ar�, giri�e ���nlanacaks�n�z.")                 else                     d.notice("Nemere G�zlemevi'ndeki kalan s�re: "..t.." saniye")                     d.notice("S�re bitiminde g�zlemevinden d��ar�, giri�e ���nlanacaks�n�z.")                 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("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                 if level == 1 and mob_count <= 0 then                     d.notice("Az sonra ikinci kata ���nlanacaks�n�z.")                     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("Az sonra d�rd�nc� kata ���nlanacaks�n�z.")                     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("Az sonra be�inci kata ���nlanacaks�n�z.")                     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("Ayaz Metini belirdi!")                     d.clear_regen()                     d.kill_all()                     d.regen_file("data/dungeon/ice_dungeon/zone_6.txt")                     d.spawn_mob(MobStonelvl6,570,649)                                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("Baz� canavarlar�n �zerinde buz anahtar� var.")                 d.notice("Buz anahtarlar� ellerinden al�n ve uyan anahtar� bulun! Fakat anahtar� sadece bir �aman kullanabilir.")             end         end         when 30331.use with snow_dungeon.is_nemeres_dungeon() == true begin -- Buz Anahtar� �aman a�abilir 3/1 �ans             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 job == 3 -- Schamane weiblich                 or job == 7 --Schamane m�nnlich                 then                     if number(1,3) == 1 then                         d.notice("Az sonra ���nc� kata ���nlanacaks�n�z.")                         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")                         if item.get_vnum() == 30331 then                             item.remove()                         end                     else                         d.notice("Do�ru anahtar� aramaya devam edin.")                         if item.get_vnum() == 30331 then                             item.remove()                         end                     end                 else                     say("Anahtar� sadece �amanlar kullanabilir.")                     return                 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��manlar� ma�lup 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��manlar� ma�lup edin! Kutsama size ikinci ak�nda g�� kazand�racak.")             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 m�h�rleri s�ras�yla k�r�n.")                 d.notice("Buz canavarlar�n� ma�lup edin ve ellerinden kuzey y�ld�zlar�n� al�p m�h�rleri k�r�n!")                 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                          game.drop_item_and_select(vnum,1)                          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 --{ {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.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 --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                 if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then                     d.notice("TESTSERVERMODE, Biraz sonra ���nlanacaks�n�z.")                     npc.purge()                     if item.get_vnum() == 30332 then                         item.remove()                     end                     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 item.get_vnum() == 30332 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 item.get_socket(1) == npc.get_vid() then                             local new = search +1                              if new > stone_level5_count then                                 d.notice("Az sonra alt�nc� kata ���nlanacaks�n�z.")                                 npc.purge()                                 if item.get_vnum() == 30332 then                                     item.remove()                                 end                                 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("Ba�ard�n�z! �imdi ikinci m�hr� a��n.")                                 elseif new == 3 then                                     say("Ba�ard�n�z! �imdi ���nc� m�hr� a��n.")                                 elseif new == 4 then                                     say("Ba�ard�n�z! �imdi d�rd�nc� m�hr� a��n.")                                 elseif new == 5 then                                     say("Ba�ard�n�z! �imdi be�inci m�hr� a��n.")                                 elseif new == 6 then                                     say("Ba�ard�n�z! �imdi alt�nc� m�hr� a��n.")                                 end                                 npc.purge()                                 if item.get_vnum() == 30332 then                                     item.remove()                                 end                             end                             d.setf("Stone_5_count",new)                         else                             say("S�ralama do�ru! Fakat anahtar yanl��. Ba�ka")                             say("bir anahtar� deneyin.")                             if item.get_vnum() == 30332 then                                 item.remove()                             end                         end                     else                         say("S�ralaman�n do�ru olmas�na dikkat edin! Ba�ka bir")                         say("k�p� deneyin.")                         if item.get_vnum() == 30332 then                             item.remove()                         end                     end                 end             end         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 canavarlar�n� ma�lup edin ve ard�ndan")                 d.notice("Ayaz Metini'ni yok edin. Ayaz Metini'ne sadece �amanlar hasar verebilir.")             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("Ayaz�n ve buzun efendisi Szel'i bulun ve yok edin.")                 d.notice("Bunun �stesinden ancak ejderhan�n deste�iyle 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 canavarlar�n� ma�lup edin ve buz�i�e�i")                 d.notice("anahtar�n� bulun. Anahtar� sadece Ninjalar ve �amanlar kullanabilir.")             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("Az sonra dokuzunca kata ���nlanacaks�n�z.")                         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")                         if item.get_vnum() == 30333 then                             item.remove()                         end                     else                         say("Yanl�� anahtard�. Do�ru anahtar� bulun!")                         if item.get_vnum() == 30333 then                             item.remove()                         end                     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.notice("Kuzeyli Ejderha S�tunu'na sadece �amanlar ve Ninjalar hasar verebilir.")                 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("Ayaz�n ve buzun kral� Nemere'yi ma�lup 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()                 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 ���nlanacaks�n�z.")                     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 ���nlanacaks�n�z.")                     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.clear_regen()                     d.kill_all()                     d.spawn_mob_dir(20397, 849,670,1)                 elseif level == 10 and mobvnum == boss_vnum then                     d.clear_regen()                     d.kill_all()                     notice_all("Nemere "..pc.get_name().." ve grubu taraf�ndan yok edildi.")                     d.notice("Nemere ma�lup edildi!")                     d.notice("Bir dakika i�erisinde Nemere G�zlemevi'nden d��ar� ���nlanacaks�n�z.")                     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

[NEW] Ninja ve Şamansız Nemere Questi

Metin2 Lobby olarak, oyuncularımıza en kaliteli.quest deneyimini sunabilmek adına sürekli olarak yenilikler üretiyor ve mevcut sistemleri geliştiriyoruz. Bu bağlamda, Ninja ve Şaman sınıflarının bulunmadığı Nemere sunucuları için özelleştirilmiş bir.quest sistemi olan '[NEW] Ninja ve Şamansız Nemere Questi'ni duyurmaktan memnuniyet duyuyoruz. Bu.quest, özellikle Ninja ve Şaman sınıflarının olmaması sebebiyle bazı görevlerden mahrum kalan oyuncular için alternatif ödüller ve görev akışları sunmaktadır.

Questin Genel Yapısı
Quest, Metin2'nin orijinal.quest yapısına sadık kalınarak Lua dilinde yazılmıştır..quest dosyası, Metin2 Quest Sistemi kurallarına uygun şekilde tasarlanmıştır..quest akışı, oyuncuların seviyesine göre otomatik olarak yönlendirilir ve görevler, karakter sınıfına göre dinamik olarak ayarlanır. Ninja ve Şaman sınıfları olmayan Nemere sunucularda, bu sınıflarla ilişkili görevler yerine alternatif görevler sunulur. Bu sayede tüm sınıflar eşit şekilde.quest sisteminden faydalanabilir.

Questin Özellikleri
- Tüm sınıflar için dengeli.quest akışı.
- Ninja ve Şaman sınıflarına özel görevlerin yerine geçen alternatif görevler.
-.quest.reward sistemi ile yüksek seviye item ve 경험 puanları.
-.quest.timer ve.quest.trigger sistemleri ile otomatik görev takibi.
-.quest.debug ve.quest.state kontrolü ile kolay hata ayıklama imkanı.
-.quest.chain sistemi ile görev zincirleri.
-.quest.begin ve.quest.end işlemleri ile görev başlatma ve bitirme.

Quest Script Detayları
.quest script dosyası, Metin2 Lua dilinde yazılmıştır..quest dosyası, Metin2 Quest Edit sistemleri ile kolayca düzenlenebilir..quest.trigger mekanizması ile oyuncu hareketlerine göre.quest başlatılır..quest.flag sistemi ile.quest durumları takip edilir..quest.timer sayesinde zaman bazlı görevler sorunsuz çalışır..quest.state değişkenleri ile.quest aşamaları yönetilir..quest.reward bölümünde ise oyuncuya verilecek ödüller tanımlanır..quest.mob ve.quest.npc sistemleri ile görevde kullanılacak düşmanlar ve görev verici karakterler belirlenir.

Quest Hataları ve Çözüm Yolları
Bazı.quest dosyalarında hata oluşabilir..quest.hata durumlarında.quest.debug işlemi ile hata ayıklama yapılabilir..quest.server sistemlerinde karşılaşılan sorunlar için.script kontrolü önemlidir..quest.item ve.quest.mob sistemlerinde meydana gelen aksaklıklar için.test sunucusunda deneme yapılması önerilir..quest.chain sisteminde görev zincirlerinin doğru çalışması için.quest.begin ve.quest.end süreçlerinin dikkatle kodlanması gerekir.

Quest Ödülleri
.quest.reward sistemi, oyuncuların.quest tamamladıklarında alacakları ödülleri içerir..quest.item olarak yüksek değerli ekipmanlar,.EXP bonusu, altın veya özel efekt item'leri verilebilir..quest.daily gibi günlük görevler ile oyunculara sürekli ilham veren ödüller sunulabilir..quest.server üzerinde farklı ödül sistemleri entegre edilebilir..quest.npc aracılığıyla ödüller doğrudan verilebilir veya.quest.reward menüsü üzerinden seçimli ödül sistemi uygulanabilir.

Metin2 Lobby'de.quest Geliştirme
Metin2 Lobby olarak,.quest development konusunda uzman ekip ile çalışıyoruz..quest development sürecinde hem orijinal.quest yapısına sadık kalınıyor hem de kullanıcı dostu yeni sistemler geliştiriliyor..quest.lua formatında yazılmış bu.quest, Martysama Quest ve diğer.quest.dev sistemleri ile uyumlu çalışmaktadır..quest.edit işlemleri için gerekli tüm araçlar Metin2 Lobby kullanıcılarına ücretsiz sunulmaktadır.


[NEW] Ninja and Shamanless Nemere Quest

As Metin2 Lobby, we constantly create innovations and improve existing systems to provide our players with the highest quality quest experience. In this context, we are pleased to announce '[NEW] Ninja and Shamanless Nemere Quest', a customized quest system designed specifically for servers where the Ninja and Shaman classes are not available. This quest provides alternative rewards and task flows for players who might otherwise miss out on certain quests due to the absence of these classes.

General Structure of the Quest
The quest is written in the Lua language while adhering to Metin2's original quest structure. The quest file has been designed in accordance with the Metin2 Quest System rules. The quest flow is automatically directed based on the player's level, and tasks are dynamically adjusted according to the character class. On Nemere servers where Ninja and Shaman classes do not exist, alternative tasks replace those associated with these classes, allowing all classes to benefit equally from the quest system.

Features of the Quest
- Balanced quest flow for all classes.
- Alternative tasks replacing Ninja and Shaman-specific quests.
- High-level item and EXP point rewards through the quest reward system.
- Automatic quest tracking via quest timer and trigger systems.
- Easy debugging capabilities through quest debug and state checks.
- Quest chains for linked missions.
- Quest start and end processes managed by quest begin and end functions.

Quest Script Details
The quest script file is written in Metin2 Lua. The quest file can be easily edited using Metin2 Quest Edit tools. The quest trigger mechanism initiates quests based on player actions. The quest flag system tracks quest states. The quest timer ensures time-based tasks run smoothly. Quest state variables manage quest stages. The quest reward section defines the rewards given to the player. Quest mob and npc systems determine enemies and NPCs involved in the quest.

Quest Errors and Solutions
Errors may occur in some quest files. During quest error situations, debugging can be done via the quest debug process. For issues encountered in quest server systems, script checks are important. Testing on a test server is recommended for glitches in quest item and mob systems. Correct coding of quest begin and end processes is necessary to ensure proper functioning of quest chains.

Quest Rewards
The quest reward system includes the rewards players receive upon completing a quest. As quest items, high-value equipment, EXP bonuses, gold, or special effect items can be awarded. Daily quests like quest daily offer continuous rewarding incentives. Different reward systems can be integrated into the quest server. Rewards can be directly given via quest NPCs or offered through a selection-based reward menu.

Quest Development at Metin2 Lobby
At Metin2 Lobby, we work with an expert team on quest development. During the quest development process, we remain faithful to the original quest structure while also developing new user-friendly systems. This quest, written in quest.lua format, is compatible with Martysama Quest and other quest.dev systems. Tools required for quest edit operations are provided free of charge to Metin2 Lobby users.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt