Jump to content

longju2

Inactive Member
  • Posts

    32
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by longju2

  1. hi guys i have problema with this quest:

     

    technically when i use 71003 a habid is reset and with i give point with master he pass in 17 point to a master but is not work... not pass master with 17 point, what is a problem??

     

    i use game 40k

     

     

    quest reset_scroll begin
        state start begin
      when 71002.use or 76001.use  begin
       say_title(gameforge.reset_scroll._10_sayTitle)

       say(gameforge.reset_scroll._20_say)
       local s =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
       if 2 == s then
        return
       end

       say_title(gameforge.reset_scroll._30_sayTitle)

       say(gameforge.reset_scroll._40_say)
       local c =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
       if 2 == c then
        return
       end

       char_log(0, "RESET_ALL", "USE_ITEM(71002 or 76001)")
               
       item.remove()

       char_log(0, "RESET_ALL", "RESET_STAT_POINTS")
       pc.reset_point()
       char_log(0, "RESET_ALL", "RESET_END")
      end

      when 71003.use begin
       say_title(gameforge.reset_scroll._50_sayTitle)
                say(gameforge.reset_scroll._60_sayReward)
                wait()

       local result = BuildSkillList(pc.get_job(), pc.get_skill_group())

       local vnum_list = result[1]
       local name_list = result[2]

       if table.getn(vnum_list) < 2 then
        say_title(gameforge.reset_scroll._50_sayTitle)
        say(gameforge.reset_scroll._70_say)
        return
       end

       say_title(gameforge.reset_scroll._50_sayTitle)
       say(gameforge.reset_scroll._80_say)
       local i = select_table(name_list)

       if table.getn(name_list) == i then
       return
       end

       local name = name_list
       local vnum = vnum_list

       say_title(gameforge.reset_scroll._50_sayTitle)
      
       say(gameforge.reset_scroll._90_sayReward)
       say_reward(string.format(gameforge.reset_scroll._100_say, name))

       local s =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
       if 2 == s then
        return
       end

       say_title(gameforge.reset_scroll._110_sayTitle)

       say(gameforge.reset_scroll._120_say)
       local c =  select(gameforge.locale.guild.yes, gameforge.locale.guild.no)

       if 2 == c then
        return
       end

       char_log(0, "RESET_ONE_SKILL", "USE_ITEM(71003)")
       pc.remove_item(71003)

       char_log(0, "RESET_ONE_SKILL", "RESET_SKILL["..name.."]")
       pc.clear_one_skill(vnum)

       char_log(0, "RESET_ONE_SKILL", "APPLY_17MASTER_BONUS")
       pc.setqf("force_to_master_skill", 1)

       say_title(gameforge.reset_scroll._140_sayTitle)
       say_reward(string.format(gameforge.reset_scroll._150_say, name))
       end
    end
    end

     

     

  2. quest noticianivel begin      
    	state start begin
    		when levelup begin
    			local levels = {10,20,30,40,50,60,70,80,90,100}
    			for i=1,table.getn(levels) do
    				if pc.get_level() == x[i] then
    					notice_all(pc.get_name() .. " ha subido al nivel " .. pc.get_level() )
    				end
    			end
    		end
    	end
    end

    Not work, in my server ir output lua error.

     

    error.png

  3. work, thanks :D

     

    hi all, i have 1 problem in client and if you can check my error, I would appreciate.

     

    a problem is when i try open trade with other players, dont open a trade screen but when i try teleport with ring say: i am traying now, and is error syser:

    0922 13:22:52039 :: Traceback (most recent call last):

    0922 13:22:52039 ::   File "game.py", line 1026, in StartExchange

    0922 13:22:52039 ::   File "interfaceModule.py", line 680, in StartExchange

    0922 13:22:52040 ::   File "uiExchange.py", line 84, in OpenDialog

    0922 13:22:52040 :: TypeError

    0922 13:22:52040 :: :

    0922 13:22:52040 :: not enough arguments for format string

    0922 13:22:52040 ::

     

     

     

    thanks.

  4. hi guys how have 1 quest:

     

    when players login show in screen quest scroll named "informacion" XXX, and when click quest scroll open diablog:

     

    -hello XXX

    -viste villgue

    -XX

    etc...

     

    we when finish read and click finish or ok, a quest scroll return in a screen,not disappear.

    if someone play guabina server know what i try explain....

     

    if someone have a quest or to make, I would appreciate.

     

    sorry for me english.

  5. i say this:

    ITEM번호	ITEM_NAME(K)	ITEM_TYPE	SUB_TYPE	SIZE	ANTI_FLAG	FLAG	ITEM_WEAR	IMMUNE	상점 판매가	상점에서 살 때	REFINE	REFINESET	MAGIC_PCT	LIMIT_TYPE0	LIMIT_VALUE0	LIMIT_TYPE1	LIMIT_VALUE1	ADDON_TYPE0	ADDON_VALUE0	ADDON_TYPE1	ADDON_VALUE1	ADDON_TYPE2	ADDON_VALUE2	VALUE0	VALUE1	VALUE2	VALUE3	VALUE4	VALUE5	Specular	SOCKET	ATTU_ADDON
    1	շәׯڌ	ITEM_ELK	0	1	NONE	NONE	NONE		0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0
    2	ȑѹ٫ޖڶo	ITEM_NONE	0	1	NONE	NONE	NONE		0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0
    10	յ+0	ITEM_WEAPON	WEAPON_SWORD	2	ANTI_MUDANG	ITEM_TUNABLE	WEAR_WEAPON		0	0	11	1	15	LEVEL	0	LIMIT_NONE	0	APPLY_ATT_SPEED	22	APPLY_NONE	0	APPLY_NONE	0	0	15	19	13	15	0	0	1	0
    11	յ+1	ITEM_WEAPON	WEAPON_SWORD	2	ANTI_MUDANG	ITEM_TUNABLE	WEAR_WEAPON		100	100	12	2	15	LEVEL	0	LIMIT_NONE	0	APPLY_ATT_SPEED	22	APPLY_NONE	0	APPLY_NONE	0	0	15	19	13	15	7	0	1	0
    12	յ+2	ITEM_WEAPON	WEAPON_SWORD	2	ANTI_MUDANG	ITEM_TUNABLE	WEAR_WEAPON		100	100	13	3	15	LEVEL	0	LIMIT_NONE	0	APPLY_ATT_SPEED	22	APPLY_NONE	0	APPLY_NONE	0	0	15	19	13	15	14	0	1	0
    13

    You understand what item is what? i dont read a name item.. is black color.

  6. 1. Use Notepad++.

    2. Manually, there isn't any program for that.

    I prefer to use SQL databases than Text databases, so edit ClientManagerBoot in db source or use vanilla core.

    Thanks.

    yeah i now is posible edit for manal in notepad++ but a name for items is encript and is not easy edit in notepad++

     

    maybe have 1 program convert item_proto.sql a item_proto.txt, i have mob_proto converter but not searc item_proto.

     

    i try use microsoft excel o openoffice say other but when save and put in a folder, error ----

  7. hi guys i have problem with this quest or map... everthink is ok for enter a tower.

     

    first speak a guadian and enter a tower this step is ok, and i changa map for index 66, firts plant demons, but i kill metin with first nathing happened and not junp a segond plant... 

     

    what have problem?? quest?? index map?? map??

     

    P.D: i used 40k+ files.

     

    This is my quest:

    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 devil_stone1.kill 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 devil_stone3.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/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
                test_chat(positions[i][1], positions[i][2])
                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][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 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.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 devil_stone6.kill with 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 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
                -- 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", 8)
    
            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 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
            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 1093.kill with pc.in_dungeon() 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

×
×
  • 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.