Jump to content

Krekon

Inactive Member
  • Posts

    17
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Krekon

  1. I've tried 3 different quests allready for Demon Tower but i always get stucked at level 4 after destroying the first stone , the others don't spawn .

    Any ideeas ?

     

    One of the quests i've used and the one i have now :

    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((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 logout begin

            if pc.count_item(30300) >= 1 then

                pc.remove_item(30300, pc.count_item(30300))

            end

            -- not used in the game

            -- pc.remove_item(30301, pc.count_item(30301))

            if pc.count_item(30302) >= 1 then

                pc.remove_item(30302, pc.count_item(30302))

            end

        end

            

        when deviltower_man.chat.gameforge.deviltower_zone._10_npcChat begin

            if pc.get_level() < 40 then

                say_title(gameforge.deviltower_zone._20_sayTitle)

                say(gameforge.deviltower_zone._30_say)

            else

                say_title(gameforge.deviltower_zone._20_sayTitle)

                say(gameforge.deviltower_zone._40_say)

                local s =  select(gameforge.locale.monkey_dungeon.enter, gameforge.locale.monkey_dungeon.no_enter)

                if s == 1 then

                    pc.warp(216500,727000)

                end

            end

        end

        when kill with npc.get_race() == 8015 begin

            timer("devil_stone1_1", 6)

        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 kill with npc.get_race() == 1091 and 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/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;

                    positions = positions[j];

                    positions[j] = t;

                end

            end

            return positions

        end

     

        when kill with npc.get_race() == 8016 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

                test_chat(positions[1], positions[2])

                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[1], positions[2]))

            end

     

            test_chat(positions[7][1], positions[7][2])

     

            local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])

            test_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())

            

            notice_multiline(gameforge.deviltower_zone._50_dNotice,d.notice)

            

        end

     

        when devil_stone4_fail1.server_timer begin

            if d.select(get_server_timer_arg()) then

                notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)

                d.clear_regen()

                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)

                                notice_multiline(gameforge.deviltower_zone._90_dNotice,d.notice)

                            end

                        end

                    end

                else

                    server_timer("devil_stone4_end", 5, get_server_timer_arg())

                    --d.kill_all()

                    d.purge()

                    notice_multiline(gameforge.deviltower_zone._100_dNotice,d.notice)

                    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

                clear_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())

                

                -- clear regen from memory when exit

                d.clear_regen()

                

                d.setf("level", 5)

                d.setf("stone_count", 5)

                notice_multiline(gameforge.deviltower_zone._110_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._120_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)

                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

                notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)

                d.exit_all()

            end

        end

     

     

        when kill with npc.get_race() == 1062 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.setf("level", 6)

                d.clear_regen()

                d.regen_file("data/dungeon/deviltower6_regen.txt")

     

                notice_multiline(gameforge.deviltower_zone._130_dNotice,d.notice)

                d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])

                local server_arg = d.get_map_index()

                clear_server_timer('devil_stone5_fail1', server_arg)

                clear_server_timer('devil_stone5_fail2', server_arg)

                clear_server_timer('devil_stone5_fail3', server_arg)

                clear_server_timer('devil_stone5_fail', server_arg)

            else

                d.notice(string.format(gameforge.deviltower_zone._140_dNotice, d.getf("stone_count")))

            end

        end

     

        when kill with npc.get_race() == 1092 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin

            d.kill_all()

            notice_multiline(gameforge.deviltower_zone._150_dNotice,d.notice)

            d.check_eliminated()

            notice_multiline(gameforge.deviltower_zone._160_dNotice,d.notice)

            local reward_alchemist = {20074, 20075, 20076}

            d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);

            d.setqf2("deviltower_zone","can_refine", 1)

        end

     

     

        when 20074.chat.gameforge.deviltower_zone._170_npcChat 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(gameforge.deviltower_zone._190_say)

            wait()

            if pc.level >=75 then

                say_title(mob_name(20074))

     

                say(gameforge.deviltower_zone._200_say)

                local s= select(gameforge.deviltower_zone._210_select, gameforge.locale.cancel, gameforge.deviltower_zone._220_select)

                if s==3 then

                    pc.warp(590500, 110900)

                    return

                end

                if s==2 then

                    return

                end

     

                timer("devil_jump_7", 6)

                npc.unlock()

                d.purge()

                return

            end

            say_title(mob_name(20074))

            say(gameforge.deviltower_zone._230_say)

            wait()

            pc.warp(590500, 110500)

            return

        end

     

        when 20075.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000  and npc.lock() begin

            say_title(mob_name(20075))

            say(gameforge.deviltower_zone._190_say)

            wait()

            if pc.level >=75 then

                say_title(mob_name(20075))

     

                say(gameforge.deviltower_zone._200_say)

                local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)

                if s==3 then

                    pc.warp(590500, 110900)

                    return

                end

                if s==2 then

                    return

                end

     

                timer("devil_jump_7", 6)

                npc.unlock()

                d.purge()

                return

            end

            say_title(mob_name(20075))

            say(gameforge.deviltower_zone._230_say)

            wait()

            pc.warp(590500, 110500)

            return

        end

        when 20076.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000  and npc.lock() begin

            say_title(mob_name(20076))

            say(gameforge.deviltower_zone._190_say)

            wait()

            if pc.level >=75 then

                say_title(mob_name(20076))

     

                say(gameforge.deviltower_zone._200_say)

                local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)

                if s==3 then

                    pc.warp(590500, 110900)

                    return

                end

                if s==2 then

                    return

                end

     

                timer("devil_jump_7", 6)

                npc.unlock()

                d.purge()

                return

            end

            say_title(mob_name(20076))

            say(gameforge.deviltower_zone._230_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)

     

     

            notice_multiline(gameforge.deviltower_zone._240_dNotice,d.notice)

            d.jump_all(2048+590, 6656+638)

        end

     

        when kill with npc.get_race() == 8018 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 kill with npc.get_race() == 8019 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

                -- nothing happens cause the items isnt used in the game

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

            if d.getf( "level" ) != 7 then

                pc.remove_item( "30302", 1)

                return

            end

                

            say_title(gameforge.blacksmith._40_sayTitle)

            say(gameforge.deviltower_zone._250_say)

            pc.remove_item("30302", 1)

            timer("devil_jump_8", 6)

            d.clear_regen()

        end

     

        when devil_jump_8.timer begin

            d.setf("level", ?

     

            notice_multiline(gameforge.deviltower_zone._260_dNotice,d.notice)

            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 kill with npc.get_race() == 1040 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

            npc.purge()

            item.remove()

            timer("devil_jump_9", 6)

        end

     

        when devil_jump_9.timer begin

            d.setf("level", 9)

     

     

            notice_multiline(gameforge.deviltower_zone._270_dNotice,d.notice)

            d.jump_all(2048+590, 6656+155)

            d.regen_file("data/dungeon/deviltower9_regen.txt")

        end

     

        when kill with npc.get_race() == 1093 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

            d.kill_all()

            d.setqf2("deviltower_zone","9_done", 1)

            notice_multiline(gameforge.deviltower_zone._280_dNotice,d.notice)

            notice_multiline(gameforge.deviltower_zone._290_dNotice,d.notice)

            server_timer("devil_end_jump", 60, d.get_map_index())

        end

     

            when devil_end_jump.server_timer begin

                if d.select (get_server_timer_arg()) then

                    d.clear_regen()

                    d.exit_all()

                end

            end

        end

    end

    Syslog :

    Spoiler

    Feb  7 18:00:17 :: GLOBAL_TIME: Feb  7 18:00:17 time_gap 0
    Feb  7 18:01:17 :: GLOBAL_TIME: Feb  7 18:01:17 time_gap 0
    Feb  7 18:02:17 :: GLOBAL_TIME: Feb  7 18:02:17 time_gap 0
    Feb  7 18:03:17 :: GLOBAL_TIME: Feb  7 18:03:17 time_gap 0
    Feb  7 18:04:17 :: GLOBAL_TIME: Feb  7 18:04:17 time_gap 0
    Feb  7 18:05:17 :: GLOBAL_TIME: Feb  7 18:05:17 time_gap 0
    Feb  7 18:06:17 :: GLOBAL_TIME: Feb  7 18:06:17 time_gap 0
    Feb  7 18:07:17 :: GLOBAL_TIME: Feb  7 18:07:17 time_gap 0
    Feb  7 18:08:17 :: GLOBAL_TIME: Feb  7 18:08:17 time_gap 0
    Feb  7 18:09:17 :: GLOBAL_TIME: Feb  7 18:09:17 time_gap 0
    Feb  7 18:10:17 :: GLOBAL_TIME: Feb  7 18:10:17 time_gap 0
    Feb  7 18:11:17 :: GLOBAL_TIME: Feb  7 18:11:17 time_gap 0
     

     

  2. 2 minutes ago, Croparox said:
    
    0212 19:31:00608 :: ui:3405: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
    
    0212 19:31:00609 :: 
    introLogin.py(line:532) __LoadScript
    ui.py(line:3061) LoadScriptFile
    ui.py(line:3127) LoadChildren
    ui.py(line:3405) LoadElementExpandedImage
    
    LoginWindow.__LoadScript.LoadObject - <type 'exceptions.RuntimeError'>:Failed to load image (filename: locale/tr/ui/serverlist.sub)
    
    0212 19:31:00609 :: ============================================================================================================
    0212 19:31:00609 :: Abort!!!!
    
    
    0212 19:31:00623 :: ============================================================================================================
    0212 19:31:00624 :: Abort!!!!

    I had that settings. Look:)

    You changed the name for the folder but you didn't changed it in files where the lines ask for specific things .

    Go in locale/and change tr with en .

    See if that works .

  3. Go to the stone line in navicat

    For example dodge stone +4 you search it in item_proto and look for refine_set number

    Then you go to refine_proto and search for that number 

    Now let's say that you want to set it for asking pearls for +5.

    vnum0 - 27992(here you put the code that you want) / count0 2 = This means that will take 2 white pearls for the upgrade.

    You can go on for asking more items on vnum1 count1 / vnum2 count2 , and so on .

  4. 15 minutes ago, Galet said:

    Give us your syserr and we'll see what's the problem.

     

     

    Just kidding :P

    Have you ever messed up something related to the syserr ? It seems to always be there, also it depends of your error (try to purposedly corrupt one of your .py files - TypeError... - and see if the syserr is displaying something)

    Also try to compile in debug mode, to have additional backtraces and so on... Also check the last thing you modified in sources

    Have a nice day

     

    You really got me there with the first line :D

     

    I didn't messed nothing related to syserr as i said i saw this problem long time ago so it seems that the client is like that .

    I tried purposedly corrupt files but if the corruption is too small nothing happend but that client dosen't work .

    I saw now that if the problem is too severe a log display when i try to launch the .exe but it's not helping too much because there it's showing the final reason like _pack_ could not be load due to bad files or some similar things , not like that syserr which would show you the file and the lines .

    It's not a big deal i mean it's just a lot to work not knowing where the problem is exactly and i loose more time .

    I thought that somebody have some information about this problem .

    PS : I'm working on it without source since i was out of this line for years and i try to remember and learn all the new things step by step .

  5. I am working right now on improving a random basic client and working a lot on it .

    It has the syserr.txt file but inside even if the client has an error dosen't display anything , until now i didn't need it that much because i could figure what i have done wrong and fix it but right now i really need to see the errors .

    Does anyone knows why the syserr it's not working ? 

    Thank you anticipated .

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.