Ich habe seit c.a 2 tagen die DC eingefügt und alles funktioniert auch soweit, nur ich habe dauernt das Problem das wenn ich den Schlüssel bzw irgendeinen schlüssel aktiviere Teleportiert er sich zur 2 ebene und dann direckt auf Map1, Bitte um hilfe!
Meine DC Quest:
Code:
quest devilscave begin state start begin --Konfiguration when 20351.chat."DC Configuration!" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin game.set_event_flag("dc_is_ok",1) game.set_event_flag("block_dc_config",1) game.set_event_flag("dc_versuche",1) end --Eintritt fehlgeschlagen --when 20351.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 and pc.get_level() > 80 begin --say_title("Wächter der Katakombe") --say("") --say_reward("Du darfst noch nicht in die Devils Catacomb!") --say("") --say_reward("Bring mir ein Sensenmannrelikt zieh es einfach auf mich!") --say_reward("und du darfst Passieren!") --end --when 20351.chat."Devils Catacomb (lv.80)" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 1 and pc.get_level() < 80 begin --say_title("Wächter der Katakombe") --say("") --say_reward("Du bist noch zu Schwach!") --say("") --end --Sensenmannrelikt Abgabe! --when 20351.take with item.vnum == 30122 and pc.getqf("can_in_dc") == 0 begin --if pc.get_level() < 80 then --say_title("Wächter der Katakombe") --say("") --say_reward("Du musst lv.80 sein um ein Sensenmannrelikt abzugeben!") --say("") --else --item.remove() --say_title("Wächter der Katakombe") --say("") --say_reward("Du darfst nun die Devils Catacomb betreten!") --say("") --pc.setqf("can_in_dc", 1) --end --end --Eintritt when 20351.chat."The Devils Catacomb" with game.get_event_flag("dc_is_ok") == 1 and pc.getqf("can_in_dc") == 0 begin if pc.get_level() < 80 then say_title("Wächter der Katakombe") say("") say_reward("Du bist noch zu schwach für die Katakomben!") say("") else say_title("Wächter der Katakombe") say("") say("Bisher haben "..game.get_event_flag("dcgamer").." Soldaten es versucht ") say("und "..game.get_event_flag("dc_geschaft").." haben es tatsächlich geschaft") say("Azrael zu besiegen!") wait() say_title("Wächter der Katakombe") say("") say_reward("Willst du es versuchen?") say_reward("du wärst der "..game.get_event_flag("dc_versuche")..". Kämpfer der es") say_reward("versucht!") say("") pc.setqf("Ebene", 1) local dc_login = select("Betreten", "Abbrechen") if dc_login == 1 then pc.warp(415200, 4209200) elseif dc_login == 2 then return end end end --Ebene 1 when login with pc.get_map_index() == 209 begin game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1) game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1) if pc.getqf("Ebene") == 1 then say_title("Devils Catacomb") say("Um in die 2.Ebene zu kommen, musst du") say_item("Seelenkristall-Schlüssel", 30311, "") --Die "--" vor say_item entfernen wenn beim Login text das Item als Bild angezeigt werden soll das man braucht say("auf die Statue des Kud ziehen!") say("Du droppst ihn bei den Monstern.") say("Ihr habt ingesamt 90 Minuten Zeit!") say("") say_reward("Viel Glück!") say("") timer("dc10", 600) pc.setqf("sksgedroppt", 0) else warp_all_to_village() end end when kill with not npc.is_pc() and pc.get_map_index() == 209 begin local sks = number(1,15) if sks==1 and pc.getqf("sksgedroppt")==0 then pc.setqf("sksgedroppt", 1) chat("Du hast den Seelenkristall-Schlüssel gedroppt!") game.drop_item(30311, 1) else chat("Dieses Monster hatte keinen Schlüssel.") end end when 30101.take with item.vnum == 30311 begin chat("Du wirst jetzt in die 2. Ebene gebracht.") pc.remove_item("30311") d.new_jump_all(209, 4632, 42082) d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt") d.regen_file("data/dungeon/devilcave/dc_regen_tore_unten.txt") d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt") d.spawn_mob(30103, 741, 221) d.setf("Ebene", 2) end when login with pc.in_dungeon() begin if d.getf("Ebene") == 2 then chat("Ihr befindet euch jetzt in der 2. Ebene!") chat("Schlagt euch zum Schildkrötenfels durch!") chat("Ihr habt nur 10 minuten Zeit!") timer("dc1", 600) end if d.getf("Ebene") == 3 then chat("Findet und zerstört den richtigen Metin der Vergeltung.") chat("Ihr habt 20 Minuten Zeit.") timer("dc2", 1200) end if d.getf("Ebene") == 4 then chat("Findet den Weg aus dem Labyrinth.") chat("Und findet die Inschrift am Runenpfahl.") chat("Ihr habt 15 Minuten Zeit.") timer("dc3", 900) d.spawn_mob(30104, 500, 800) d.spawn_mob(10800, 328, 779) d.spawn_mob(10801, 70, 672) d.spawn_mob(10802, 142, 865) d.spawn_mob(10803, 433, 935) d.spawn_mob(10804, 243, 854) d.spawn_mob(10805, 182, 667) end if d.getf("Ebene") == 5 then chat("Findet und tötet Tartaros um das Fratzen-Totem zu bekommen!") chat("Zieht es anschließend auf den Basalt-Obelisk auf dem Berg.") chat("Ihr habt 15 Minuten Zeit.") timer("dc4", 900) d.spawn_mob(30104, 500, 800) end if d.getf("Ebene") == 6 then chat("Tötet Charon um zur letzten Ebene zu kommen!") chat("Ihr habt 15 Minuten Zeit.") timer("dc5", 900) d.spawn_mob(30104, 500, 800) end if d.getf("Ebene") == 7 then chat("Tötet Azrael und setzt dem Unheil ein Ende!") chat("Ihr habt 15 Minuten Zeit!") timer("dc6", 900) d.spawn_mob(30104, 500, 800) end end when dc1.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end when dc10.timer begin chat("Ihr habt noch 80 Minuten Zeit, Azrael zu finden und zu töten!") timer("dc20", 600) end when dc20.timer begin chat("Ihr habt noch 70 Minuten zeit!") timer("dc30", 600) end when dc30.timer begin chat("Ihr habt noch 60 Minuten zeit!") timer("dc40", 600) end when dc40.timer begin chat("Ihr habt noch 50 Minuten zeit!") timer("dc50", 600) end when dc50.timer begin chat("Ihr habt noch 40 Minuten zeit!") timer("dc60", 600) end when dc60.timer begin chat("Ihr habt noch 30 Minuten zeit!") timer("dc70", 600) end when dc70.timer begin chat("Ihr habt noch 20 Minuten zeit!") timer("dc80", 600) end when dc80.timer begin chat("Ihr habt noch 10 Minuten zeit!") timer("dc110", 600) end when dc110.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end --Ebene 2 when 30103.chat."Weiter zur 3. Ebene" begin npc.purge() say_reward("Inschrift:") say("Es ist noch ein weiter weg.") wait() d.new_jump_all(209, 5427, 42282) d.setf("Ebene", 3) d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt") local metindv = number(1,4) if metindv==1 then d.spawn_mob(8029, 1351, 348) d.spawn_mob(8029, 1148, 350) d.spawn_mob(8029, 1151, 155) d.spawn_mob(8028, 1351, 149) end if metindv==2 then d.spawn_mob(8029, 1351, 348) d.spawn_mob(8029, 1148, 350) d.spawn_mob(8028, 1151, 155) d.spawn_mob(8029, 1351, 149) end if metindv==3 then d.spawn_mob(8029, 1351, 348) d.spawn_mob(8028, 1148, 350) d.spawn_mob(8029, 1151, 155) d.spawn_mob(8029, 1351, 149) end if metindv==4 then d.spawn_mob(8028, 1351, 348) d.spawn_mob(8029, 1148, 350) d.spawn_mob(8029, 1151, 155) d.spawn_mob(8029, 1351, 149) end end when 8029.kill with pc.in_dungeon() begin chat("Ein Falscher Metin wurde zerstört.") end when 8028.kill with pc.in_dungeon() begin chat("Der richtige Metin wurde zerstört.") chat("Ihr kommt nun in die 4. Ebene.") timer("devils_catacomb_goto_ebene4", 2) end when dc2.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end --Ebene 4 (Labyrinth) when devils_catacomb_goto_ebene4.timer begin d.new_jump_all(209, 4143, 42657) d.setf("Ebene", 4) end when 30104.chat."Inschrift" with pc.in_dungeon() begin say_title("Ihr seid schon ziemlich weit gekommen.") timer("dc3", 6000) chat("Ihr habt den richtigen Weg gefunden.") chat("Ihr kommt jetzt in die 5. Ebene.") timer("devils_catacomb_goto_ebene5", 5) end when dc3.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end --Ebene 6 (Tartaros) when devils_catacomb_goto_ebene5.timer begin d.new_jump_all(209, 4917, 42925) d.spawn_mob(30102, 848, 739) d.setf("Ebene", 5) d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt") local tartaros = number(1,4) if tartaros==1 then d.spawn_mob(2593, 991, 848) end if tartaros==2 then d.spawn_mob(2593, 999, 652) end if tartaros==3 then d.spawn_mob(2593, 848, 577) end if tartaros==4 then d.spawn_mob(2593, 703, 644) end if tartaros==5 then d.spawn_mob(2593, 692, 817) end end when 2593.kill with pc.in_dungeon() begin chat("Tartaros wurde besiegt und das Fratzen-Totem wurde Fallengelassen!") chat("Begebt euch mit dem Fratzen-Totem auf den Berg in der Mitte.") game.drop_item(30312, 1) end when 30102.take with item.vnum == 30312 begin timer("dc4", 6000) item.remove() npc.purge() say_reward("...") chat("Ihr werdet jetzt in die 6. Ebene gebracht.") timer("devils_catacomb_goto_ebene6", 5) end when dc4.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end --Ebene 7 (Charon) when devils_catacomb_goto_ebene6.timer begin d.new_jump_all(209, 5422, 42782) d.setf("Ebene", 6) d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt") end when 2597.kill with pc.in_dungeon() begin timer("dc5", 6000) d.kill_all() chat("Ihr habt Charon besiegt!") chat("Bereitet euch auf den Kampf mit Azrael vor!") timer("devils_catacomb_goto_ebene7", 10) end when dc5.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end --Ebene 8 (Azrael) when devils_catacomb_goto_ebene7.timer begin d.new_jump_all(209, 4147, 43191) d.setf("Ebene", 7) d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt") end when 2598.kill with pc.in_dungeon() begin game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1) local level = pc.get_level() chat("Ihr habt ihn Besiegt und das Böse vertrieben.") chat("Ihr werdet in 2 Minuten herrausteleportiert!") chat("Sammelt schnell die Schätze ein, bevor es zu spät ist.") d.kill_all() d.kill_all() notice_all("Die Gruppe von "..pc.get_name().." hat Azrael besiegt!") timer("goout_from_dc", 120) d.spawn_mob(9012, 74, 1159) end when dc6.timer begin chat("Die Zeit ist Abgelaufen!") warp_all_to_village( pc.get_map_index() , 5 ) end when goout_from_dc.timer begin warp_all_to_village( pc.get_map_index() , 3 ) end end end