Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Wieża Wygnańców


Rekomendowane odpowiedzi

Opublikowano

siema, wgrałem sobie ww z tego tematu http://www.mpcforum.pl/topic/424186-quest-demontower/

Wszystko niby pięknie parter, 1sze piętro, 2 piętro na trzecim normalnie są metki, ale na pieczątkach nie ma mobów nie rozumiem bo ścieżka do regenów jest poprawna, do pieczątek wszystko działa.

 

 

quest deviltower_zone begin
    state start begin
        when login begin
            if pc.get_map_index() == 66 then
                -- ¨Ă«D¦b1ĽÓ®É, °eŞđĄ~­±.
                -- ĽhĽĆ ˝dłň
                -- 1ĽÓ  88  577  236 737
                -- 2ĽÓ  91  343  238 504
                -- 3ĽÓ 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 deviltower_man.chat.locale.deviltower_man_chat begin
            if pc.get_level() < 40 then
                say(locale.deviltower_man_say_you_cant)
            else
                say(locale.deviltower_man_say)
                local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
                if s == 1 then
                    -- warp into!
                    pc.warp(216500,727000)
                end
            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)  -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆF¶đ
                pc.remove_item(30302,mapto7)

                local boxto7= pc.count_item(30300)  -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l
                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;
                    positions = positions[j];
                    positions[j] = t;
                end
            end
            --for i = 1, 7 do
        --      positions[1] = positions[1] * 100
        --      positions[2] = positions[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)
            -- ¦A˛{¤j¶q©ÇŞ«¤Î»słyŻuĄŰŔY©M°˛ĄŰŔY
            --d.regen_file("data/dungeon/deviltower4_regen.txt")
            local positions = deviltower_zone.get_4floor_stone_pos()
            for i = 1, 6 do
                chat(positions[1], positions[2])
                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[1], positions[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("Brawo, udalo sie Tobie");
            d.notice("zniszczyc kamien metin!");
            d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");
            d.notice("Spieszcie sie!");
        end

        when devil_stone4_fail1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Pozostalo 10 minut!")
                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("Pozostalo 5 minut!")
                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("Nie udalo sie, zostaniecie wylogowany!")
                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("To nie ten kamien!");
                            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("Udalo sie! Zabij wszystkie potwory na nastepnym");
                    d.notice("pietrze, aby zdobyc kamien otwarcia!")
                    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("Brawo, jestes na 5 pietrze!")
                d.notice("Aby przejsc na 6 pietro musisz zabic")
                d.notice("wszystkie potwory tutaj, zdobyc kamien")
                d.notice("otwarcia i otworzyc pieczecie przed czasem!")
                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ĽÓÄ~Äň¦A˛{
                d.set_regen_file("data/dungeon/deviltower5_regen.txt")

                -- 5ĽÓ«Ę¦LĄŰ¦A˛{
                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("Pozostalo 15 minut!")
                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("Pozostalo 10 minut!")
                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("Pozostalo 5 minut!")
                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
                d.notice("Nie udalo sie, zostaniesz wylogowany!")
                d.exit_all()
            end
        end

        --when devil_stone4.kill begin
            --d.setf("level", 5)
            --d.setf("stone_count", 4)
            --d.clear_regen()
            --d.regen_file("data/dungeon/deviltower5_regen.txt")
            --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
        --end

        when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
            local KILL_COUNT_FOR_DROP_KEY = 50
            --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
                -- ±Ľ¤UÂę°Í
                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("Brawo udalo sie! jestes na 6 pietrze!")
                d.notice("Zabij wszystkie potwory!")
                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("Do otwarcia posostały "..d.getf("stone_count").." pieczęcie")
            end
        end

        when devil_stone6.kill begin
            -- ¶Ç°e¨ě·Ň¸t©Ň¦bŞş¦aąĎ
            -- §_«hˇA¶}ł]¤@­Ó·s·Ň¸t
            --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

        --------------------------------------
        -- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
        --------------------------------------

        when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                say(""..mob_name(20074).."")
                say("Zostaniesz przeniesiony")
                say("na 7 pietro Wiezy Demonow!")
                say("Lecz uwazaj...")
                say("Tam nie bedzie tak latwo jak wczesniej!")
                wait()
                if pc.level >=75 then
                        say("Kazdy z graczy zostanie przeniesiony!")
                        timer("devil_jump_7", 6)
                        return
                end
                say("Mozesz przejsc dalej!")
                say("")
                say("")
                wait()
                pc.warp(590500, 110500)
                return
    end
        when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                say(""..mob_name(20075).."")
                say("Zostaniesz przeniesiony")
                say("na 7 pietro Wiezy Demonow!")
                say("Lecz uwazaj...")
                say("Tam nie bedzie tak latwo jak wczesniej!")
                wait()
                if pc.level >=75 then
                        say("Kazdy z graczy zostanie przeniesiony!")
                        timer("devil_jump_7", 6)
                        return
                end
                say("Mozesz przejsc dalej!")
                say("")
                say("")
                wait()
                pc.warp(590500, 110500)
                return
    end
        when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                say(""..mob_name(20076).."")
                say("Zostaniesz przeniesiony")
                say("na 7 pietro Wiezy Demonow!")
                say("Lecz uwazaj...")
                say("Tam nie bedzie tak latwo jak wczesniej!")
                wait()
                if pc.level >=75 then
                        say("Kazdy z graczy zostanie przeniesiony!")
                        timer("devil_jump_7", 6)
                        return
                end
                say("Mozesz przejsc dalej!")
                say("")
                say("")
                wait()
                pc.warp(590500, 110500)
                return
    end

   when devil_jump_7.timer begin
                d.clear_regen()

                d.spawn_mob(8018, 639, 658)
                d.spawn_mob(8018, 611, 637)
                d.spawn_mob(8018, 596, 674)
                d.spawn_mob(8018, 629, 670)

                d.setf("level", 7)

                d.jump_all(2048+590, 6656+638)
        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
                        -- ±Ľ¤UŻu¦aąĎ
                        game.drop_item(30302, 1)
                        d.clear_regen()
                else
                        -- ±Ľ¤U°˛¦aąĎ
                        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
                -- ¶Ç°e¨ě8ĽÓ
                say("Przeniesiesz sie na 8 pietro!")
                pc.remove_item("30302", 1)
            timer("devil_jump_8", 6)
                d.clear_regen()
        end
                                                
        --------------------------------------------
        -- ĄŃ¶i¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e
        --------------------------------------------
        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)-- ®ř·ŔŻu¤`ĆF¶đ
                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
                                -- ±Ľ¤UŻuÂę°Í
                                game.drop_item(30304, 1)
                        else
                                -- ±Ľ¤U°˛Âę°Í
                                game.drop_item(30303, 1)
                        end
                else
                        return
                end
        end

        when 20366.take with item.vnum == 30304 begin
                -- 9ĽÓ«Ę¦L¸Ń°Ł
                d.notice("Zostaniecie przeniesieni na 9 pietro!")
                npc.purge()
                item.remove()
                timer("devil_jump_9", 6)
        end

        ---------------------------------------------
        -- ĄŃ¶i¤J9ĽÓ¦Üµ˛§ô
        ---------------------------------------------
        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()
                notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")
                timer("devil_end_jump", 60)
        end

        when devil_end_jump.timer begin
            d.exit_all()
        end
                
        when login begin
                if pc.get_map_index() == 65 then
                        if pc.getqf("priv_dt") > 0 then
                                pc.setqf("priv_dt", 0)
                        end
                end

            if pc.get_map_index() == 66 then
                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 deviltower_man.chat."Wejdź do Wieży Wygnańców" with party.is_leader() begin
                say_title("Strażnik Wieży Wygnańców:")
                if party.get_near_count() < 2 then
                        say("Wybacz, musisz mieć ze sobą 2 osób w grupie.")
                        party.chat("Wasza grupa posiada zbyt mało członków.")
                        return
                end
            if pc.get_level() < 75 then
                say("Wybacz, mogę wpuszczać tylko soby od 75 poziomu.")
                party.chat("Lider grupy nie posiada 75 poziomu.")
            else
                say("Spełniasz wszystkie warunki..")
                say("Czy aby na pewno chcesz wejść do Wieży?")
                say("Czeka tam na Ciebie i Twoich znajomych ogromne")
                say("niebezpieczeństwo.. Jesteś tego pewien?")
                local s = select("Wejdź!","Nie wchodzę..")
                
                if s == 1 then
                        pc.setqf("priv_dt", 1)
                    -- join into map!
                    d.join(66)
                end
            end
        end

        
        when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                        --local i = nie ważne..
                        --chat("i: "..i) -- for test
                        if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
                                pc.setqf("priv_dt", 0)
                                d.regen_file("data/dungeon/wygnancy.txt")
                                d.notice("Witajcie, w Wieży Wygnańców!")
                                d.notice("Zniszczie Metin Morderstwa, by przedostać się dalej.")
                                d.spawn_mob(8024, 195, 690)
                        end
        end
        
        
        when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            timer("wieza", 6)
                chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
        end
        when wieza.timer begin
            d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
            d.regen_file("data/dungeon/wygnancy2.txt")
            d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
        end
        when 1903.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.txt")
            d.check_eliminated()
                d.notice("Elit. Dziewięć Ogonów został pokonany!")
        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;
                    positions = positions[j];
                    positions[j] = t;
                end
            end
            return positions
        end
        when 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
            d.setf("levels", 4)
            local positions = deviltower_zone.get_4floor_stone_pos()
            for i = 1, 6 do
                chat(positions[1], positions[2])
                d.set_unique("fake" .. i , d.spawn_mob(8026, positions[1], positions[2]))
            end
            chat(positions[7][1], positions[7][2])
            local vid = d.spawn_mob(8026, positions[7][1], positions[7][2])
            chat(vid)
            d.set_unique("real", vid)
            server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
            server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())

            d.notice("Brawo, udało się Tobie zniszczyć Metin Ma-An.");
            d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
            d.notice("by dostać się na kolejne piętro.");
            d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
            d.notice("Śpieszcie się!");
        end

        when devil_stone4_fail1s.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Pozostało 10 minut!")
                server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone4_fail2s.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Pozostało 5 minut!")
                server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone4_fails.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Nie udalo sie, zostaniecie wylogowany!")
                d.exit_all()
                clear_server_timer('devil_stone4_updates', get_server_timer_arg())
            end
        end

        when devil_stone4_updates.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("To nie ten kamień!");
                            end
                        end
                    end
                else
                    server_timer("devil_stone4_ends", 5, get_server_timer_arg())
                    d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
                    d.notice("Zostaniecie przeniesieni na kolejne piętro.")
                    clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
                    clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
                    clear_server_timer('devil_stone4_fails', get_server_timer_arg())
                end
            else
                server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
            end
        end

        when devil_stone4_stop_timers.server_timer begin
            clear_server_timer('devil_stone4_updates', get_server_timer_arg())
        end

        when devil_stone4_ends.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.setf("levels", 5)
                d.setf("stone_counts", 5)
                d.notice("Świetnie.. Przechodzicie na 5 piętro!")
                d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
                d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
                d.notice("wszystkie pięć pieczęci przed czasem!")
                d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
                server_timer('devil_stone5_fail1s', 5*60, get_server_timer_arg())
                clear_server_timer('devil_stone4_updates', get_server_timer_arg())

                -- 5ĽÓÄ~Äň¦A˛{
                d.set_regen_file("data/dungeon/wygnancy5.txt")

                -- 5ĽÓ«Ę¦LĄŰ¦A˛{
                d.spawn_mob(20353, 421, 452)
                d.spawn_mob(20353, 380, 460)
                d.spawn_mob(20353, 428, 414)
                d.spawn_mob(20353, 398, 392)
                d.spawn_mob(20353, 359, 426)
            end
        end
        when devil_stone5_fail1s.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Do Końca pozostało 15 minut.")
                server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fail2s.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Do Końca pozostało 10 minut.")
                server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fail3s.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Do Końca pozostało 5 minut.")
                server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
            end
        end

        when devil_stone5_fails.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
                d.exit_all()
            end
        end

        when 2412.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
            local KILL_COUNT_FOR_DROP_KEYs = 50
            local n =d.getf("counts") + 1
            d.setf("counts", n)
            if n == KILL_COUNT_FOR_DROP_KEYs then
                pc.give_item2(50084, 1)
                d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
                d.setf("counts", 0)
            end
        end
        when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
            npc.purge()
            item.remove()
            d.setf("stone_counts", d.getf("stone_counts") - 1)
            if d.getf("stone_counts") <= 0 then
                d.setf("levels", 6)
                d.clear_regen()
                d.regen_file("data/dungeon/wygnancy6.txt")

                d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
                d.notice("Zabijcie wszystkie potwory!")
                d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
                timer("mob",6)
                clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
                clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
                clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
                clear_server_timer('devil_stone5_fails', get_server_timer_arg())
            else
                                d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
            end
        end
        
        when mob.timer begin
                d.spawn_mob(1304, 425, 216);
        end

        when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
            d.kill_all()
            d.check_eliminated()
            local reward_alchemists = {20074, 20075, 20076}
            d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
            d.setqf("can_refine", 2)
        end
        

        --------------------------------------
        -- ĄŃ¶i¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
        --------------------------------------

        when 20074.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
                say_title(""..mob_name(20074).."")
                say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
                say("Lecz uważaj..")
                say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
                wait()
                if pc.level >=110 then
                        say_title(""..mob_name(20074).."")
                        say("Posiadasz odpowiedni level.")
                        say("Zostaniesz przeniesiony na 7 piętro.")
                        timer("devil_jump_7s", 6)
                        return
                end
                say_title(""..mob_name(20074).."")
                say("Wybacz.. nie posiadasz 110 poziomu")
                say("Nie mogę Cię przenieść na kolejne piętro.")
                wait()
                pc.warp(590500, 110500)
                return
    end
        when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
                say_title(""..mob_name(20074).."")
                say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
                say("Lecz uważaj..")
                say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
                wait()
                if pc.level >=110 then
                        say_title(""..mob_name(20074).."")
                        say("Posiadasz odpowiedni level.")
                        say("Zostaniesz przeniesiony na 7 piętro.")
                        timer("devil_jump_7s", 6)
                        return
                end
                say_title(""..mob_name(20074).."")
                say("Wybacz.. nie posiadasz 110 poziomu")
                say("Nie mogę Cię przenieść na kolejne piętro.")
                wait()
                pc.warp(590500, 110500)
                return
    end
        when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
                say_title(""..mob_name(20074).."")
                say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
                say("Lecz uważaj..")
                say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
                wait()
                if pc.level >=110 then
                        say_title(""..mob_name(20074).."")
                        say("Posiadasz odpowiedni level.")
                        say("Zostaniesz przeniesiony na 7 piętro.")
                        timer("devil_jump_7s", 6)
                        return
                end
                say_title(""..mob_name(20074).."")
                say("Wybacz.. nie posiadasz 110 poziomu")
                say("Nie mogę Cię przenieść na kolejne piętro.")
                wait()
                pc.warp(590500, 110500)
                return
    end

   when devil_jump_7s.timer begin
                d.clear_regen()
                d.spawn_mob(1095, 617, 676)
                d.setf("levels", 7)
                d.regen_file("data/dungeon/wygnancy7.txt")
                d.jump_all(2048+590, 6656+638)
        end
        ---------------------------------------------
        -- Niebieska Śmierć
        ---------------------------------------------
        when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                timer("devil_jump_8S", 30)
                d.clear_regen()
                d.notice("Pokonaliście Niebieską Śmierć!")
                d.notice("Zostaniecie przeniesieni na piętro smoka!")
        end
        
        ---------------------------------------------
        -- Niebiański Smok
        ---------------------------------------------
        when devil_jump_8S.timer begin
                d.setf("levels", 8)
                d.jump_all(2048+590, 6656+155)
                d.spawn_mob(2493,630,195)
        end

        when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
                d.kill_all()
                local m_sex = pc.get_sex()
                                    if m_sex == 0 then
                notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
                        else
                notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
                                end

                timer("devil_end_jumps", 60)
        end

        when devil_end_jumps.timer begin
            d.exit_all()
        end
end
state __GOOD__ begin
end
end

 

Opublikowano

Z tego co pamiętam tam są grupy mobów, których ty nie masz w swoich plikach. Musisz na nowo spawny zrobić.

Moby się zmienia w regenach czy w quescie ?

Opublikowano

ok, a która rubryka to moby?

g    172    653    0    10    0    0    180s    100    1    2416
g    209    661    0    10    0    0    180s    100    1    2416
g    169    684    0    10    0    0    180s    100    1    2415
g    207    690    0    10    0    0    180s    100    1    2416
g    184    598    0    10    0    0    180s    100    1    2414
g    140    599    0    10    0    0    180s    100    1    2416
g    130    607    0    10    0    0    180s    100    1    2414
g    126    608    0    10    0    0    180s    100    1    2414
g    205    610    0    10    0    0    180s    100    1    2414
g    198    611    0    10    0    0    180s    100    1    2414
g    205    613    0    10    0    0    180s    100    1    2414
g    186    615    0    10    0    0    180s    100    1    2415
g    137    621    0    10    0    0    180s    100    1    2415
g    132    627    0    10    0    0    180s    100    1    2414
g    119    652    0    10    0    0    180s    100    1    2414
g    107    664    0    10    0    0    180s    100    1    2414
g    110    667    0    10    0    0    180s    100    1    2414
g    111    667    0    10    0    0    180s    100    1    2414
g    125    673    0    10    0    0    180s    100    1    2414
g    131    700    0    10    0    0    180s    100    1    2414
g    137    703    0    10    0    0    180s    100    1    2414
g    184    623    0    10    0    0    180s    100    1    2415
g    194    627    0    10    0    0    180s    100    1    2415
g    173    631    0    10    0    0    180s    100    1    2415
g    159    634    0    10    0    0    180s    100    1    2415
g    159    636    0    10    0    0    180s    100    1    2415
g    152    637    0    10    0    0    180s    100    1    2415
g    164    639    0    10    0    0    180s    100    1    2415
g    171    641    0    10    0    0    180s    100    1    2415
g    149    645    0    10    0    0    180s    100    1    2415
g    203    648    0    10    0    0    180s    100    1    2415
g    147    649    0    10    0    0    180s    100    1    2414
g    132    655    0    10    0    0    180s    100    1    2414
g    152    655    0    10    0    0    180s    100    1    2415
g    141    659    0    10    0    0    180s    100    1    2415
g    154    665    0    10    0    0    180s    100    1    2415
g    130    667    0    10    0    0    180s    100    1    2416
g    150    668    0    10    0    0    180s    100    1    2416
g    150    669    0    10    0    0    180s    100    1    2416
g    148    671    0    10    0    0    180s    100    1    2415
g    131    674    0    10    0    0    180s    100    1    2415
g    149    674    0    10    0    0    180s    100    1    2415
g    149    677    0    10    0    0    180s    100    1    2416
g    149    679    0    10    0    0    180s    100    1    2416
g    153    680    0    10    0    0    180s    100    1    2414
g    156    700    0    10    0    0    180s    100    1    2415
g    160    702    0    10    0    0    180s    100    1    2416
g    169    711    0    10    0    0    180s    100    1    2415



 

Opublikowano

Jeśli używasz regena z G (grupy) lub R(grupy złożone z grup) to w 4 i 5 kolumnie musisz wpisać na jakiej płaszczyźnie ma się ta grupa zrespić. Czyli musi być tam wartość większa niż 0, a ty masz właśnie 0 i dlatego nie widzisz mobów.

 

Poprawione:

g    172    653    10    10    0    0    180s    100    1    2416
g    209    661    10    10    0    0    180s    100    1    2416
g    169    684    10    10    0    0    180s    100    1    2415
g    207    690    10    10    0    0    180s    100    1    2416
g    184    598    10    10    0    0    180s    100    1    2414
g    140    599    10    10    0    0    180s    100    1    2416
g    130    607    10    10    0    0    180s    100    1    2414
g    126    608    10    10    0    0    180s    100    1    2414
g    205    610    10    10    0    0    180s    100    1    2414
g    198    611    10    10    0    0    180s    100    1    2414
g    205    613    10    10    0    0    180s    100    1    2414
g    186    615    10    10    0    0    180s    100    1    2415
g    137    621    10    10    0    0    180s    100    1    2415
g    132    627    10    10    0    0    180s    100    1    2414
g    119    652    10    10    0    0    180s    100    1    2414
g    107    664    10    10    0    0    180s    100    1    2414
g    110    667    10    10    0    0    180s    100    1    2414
g    111    667    10    10    0    0    180s    100    1    2414
g    125    673    10    10    0    0    180s    100    1    2414
g    131    700    10    10    0    0    180s    100    1    2414
g    137    703    10    10    0    0    180s    100    1    2414
g    184    623    10    10    0    0    180s    100    1    2415
g    194    627    10    10    0    0    180s    100    1    2415
g    173    631    10    10    0    0    180s    100    1    2415
g    159    634    10    10    0    0    180s    100    1    2415
g    159    636    10    10    0    0    180s    100    1    2415
g    152    637    10    10    0    0    180s    100    1    2415
g    164    639    10    10    0    0    180s    100    1    2415
g    171    641    10    10    0    0    180s    100    1    2415
g    149    645    10    10    0    0    180s    100    1    2415
g    203    648    10    10    0    0    180s    100    1    2415
g    147    649    10    10    0    0    180s    100    1    2414
g    132    655    10    10    0    0    180s    100    1    2414
g    152    655    10    10    0    0    180s    100    1    2415
g    141    659    10    10    0    0    180s    100    1    2415
g    154    665    10    10    0    0    180s    100    1    2415
g    130    667    10    10    0    0    180s    100    1    2416
g    150    668    10    10    0    0    180s    100    1    2416
g    150    669    10    10    0    0    180s    100    1    2416
g    148    671    10    10    0    0    180s    100    1    2415
g    131    674    10    10    0    0    180s    100    1    2415
g    149    674    10    10    0    0    180s    100    1    2415
g    149    677    10    10    0    0    180s    100    1    2416
g    149    679    10    10    0    0    180s    100    1    2416
g    153    680    10    10    0    0    180s    100    1    2414
g    156    700    10    10    0    0    180s    100    1    2415
g    160    702    10    10    0    0    180s    100    1    2416
g    169    711    10    10    0    0    180s    100    1    2415
Opublikowano

 

Jeśli używasz regena z G (grupy) lub R(grupy złożone z grup) to w 4 i 5 kolumnie musisz wpisać na jakiej płaszczyźnie ma się ta grupa zrespić. Czyli musi być tam wartość większa niż 0, a ty masz właśnie 0 i dlatego nie widzisz mobów.

 

Poprawione:

g    172    653    10    10    0    0    180s    100    1    2416
g    209    661    10    10    0    0    180s    100    1    2416
g    169    684    10    10    0    0    180s    100    1    2415
g    207    690    10    10    0    0    180s    100    1    2416
g    184    598    10    10    0    0    180s    100    1    2414
g    140    599    10    10    0    0    180s    100    1    2416
g    130    607    10    10    0    0    180s    100    1    2414
g    126    608    10    10    0    0    180s    100    1    2414
g    205    610    10    10    0    0    180s    100    1    2414
g    198    611    10    10    0    0    180s    100    1    2414
g    205    613    10    10    0    0    180s    100    1    2414
g    186    615    10    10    0    0    180s    100    1    2415
g    137    621    10    10    0    0    180s    100    1    2415
g    132    627    10    10    0    0    180s    100    1    2414
g    119    652    10    10    0    0    180s    100    1    2414
g    107    664    10    10    0    0    180s    100    1    2414
g    110    667    10    10    0    0    180s    100    1    2414
g    111    667    10    10    0    0    180s    100    1    2414
g    125    673    10    10    0    0    180s    100    1    2414
g    131    700    10    10    0    0    180s    100    1    2414
g    137    703    10    10    0    0    180s    100    1    2414
g    184    623    10    10    0    0    180s    100    1    2415
g    194    627    10    10    0    0    180s    100    1    2415
g    173    631    10    10    0    0    180s    100    1    2415
g    159    634    10    10    0    0    180s    100    1    2415
g    159    636    10    10    0    0    180s    100    1    2415
g    152    637    10    10    0    0    180s    100    1    2415
g    164    639    10    10    0    0    180s    100    1    2415
g    171    641    10    10    0    0    180s    100    1    2415
g    149    645    10    10    0    0    180s    100    1    2415
g    203    648    10    10    0    0    180s    100    1    2415
g    147    649    10    10    0    0    180s    100    1    2414
g    132    655    10    10    0    0    180s    100    1    2414
g    152    655    10    10    0    0    180s    100    1    2415
g    141    659    10    10    0    0    180s    100    1    2415
g    154    665    10    10    0    0    180s    100    1    2415
g    130    667    10    10    0    0    180s    100    1    2416
g    150    668    10    10    0    0    180s    100    1    2416
g    150    669    10    10    0    0    180s    100    1    2416
g    148    671    10    10    0    0    180s    100    1    2415
g    131    674    10    10    0    0    180s    100    1    2415
g    149    674    10    10    0    0    180s    100    1    2415
g    149    677    10    10    0    0    180s    100    1    2416
g    149    679    10    10    0    0    180s    100    1    2416
g    153    680    10    10    0    0    180s    100    1    2414
g    156    700    10    10    0    0    180s    100    1    2415
g    160    702    10    10    0    0    180s    100    1    2416
g    169    711    10    10    0    0    180s    100    1    2415

Ale to jest z 1 piętra tam widze moby

 

g - to grupa mobów. Na samym końcu jest id tej grupy.

 

Ja zawsze dodawałem moby pojedyńczo.

 

Zmieniasz g na m i na końcu zamieniasz na liczbę na id moba.

Później to sprawdzę i dam znać

 

 

A więc tak moby mam wszystko pięknie, ale teraz znowu nie dropią kamienie otwarcia no to przywołałem je komendą i kolejny błąd po ubiciu zjawy nie ma kowala.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...