Jump to content

Rick

Member
  • Posts

    29
  • Joined

  • Last visited

  • Feedback

    0%

About Rick

Informations

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Rick's Achievements

Contributor

Contributor (5/16)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

1

Reputation

  1. Version of Files : XXX Hi all! I have some problem this quest. Problem: " sd3.quest:184:syntax error : [string "startpc . in_dungeon ( )"]:1: `then' expected near `begin' Error occured on compile sd3.quest" How to edit this quest work fine?
  2. Skipia dungeon boss room cordinate: pc.warp(843200, 1066900) and skipia dungeon boss room settings.txt: [Hidden Content] THX
  3. Version of Files : XXX Hi all! I have some problem with blue dragon quest. I am talk the Sura ghost and warp to blue drangon boss room,but kick the boss room. (Group kick) Problem: Map index edited,and cordinate the boss room it's ok. THX. ---------------------------------------------------- --Tempel des Drachen ---------------------------------------------------- quest Tempel_of_dragon begin state start begin when 30121.chat."Tempel des Drachen" with pc.get_map_index() == 73 begin if get_time() > game.get_event_flag("Grotte_time") then game.set_event_flag("Grotte_zugang",0) end if pc.is_gm() or pc.count_item(80041) >= 1 then say_title(""..mob_name(30121).."") say("") say("Hallo Gamemaster, "..pc.get_name().."") say("Ich lasse dich auch ohne die Schlüssel und") say("das Passwort passieren.") wait() pc.warp(843200, 1066900) return end if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) < 3 then say_title(""..mob_name(30121).."") say("") say("Dir fehlen "..item_name(30179).."") say_item_vnum(30179) say("Komme wieder wenn du 3 besitzt.") return end if game.get_event_flag("Grotte_zugang") == 1 then say_title(""..mob_name(30121).."") say("") pc.setqf("grotte_passworto", 078954687921) if pc.getqf("abgabe") == 1 then pc.setqf("abgabe",0) say("Du hast bereits deine 3 Schlüssel abgeben.") say("Ich lasse dich passieren.") pc.setqf("erlaubt",1) wait() pc.warp(843200, 1066900) return end say("Tut mir Leid, der Raum ist reseviert.") say("Wenn du ein die Kennzahl hast für den Zugang,") say("gebe sie jetzt bitte ein.") local passwort = tonumber(input("")) --pc.setqf("grotte_passworto", passwort) if game.get_event_flag("Grotte_passwort") == passwort then say_title(""..mob_name(30121).."") say("") say("Die Kennzahl stimmt überein.") if pc.count_item(30179) < 3 then say("Ich kann dir den zutritt nicht gewähren") say("Dir fehlt "..item_name(30179).."") say_item_vnum(30179) say("Komme wieder wenn du 3 besitzt.") return end say("Ich gewähre dir den zutritt!") pc.setqf("erlaubt",1) wait() if pc.can_warp() then pc.remove_item("30179",3) end pc.warp(843200, 1066900) elseif passi != pc.getqf("grotte_passworto") then say_title(""..mob_name(30121).."") say("") say("Die Kennzahl ist leider falsch.") return end end if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) >= 3 then say_title(""..mob_name(30121).."") say("") say("Du bist der erste der den Eintritt in den Tempel") say("des Drachens verlangt. Ich werde dich passieren") say("lassen, sofern du einen gewunden Schlüssel") say("besitzt. Bevor du den Raum betreten darfst") say("musst du eine geheime Zahl eingeben.") say("Diese kannst du innerhalb von 5 Minuten an") say("deine Mitstreiter weitergeben, so das auch") say("sie den Raum betreten können. ") say("") say("Bedenke auch das die Macht der Schlüssel nur") say("30 Minuten lang hält. In dieser Zeit müsst") say("ihr den Drachen besiegt haben.") local i = select("Ich bin Bereit", "Abbrechen") if 1 == i then say_title(""..mob_name(30121).."") say("Dann Lege jetzt die kennzahl fest.") local passwort = tonumber(input("")) if passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then game.set_event_flag("Grotte_zugang",1) game.set_event_flag("Grotte_passwort",passwort) local times = get_time() + 300 --Wartezeit game.set_event_flag("Grotte_time", times) say_title(""..mob_name(30121).."") pc.setqf("abgabe",1) say("") say("Die Kennzahl lautet:") chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."") say_reward(""..passwort.."") say("Gib die Kennzahl deinen Mitstreitern weiter") pc.remove_item("30179",3) else say_title(""..mob_name(30121).."") say("") say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.") say("Bitte gebe nur Ziffern ein.") end end end end when login with pc.get_map_index() == 79 and not pc.is_gm() begin if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 79 then chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ") warp_to_village() end chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.") chat("Aber beeilt euch, sonst fliegt ihr raus") local sekunden = game.get_event_flag("Grotte_time") - get_time() notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden") timer("skipia_boss_ende", sekunden) pc.set_warp_location(73 , 1825, 12207) end when 8023.kill with pc.get_map_index() == 79 begin timer("skipia_boss_goo", 2) notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht") end when skipia_boss_goo.timer begin game.set_event_flag("Grotte_zugang",0) d.new_jump_all(79, 8436, 10669) d.setf("grotte_boss", 1) d.spawn_mob(9012, 239, 173) end when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin local n =d.getf("count") + 1 d.setf("count", n) --notice_all("Metin killed "..n.."") if n > 2 then local t = number(1,4) --notice_all("Spawn Metin") if 1 == t then d.regen_file("data/dungeon/skia_boss1.txt") elseif 2 == t then d.regen_file("data/dungeon/skia_boss2.txt") elseif 3 == t then d.regen_file("data/dungeon/skia_boss3.txt") else d.regen_file("data/dungeon/skia_boss4.txt") end end end when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin d.setf("grotte_boss", 3) notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.") d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören") d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.") timer("skipia_boss_end", 60) d.kill_all() d.spawn_mob(9012, 239, 173) d.clear_regen() end when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin pc.set_warp_location(73 , 1825, 12207) end when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin timer("skipia_boss_end", 3600) d.set_regen_file("data/dungeon/skia_boss.txt") local t = number(1,4) if 1 == t then d.regen_file("data/dungeon/skia_boss1.txt") elseif 2 == t then d.regen_file("data/dungeon/skia_boss2.txt") elseif 3 == t then d.regen_file("data/dungeon/skia_boss3.txt") else d.regen_file("data/dungeon/skia_boss4.txt") end local o = number(1,4) if 1 == o then d.regen_file("data/dungeon/skia_boss1.txt") elseif 2 == o then d.regen_file("data/dungeon/skia_boss2.txt") elseif 3 == o then d.regen_file("data/dungeon/skia_boss3.txt") else d.regen_file("data/dungeon/skia_boss4.txt") end d.setf("grotte_boss", 2) d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg") d.setf("count", 0) pc.set_warp_location(73 , 1825, 12207) end when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin --pc.warp(181700, 1220600) end when skipia_boss_end.timer begin d.exit_all() end when skipia_boss_ende.timer begin kill_all_in_map(79) game.set_event_flag("Grotte_zugang",0) d.setf("grotte_boss", 1) d.exit_all() end when login with pc.get_map_index() != 79 or not pc.in_dungeon() begin pc.setqf("erlaubt",0) end end end
  4. I am write the new quest .. problem solved..!
  5. Hi all! I need the work beran setaou quest.(No time limit group,and all group run the dungeon) Or this quest how edit, no time limit and more party player group go to run one time. quest beran7_setaou begin state start begin when logout begin if pc.get_map_index() == 79 then pc.delqf("icerdesin") end end when 30121.chat."Meg akarom ölni a sárkányt!" with pc.get_map_index() == 73 begin if game.get_event_flag("ejder_kullanimda") == 2 then say_title("Sura szellem:") say("") say("Már vannak a kristály teremben!") say("Vagy nem telt le a 60 perc türelmi idő.") say("Az 1 perc bemeneti idő lejárt.") say("") end if game.get_event_flag("time_1") - get_time() < 0 and game.get_event_flag("ejder_kullanimda") >= 1 then game.set_event_flag("ejder_kullanimda",0) kill_all_in_map(79) warp_all_to_village(79) end if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) < 3 then say_title("Sura szellem:") say("Szükséged van 3x: "..item_name(30179)..":") say_item_vnum(30179) say("3 db Csavart kulcsra van szükséged.") return end if game.get_event_flag("ejder_kullanimda") == 1 then say_title("Sura szellem:") say("") say("Sajnos a templomban vannak.") say("Ha tudod a helyes kódot,") say("van esélyed hogy bejuss.") say("De 3 db Csavart kulcs kell!") say("") local sifre = tonumber(input("")) if game.get_event_flag("ejder_sifresi") == sifre then say_title("Sura Szellem:") say("") if pc.count_item(30179) < 3 then say("Nem engedhetlek be.") say("Szükséged van 3x: "..item_name(30179)..":") say_item_vnum(30179) say("Nincs elég kulcsod, gyere vissza ha ") say("mind a 3 db kulcs meg van.") return end pc.remove_item("30179",3) say("Gratulálunk, helyes kód!") say("Be engedlek, győzd le és térj vissza!") pc.setqf("icerdesin",1) say("[DELAY value; 1000]. . . . . . . . . .[/DELAY]") wait() pc.warp(825715, 1063792) elseif sifre != game.get_event_flag("ejder_sifresi") then say_title("Sura Szellem:") say("Sajnálom, hibás kód.") return end end if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) >= 3 then say_title("Sura Szellem:") say("") say("Az első emberek akik szeretnének belépni ") say("a sárkány templomába. Ha van elegendő számú ") say("Csavart kulcsotok, bemehettek, 3 db kell fejenként.") say("Adj meg egy kódot, a többiek ezzel tudnak bejutni.") say("Ha megadtad a kódot, társaidnak 1 percük lesz") say("bemenni, 1 perc lejárta után már nem tudnak csatlakozni!") say("Viszont csak 60 percetek van megölni a sárkányt.") say("") local i = select("Készen vagyok!", "Mégse akarok bemenni! ") if 1 == i and game.get_event_flag("ejder_kullanimda") == 0 then say_title("Sura Szellem:") say("Most írd be a kódodat:") say("") say_reward("A kód számokból álljon!") local sifre = tonumber(input("")) if sifre and sifre <= 999999999 and pc.count_item(30179)>=3 then say_title("Sura Szellem:") say("") say("Ha be szeretnél belépni a sárkányhoz,") say("Kell:") say("3x:") say_item_vnum(30179) local zaxd = select("Megyek!","Mégse akarok bemenni! ") if zaxd == 2 then return elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") == 0 then say_title("Sura Szellem:") say("") say("Rendben, azonnal teleportállak..") say("Sok szerencsét a Sárkányhoz!") pc.remove_item("30179",3) pc.setqf("icerdesin",1) pc.setqf("lider",1) pc.setqf("ejder_sifre",sifre) clear_server_timer("ejderi_kescen",get_server_timer_arg()) clear_server_timer("disari_yolluyoz",get_server_timer_arg()) game.set_event_flag("ejder_kullanimda",1) game.set_event_flag("ejder_sifresi",sifre) game.set_event_flag("time_1", get_time()+60*60*1) say("[DELAY value; 1000]. . . . . . .[/DELAY]") wait() pc.warp(825715, 1063792) elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") == 1 then say_title("Sura Szellem:") say("") say("Már várnak a teremben.. Ha tudod a helyes ") say("jelszót akkor írd be és mehetsz is.") end else say_title("Sura Szellem:") say("") say_reward("Kódnak számokból kell állnia!") say_reward("A Kód max 9 db szám legyen.") end end end end when login begin if pc.getqf("icerdesin") == 1 then send_letter("Öld meg a Kék sárkányt!") end end when button or info begin q.set_clock("Hátralévő idő: ", game.get_event_flag("time_1")-get_time()) beran7_setaou.ejder_odasi_kalansure() end when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") != 1 begin warp_to_village() end when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin kill_all_in_map(79) notice_all(""..pc.get_name().." (és csoportja) megpróbálja megölni a Kék sárkányt!") notice(""..pc.getqf("ejder_sifre").." a kód, 1 percük van bemenni a társaidnak!") notice("Gyerünk!") notice("Szörnyek megjelenése 60 másodperc múlva.") server_timer("sifre_kapat", 60,pc.get_map_index()) server_timer("ejderi_kescen1", 3598,pc.get_map_index()) server_timer("ejderi_kescen", 3600,pc.get_map_index()) beran7_setaou.ejder_odasi_kalansure() pc.setqf("lider",2) pc.set_warp_location(73 , 2418, 12747) end when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") == 1 and pc.getqf("lider") != 1 begin beran7_setaou.ejder_odasi_kalansure() pc.set_warp_location(73 , 2418, 12747) end when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.get_map_index() == 79 begin local n =game.get_event_flag("kesilen_metin") + 1 game.set_event_flag("kesilen_metin", n) if n > 3 then local t = number(1,4) if 1 == t then regen_in_map(79,"data/dungeon/skia_boss1.txt") elseif 2 == t then regen_in_map(79,"data/dungeon/skia_boss2.txt") elseif 3 == t then regen_in_map(79,"data/dungeon/skia_boss3.txt") else regen_in_map(79,"data/dungeon/skia_boss4.txt") end end end when 2493.kill with pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda") >= 1 begin game.drop_item_with_ownership("71123",1) game.drop_item_with_ownership("71129",1) notice_all(""..pc.get_name().." (és csapata) sikeresen megölte a Kék sárkányt!") notice("60 másodperc múlva ki lesztek portálva.") game.set_event_flag("kesilen_metin",0) clear_server_timer("ejderi_kescen",get_server_timer_arg()) clear_server_timer("ejderi_kescen1",get_server_timer_arg()) server_timer("disari_yolluyoz",60, pc.get_map_index()) kill_all_in_map(79) end when 2493.kill with pc.get_map_index() != 79 begin game.drop_item_with_ownership("71123",1) game.drop_item_with_ownership("71129",1) notice_all(""..pc.get_name().." (és csapata) sikeresen megölte a Kék sárkányt!") end when sifre_kapat.server_timer begin game.set_event_flag("ejder_kullanimda",2) regen_in_map(79,"data/dungeon/skia_deliboss.txt") end when disari_yolluyoz.server_timer begin notice_all("A Kék sárkány visszatért!") kill_all_in_map(79) clear_server_timer("ejderi_kescen",get_server_timer_arg()) game.set_event_flag("ejder_kullanimda",0) warp_all_to_village(79) end when ejderi_kescen.server_timer with game.get_event_flag("time_1") - get_time() <= 0 begin notice_all("A Kék sárkány visszatért!") game.set_event_flag("ejder_kullanimda",0) kill_all_in_map(79) warp_all_to_village(79) end when login with pc.get_map_index() != 79 begin if pc.getqf("icerdesin") == 1 then pc.delqf("icerdesin") pc.delqf("ejder_sifre") pc.delqf("lider") end if pc.getqf("lider") == 1 then pc.delqf("lider") end end function ejder_odasi_kalansure() local saniyekalan = (game.get_event_flag("time_1") - get_time()) local dakikakalan = math.ceil(saniyekalan / 60) notice("Még "..dakikakalan.."percetek van megölni a Kék sárkányt!") end end end THX.
  6. THX, Problem solved! ^^ Ne quest problem: How to make this quest, not only leader need the dungeon ticket , all party player need the dungeon ticket. Or how to find gf nemere 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 } --Kezdő kordináta snow_dungeon_settings.outside_entry_pos = {61,4321,1667} --Mapindex, Kilépési kordináta (Sohan) snow_dungeon_settings.need_level = 100 --Minimum elérési szint snow_dungeon_settings.need_level_group = 100 --Szükséges szint a csoport tagjainak snow_dungeon_settings.WaitBeforOutAllOnExit = 60 --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Ajánlott 60 mp) snow_dungeon_settings.NextJumpTime = 5 --Mikor tesz a következő szintre (timer) (Ajánlott 5 mp) snow_dungeon_settings.DurationLoopTimer = 45 --Intervallum, szint és feltételek vizsgálati ideje (Ajánlott 45 mp) snow_dungeon_settings.wait_duration = 60*60*1 --Várakozási idő a következő runra (Csapat vezér) snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*1 --Maximális idő a runra snow_dungeon_settings.DurationMaxOnReJoinGroup = 60*5 --Maximális idő amely alatt újra lehet csatlakozni a csoporthoz snow_dungeon_settings.key_level_2 = 30331 --KeyVnum a 2-es szinten --Fagy-kulcs snow_dungeon_settings.NpcVnum_level_5 = 20398 --MobVnum az 5-ös szinten --Sarkvidéki kocka snow_dungeon_settings.StoneCount_level_5 = 6 --Mennyi kocka jelenjen meg? snow_dungeon_settings.Key_on_level_5 = 30332 --KeyVnum a 5-ös szinten --Északi sarkcsillag 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} } --A kocka poziciói snow_dungeon_settings.MobVnum_level_6 = 8058 --MobVnum a 6-os szinten --Hideg metinje snow_dungeon_settings.MobVnum_level_7 = 6151 --MobVnum a 7-es szinten --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} } --Szel poziciói snow_dungeon_settings.Key_on_level_8 = 30333 --KeyVnum a 8-as szinten --Jégvirág-kulcs snow_dungeon_settings.NpcVnum_level_9 = 8058 --MobVnum a 9-es szinten --Északi Sárkány oszlop snow_dungeon_settings.BossVnumGroup = 6062 --GroupMobVnum Boss-nál --(Group.txt) snow_dungeon_settings.BossVnum = 6191 --MobVnum a 10-es szinten --Nemere snow_dungeon_settings.Position_level_1 = { 171,271 } --Pozíció szint 1 --Start pozíció --Megölni az összes szörnyet ezen a szinten. snow_dungeon_settings.Position_level_2 = { 761,270 } --Pozíció szint 2 --A jó Fagy kulcs megtalálása, csak Sámán tudja használni. snow_dungeon_settings.Position_level_3 = { 187,491 } --Pozíció szint 3 --Megölni az összes szörnyet ezen a szinten. snow_dungeon_settings.Position_level_4 = { 421,259 } --Pozíció szint 4 --Megölni az összes szörnyet ezen a szinten. snow_dungeon_settings.Position_level_5 = { 419,530 } --Pozíció szint 5 --A Sarkvidéki kocka megfelelő sorrendben való nyitása. (Északi sarkcsillagot húzd a Sarkvidéki kockára) snow_dungeon_settings.Position_level_6 = { 571,706 } --Pozíció szint 6 --Megölni az összes szörnyet ezen a szinten. Ezt követően a hideg metint elpusztítani (Csak egy sámán árthat neki) snow_dungeon_settings.Position_level_7 = { 746,534 } --Pozíció szint 7 --Megölni az összes szörnyet ezen a szinten és Szel-t snow_dungeon_settings.Position_level_8 = { 303,710 } --Pozíció szint 8 --Jégvirág kulcs keresése, de ezt csak Sámán vagy Nindzsa tudja használni. snow_dungeon_settings.Position_level_9 = { 848,693 } --Pozíció szint 9 --Északi Sárkány oszlop elpusztítása. Csak Sámán vagy Nindzsa árthat neki. snow_dungeon_settings.Position_level_10 = { 927,391 } --Pozíció szint 10 (BossZone) --Győzd le Nemerét a fagy és a jég királyát. -- snow_dungeon_settings.Enable_TestServerMode = false --Teszt szerver üzemmód --Ha igen, a feladatok elvégzése gyorsabb (true = engedélyezve, false = tiltva). snow_dungeon_settings.IsNewga_me_re_vi_sion = false --Need ga_me_re_vi_sion 40301 return snow_dungeon_settings 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."Csatlakozás a csoporthoz" 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("A te csoportod már bevette Nemere erődjét.") return end if pc.getqf("out_party_time") < get_global_time() then say_npc() say("") say("Több, mint "..math.ceil(set.DurationMaxOnReJoinGroup /60) .." perc van") say("arra, hogy bevegyétek Nemere erődjét") say("") return end if n == 0 then setskin(NOWINDOW) return else say_npc() say("") say("Szeretnél újra csatlakozni a csoporthoz?") if select("Igen","Nem") == 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 erődje" begin local set = snow_dungeon.get_settings() local need_level = set.need_level say_npc() say("") say("Biztosan tudod, hogy mindenki beszeretne") say("lépni a gonosz Nemere erődjébe?") if select("Igen, szeretnénk belépni!","Nem, túl hideg van ott...") == 2 then return end if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then say("Te GM vagy, szeretnéd törölni a várakozási időt?") if select("Igen","Nem") == 1 then pc.setf("snow_dungeon","duration",0) return end end -- if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then -- say("Teszt szerver mód bekapcsolása.") -- say("Csatlakozz most.") -- timer("make_dungeon",3) -- return -- end if not party.is_leader() then say_npc() say("Nagyra értékelem a bátorságod, de egyedül nem") say("léphetsz be Nemere erődjébe.") say("Szedd össze a barátaidat és egy erős csoportnak") say("már megadom az engedélyt a belépésre.") return end if pc.get_level() < need_level then say("Szükséged van a minimum szintre "..need_level.."") say("hogy beléphes a dungeonba.") return end if pc.getf("snow_dungeon","duration") >= get_global_time() then say_npc() say("Újra beléphetsz Nemere erődjébe.") say("A várakozási idő még nem járt le. ") say("Hátralévő idő: "..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."A csata elkezdődik" begin --Jég oroszlán say_npc() say("") say("Szeretnéd elindítani a runt?") if select("Igen","Nem, talán később") == 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("Öljétek meg az összes szörnyet ahhoz, hogy a következő szintre léphessen a csapat.") 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) --Jég oroszlán 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 = false local have_shaman = false 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 -- Nindzsa nő or job == 5 -- Nindzsa férfi then have_ninja = true end if job == 3 -- Sámán nő or job == 7 -- Sámán férfi 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("A csoport nem tud felmenni Nindzsa nélkül.") say("") return false end if have_shaman == false then say("A csoport nem tud felmenni Sámán nélkül.") say("") return false end if table.getn(user_fail_level) >= 1 then say_npc() say("") say("A csoprtban van olyan játékos aki még") say("nem érte el a "..need_level.." szintet.") 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 logout or disconnect with pc.get_map_index() >= 3520000 and pc.get_map_index() < 3530000 begin -- warp_to_village(); pc.warp(432100, 166700) end when login begin if pc.get_map_index() == 352 then pc.warp(432100, 166700) end 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:# A szinted alacsony") 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("Hátra lévő idő "..math.ceil(t / 60).." perc.") else d.notice("Hátra lévő idő "..t .." másodperc.") 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("Lejárt az idő.") 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("Minden szörnyet megöltetek, tovább léphettek a következő szintre.") -- 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 <= 0 then d.notice("Minden szörnyet megöltetek, tovább léphettek a következő szintre.") -- 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 <= 0 then d.notice("Minden szörnyet megöltetek, tovább léphettek a következő szintre.") -- 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 <= 0 then local MobStonelvl6 = set.MobVnum_level_6 d.notice("Minden szörnyet megöltetek, következik "..mob_name(MobStonelvl6).." .") -- 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 <= 0 then d.notice("Minden szörnyet megöltetek, tovább léphettek a következő szintre.") -- 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("Találjátok meg a megfelelő "..item_name(v).." -ot.") -- d.notice("") end end when 30331.use with snow_dungeon.is_nemeres_dungeon() == true 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 -- job = 3 -- end if job == 3 -- Sámán nő or job == 7 -- Sámán férfi then if number(1,3) == 1 then --or d.count_monster() < 10 then d.notice("Megtaláltátok a megfelelő kulcsot! Tovább léphettek a következő szintre.") 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("Ez a kulcs nem jó.") item.remove() end else d.notice("Csak Sámán tudja használni.") 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("Öljétek meg az összes szörnyet hogy a következő szintre léphessetek.") 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("Öljétek meg az összes szörnyet hogy a következő szintre léphessetek.") 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("Sorrendben kell a Sarkvidéki kockákat megnyitni.") if set.IsNewga_me_re_vi_sion == true then d.notice("A szörnyek dobják a kulcsot...") else d.notice("A kulcs automatikusan a leltárba kerül...") end snow_dungeon._Create_Stones_level5() end end function _DropKeyOnLevel5() if number(1,1000) >= 666 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 -- 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) if 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.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 local vnum = item.get_vnum() local key_level_5 = set.Key_on_level_5 --30332 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("Az utolsó kő után léphettek a következő szintre.") 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("A "..search..".ha ha ha. Keresd tovább a ".. stone_level5_count - search .." és találd meg a helyes sorrendet.") npc.purge() item.remove() end d.setf("Stone_5_count",new) else chat("Bár ez a helyes kő, de rossz a kulcs.") item.remove() end else chat("Ez nem a megfelelő kő.") 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("Meg kell ölni az összes szörnyet, majd a a Hideg metinjét.") -- d.notice("csak Sámán tudja sebezni.") 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("Meg kell ölni az összes szörnyet és Szel-t.") 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("Ölj szörnyeket, amíg a Jégvirág kulcsot meg nem találod.") d.notice("Csak Sámán és Nindzsa tudja használni.") end end when 30333.use with snow_dungeon.is_nemeres_dungeon() == true 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 -- job = 3 -- end if job == 1 -- Nindzsa nő or job == 5 -- Nindzsa férfi or job == 3 -- Sámán nő or job == 7 -- Sámán férfi then if number(1,3) == 1 then d.notice("Megtaláltátok a megfelelő kulcsot, néhány másodperc és mentek a következő szintre.") 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("Ez a kulcs rossz.") item.remove() end else d.notice("Csak Sámán és a Nindzsa használhatja.") return 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("Pusztitsd el az Északi sárkányoszlopot!") -- d.notice("Csak Sámán és Nindzsa tudja megölni.") -- d.notice("") 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("Megöltétek a "..mob_name(v)..", királyt és a csatlósait.") 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("A "..mob_name(stone_level_6).." megsemmisült, pár másodperc és mentek a következő szintre.") -- 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 == 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("A "..mob_name(stone_level_9).." megsemmisült, pár másodperc és mentek a következő szintre.") 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) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) elseif level == 10 and mobvnum == boss_vnum then d.clear_regen() d.kill_all() d.notice("Legyőztétek Nemerét! 60 másodperc múlva kiteleportálódtok.") server_timer("Jp_OutAll",60,d.get_map_index()) d.regen_file("data/dungeon/ice_dungeon/zone_end_npc.txt") 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 d.regen_file("data/dungeon/ice_dungeon/zone_end_npc.txt") end when 20401.click begin say_title(mob_name(npc.get_race())..":") say("") say("Most megkapod a jutalmad...") pc.give_item2("50097", 1) wait() warp_to_village(); end function _ExitAll() d.exit_all() end end end
  7. Find the 40k Flame dungeon quest but not work finally. quest flame_dungeon begin state start begin when 20394.click with pc.get_level() >= 90 begin pc.count_item2(71175, 1) set_state(run) end end state run begin function setting() return { ["bossroom_entry_pos"] = {8109,6867}, ["boss_pos"] = {686,637}, ["doors_pos"] = { {320,394}, {293,359}, {333,321}, {378,320}, {400,355}, {394,401} }, ["idoors_pos"] = { {268,447}, {234,359}, {300,264}, {454,217}, {470,355}, {467,469} }, ["doors_dir"] = {135,90,210,152,90,223}, ["idoors_dir"] = {135,90,210,135,90,239}, ["dungeon_entry_pos"] = {7762, 6739},-- ´řŔüżˇ ĂłŔ˝ µéľîżŔ´Â °÷ ["DUNGEON_MAN_bpos"] = {690,722}, ["DUNGEON_MAN_pos"] = {354,362}, ["LEVEL2_STONE_pos"] = {195,352}, ["LEVEL4_TARGET_pos"] = {470,175}, ["LEVEL5_STONE_pos"] = { {486, 345}, {511, 336}, {525, 349}, {521, 365}, {503, 372}, {486, 365}, {500, 354} }, ["LEVEL6_TARGET_pos"] = {511,480}, ["outside_entry_pos"] = {6142,7068}, --ŔÔŔĺ˝ĂÄŃÁÖ´ÂľÖ Ľ­ŔÖ´Â °÷ ["YAK_pos"] = {376, 397} -- ľŕČŻ şÎÇĎ } end function is_flamed(idx) -- Ŕű·ćĽşżˇ ŔÖ´ÂÁö Č®ŔÎ return idx >= 351 * 10000 and idx < (351 + 1) *10000 end function make_dungeon() -- ´řŔü ¸¸µé±â local setting = flame_dungeon.setting() d.new_jump_party(351, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2]) -- d.spawn_mob_ac_dir(20385, setting.DUNGEON_MAN_pos[1], setting.DUNGEON_MAN_pos[2],0) -- d.spawn_mob(YAK,setting.YAK_pos[1],setting.YAK_pos[2]) d.regen_file("data/dungeon/flame_dungeon/npc.txt") d.setf("level",0) for i=1,6 do d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, setting.doors_pos[i][1], setting.doors_pos[i][2],setting.doors_dir[i])) end for i=1,6 do d.set_unique("idoor"..i, d.spawn_mob_ac_dir(20388, setting.idoors_pos[i][1], setting.idoors_pos[i][2],setting.idoors_dir[i])) end d.setf("clear_count",0) d.setf("started",0) d.setf("dungeon_enter",0) -- Á¤»óŔűŔ¸·Î ŔÔŔĺÇß´ÂÁö? // şńÁ¤»ó : 0 Á¤»ó : 1 // ƨ±â¸é ŔÔŔĺÁ¦ÇѽðŁŔ» ±â·Ď ľČÇÔ end function go_boss() -- ş¸˝ş·ë °ˇ±â local setting = flame_dungeon.setting() if pc.get_level() < 104 then --·ąş§Č®ŔÎ -- syschat(gameforge.flame_dungeon._580_notice) say(gameforge.flame_dungeon._580_notice) return else if pc.getf("main_quest_flame_lv103", "__status")==main_quest_flame_lv103.__COMPLETE__ then -- Ľ±ÇŕÄů˝şĆ® Č®ŔÎ -- say_title(gameforge.flame_dungeon._010_say) say(gameforge.flame_dungeon._010_say) local warp = select(gameforge.flame_dungeon._020_select,gameforge.flame_dungeon._030_select) if warp == 1 then d.setf("level",17) d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2]) d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt") -- d.spawn_mob(20385,setting.DUNGEON_MAN_bpos[1],setting.DUNGEON_MAN_bpos[2]) d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2]) end else -- syschat(gameforge.flame_dungeon._040_notice) say(gameforge.flame_dungeon._040_notice) return end end end function level_clear() -- ·ąş§ ˛ŁŔ»¶§, ¸®Á¨Ĺ¬¸®ľî, ÁöżŞĹ¬¸®ľî d.setf("level",0) d.clear_regen() d.purge_area(750000,620000,817400,689400) -- ¸ĘŔüĂĽ -- d.purge() »çżë°í·Á end function clear_timer(inx) -- ŸŔĚ¸Ó ´ŮÁöżě±â clear_server_timer ("flame_dungeon_0m_left_timer", inx) clear_server_timer ("flame_dungeon_1m_left_timer", inx) clear_server_timer ("flame_dungeon_5m_left_timer", inx) clear_server_timer ("flame_dungeon_10m_left_timer", inx) clear_server_timer ("flame_dungeon_15m_left_timer", inx) clear_server_timer ("flame_dungeon_30m_left_timer", inx) clear_server_timer ("flame_dungeon_45m_left_timer", inx) clear_server_timer ("killed_A_1", inx) clear_server_timer ("killed_A_2", inx) clear_server_timer ("flame_dungeon_ticket_remove", inx) end when login begin local idx = pc.get_map_index() local setting = flame_dungeon.setting() if idx == 351 then pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62) elseif flame_dungeon.is_flamed(idx) then -- ´řŔü ŔÔŔĺ, ş¸˝ş·ë ŔÔŔĺ żążÜ ------------------------------------------------------------------------------------------------------------------------------------------------------ --ľĆ·ˇŔÇ µÎÁŮÁß Ŕ§żˇÁŮŔ» »çżëÇĎ¸é ´řŔüżˇĽ­ Áľ·áÇßŔ»°ćżě ´Ů˝Ă żř·ˇ Ŕ§Äˇ·Î µąľĆżÂ´Ů. ľĆ·ˇÁŮŔ» Č°ĽşČ­ ÇĎ¸é ´řŔüżˇĽ­ Áľ·áÇßŔ» °ćżě ´řŔü ąŰŔ¸·Î łŞ°ˇ°Ô µČ´Ů. --´řŔüżˇĽ­ Áľ·áÇßŔ» °ćżě ´Ů˝Ă żř·ˇ Ŕ§Äˇ·Î µąľĆżĂ °ćżě, ´řŔüżˇĽ­ łŞ°ˇ´Â ąćąýŔ» ¸¸µéľîÁŕľß Çϱ⠶§ą®żˇ Ŕű·ćĽşşńŔÇ łŞ°ˇ±â¶ő żÉĽÇŔ» Č°ĽşČ­ ÇŘÁŕľß ÇŃ´Ů. ------------------------------------------------------------------------------------------------------------------------------------------------------ -- pc.set_warp_location(0, 0 , 0) --ƨ°ĺŔ»¶§ ´Ů˝Ă µąľĆżŔ°Ô ¸¸µéľî ÁÖ´Â şÎşĐ pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ´řŔü łŞ°¬Ŕ» ¶§ ąŰŔ¸·Î ƨ±â°ÔÇÔ local ticketGroup = {get_special_item_group (10033)} if d.getf("dungeon_enter") == 0 then -- ÁřÇŕÁßŔĚ ľĆ´Ď¸é local canPass = false for i=1, table.getn(ticketGroup),2 do if pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then canPass = true break end end if get_global_time() - pc.getf("flame_dungeon","exit_time") < 30 * 60 then -- ŔÔŔĺÁ¦ÇѽðŁŔĚ °É·ČŔ¸¸é notice_multiline(gameforge.flame_dungeon._050_notice,d.notice) say(gameforge.flame_dungeon._060_say) timer("flame_dungeon_warp_timer", 5) elseif not canPass then notice_multiline(gameforge.flame_dungeon._070_notice,d.notice) say(gameforge.flame_dungeon._080_say) timer("flame_dungeon_warp_timer", 5) elseif pc.get_level() < 100 then notice_multiline(gameforge.flame_dungeon._090_notice,d.notice) say(gameforge.flame_dungeon._100_say) timer("flame_dungeon_warp_timer", 5) end elseif pc.getf("flame_dungeon","ticket_delete") == 0 then -- ÁřÇŕÁßŔεĄ ĆĽÄĎŔĚ ľČÁöżöÁłŔ»°ćżě for i=1, table.getn(ticketGroup),2 do if pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then pc.remove_item(ticketGroup[i], ticketGroup[i+1]) break end end pc.setf("flame_dungeon","ticket_delete",1) end else pc.setf("flame_dungeon","ticket_delete",0) end end when flame_dungeon_warp_timer.timer begin local setting = flame_dungeon.setting() pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62) end when logout begin local idx = pc.get_map_index() if flame_dungeon.is_flamed(idx) then if d.getf("dungeon_enter") == 1 then -- Á¤»óŔűŔÎ ´řŔü ŔÔŔĺ ČÄ ·Î±×ľĆżô pc.setf("flame_dungeon","exit_time",get_global_time()) -- ŔνşĹĎ˝ş ľČżˇĽ­ŔÇ ¸¶Áö¸· ˝Ă°ŁŔ» ±â·Ď, ±ŮµĄ ˝Ă°ŁÁ¦ÇŃ ¶§ą®żˇ or ±×łÉ ƨ±ä°Ĺ¸é ľČ±â·Ď end end end when 20394.chat.gameforge.flame_dungeon._110_npcChat begin local setting = flame_dungeon.setting() if party.is_party() then -- ´řŔü µµÁß łŞ°Ą °ćżě ŔçŔÔŔĺ °ˇ´ÉÇϵµ·Ď local party_check = 0 if d.find(party.getf("dungeon_index")) then party_check = (d.getf_from_map_index("party_leader_pid", party.getf("dungeon_index")) == party.get_leader_pid()) end if d.find(party.getf("dungeon_index")) and party_check then if get_global_time() - pc.getf("flame_dungeon","exit_time") < 5 * 60 then -- Á˘Áľ ŔĚČÄ 5şĐ ł»? local dungeon_level = d.getf_from_map_index("level", party.getf("dungeon_index")) if dungeon_level == 17 then -- ş¸˝ş pc.warp(setting.bossroom_entry_pos[1] * 100, setting.bossroom_entry_pos[2] * 100, party.getf("dungeon_index")) else pc.warp(setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100, party.getf("dungeon_index")) end else -- 5şĐ ĂĘ°úÇĎż© Ŕç ŔÔŔĺ şŇ°ˇ say_title(mob_name(20394)) say(gameforge.flame_dungeon._590_say) end else local pids = {party.get_member_pids()} local noTicketMembers = {} local notEnoughLevelMembers = {} local ticketCheck = true local levelCheck = true local ticketGroup = {get_special_item_group (10033)} for i, pid in next, pids, nil do q.begin_other_pc_block(pid) local canPass = false for idx=1, table.getn(ticketGroup),2 do if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then canPass = true break end end if not canPass then table.insert(noTicketMembers, pc.get_name()) ticketCheck = false end if pc.level < 100 then table.insert(notEnoughLevelMembers, pc.get_name()) levelCheck = false end q.end_other_pc_block() end if not ticketCheck then say_title(mob_name(20394)) say(gameforge.flame_dungeon._610_say) for i, name in next, noTicketMembers, nil do say(color(1,1,0), " "..name) end if levelCheck then return else wait() end end if not levelCheck then say_title(mob_name(20394)) say(gameforge.flame_dungeon._630_say) for i, name in next, notEnoughLevelMembers, nil do say(color(1,1,0), " "..name) end return end if party.is_leader() then say(gameforge.flame_dungeon._120_say) local warp = select(gameforge.flame_dungeon._130_select,gameforge.flame_dungeon._140_select) if warp == 1 then if party.is_map_member_flag_lt("exit_time", get_global_time() - 30 * 60 ) then flame_dungeon.make_dungeon() else --say("test : ĆÄĆĽżřŔÇ ŔÔŔĺ Á¦ÇѽðŁŔĚ łˇłŞÁö ľĘľŇ˝Ŕ´Ď´Ů.") say(gameforge.flame_dungeon._600_say) end end party.setf("flame_dungeon_boss_kill_count", 0) else say(gameforge.flame_dungeon._150_say) end end else say(gameforge.flame_dungeon._160_say) end end -- when 20394.chat."Test : ¸®ĽŇ˝şČ®ŔÎ" with is_test_server() begin -- Ĺ×˝şĆ®żë -- local setting = flame_dungeon.setting() -- pc.setf("flame_dungeon","fdRtest",1) -- pc.warp( setting.dungeon_entry_pos[1]*100, setting.dungeon_entry_pos[2]*100, 351) -- end when 20394.chat."TEST : Init time limit init" with is_test_server() begin -- Ĺ×˝şĆ®żë pc.setf("flame_dungeon","exit_time",get_global_time()-1800) say("Done") end -- when 20385.chat."Test : ÇöŔç »óĹÂ" with is_test_server() begin -- Ĺ×˝şĆ®żë -- say("ł˛Ŕş ¸ó˝şĹÍ : "..d.count_monster()) -- say("level : "..d.getf("level")) -- say("Dmap index : "..d.get_map_index()) -- say("Pmap index : "..pc.get_map_index()) -- say("access limit : "..pc.getf("flame_dungeon","exit_time")) -- say("global time : "..get_global_time()) -- if flame_dungeon.is_flamed(d.get_map_index()) then -- say("in dungeon") -- is_flamed ÇÔĽö ĂĽĹ© -- end -- if d.is_unique_dead("stone1") then -- say("stone1 is dead") -- else -- say("stone1 is not dead") -- end -- end -- when 20385.chat."ĂłŔ˝Ŕ¸·Î" begin -- Ĺ×˝şĆ®żë -- say("ĂʱâČ­ ÇŐ´Ď´Ů") -- flame_dungeon.clear_timer(d.get_map_index()) -- flame_dungeon.make_dungeon() -- end when 20385.chat."Test : Boss Room" with is_test_server() begin -- Ĺ×˝şĆ®żë flame_dungeon.go_boss() end -- < ˝Ă°Ł °ć°ú ŸŔ̸Ó> -- when 20385.chat."łŞ°ˇ±â" begin -- ´řŔüżˇĽ­ ƨ±âÁö ľĘ°Ô ÇŇ °ćżě Č°ĽşČ­ -- local setting = flame_dungeon.setting() -- say("ąŰŔ¸·Î łŞ°ˇ˝Ă°Ú˝Ŕ´Ď±î?") -- local warp = select("Č®ŔÎ","ĂëĽŇ") -- if warp == 1 then -- pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62) -- end -- end when flame_dungeon_45m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then notice_multiline(string.format(gameforge.flame_dungeon._180_notice, 45),d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) server_timer('flame_dungeon_30m_left_timer', 15*60, get_server_timer_arg()) end end when flame_dungeon_30m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then notice_multiline(string.format(gameforge.flame_dungeon._180_notice, 30),d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) server_timer('flame_dungeon_15m_left_timer', 15*60, get_server_timer_arg()) end end when flame_dungeon_15m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then notice_multiline(string.format(gameforge.flame_dungeon._180_notice, 15),d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) server_timer('flame_dungeon_5m_left_timer', 10*60, get_server_timer_arg()) end end when flame_dungeon_5m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then notice_multiline(string.format(gameforge.flame_dungeon._180_notice, 5),d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) server_timer('flame_dungeon_1m_left_timer', 4*60, get_server_timer_arg()) end end when flame_dungeon_1m_left_timer.server_timer begin if d.select(get_server_timer_arg()) then notice_multiline(string.format(gameforge.flame_dungeon._180_notice, 1),d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) server_timer ("flame_dungeon_0m_left_timer", 60, get_server_timer_arg()) end end when flame_dungeon_0m_left_timer.server_timer begin local setting = flame_dungeon.setting() if d.select(get_server_timer_arg()) then notice_multiline(gameforge.flame_dungeon._190_notice,d.notice) notice_multiline(gameforge.flame_dungeon._200_notice,d.notice) server_timer("dungeon_end_timer",10,d.get_map_index()) end end -- <<<< ´řŔü ÁřÇŕ>>>> -- when 20385.chat.gameforge.flame_dungeon._210_npcChat with npc.lock() begin -- '0x'´Â xąř° ·ąş§ Äů˝şĆ® ąŢŔ» Ľö ŔÖ´Â »óĹ , '1x'´Â xąř° ·ąş§ Äů˝şĆ® ÁřÇŕÁß local setting = flame_dungeon.setting() if d.getf("started") == 0 then say(gameforge.flame_dungeon._230_say) say(gameforge.flame_dungeon._240_say) wait() d.setf("started",1) -- ĆÄĆĽżřŔĚ Ć¨°Üąö·Č´ÂµĄ Ŕڱ⸸ ł˛ľĆĽ­ exit timer°ˇ ¸®ĽÂµÇ¸é ľČµÇ´Ď±ń ´ŮŔ˝·ąş§Ŕ» ´­·¶Ŕ»¶§¸¦ ˝ĂŔŰÇҶ§·Î ş˝ server_timer ("flame_dungeon_45m_left_timer",15*60, d.get_map_index()) notice_multiline(gameforge.flame_dungeon._250_notice,d.notice) notice_multiline(gameforge.flame_dungeon._170_notice,d.notice) -- ĹëÇŕÁő °ü·ĂµČ Ăł¸® -- ŔÔŔĺ ČÄżˇ ĆĽÄĎŔ» ľřľŘ »ç¶÷Ŕ» ƨ°Üł»±â Ŕ§ÇŘĽ­ ŸŔ̸Ӹ¦ ŔĚżëÇŘ ĆĽÄĎŔ» Á¦°ĹÇŃ´Ů. local pids = {party.get_member_pids()} local ticketGroup = {get_special_item_group (10033)} for i, pid in next, pids, nil do q.begin_other_pc_block(pid) local canPass = false for idx=1, table.getn(ticketGroup),2 do if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then canPass = true pc.remove_item(ticketGroup[idx], ticketGroup[idx+1]) break end end if not canPass then pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62) end q.end_other_pc_block() end d.setqf2("flame_dungeon","ticket_delete",1) d.setf("dungeon_enter",1) -- ´řŔü°ú ĆÄĆĽżˇ Ľ­·Îżˇ ´ëÇŃ Á¤ş¸¸¦ ŔúŔĺÇŃ´Ů. party.setf("dungeon_index", d.get_map_index()) d.setf("party_leader_pid", party.get_leader_pid()) end if d.getf("level") < 7 then --ÁřÇŕÁßŔĚ ľĆ´Ď¸é if d.getf("clear_count") == 6 then -- ąć ż©Ľ¸°ł ÇßŔ¸¸é ş¸˝şąć d.setf("level",7) else local rand = number(1,6)--·Ł´ýżˇĽ­ ąćą®ĂĽĹ©´Â µű·Î ąčż­ľřŔĚ ąćŔÇ ą®ŔÇ ż­·ÁŔÖ´ÂÁö·Î ĂĽĹ©ÇÔ local setlev = 0 d.setf("level",7) -- Ȥ˝Ă ¸đ¸¦ ą®Á¦°ˇ »ý°Ü ·ąş§ŔĚ ľČŔâČú°ćżě¸¦ ´ëşńÇŘ ş¸˝ş·ëŔ¸·Î ĽÂĆĂÇŘµŇ for i=1,50 do setlev = setlev + 1 if setlev > 6 then setlev = 1 end if not d.is_unique_dead("door"..setlev) then rand = rand - 1 if rand == 0 then d.setf("level",setlev) d.setf("clear_count",d.getf("clear_count")+1) break end end end end end if d.getf("level") == 1 then say(gameforge.flame_dungeon._260_say) notice_multiline(gameforge.flame_dungeon._260_say,d.notice) d.kill_unique("door1") d.kill_unique("idoor1") d.setf("level",11) d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt") server_timer ("killed_A_1", 12, d.get_map_index()) elseif d.getf("level") == 11 then say(gameforge.flame_dungeon._270_say) say_title(gameforge.flame_dungeon._280_sayTitle .. d.count_monster()) elseif d.getf("level") == 2 then say(gameforge.flame_dungeon._290_say) say(gameforge.flame_dungeon._300_say) notice_multiline(gameforge.flame_dungeon._290_say,d.notice) notice_multiline(gameforge.flame_dungeon._300_say,d.notice) d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- şŔŔÎĽ® ĽŇČŻ d.kill_unique("door2") d.kill_unique("idoor2") d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt") d.setf("level",12) elseif d.getf("level") == 12 then say(gameforge.flame_dungeon._310_say) elseif d.getf("level") == 3 then say(gameforge.flame_dungeon._260_say) notice_multiline(gameforge.flame_dungeon._260_say,d.notice) d.kill_unique("door3") d.kill_unique("idoor3") d.setf("level",13) d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt") server_timer ("killed_A_1", 12, d.get_map_index()) elseif d.getf("level") == 13 then say(gameforge.flame_dungeon._270_say) say_title(gameforge.flame_dungeon._280_sayTitle..d.count_monster()) elseif d.getf("level") == 4 then -- 474 178 say(gameforge.flame_dungeon._320_notice) notice_multiline(gameforge.flame_dungeon._320_notice,d.notice) d.setf("level",14) d.kill_unique("door4") d.kill_unique("idoor4") d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt") d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- Ÿ°Ů¸ó˝şĹÍ ĽŇÇŃ elseif d.getf("level") == 14 then say(gameforge.flame_dungeon._330_say) say(gameforge.flame_dungeon._340_say) elseif d.getf("level") == 5 then -- 510 355 say(gameforge.flame_dungeon._350_say) say(gameforge.flame_dungeon._360_say) notice_multiline(gameforge.flame_dungeon._350_say,d.notice) notice_multiline(gameforge.flame_dungeon._360_say,d.notice) d.kill_unique("door5") d.kill_unique("idoor5") d.setf("level",15) d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") local vis = { 0,0,0,0,0,0,0} for i=1,7 do vis[i] = 0 end for i = 1, 7 do -- ·Ł´ýÇĎ°Ô µąĽŇČŻ local ran = number(1,7) local st = 0 for j = 1, 50 do st = st + 1 if st > 7 then st = 1 end if vis[st] == 0 then ran = ran - 1 if ran == 0 then vis[st] = 1 d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2])) break end end end end elseif d.getf("level") == 15 then say(gameforge.flame_dungeon._370_say) elseif d.getf("level") == 6 then -- 507 490 say(gameforge.flame_dungeon._380_say) notice_multiline(gameforge.flame_dungeon._380_say,d.notice) d.setf("level",16) d.kill_unique("door6") d.kill_unique("idoor6") d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt") d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- Ÿ°ŮżŔşęÁ§Ć® ĽŇČŻ elseif d.getf("level") == 16 then say(gameforge.flame_dungeon._390_say) say(gameforge.flame_dungeon._400_say) elseif d.getf("level") == 7 then -- setskin(NOWINDOW) flame_dungeon.go_boss() else say(gameforge.flame_dungeon._410_say) end npc.unlock() end when dungeon_end_timer.server_timer begin -- Áľ·á ŸŔĚ¸Ó (łˇłŞ°í łŞ°ˇ´Â°Ĺ) local setting = flame_dungeon.setting() if d.select(get_server_timer_arg()) then flame_dungeon.clear_timer(d.get_map_index()) d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) d.exit_all() d.setf("party_leader_pid", 0) end end when killed_A_1.server_timer begin -- ŸŔĚ¸Ó µą¸®±â1 (level1,level3) if d.select(get_server_timer_arg()) then if d.count_monster() <= 0 then -- 1·ąş§ ¸ó˝şĹÍ Ŕü¸ę˝Ă if d.getf("level") == 11 then notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) else notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) end d.setf("level",0) else server_timer ("killed_A_2", 6, get_server_timer_arg()) end end end when killed_A_2.server_timer begin -- ŸŔĚ¸Ó µą¸®±â2 (1°ú 2 ąř°ĄľĆ°ˇ¸éĽ­ µąľĆ°¨) if d.select(get_server_timer_arg()) then if d.count_monster() <= 0 then -- 1·ąş§ ¸ó˝şĹÍ Ŕü¸ę˝Ă if d.getf("level") == 11 then notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) else notice_multiline(gameforge.flame_dungeon._420_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) end d.setf("level",0) else server_timer ("killed_A_1", 6, get_server_timer_arg()) end end end when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin -- 2·ąş§ şŔŔÎĽ® ż­Ľč µĺ¶ř local i = number(1, 100) -- 100şĐŔÇ 1 Č®·ü·Î ż­Ľčµĺ¶ř if i == 1 then game.drop_item (30329, 1) end end when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin -- 2·ąş§ ż­Ľč ¸ÔľúŔ»¶§ local i = number(1, 5) -- 5şĐŔÇ 1 Č®·ü·Î ÁřÂĄ ż­Ľč if i == 1 then npc.purge() item.remove() notice_multiline(gameforge.flame_dungeon._440_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) flame_dungeon.level_clear() else item.remove() say(gameforge.flame_dungeon._450_say) end end when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin notice_multiline(gameforge.flame_dungeon._460_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) flame_dungeon.level_clear() end when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin -- 5·ąş§ şŔŔÎĽ® ż­Ľč µĺ¶ř local i = number(1, 30) -- 30şĐŔÇ 1 Č®·ü·Î ż­Ľčµĺ¶ř if i == 1 then game.drop_item (30330, 1) end end when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin -- 5·ąş§ ÁřÂĄż­Ľč ¸ÔľúŔ»¶§ local setting = flame_dungeon.setting() if npc.get_vid() == d.get_unique_vid("stone5_1") then -- Ăąąř° ˛¨´Â Ľ±ÇŕµÇľîľß ÇŇ ŔĎŔĚ ÇĘżäľřŔ¸´Ď ĂŁŔÚ¸¶ŔÚ Á¦°ĹÇŘÁÜ npc.purge() item.remove() say(gameforge.flame_dungeon._470_say) d.setf("stonekill",2) -- 2ąř µąŔ» Á׿©¶ó if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end elseif npc.get_vid() == d.get_unique_vid("stone5_2") then if d.getf("stonekill") == 2 then -- 2ąřµąŔ» Á×ŔĎ Â÷·ËµĄ 2ąřµążˇ°Ô ż­Ľč¸¦ ¸Ôż´Ŕ» ¶§ npc.purge() item.remove() say(gameforge.flame_dungeon._480_say) d.setf("stonekill",3) if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end else item.remove() say(gameforge.flame_dungeon._490_say) -- say("2ąř") end elseif npc.get_vid() == d.get_unique_vid("stone5_3") then if d.getf("stonekill") == 3 then npc.purge() item.remove() say(gameforge.flame_dungeon._500_say) d.setf("stonekill",4) if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end else item.remove() say(gameforge.flame_dungeon._490_say) -- say("3ąř") end elseif npc.get_vid() == d.get_unique_vid("stone5_4") then if d.getf("stonekill") == 4 then npc.purge() item.remove() say(gameforge.flame_dungeon._510_say) d.setf("stonekill",5) if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end else item.remove() say(gameforge.flame_dungeon._490_say) -- say("4ąř") end elseif npc.get_vid() == d.get_unique_vid("stone5_5") then if d.getf("stonekill") == 5 then npc.purge() item.remove() say(gameforge.flame_dungeon._520_say) d.setf("stonekill",6) if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end else item.remove() say(gameforge.flame_dungeon._490_say) -- say("5ąř") end elseif npc.get_vid() == d.get_unique_vid("stone5_6") then if d.getf("stonekill") == 6 then npc.purge() item.remove() say(gameforge.flame_dungeon._530_say) d.setf("stonekill",7) if d.count_monster() < 100 then d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt") end else item.remove() say(gameforge.flame_dungeon._490_say) -- say("6ąř") end else if d.getf("stonekill") == 7 then npc.purge() item.remove() notice_multiline(gameforge.flame_dungeon._440_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) flame_dungeon.level_clear() else item.remove() say(gameforge.flame_dungeon._490_say) -- say("7ąř") end end end when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin -- ¸Á¸¶Ľ® Ćı«ÇßŔ» ¶§ notice_multiline(gameforge.flame_dungeon._540_notice,d.notice) notice_multiline(gameforge.flame_dungeon._430_notice,d.notice) flame_dungeon.level_clear() end when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin -- ş¸˝ş Á׿´Ŕ»¶§ notice_multiline(gameforge.flame_dungeon._550_notice,d.notice) notice_multiline(gameforge.flame_dungeon._560_notice,d.notice) server_timer("dungeon_end_timer", 60,d.get_map_index()) flame_dungeon.level_clear() -- ĆÄĆĽżř Áß, ľß¸¶Ăµ Ŕâ´Â Äů˝şĆ®(104·ľ, 105·ľ Äů˝şĆ®) ÁřÇŕÁßŔÎ »ç¶÷ŔĚ ŔÖŔ¸¸é Äů˝şĆ® Ŭ¸®ľî µÇµµ·Ď. if party.is_party() then party.setf("flame_dungeon_boss_kill_count", 1) end end end end The dungeon guard say: The group not avaiable dungeon ticket,but all characters avaiable dungeon ticket. Some picture the problem.
  8. Hi! I have some problem this quest: quest flame_dungeon begin state start begin when login with pc.get_map_index() == 351 begin syschat("Teleportálás a városba...") warp_to_village() end when 20394.chat."Vörös Sárkány erőd" begin say_title("Tűzföld-őr:") say("") say("Be szeretnél menni a Vörös Sárkány erődbe?") say("Ha te vagy a csoport vezető, és van") say("Nálad belépési engedély (P), akkor rendben.") say("") say_reward("Csak a vezetőnek kell belépő, de neki") say_reward("Lv105-nek kell lennie!") say_item_vnum(71175) pc.delqf("belepettbp") wait() if party.is_leader() and pc.get_level() >= 105 then if pc.count_item("71175") >= 1 then say_title("Tűzföld-őr:") say("") say("Nálad van belépő, sőt te vagy ") say("A csoport vezetője is!") say("") say_reward("Be szeretnél menni a csoportoddal?") local s = select("Igen!", "Nem!") if s == 1 then pc.remove_item(71175,1) say_title("Tűzföld-őr:") say("") say("Azonnal teleportállak téged") say("és a csoportodat is!") say("[DELAY value; 1000]. . . . . . . . . .[/DELAY]") wait() pc.setqf("belepettbp", 1) d.new_jump_party(351, 7766 , 6728) end if s == 2 then return end end if pc.count_item("71175") == 0 then say_title("Tűzföld-őr:") say("") say("A csoport vezetőnek szüksége van") say("egy belépési engedély (P)-re a bejutáshoz!") say("") say_reward("Ezt Boss-pontból és Itemshopból lehet beszerezni.") say_item_vnum(71175) end else say_title("Tűzföld-őr:") say("") if not party.is_leader() then say_reward("Te nem vagy csoport vezető!") end if pc.get_level() <= 104 then say_reward("Te nem vagy Lv105-ös!") end end end when login begin if pc.getqf("belepettbp") == 1 then pc.delqf("belepettbp") timer("bpgo", 1*15) d.set_warp_location (62, 5983, 7072) notice_all(""..pc.get_name().." (és csapata) belépett a Vörös Sárkány erődbe!") d.kill_all() d.spawn_mob (20385, 353, 365) d.regen_file( "data/dungeon/flame_dungeon/flame_regen.txt" ) d.set_warp_at_eliminate(3, d.get_map_index(), 7780, 6526, "data/dungeon/flame_dungeon/flame_regen_boss1.txt") end end when 20385.chat."Ki akarok menni innen!" begin say_title("Am-heh szurdok") say(" ") say("Cserben hagyni a társaidat bűn...") say(" ") say_reward("Biztos ki akarsz menni innen?") local s = select("Igen!", "Nem!") if s == 1 then pc.delqf("belepettbp") d.exit() end if s == 1 then return end end when 6051.kill begin d.kill_all() d.notice( "Razador már vár rátok!" ) d.set_warp_at_eliminate(3, d.get_map_index(), 8109, 6859, "data/dungeon/flame_dungeon/flame_regen_boss2.txt") end -- mob_drop_itembe is van még drop when 6091.kill begin notice_all(""..pc.get_name().." (és csapata) sikeresen megölte Razadort!") timer("successbp", 1*60) pc.delqf("belepettbp") d.kill_all() d.set_warp_location (62, 5983, 7072) d.notice( "Gratulálok, megöltétek Razadort!" ) d.notice( "Egy perc múlva ki lesztek teleportálva!" ) local talan = math.random(1,4) if talan == 1 then game.drop_item_with_ownership("12286",1) game.drop_item_with_ownership("15376",1) game.drop_item_with_ownership("187",1) game.drop_item_with_ownership("11297",1) game.drop_item_with_ownership("71128",1) end if talan == 2 then game.drop_item_with_ownership("12406",1) game.drop_item_with_ownership("15396",1) game.drop_item_with_ownership("1137",1) game.drop_item_with_ownership("11497",1) game.drop_item_with_ownership("71127",1) end if talan == 3 then game.drop_item_with_ownership("12546",1) game.drop_item_with_ownership("15416",1) game.drop_item_with_ownership("197",1) game.drop_item_with_ownership("11697",1) game.drop_item_with_ownership("71126",1) end if talan == 4 then game.drop_item_with_ownership("12686",1) game.drop_item_with_ownership("15436",1) game.drop_item_with_ownership("5127",1) game.drop_item_with_ownership("11897",1) game.drop_item_with_ownership("71125",1) end pc.change_money(10000000) end when bpgo.timer begin d.notice( "Egy órátok van a Tisztítótűzben!" ) d.notice( "1. Feladat:" ) d.notice( "Öljetek meg minden szörnyet!" ) d.notice( "2. Feladat:" ) d.notice( "Öljétek meg Ignitort!" ) d.notice( "3. Feladat:" ) d.notice( "Öljétek meg Razadort!" ) d.set_warp_location (62, 5983, 7072) end when successbp.timer begin d.exit_all() end end end How to make this quest, not only leader need the dungeon ticket , all party player need the dungeon ticket? (Which function need instead of "if party.is_leader() and pc.get_level() >= 105 then if pc.count_item("71175") >= 1 then") THX.
  9. fix:change the totem id... and work fine.. THX for help me.. Have nice day. Happy New Year! Please close this topic. Problem Solved!
  10. This quest work. The problem mob proto.. the metin stone! But the new problem is 20399(Totem) Totem is npc... and can't attack. I can't find my source the stone attack only shaman character.(20399) 6.floor fix : mob_proto txt: 8058 ??? KING STONE MELEE 100 NOMOVE 0 STUN,SLOW,CURSE,TERROR 0 0 0 0 100 0 0 0 1200000 5 1 0 0 51 100 6055 6060 0 2000 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9.floor fix: 20399 ??? KING STONE MELEE 100 NOMOVE 0 STUN,SLOW,CURSE,TERROR 0 0 0 0 100 0 0 0 1200000 5 1 0 0 51 100 6055 6060 0 2000 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 But 9.floor the totem npc.. not mob.. and I cant' find the id in source. Other forum find this : IceMetin_racelimit = {WARRIOR_M,WARRIOR_W,NINJA_W,NINJA_M,SURA_M,SURA_W} -- 20399 )
  11. Hi all. I have some problem the skill book.(50300) (And all skill book) I read the book but the read the charachter level up more level. (I not edited this) How to fix this?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.