antiblock
Elveron
  • Chatbox

    You don't have permission to chat.
    Load More
  • 0
Sign in to follow this  
uScared?

[Problema]Dúvida A Alterar Torre Dos Demónios.

Question

Boas pessoal.. Eu estou a tentar editar a torre dos demónios, e precisava de ajuda na seguinte questão:

Eu já alterei o regen da metin da dureza, para a metin de nivel 90, mas quando parto a metin de 90 não sobe a torre. Na quest não há nenhuma metin da dureza, nem mesmo o código. Deixo aqui a quest:

[spoiler]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(590500, 110500)                end                pc.set_warp_location(65, 5905, 1105)            elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then                pc.set_warp_location(65, 5905, 1105)                 deviltower_zone.register_player(pc.get_vid())            end        end when logout beginif pc.count_item(30300) >= 1 thenpc.remove_item(30300, pc.count_item(30300))endif pc.count_item(30302) >= 1 thenpc.remove_item(30302, pc.count_item(30302))end if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 thendeviltower_zone.unregister_player(pc.get_vid()) endendwhen deviltower_man.chat.locale.deviltower_man_chat begin                if pc.get_level() < 40 then                        say_title("Guard of the Demon Tower:")                        say("")                        ---                                                   l                        say("This tower is abounds with demons.")                        say("Only the strongest can reach the top.")                        say("It is said, that nobody who enters")                        say("the tower has left it alive.")                        say("You cannot enter it, because you have not")                        say("reached level 40 yet.")                else                        say_title("Guard of the Demon Tower:")                        say("")                        ---                                                   l                        say("This tower is abounds with demons.")                        say("Only the strongest can reach the top.")                        say("It is said, that nobody who enters")                        say("the tower has left it alive.")                        say("Do you still want to enter the Demon Tower?")                        say("")                        local s = select("Enter.", "Leave.")                        if s == 1 then                                -- warp into!                                pc.warp(216500,727000)                        end            end        end        when devil_stone1.kill begin            timer("devil_stone1_1", 8)        end        when devil_stone1_1.timer begin            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_stone3.kill begin            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()        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            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)            local positions = deviltower_zone.get_4floor_stone_pos()            for i = 1, 6 do                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))            end            local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])            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("You arrived at the Gate of Choice on the 4th floor.");            d.notice("Many false Metin stones will irritate your eyes and ears.");            d.notice("Find the right Metin stone and destroy it within 15 Minutes");            d.notice("It is the only way to pass this gate.");        end         when devil_stone4_fail1.server_timer begin            if d.select(get_server_timer_arg()) then                d.notice("Minutes left: 10")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("Minutes left: 5")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()) and d.getf("level") == 4 then                d.notice("The time is over.")                d.exit_all()            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("The fake Metin stone disappears...");                            end                        end                    end                else                    server_timer("devil_stone4_end", 5, get_server_timer_arg())                                        d.notice("You proved yourself and showed good instinct.");                    d.notice("You have destroyed the correct Metin stone.")                    d.purge()                end            elseserver_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()) thenclear_server_timer('devil_stone4_update', get_server_timer_arg())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())                 d.setf("level", 5)                d.setf("stone_count", 5)                                d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])                d.notice("You arrived at the Sealed Gate on the 5th floor.")                d.notice("A few monsters have an Unlock Stone that can be")                d.notice("used to open the Ancient Seals.")                d.notice("Open the 5 seals within 20 Minutes to advance")                d.notice("to the next floor!")                 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("Minutes left: 15")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("Minutes left: 10")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("Minutes left: 5")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()) and d.getf("level") == 5 thend.notice("The time is over.")d.exit_all()            end        end         when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin            local KILL_COUNT_FOR_DROP_KEY = 50            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.clear_regen()             d.kill_all()                d.notice("You have opened the last Seal. You will")                d.notice("now arrive on the 6th floor!") 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())                 d.setf("level", 6)                d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])d.regen_file("data/dungeon/deviltower6_regen.txt")                 d.notice("Defeat all the demons on the 6th floor")                d.notice("before attacking the King!")             else                d.notice("You opened the Seal! There are "..d.getf("stone_count").." left.")            end        end         when devil_stone6.kill begin            d.kill_all()            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."Top floors of Demon Tower" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin          say_title(""..mob_name(20074)..":")          say("")          say("They found the way to reach 7th floor.")          say("It requires a lot of ability and skills to go there.")          say("Hmmmm...")          say("After I examined your status to go up stairs.....")          wait()          if pc.level >=75 then          say_title(""..mob_name(20074)..":")          say("")              say("You are good to go up.")              say("I will let you know the way..")              timer("devil_jump_7", 6)              npc.unlock()              d.purge()              return          end          say_title(""..mob_name(20074)..":")          say("")          say("You need more training to go up there.")          say("Come back when you have more experience.") say("")wait()pc.warp(590500, 110500)return   end   when 20075.chat."Top floors of Demon Tower" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() beginsay_title(""..mob_name(20075)..":")        say("")        say("They found the way to reach 7th floor.")        say("It requires a lot of ability and skills to go there.")        say("Hmmmm...")        say("After I examined your status to go up stairs.....")        wait()        if pc.level >=75 then         say_title(""..mob_name(20075)..":")          say("")         say("You are good to go up.")         say("I will let you know the way..")         timer("devil_jump_7", 6)         npc.unlock()         d.purge()         return        endsay_title(""..mob_name(20075)..":") say("")        say("You need more training to go up there.")        say("Come back when you have more experience.")say("")wait()pc.warp(590500, 110500)return    end   when 20076.chat."Top floors of Demon Tower" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() beginsay_title(""..mob_name(20076)..":")          say("")          say("It requires a lot of ability and skills to go there.")          say("Hmmmm...")          say("After I examined your status to go up stairs.....")          wait()          if pc.level >=75 then                say_title(""..mob_name(20076)..":")                 say("")                say("You are good to go up.")               say("I will let you know the way..")               timer("devil_jump_7", 6)               npc.unlock()               d.purge()               return          end  say_title(""..mob_name(20076)..":")   say("")           say("You need more training to go up there.")       say("Come back when you have more experience.")say("")wait()pc.warp(590500, 110500)return   end    when devil_jump_7.timer begind.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 beginlocal cont = d.getf("7_stone_kill") + 1d.setf("7_stone_kill", cont) if cont >= 4 thend.setf("7_stone_kill", 0)d.set_regen_file("data/dungeon/deviltower7_regen.txt")        endend when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begingame.drop_item(30300, 1)end when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 beginpc.remove_item("30300", 1) local pct = number(1,8) if pct == 1 thengame.drop_item(30302, 1)d.clear_regen()elsegame.drop_item(30301, 1) endend when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin-- 8ÃþÀ¸·Î ¿öÇÁ if d.getf( "level" ) != 7 thenpc.remove_item( "30302", 1)returnend say("With this map, I can warp to next floor!")pc.remove_item("30302", 1)   timer("devil_jump_8", 6)d.clear_regen()end ---------------------------------------------- 8Ãþ ÁøÀÔºÎÅÍ 9Ãþ ±îÁö--------------------------------------------when devil_jump_8.timer begind.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 beginif d.getf("level") < 9 thenlocal pct1 = number(1, 10)if pct1 == 1 thenlocal pct2 = number(1, 4)if pct2 == 1 then-- ÁøÂ¥ ¿­¼è µå·Ógame.drop_item(30304, 1)else-- °¡Â¥ ¿­¼è µå·Ógame.drop_item(30303, 1)endelsereturnendendend when 20366.take with item.vnum == 30304 begin-- ºÀÀÎ ÇØü 9Ãþ ¤¡¤¡npc.purge()item.remove()timer("devil_jump_9", 8)end ----------------------------------------------- 9Ãþ ÁøÀÔºÎÅÍ ¿Ï·á±îÁö---------------------------------------------when devil_jump_9.timer begind.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 begind.kill_all()timer("devil_end_jump", 30)end when devil_end_jump.timer begin   d.exit_all()endfunction register_player(vid)local player_count = d.getf("player_count")player_count = player_count + 1d.setf("player_count", tonumber(player_count))d.setf(string.format("player%d", player_count), tonumber(vid))end function unregister_player(vid)local player_count = d.getf("player_count")local found = falsefor i = 1, player_count, 1 doif found == true thend.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1)))endp = d.getf("player"..tostring(i))if p == vid theni = i -1found = trueendend if found == true thend.setf("player_count", tonumber(player_count - 1))endend function get_players()local players = {}local player_count = d.getf("player_count")for i = 1, player_count, 1 doplayers[i] = d.getf("player"..tostring(i))endreturn playersendfunction give_dc_access(pindex)local self_checked = falselocal self = pc.select(d.getf("player"..tostring(pindex)))--pc.setqf("dcenter", 1)pc.setf("deviltower_zone", "dcenter", 1)pc.select(self)endendend[/spoiler]

Share this post


Link to post
Share on other sites

1 answer to this question

  • 0

Abre o questnpc.txt. altera o id da devil_stoneTu alteras te o id da kill?

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this