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

Quest Bonusy Dla Pety


koniak321

Rekomendowane odpowiedzi

Opublikowano

quest na ww jest dostępny już na forum,

 

Tutaj masz odbugowane DT możesz je przerobić na WW :

quest deviltower_zone begin
    state start begin
        when login begin
            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.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)
                pc.remove_item(30302,mapto7)

                local boxto7= pc.count_item(30300)
                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)
            --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("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())


                d.set_regen_file("data/dungeon/deviltower5_regen.txt")

                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
                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("Zostalo"..d.getf("stone_count").."pieczeci")
            end
        end

        when devil_stone6.kill begin
            --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


        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
                        ssay("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
                        game.drop_item(30302, 1)
                        d.clear_regen()
                else
                        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
                say("Przeniesiesz sie na 8 pietro!")
                pc.remove_item("30302", 1)
            timer("devil_jump_8", 6)
                d.clear_regen()
        end
                                                
        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)
                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
                                game.drop_item(30304, 1)
                        else
                                game.drop_item(30303, 1)
                        end
                else
                        return
                end
        end

        when 20366.take with item.vnum == 30304 begin
                d.notice("Zostaniecie przeniesieni na 9 pietro!")
                npc.purge()
                item.remove()
                timer("devil_jump_9", 6)
        end

        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
end
end

Zarchiwizowany

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

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...