quest teleport_damonenturm begin state start begin when 20348.chat."Dämonenturm" begin say(""..mob_name(20348).."") say("Willkommen junger Krieger im Dämonenturm") say("Hier erwarten dich spannende Run´s.") say_red("Du wirst nun in den Dämonenturm teleportiert") pc.warp (216500,727000) set_quest_state(deviltower_zone,start) end end end
Dämonenturm quest:
PHP Code:
quest deviltower_zone begin state start begin when login begin if pc.get_map_index() == 66 then -- Nicht in einer Etage, die wieder nach drau¡¼n . -- Layer Range -- 1F 88 577 236 737 -- 2F 91 343 238 504 -- 3F 104 107 248 269 if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then pc.warp((5376+532)*100, (512+596+4)*100, 65) end pc.set_warp_location(65, 5376+532, 512+596+4) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5376+532, 512+596+4) end end when devil_stone1.kill begin timer("devil_stone1_1", 6) end when devil_stone1_1.timer begin local mapto7= pc.count_item(30302) -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/deviltower2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt") end --when devil_stone2.kill begin --d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2]) --end when devil_stone3.kill begin --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2]) --d.set_exit_all_at_eliminate(6) --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100) --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4) d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt") d.check_eliminated() --d.exit_all() end function get_4floor_stone_pos() local positions = { {368, 629}, {419, 630}, {428, 653}, {422, 679}, {395, 689}, {369, 679}, {361, 658}, } for i = 1, 6 do local j = number(i, 7) if i != j then local t = positions[i]; positions[i] = positions[j]; positions[j] = t; end end --for i = 1, 7 do -- positions[i][1] = positions[i][1] * 100 -- positions[i][2] = positions[i][2] * 100 -- end return positions end when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) -- Reproduzieren eine gro¡¼ Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine --d.regen_file("data/dungeon/deviltower4_regen.txt") local positions = deviltower_zone.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2])) end chat(positions[7][1], positions[7][2]) local vid = d.spawn_mob(8017, positions[7][1], positions[7][2]) chat(vid) d.set_unique("real", vid) server_loop_timer('devil_stone4_update', 10, pc.get_map_index()) server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Hier ist der 4. Etage,"); d.notice("findet den Echten Metinstein"); d.notice("innerhalb von 15 Minuten,"); d.notice("Sonst werdet ihr vor die Tür gesetzt."); end
when devil_stone4_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 10 Minuten!") server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg()) end end
when devil_stone4_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 5 Minuten!") server_timer('devil_stone4_fail', 5*60, get_server_timer_arg()) end end
when devil_stone4_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Die Zeit ist abgelaufen") d.exit_all() clear_server_timer('devil_stone4_update', get_server_timer_arg()) end end
when devil_stone4_update.server_timer begin if d.select(get_server_timer_arg()) then if not d.is_unique_dead("real") then for i = 1, 6 do if d.getf("fakedead" .. i) == 0 then if d.unique_get_hp_perc("fake" .. i) < 50 then d.purge_unique("fake" .. i) d.setf("fakedead" .. i, 1) d.notice("Ein falscher Metinstein verschwindet."); end end end else --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") server_timer("devil_stone4_end", 5, get_server_timer_arg()) d.notice("Glückwunsch Euch ist es geglückt den Echten Metinstein"); d.notice("zu finden... Auf in die nächste Etage.") clear_server_timer('devil_stone4_fail1', get_server_timer_arg()) clear_server_timer('devil_stone4_fail2', get_server_timer_arg()) clear_server_timer('devil_stone4_fail', get_server_timer_arg()) end else server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg()) end end
when devil_stone4_stop_timer.server_timer begin clear_server_timer('devil_stone4_update', get_server_timer_arg()) end
when devil_stone4_end.server_timer begin if d.select(get_server_timer_arg()) then d.setf("level", 5) d.setf("stone_count", 5) d.notice("Willkommen auf der 5.ten Etage") d.notice("Tötet alle Monster denn manche Tragen den Schlüssel") d.notice("für die nächste Etage mit sich") d.notice("Öffnet alle Säulen mit hilfe der Schlüsselsteine (Ihr habt 20 Minuten Zeit)") d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg()) clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- 5. Stock, weiter zu reproduzieren d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- 5. Stock, Seal Stone Reproduktion d.spawn_mob(20073, 421, 452) d.spawn_mob(20073, 380, 460) d.spawn_mob(20073, 428, 414) d.spawn_mob(20073, 398, 392) d.spawn_mob(20073, 359, 426) end end when devil_stone5_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 15 Minuten.") server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 10 Minuten.") server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 5 Minuten.") server_timer('devil_stone5_fail', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail.server_timer begin if d.select(get_server_timer_arg()) then if d.getf("level") == 5 then d.notice("Die Zeit ist abgelaufen.") d.exit_all() end end end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 35 --if is_test_server() then --KILL_COUNT_FOR_DROP_KEY = 1 --end local n =d.getf("count") + 1 d.setf("count", n) if n >= KILL_COUNT_FOR_DROP_KEY then -- Falling Tasten game.drop_item(50084, 1) d.setf("count", 0) end end when devil_stone5.take with item.vnum == 50084 begin npc.purge() item.remove() d.setf("stone_count", d.getf("stone_count") - 1) if d.getf("stone_count") <= 0 then d.setf("level", 6) d.clear_regen() d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Glückwunsch ihr habt alle Säulen Geöffnet") d.notice("Ihr werdet in die nächste Etage aufsteigen.") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('devil_stone5_fail1', get_server_timer_arg()) clear_server_timer('devil_stone5_fail2', get_server_timer_arg()) clear_server_timer('devil_stone5_fail3', get_server_timer_arg()) clear_server_timer('devil_stone5_fail', get_server_timer_arg()) else d.notice("Säule entfernt... Noch "..d.getf("stone_count").."Viel Glück") end end
when devil_stone6.kill begin -- Geschickt, um eine Karte, wo die Verfeinerung St. -- Ansonsten ¡¼fnen Sie ein neues Lian Sheng --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2]) d.kill_all() -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4) d.check_eliminated() local reward_alchemist = {20074, 20075, 20076} d.spawn_mob(reward_alchemist[number(1,3)], 425, 216); d.setqf("can_refine", 1) end
-------------------------------------- -- 7 D kommt man aus dem Zugriff vor dem 8. Stock --------------------------------------
when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20074).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20075).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20076).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end
when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local cont = d.getf("7_stone_kill") + 1 d.setf("7_stone_kill", cont)
if cont >= 4 then d.setf("7_stone_kill", 0) d.set_regen_file("data/dungeon/deviltower7_regen.txt") end end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin game.drop_item(30300, 1) end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then -- Fall wahr Karte game.drop_item(30302, 1) d.clear_regen() else -- Fall wahr Karte game.drop_item(30301, 1)
end end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- An der 8th Floor say("Du wirst in die Zin Grotte teleportiert. Viel Glück.") pc.remove_item("30302", 1) timer("devil_jump_8", 6) d.clear_regen() end
-------------------------------------------- -- Von 8 F vor der Ankunft geben Sie die 9 F -------------------------------------------- when devil_jump_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/deviltower8_regen.txt") d.spawn_mob(20366, 640, 460) local _count= pc.count_item(30302)-- True Tilgung Dead Turm pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local pct1 = number(1, 5) if pct1 == 1 then local pct2 = number(1, 10) if pct2 == 1 then -- Fall wahre Schl¡¼sel game.drop_item(30304, 1) else -- Keys fiel game.drop_item(30303, 1) end else return end end
when 20366.take with item.vnum == 30304 begin -- 9 F-Zeichen aufgehoben npc.purge() item.remove() timer("devil_jump_9", 6) end
--------------------------------------------- -- 9 F ein Ende, indem Sie --------------------------------------------- when devil_jump_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/deviltower9_regen.txt") end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.kill_all() timer("devil_end_jump", 10) d.notice("Glückwunsch!!!") d.notice("Du hast den Sensenmann getötet!!!") d.notice("Du gelangst nun in die Etage des Gemeinen Dämonenkönigs!!!") end
when devil_end_jump.timer begin d.setf("level", 7) d.jump_all(2048+590, 6656+638) d.clear_regen() d.spawn_mob(1094, 639, 658) end
when 1094.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.notice("Glückwunsch!!!") d.notice("Du hast den Gemeinen Dämonenkönig getötet!!!") d.notice("Du gelangst nun in die Etage des Blauen Todes!!!") d.kill_all() timer("devil_end_jump_schmied", 10) end
when devil_end_jump_schmied.timer begin d.setf("level", 9) d.jump_all(2048+591, 6657+156) d.clear_regen() d.spawn_mob(1095, 605, 178) end
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.notice("Glückwunsch!!!") d.notice("Du hast den Blauen Tod getötet!!!") d.notice("Als belohnung spawnen nun alle 3 Dt-Schmiede!!!") d.check_eliminated() d.spawn_mob(9012, 619, 170); end end end
[Release] Dämonenturm-Fest Quest 09/09/2012 - Metin2 PServer Guides & Strategies - 5 Replies -------------------------------------------------- --
-- Das Dämonenturm Fest
------------------------------------------------- ---
quest dtschmied_fest begin
state start begin
when login or levelup with pc.level >= 95 and not pc.is_gm() begin
if pc.count_item("80041") >= 1 then chat("Das Dämonenturm Fest: Du hast das GM-Item, prüfungen werden geblockt!") return end
set_state(information)
end
end
Compile all quest without quest's files list // Kompilieren Sie alle Quest ohne Quest 07/17/2011 - Metin2 PServer Guides & Strategies - 3 Replies ENGLISH
Hello dear community, this is a very simple guide but at the same time useful.
How to compile ALL quest in the folder "quest" without the files list in the file "locale_list"?
Easy!
Open the file "make" and replace the content of the file with this:
for f in *.quest; do ./qc $f; done
Oki. Now set the 0777 permission to the file.
Finally open a SSH client and sign in. Write the command:
cd /game_file_folder
~ Dämonenturm {dt} Quest Alle Schmiede + King zuerst killen ~ 05/11/2011 - Metin2 Private Server - 6 Replies Moin,
Ich suche eine dt Quest die folgendes enthält
- Alle Schmiede spawnen
- Man kann King zuerst killen trotzdem unverbuggtes schmieden
oder Ihr sagt mir wie ich das in der Quest selber ändern kann
oder Ihr ändert es an der Quest hier:
quest deviltower_zone begin
Dämonenturm Quest 11/03/2010 - Metin2 Private Server - 1 Replies Guten nabend :rolleyes:
Mein Dt is schrotti werde ab der 55/60er metin ebene nich weitergetelt schätze es liegt an der quest oder so kann mal wer die originale posten?
Lg,
Deathy