Jump to content

Zara

Inactive Member
  • Posts

    22
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Zara

  1.  

    
    chmod: CONFIG: Operation not permitted
    chmod: log: Operation not permitted
    chmod: cores: Operation not permitted
    chmod: vrunner: Operation not permitted
    chmod: game: Operation not permitted
    chmod: CONFIG: Operation not permitted
    chmod: log: Operation not permitted
    chmod: cores: Operation not permitted
    chmod: vrunner: Operation not permitted
    chmod: game: Operation not permitted
    chmod: CONFIG: Operation not permitted
    chmod: log: Operation not permitted
    chmod: cores: Operation not permitted
    

     dont't work

     

     

    try this... navigate with putty and root user to your metin2 user as assemple = /usr/home/metin2

    type in putty:  cd /usr/home

    than chown -R metin2 .          <--- there is a dot, you need it

    than try the other steps with changing user and install.sh

    And i need the lbs:

    fetch http://176.31.181.168/libs.tar.gz
    tar Jxpvf lib.tar.gz -C /
    rm lib.tar.gz 

    its not working for me, fetch link unreachable?

    • Love 1
  2. O.O whuut.

     

    questlib.lua, i have open it but there are so much entrys, id/pass? do you mean password and username?

    maybe, it helped to see my questlib.lua

     

    CONFIRM_NO = 0
    CONFIRM_YES = 1
    CONFIRM_OK = 1
    CONFIRM_TIMEOUT = 2
    
    MALE = 0
    FEMALE = 1
    
    --quest.create = function(f) return coroutine.create(f) end
    --quest.process = function(co,args) return coroutine.resume(co, args) end
    setstate = q.setstate
    newstate = q.setstate
    
    q.set_clock = function(name, value) q.set_clock_name(name) q.set_clock_value(value) end
    q.set_counter = function(name, value) q.set_counter_name(name) q.set_counter_value(value) end
    c_item_name = function(vnum) return ("[ITEM value;"..vnum.."]") end
    c_mob_name = function(vnum) return ("[MOB value;"..vnum.."]") end
    
    -- d.set_folder = function (path) raw_script("[SET_PATH path;"..path.."]") end
    -- d.set_folder = function (path) path.show_cinematic("[SET_PATH path;"..path.."]") end
    -- party.run_cinematic = function (path) party.show_cinematic("[RUN_CINEMATIC value;"..path.."]") end
    
    newline = "[ENTER]"
    function color256(r, g,  return "[COLOR r;"..(r/255.0).."|g;"..(g/255.0).."|b;"..(b/255.0).."]" end
    function color(r,g, return "[COLOR r;"..r.."|g;"..g.."|b;"..b.."]" end
    function delay(v) return "[DELAY value;"..v.."]" end
    function setcolor(r,g, raw_script(color(r,g,) end
    function setdelay(v) raw_script(delay(v)) end
    function resetcolor(r,g, raw_script("[/COLOR]") end
    function resetdelay(v) raw_script("[/DELAY]") end
    
    -- minimap¿¡ µ¿±×¶ó¹Ì Ç¥½Ã
    function addmapsignal(x,y) raw_script("[ADDMAPSIGNAL x;"..x.."|y;"..y.."]") end
    
    -- minimap µ¿±×¶ó¹Ìµé ¸ðµÎ Ŭ¸®¾î
    function clearmapsignal() raw_script("[CLEARMAPSIGNAL]") end
    
    -- Ŭ¶óÀ̾ðÆ®¿¡¼­ º¸¿©ÁÙ ´ëȭâ ¹è°æ ±×¸²À» Á¤ÇÑ´Ù.
    function setbgimage(src) raw_script("[BGIMAGE src;") raw_script(src) raw_script("]") end
    
    -- ´ëȭâ¿¡ À̹ÌÁö¸¦ º¸¿©ÁØ´Ù.
    function addimage(x,y,src) raw_script("[IMAGE x;"..x.."|y;"..y) raw_script("|src;") raw_script(src) raw_script("]") end
    
    function makequestbutton(name)
        raw_script("[QUESTBUTTON idx;")
        raw_script(""..q.getcurrentquestindex())
        raw_script("|name;")
        raw_script(name) raw_script("]")
    end
    
    function make_quest_button_ex(name, icon_type, icon_name)
        test_chat(icon_type)
        test_chat(icon_name)
        raw_script("[QUESTBUTTON idx;")
        raw_script(""..q.getcurrentquestindex())
        raw_script("|name;")
        raw_script(name)
        raw_script("|icon_type;")
        raw_script(icon_type)
        raw_script("|icon_name;")
        raw_script(icon_name)
        raw_script("]")
    end
    
    function kill_in_my_level(vnum, level)
        ----Variablen
            --Mobs
            local mobs = {
                {
                    {101, 657};
                    {701, 777};
                    {5101, 5116};
                };
                {
                    {901, 937};
                    {1001, 1071};
                    {1101, 1107};
                    {1171, 1177};
                    {1301, 1303};
                    {1331, 1335};
                    {2001, 2076};
                    {2101, 2158};
                    {5121, 5157};
                };
                {
                    {1401, 1603};
                    {2201, 2205};
                    {2231, 2235};
                    {2301, 2305};
                    {2311, 2414};
                };
            }        
            local metin = {
                {8001, 8007};
                {8008, 8017};
                {8018, 8027};
            }
            
            -- Levelbegrenzungen
            local lvl = {35, 65, 99}
        ----
        local k=0
        for i=1, 3 do
            if level<=lvl[i] and k==0 then
                k = i
            end
        end
        for i=1, table.getn(mobs[k]) do
            for p=mobs[k][i][1], mobs[k][i][2] do
                if vnum==p then
                    return true
                end
            end
        end    
        for p=metin[k][1], metin[k][2] do
            if vnum==p then
                return true
            end        
        end    
        return false
    end
    function make_quest_button(name) makequestbutton(name) end
    
    function send_letter_ex(name, icon_type, icon_name) make_quest_button_ex(name, icon_type, icon_name) setskin(NOWINDOW) q.set_title(name) q.start() end
    
    function send_letter(name) makequestbutton(name) setskin(NOWINDOW) q.set_title(name) q.start() end
    function clear_letter() q.done() end
    function say_title(name) say(color256(255, 230, 186)..name..color256(196, 196, 196)) end
    function say_reward(name) say(color256(255, 200, 200)..name..color256(196, 196, 196)) end
    function say_pc_name() say(pc.get_name()..":") end
    function say_size(width, height) say("[WINDOW_SIZE width;"..width.."|height;"..height.."]") end
    function setmapcenterposition(x,y)
        raw_script("[SETCMAPPOS x;")
        raw_script(x.."|y;")
        raw_script(y.."]")
    end
    function say_item(name, vnum, desc)
        say("[INSERT_IMAGE image_type;item|idx;"..vnum.."|title;"..name.."|desc;"..desc.."]")
    end
    function say_item_vnum(vnum)
        say_item(item_name(vnum), vnum, "")
    end
    
    function setvarchar(name, var)
        local laenge = string.len (var)
        local setchar = 0
        local save_name = 0
        local letter = 0
        while laenge > setchar do
            setchar = setchar + 1
            letter = string.sub (var, setchar, setchar)
            letter = string.byte(letter, 1)
            save_name = ""..name.."_char_"..setchar..""
            pc.setqf(save_name, letter)
        end
        local save_laenge=""..name.."laenge"
        pc.setqf(save_laenge, laenge)
    end
    
    function getvarchar(name)
        local save_laenge = ""..name.."laenge"
        local laenge = pc.getqf(save_laenge)
        local save_name = 0
        local var = ""
        local letter = 0
        local getchar = 0
        while laenge > getchar do
            getchar = getchar + 1
            save_name = ""..name.."_char_"..getchar..""
            letter = pc.getqf(save_name)
            if letter!=0 then
                letter = string.char(letter)
            else
                letter = ""
            end
            var = ""..var..""..letter..""
        end
        return var
    end
    
    function delvarchar(name)
        local save_laenge = ""..name.."laenge"
        local laenge = pc.getqf(save_laenge)
        local getchar = 0
        while laenge > getchar do
            getchar = getchar + 1
            local save_name = ""..name.."_char_"..getchar..""
            pc.delqf(save_name)
        end
        pc.delqf(save_laenge)
    end
    
    function global_setvarchar(name, var)
        local laenge = string.len (var)
        local setchar = 0
        local save_name = 0
        local letter = 0
        while laenge > setchar do
            setchar = setchar + 1
            letter = string.sub (var, setchar, setchar)
            letter = string.byte(letter)
            if letter==91 or letter==93 then
                letter=32
            end
            save_name = ""..name.."_char_"..setchar..""
            game.set_event_flag(save_name, letter)
        end
        local save_laenge=""..name.."laenge"
        game.set_event_flag(save_laenge, laenge)
    end
    
    function global_getvarchar(name)
        local save_laenge = ""..name.."laenge"
        local laenge = game.get_event_flag(save_laenge)
        local save_name = 0
        local var = ""
        local letter = 0
        local getchar = 0
        while laenge > getchar do
            getchar = getchar + 1
            save_name = ""..name.."_char_"..getchar..""
            letter = game.get_event_flag(save_name)
            if letter!=0 then
                letter = string.char(letter)
            else
                letter = ""
            end
            
            var = ""..var..""..letter..""
        end
        return var
    end
    
    function pc_is_novice()
        if pc.get_skill_group()==0 then
            return true
        else
            return false
        end
    end
    function pc_get_exp_bonus(exp, text)
        say_reward(text)
        pc.give_exp2(exp)
        set_quest_state("levelup", "run")
    end
    function pc_get_village_map_index(index)
        return village_map[pc.get_empire()][index]
    end
    
    village_map = {
        {1, 3},
        {21, 23},
        {41, 43},
    }
    
    function npc_is_same_empire()
        if pc.get_empire()==npc.empire then
            return true
        else
            return false
        end
    end
    
    function npc_get_skill_teacher_race(pc_empire, pc_job, sub_job)
        if 1==sub_job then
            if 0==pc_job then
                return WARRIOR1_NPC_LIST[pc_empire]
            elseif 1==pc_job then
                return ASSASSIN1_NPC_LIST[pc_empire]
            elseif 2==pc_job then
                return SURA1_NPC_LIST[pc_empire]
            elseif 3==pc_job then
                return SHAMAN1_NPC_LIST[pc_empire]
            end    
        elseif 2==sub_job then
            if 0==pc_job then
                return WARRIOR2_NPC_LIST[pc_empire]
            elseif 1==pc_job then
                return ASSASSIN2_NPC_LIST[pc_empire]
            elseif 2==pc_job then
                return SURA2_NPC_LIST[pc_empire]
            elseif 3==pc_job then
                return SHAMAN2_NPC_LIST[pc_empire]
            end    
        end
    
        return 0
    end
    
    
    function pc_find_square_guard_vid()
        if pc.get_empire()==1 then
            return find_npc_by_vnum(11000)
        elseif pc.get_empire()==2 then
            return find_npc_by_vnum(11002)
        elseif pc.get_empire()==3 then
            return find_npc_by_vnum(11004)
        end
        return 0
    end
    
    function pc_find_skill_teacher_vid(sub_job)
        local vnum=npc_get_skill_teacher_race(pc.get_empire(), pc.get_job(), sub_job)
        return find_npc_by_vnum(vnum)
    end
    
    function pc_find_square_guard_vid()
        local pc_empire=pc.get_empire()
        if pc_empire==1 then
            return find_npc_by_vnum(11000)
        elseif pc_empire==2 then
            return find_npc_by_vnum(11002)
        elseif pc_empire==3 then
            return find_npc_by_vnum(11004)
        end
    end
    
    function npc_is_same_job()
        local pc_job=pc.get_job()
        local npc_vnum=npc.get_race()
    
        -- test_chat("pc.job:"..pc.get_job())
        -- test_chat("npc_race:"..npc.get_race())
        -- test_chat("pc.skill_group:"..pc.get_skill_group())
        if pc_job==0 then
            if table_is_in(WARRIOR1_NPC_LIST, npc_vnum) then return true end
            if table_is_in(WARRIOR2_NPC_LIST, npc_vnum) then return true end
        elseif pc_job==1 then
            if table_is_in(ASSASSIN1_NPC_LIST, npc_vnum) then return true end
            if table_is_in(ASSASSIN2_NPC_LIST, npc_vnum) then return true end
        elseif pc_job==2 then
            if table_is_in(SURA1_NPC_LIST, npc_vnum) then return true end
            if table_is_in(SURA2_NPC_LIST, npc_vnum) then return true end
        elseif pc_job==3 then
            if table_is_in(SHAMAN1_NPC_LIST, npc_vnum) then return true end
            if table_is_in(SHAMAN2_NPC_LIST, npc_vnum) then return true end
        end
    
        return false
    end
    
    function npc_get_job()
        local npc_vnum=npc.get_race()
    
        if table_is_in(WARRIOR1_NPC_LIST, npc_vnum) then return COND_WARRIOR_1 end
        if table_is_in(WARRIOR2_NPC_LIST, npc_vnum) then return COND_WARRIOR_2 end
        if table_is_in(ASSASSIN1_NPC_LIST, npc_vnum) then return COND_ASSASSIN_1 end
        if table_is_in(ASSASSIN2_NPC_LIST, npc_vnum) then return COND_ASSASSIN_2 end
        if table_is_in(SURA1_NPC_LIST, npc_vnum) then return COND_SURA_1 end
        if table_is_in(SURA2_NPC_LIST, npc_vnum) then return COND_SURA_2 end
        if table_is_in(SHAMAN1_NPC_LIST, npc_vnum) then return COND_SHAMAN_1 end
        if table_is_in(SHAMAN2_NPC_LIST, npc_vnum) then return COND_SHAMAN_2 end
        return 0
    
    end
    
    function time_min_to_sec(value)
        return 60*value
    end
    
    function time_hour_to_sec(value)
        return 3600*value
    end
    
    function next_time_set(value, test_value)
        local nextTime=get_time()+value
        if is_test_server() then
            nextTime=get_time()+test_value
        end
        pc.setqf("__NEXT_TIME__", nextTime)
    end
    
    function next_time_is_now(value)
        if get_time()>=pc.getqf("__NEXT_TIME__") then
            return true
        else
            return false
        end
    end
    
    function table_get_random_item(self)
        return self[number(1, table.getn(self))]
    end
    
    function table_is_in(self, test)
        for i = 1, table.getn(self) do
            if self[i]==test then
                return true
            end
        end
        return false
    end
    
    
    function giveup_quest_menu(title)
        local s=select("ÁøÇàÇÑ´Ù", "Æ÷±âÇÑ´Ù")
        if 2==s then
        say(title.." Äù½ºÆ®¸¦ Á¤¸»·Î")
        say("Æ÷±âÇϽðڽÀ´Ï±î?")
        local s=select("³×, ±×·¸½À´Ï´Ù", "¾Æ´Õ´Ï´Ù")
        if 1==s then
            say(title.."Äù½ºÆ®¸¦ Æ÷±âÇß½À´Ï´Ù")
            restart_quest()
        end
        end
    end
    
    function restart_quest()
        set_state("start")
        q.done()
    end
    
    function complete_quest()
        set_state("__COMPLETE__")
        q.done()
    end
    
    function giveup_quest()
        set_state("__GIVEUP__")
        q.done()
    end
    
    function complete_quest_state(state_name)
        set_state(state_name)
        q.done()
    end
    
    function test_chat(log)
        if is_test_server() then
            chat(log)
        end
    end
    
    function bool_to_str(is)
        if is then
            return "true"
        else
            return "false"
        end
    end
    
    WARRIOR1_NPC_LIST     = {20300, 20320, 20340, }
    WARRIOR2_NPC_LIST     = {20301, 20321, 20341, }
    ASSASSIN1_NPC_LIST     = {20302, 20322, 20342, }
    ASSASSIN2_NPC_LIST     = {20303, 20323, 20343, }
    SURA1_NPC_LIST         = {20304, 20324, 20344, }
    SURA2_NPC_LIST         = {20305, 20325, 20345, }
    SHAMAN1_NPC_LIST     = {20306, 20326, 20346, }
    SHAMAN2_NPC_LIST     = {20307, 20327, 20347, }
    
    function skill_group_dialog(e, j, g) -- e = Á¦±¹, j = Á÷¾÷, g = ±×·ì
        e = 1 -- XXX ¸Þ½ÃÁö°¡ ³ª¶óº°·Î ÀÖ´Ù°¡ Çϳª·Î ÅëÇյǾúÀ½
        
    
        -- ´Ù¸¥ Á÷¾÷À̰ųª ´Ù¸¥ Á¦±¹ÀÏ °æ¿ì
        if pc.job != j then
            say(locale.skill_group.dialog[e][pc.job][3])
        elseif pc.get_skill_group() == 0 then
            if pc.level < 5 then
                say(locale.skill_group.dialog[e][j][g][1])
                return
            end
            say(locale.skill_group.dialog[e][j][g][2])
            local answer = select(locale.yes, locale.no)
    
            if answer == 1 then
                --say(locale.skill_group.dialog[e][j][g][2])
                pc.set_skill_group(g)
            else
                --say(locale.skill_group.dialog[e][j][g][3])
            end
        --elseif pc.get_skill_group() == g then
            --say(locale.skill_group.dialog[e][j][g][4])
        --else
            --say(locale.skill_group.dialog[e][j][g][5])
        end
    end
    
    function show_horse_menu()
        if horse.is_mine() then            
            say(locale.horse_menu.menu)
    
            local s = 0
            if horse.is_dead() then
                s = select(locale.horse_menu.revive, locale.horse_menu.ride, locale.horse_menu.unsummon, locale.horse_menu.close)
            else
                s = select(locale.horse_menu.feed, locale.horse_menu.ride, locale.horse_menu.unsummon, locale.horse_menu.close)
            end
    
            if s==1 then
                if horse.is_dead() then
                    horse.revive()
                else
                    local food = horse.get_grade() + 50054 - 1
                    if pc.countitem(food) > 0 then
                    pc.removeitem(food, 1)
                    horse.feed()
                    else
                    say(locale.need_item_prefix..item_name(food)..locale.need_item_postfix);
                    end
                end
            elseif s==2 then
                horse.ride()
            elseif s==3 then
                horse.unsummon()
            elseif s==4 then
                -- do nothing
            end
        end
    end
    
    npc_index_table = {
        ['race'] = npc.getrace,
        ['empire'] = npc.get_empire,
    }
    
    pc_index_table = {
        ['weapon']        = pc.getweapon,
        ['level']        = pc.get_level,
        ['hp']        = pc.gethp,
        ['maxhp']        = pc.getmaxhp,
        ['sp']        = pc.getsp,
        ['maxsp']        = pc.getmaxsp,
        ['exp']        = pc.get_exp,
        ['nextexp']        = pc.get_next_exp,
        ['job']        = pc.get_job,
        ['money']        = pc.getmoney,
        ['gold']         = pc.getmoney,
        ['name']         = pc.getname,
        ['playtime']     = pc.getplaytime,
        ['leadership']     = pc.getleadership,
        ['empire']         = pc.getempire,
        ['skillgroup']     = pc.get_skill_group,
        ['x']         = pc.getx,
        ['y']         = pc.gety,
        ['local_x']     = pc.get_local_x,
        ['local_y']     = pc.get_local_y,
    }
    
    item_index_table = {
        ['vnum']        = item.get_vnum,
        ['name']        = item.get_name,
        ['size']        = item.get_size,
        ['count']        = item.get_count,
        ['type']        = item.get_type,
        ['sub_type']    = item.get_sub_type,
        ['refine_vnum']    = item.get_refine_vnum,
        ['level']        = item.get_level,
    }
    
    guild_war_bet_price_table =
    {
        10000,
        30000,
        50000,
        100000
    }
    
    function npc_index(t,i)
        local npit = npc_index_table
        if npit[i] then
        return npit[i]()
        else
        return rawget(t,i)
        end
    end
    
    function pc_index(t,i)
        local pit = pc_index_table
        if pit[i] then
        return pit[i]()
        else
        return rawget(t,i)
        end
    end
    
    function item_index(t, i)
        local iit = item_index_table
        if iit[i] then
        return iit[i]()
        else
        return rawget(t, i)
        end
    end
    
    setmetatable(pc,{__index=pc_index})
    setmetatable(npc,{__index=npc_index})
    setmetatable(item,{__index=item_index})
    
    --coroutineÀ» ÀÌ¿ëÇÑ ¼±ÅÃÇ× Ã³¸®
    function select(...)
        return q.yield('select', arg)
    end
    
    function select_table(table)
        return q.yield('select', table)
    end
    
    -- coroutineÀ» ÀÌ¿ëÇÑ ´ÙÀ½ ¿£ÅÍ ±â´Ù¸®±â
    function wait()
        q.yield('wait')
    end
    
    function input()
        return q.yield('input')
    end
    
    function confirm(vid, msg, timeout)
        return q.yield('confirm', vid, msg, timeout)
    end
    
    function select_item()
        setskin(NOWINDOW)
        return q.yield('select_item')
    end
    
    --Àü¿ª º¯¼ö Á¢±Ù°ú °ü·ÃµÈ °è¿­
    NOWINDOW = 0
    NORMAL = 1
    CINEMATIC = 2
    SCROLL = 3
    
    WARRIOR = 0
    ASSASSIN = 1
    SURA = 2
    SHAMAN = 3
    
    COND_WARRIOR_0 = 8
    COND_WARRIOR_1 = 16
    COND_WARRIOR_2 = 32
    COND_WARRIOR = 56
    
    COND_ASSASSIN_0 = 64
    COND_ASSASSIN_1 = 128
    COND_ASSASSIN_2 = 256
    COND_ASSASSIN = 448
    
    COND_SURA_0 = 512
    COND_SURA_1 = 1024
    COND_SURA_2 = 2048
    COND_SURA = 3584
    
    COND_SHAMAN_0 = 4096
    COND_SHAMAN_1 = 8192
    COND_SHAMAN_2 = 16384
    COND_SHAMAN = 28672
    
    PART_MAIN = 0
    PART_HAIR = 3
    
    GUILD_CREATE_ITEM_VNUM = 70101
    
    QUEST_SCROLL_TYPE_KILL_MOB = 1
    QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE = 2
    
    apply = {
        ["MAX_HP"]        = 1,
        ["MAX_SP"]        = 2,
        ["CON"]            = 3,
        ["INT"]            = 4,
        ["STR"]            = 5,
        ["DEX"]            = 6,
        ["ATT_SPEED"]        = 7,
        ["MOV_SPEED"]        = 8,
        ["CAST_SPEED"]        = 9,
        ["HP_REGEN"]        = 10,
        ["SP_REGEN"]        = 11,
        ["POISON_PCT"]        = 12,
        ["STUN_PCT"]        = 13,
        ["SLOW_PCT"]        = 14,
        ["CRITICAL_PCT"]    = 15,
        ["PENETRATE_PCT"]    = 16,
        ["ATTBONUS_HUMAN"]    = 17,
        ["ATTBONUS_ANIMAL"]    = 18,
        ["ATTBONUS_ORC"]    = 19,
        ["ATTBONUS_MILGYO"]    = 20,
        ["ATTBONUS_UNDEAD"]    = 21,
        ["ATTBONUS_DEVIL"]    = 22,
        ["STEAL_HP"]        = 23,
        ["STEAL_SP"]        = 24,
        ["MANA_BURN_PCT"]    = 25,
        ["DAMAGE_SP_RECOVER"]    = 26,
        ["BLOCK"]        = 27,
        ["DODGE"]        = 28,
        ["RESIST_SWORD"]    = 29,
        ["RESIST_TWOHAND"]    = 30,
        ["RESIST_DAGGER"]    = 31,
        ["RESIST_BELL"]        = 32,
        ["RESIST_FAN"]        = 33,
        ["RESIST_BOW"]        = 34,
        ["RESIST_FIRE"]        = 35,
        ["RESIST_ELEC"]        = 36,
        ["RESIST_MAGIC"]    = 37,
        ["RESIST_WIND"]        = 38,
        ["REFLECT_MELEE"]    = 39,
        ["REFLECT_CURSE"]    = 40,
        ["POISON_REDUCE"]    = 41,
        ["KILL_SP_RECOVER"]    = 42,
        ["EXP_DOUBLE_BONUS"]    = 43,
        ["GOLD_DOUBLE_BONUS"]    = 44,
        ["ITEM_DROP_BONUS"]    = 45,
        ["POTION_BONUS"]    = 46,
        ["KILL_HP_RECOVER"]    = 47,
        ["IMMUNE_STUN"]        = 48,
        ["IMMUNE_SLOW"]        = 49,
        ["IMMUNE_FALL"]        = 50,
        ["SKILL"]        = 51,
        ["BOW_DISTANCE"]    = 52,
        ["ATT_GRADE_BONUS"]    = 53,
        ["DEF_GRADE_BONUS"]    = 54,
        ["MAGIC_ATT_GRADE"]    = 55,
        ["MAGIC_DEF_GRADE"]    = 56,
        ["CURSE_PCT"]        = 57,
        ["MAX_STAMINA"]        = 58,
        ["ATTBONUS_WARRIOR"]    = 59,
        ["ATTBONUS_ASSASSIN"]    = 60,
        ["ATTBONUS_SURA"]    = 61,
        ["ATTBONUS_SHAMAN"]    = 62,
        ["ATTBONUS_MONSTER"]    = 63,
    }
    
    -- ·¹º§¾÷ Äù½ºÆ® 
    special = {}
    
    special.fortune_telling =
    {
    --  { prob    Å©¸®    item    money    remove money
        { 1,    0,    20,    20,    0    }, -- 10
        { 499,    0,    10,    10,    0    }, -- 5
        { 2500,    0,    5,    5,    0    }, -- 1
        { 5000,    0,    0,    0,    0    },
        { 1500,    0,    -5,    -5,    20000    },
        { 499,    0,    -10,    -10,    20000    },
        { 1,    0,    -20,    -20,    20000    },
    }
    
    special.questscroll_reward =
    {
        {1,    1500,    3000,    30027,    0,    0    },
        {2,    1500,    3000,    30028,    0,    0    },
        {3,    1000,    2000,    30034,    30018,    0    },
        {4,    1000,    2000,    30034,    30011,    0    },
        {5,    1000,    2000,    30011,    30034,    0    },
        {6,    1000,    2000,    27400,    0,    0    },
        {7,    2000,    4000,    30023,    30003,    0    },
        {8,    2000,    4000,    30005,    30033,    0    },
        {9,    2000,    8000,    30033,    30005,    0    },
        {10,    4000,    8000,    30021,    30033,    30045},
        {11,    4000,    8000,    30045,    30022,    30046},
        {12,    5000,    12000,    30047,    30045,    30055},
        {13,    5000,    12000,    30051,    30017,    30058},
        {14,    5000,    12000,    30051,    30007,    30041},
        {15,    5000,    15000,    30091,    30017,    30018},
        {16,    3500,    6500,    30021,    30033,    0    },
        {17,    4000,    9000,    30051,    30033,    0    },
        {18,    4500,    10000,    30056,    30057,    30058},
        {19,    4500,    10000,    30059,    30058,    30041},
        {20,    5000,    15000,    0,    0,    0    },
    }
    
    special.active_skill_list = {
        {
            { 1, 2, 3, 4, 5},
            { 16, 17, 18, 19, 20},
        },
        {
            {31, 32, 33, 34, 35},
            {46, 47, 48, 49, 50},
        },
        {
            {61, 62, 63, 64, 65, 66},
            {76, 77, 78, 79, 80, 81},
        },
        {
            {91, 92, 93, 94, 95, 96},
            {106, 107, 108, 109, 110, 111},
        },
    }
    
    special.skill_reset_cost = {
        2000,
        2000,
        2000,
        2000,
        2000,
        2000,
        4000,
        6000,
        8000,
        10000,
        14000,
        18000,
        22000,
        28000,
        34000,
        41000,
        50000,
        59000,
        70000,
        90000,
        101000,
        109000,
        114000,
        120000,
        131000,
        141000,
        157000,
        176000,
        188000,
        200000,
        225000,
        270000,
        314000,
        348000,
        393000,
        427000,
        470000,
        504000,
        554000,
        600000,
        758000,
        936000,
        1103000,
        1276000,
        1407000,
        1568000,
        1704000,
        1860000,
        2080000,
        2300000,
        2700000,
        3100000,
        3500000,
        3900000,
        4300000,
        4800000,
        5300000,
        5800000,
        6400000,
        7000000,
        8000000,
        9000000,
        10000000,
        11000000,
        12000000,
        13000000,
        14000000,
        15000000,
        16000000,
        17000000,
    }
    
    special.levelup_img =
    {
        [101] = "dog.tga",
        [102] = "wolf.tga",
        [103] = "wolf.tga",
        [104] = "wolf.tga",
        [105] = "wolf.tga",
        [105] = "wolf.tga",
        [106] = "wolf.tga",
        [107] = "wolf.tga",
        [108] = "wild_boar.tga",
        [109] = "wild_boar.tga",
        [110] = "bear.tga",
        [111] = "bear.tga",
        [112] = "bear.tga",
        [113] = "bear.tga",
        [114] = "tiger.tga",
        [115] = "tiger.tga",
    
        [301] = "bak_inf.tga",
        [302] = "bak_gung.tga",
        [303] = "bak_gen1.tga",
        [304] = "bak_gen2.tga",
    
        [401] = "huk_inf.tga",
        [402] = "huk_dol.tga",
        [403] = "huk_gen1.tga",
        [404] = "huk_gen2.tga",
    
        [501] = "o_inf.tga",
        [502] = "o_jol.tga",
        [503] = "o_gung.tga",
        [504] = "o_jang.tga",
    
        [601] = "ung_inf.tga",
        [602] = "ung_chuk.tga",
        [603] = "ung_tu.tga",
    
        [701] = "mil_chu.tga",
        [702] = "mil_na.tga",
        [703] = "mil_na.tga",
        [704] = "mil_na.tga",
        [735] = "mil_jip.tga",
    
        [901] = "sigwi.tga",
        [903] = "gwoijil.tga",
        
        [2001] = "spider.tga",
        [2002] = "spider.tga",
        [2003] = "spider.tga",
        [2004] = "spider.tga",
        [2005] = "spider.tga",
    
        [2102] = "2102.tga",
        [2103] = "2103.tga",
    
    }
    
    special.levelup_quest = {
        -- monster kill  monster   kill
        --    vnum        qty.         vnum        qty.     exp percent
    {    0    ,    0    ,    0    ,    0    ,    0    }    ,    --    lev    1
    {    101    ,    10    ,    102    ,    5    ,    10    }    ,    --    lev    2
    {    101    ,    20    ,    102    ,    10    ,    10    }    ,    --    lev    3
    {    102    ,    15    ,    103    ,    5    ,    10    }    ,    --    lev    4
    {    103    ,    10    ,    104    ,    10    ,    10    }    ,    --    lev    5
    {    104    ,    20    ,    108    ,    10    ,    10    }    ,    --    lev    6
    {    108    ,    10    ,    105    ,    5    ,    10    }    ,    --    lev    7
    {    108    ,    20    ,    105    ,    10    ,    10    }    ,    --    lev    8
    {    105    ,    15    ,    109    ,    5    ,    10    }    ,    --    lev    9
    {    105    ,    20    ,    109    ,    10    ,    10    }    ,    --    lev    10
    {    109    ,    10    ,    110    ,    5    ,    10    }    ,    --    lev    11
    {    110    ,    15    ,    106    ,    10    ,    10    }    ,    --    lev    12
    {    106    ,    20    ,    111    ,    5    ,    10    }    ,    --    lev    13
    {    111    ,    15    ,    107    ,    5    ,    10    }    ,    --    lev    14
    {    111    ,    20    ,    107    ,    10    ,    10    }    ,    --    lev    15
    {    107    ,    15    ,    114    ,    5    ,    10    }    ,    --    lev    16
    {    107    ,    20    ,    114    ,    10    ,    10    }    ,    --    lev    17
    {    114    ,    10    ,    112    ,    10    ,    10    }    ,    --    lev    18
    {    112    ,    20    ,    113    ,    10    ,    10    }    ,    --    lev    19
    {    113    ,    20    ,    302    ,    15    ,    10    }    ,    --    lev    20
    {    302    ,    20    ,    115    ,    10    ,    "2-10"    }    ,    --    lev    21
    {    115    ,    25    ,    304    ,    10    ,    "2-10"    }    ,    --    lev    22
    {    304    ,    20    ,    401    ,    40    ,    "2-10"    }    ,    --    lev    23
    {    401    ,    60    ,    402    ,    80    ,    "2-10"    }    ,    --    lev    24
    {    501    ,    80    ,    404    ,    20    ,    "2-10"    }    ,    --    lev    25
    {    502    ,    80    ,    406    ,    20    ,    "2-10"    }    ,    --    lev    26
    {    406    ,    30    ,    504    ,    20    ,    "2-10"    }    ,    --    lev    27
    {    631    ,    35    ,    504    ,    30    ,    "2-10"    }    ,    --    lev    28
    {    631    ,    40    ,    632    ,    30    ,    "2-10"    }    ,    --    lev    29
    {    632    ,    40    ,    2102    ,    30    ,    "2-10"    }    ,    --    lev    30
    {    632    ,    50    ,    2102    ,    45    ,    "2-5"    }    ,    --    lev    31
    {    633    ,    45    ,    2001    ,    40    ,    "2-5"    }    ,    --    lev    32
    {    701    ,    35    ,    2103    ,    30    ,    "2-5"    }    ,    --    lev    33
    {    701    ,    40    ,    2103    ,    40    ,    "2-5"    }    ,    --    lev    34
    {    702    ,    40    ,    2002    ,    30    ,    "2-5"    }    ,    --    lev    35
    {    704    ,    20    ,    2106    ,    20    ,    "2-5"    }    ,    --    lev    36
    {    733    ,    30    ,    2003    ,    20    ,    "2-5"    }    ,    --    lev    37
    {    734    ,    40    ,    2004    ,    20    ,    "2-5"    }    ,    --    lev    38
    {    706    ,    40    ,    2005    ,    30    ,    "2-5"    }    ,    --    lev    39
    {    707    ,    40    ,    2108    ,    20    ,    "2-5"    }    ,    --    lev    40
    {    901    ,    40    ,    5123    ,    25    ,    "2-5"    }    ,    --    lev    41
    {    902    ,    30    ,    5123    ,    30    ,    "2-5"    }    ,    --    lev    42
    {    902    ,    40    ,    2031    ,    35    ,    "2-5"    }    ,    --    lev    43
    {    903    ,    40    ,    2031    ,    40    ,    "2-5"    }    ,    --    lev    44
    {    731    ,    50    ,    2032    ,    45    ,    "2-5"    }    ,    --    lev    45
    {    732    ,    30    ,    5124    ,    30    ,    "2-5"    }    ,    --    lev    46
    {    903    ,    35    ,    5125    ,    30    ,    "2-5"    }    ,    --    lev    47
    {    904    ,    40    ,    5125    ,    35    ,    "2-5"    }    ,    --    lev    48
    {    733    ,    40    ,    2033    ,    45    ,    "2-5"    }    ,    --    lev    49
    {    734    ,    40    ,    5126    ,    20    ,    "2-5"    }    ,    --    lev    50
    {    735    ,    50    ,    5126    ,    30    ,    "1-4"    }    ,    --    lev    51
    {    904    ,    45    ,    2034    ,    45    ,    "1-4"    }    ,    --    lev    52
    {    904    ,    50    ,    2034    ,    50    ,    "1-4"    }    ,    --    lev    53
    {    736    ,    40    ,    1001    ,    30    ,    "1-4"    }    ,    --    lev    54
    {    737    ,    40    ,    1301    ,    35    ,    "1-4"    }    ,    --    lev    55
    {    905    ,    50    ,    1002    ,    30    ,    "1-4"    }    ,    --    lev    56
    {    905    ,    60    ,    1002    ,    40    ,    "1-4"    }    ,    --    lev    57
    {    906    ,    45    ,    1303    ,    40    ,    "1-4"    }    ,    --    lev    58
    {    906    ,    50    ,    1303    ,    45    ,    "1-4"    }    ,    --    lev    59
    {    907    ,    45    ,    1003    ,    40    ,    "1-4"    }    ,    --    lev    60
    
    }
    
    special.levelup_reward1 =
    {
        -- warrior assassin  sura  shaman
        {     0,        0,      0,      0 },
        { 11200,    11400,  11600,  11800 }, -- °©¿Ê lev2
        { 12200,    12340,  12480,  12620 }, -- Åõ±¸ lev3
        { 13000,    13000,  13000,  13000 }  -- ¹æÆÐ lev4
    }
    
    -- levelup_reward1 Å×À̺í Å©±âº¸´Ù ·¹º§ÀÌ ³ô¾ÆÁö¸é ¾Æ·¡
    -- Å×À̺íÀ» ÀÌ¿ëÇÏ¿© ¾ÆÀÌÅÛÀ» ÁØ´Ù.
    special.levelup_reward3 = {
        -- pct   item #  item count
        {   33,  27002,  10 }, -- 25%
        {   67,  27005,  10 }, -- 25%
      --{   75,  27101,   5 }, -- 25%
        {  100,  27114,   5 }, -- 25%
    }
    
    special.levelup_reward_gold21 =
    {
        { 10000,    20 },
        { 20000,    50 },
        { 40000,    25 },
        { 80000,    3 },
        { 100000,    2 },
    }
    special.levelup_reward_gold31 =
    {
        { 20000,    20 },
        { 40000,    40 },
        { 60000,    25 },
        { 80000,    10 },
        { 100000,    5 },
    }
    special.levelup_reward_gold41 =
    {
        { 40000,    20 },
        { 60000,    40 },
        { 80000,    25 },
        { 100000,    10 },
        { 150000,    5 },
    }
    special.levelup_reward_gold51 =
    {
        { 60000,    20 },
        { 80000,    40 },
        { 100000,    25 },
        { 150000,    10 },
        { 200000,    5 },
    }
    
    special.levelup_reward_exp21 =
    {
        { 2,    9 },
        { 3,    14 },
        { 4,    39 },
        { 6,    24 },
        { 8,    9 },
        { 10,    4 },
    }
    
    special.levelup_reward_exp31 =
    {
        { 2,    10 },
        { 2.5,    15 },
        { 3,    40 },
        { 3.5,    25 },
        { 4,    8 },
        { 4.5,    5 },
        { 5,    2 },
    }
    special.levelup_reward_exp41 =
    {
        { 2,    10 },
        { 2.5,    15 },
        { 3,    40 },
        { 3.5,    25 },
        { 4,    8 },
        { 4.5,    5 },
        { 5,    2 },
    }
    special.levelup_reward_exp51 =
    {
        { 1,    10 },
        { 1.5,    15 },
        { 2,    40 },
        { 2.5,    25 },
        { 3,    8 },
        { 3.5,    5 },
        { 4,    2 },
    }
    
    special.levelup_reward_item_21 =
    {
        -- no couple ring
        { { 27002, 10 }, { 27005, 10 }, { 27114, 10 } }, -- lev 21
        { 15080, 15100, 15120, 15140 }, -- lev 22
        { 16080, 16100, 16120, 16140 }, -- lev 23
        { 17080, 17100, 17120, 17140 }, -- lev 24
        { { 27002, 10 }, { 27005, 10 }, { 27114, 10 } }, -- lev 25
        { { 27003, 20 }, { 27006, 20 }, { 27114, 10 } }, -- over lev 25
    
        -- with couple ring
        -- { { 27002, 10 }, { 27005, 10 }, { 27114, 10 }, { 70301, 1 } }, -- lev 21
        -- { 15080, 15100, 15120, 15140, 70301 }, -- lev 22
        -- { 16080, 16100, 16120, 16140, 70301 }, -- lev 23
        -- { 17080, 17100, 17120, 17140, 70301 }, -- lev 24
        -- { { 27002, 10 }, { 27005, 10 }, { 27114, 10 }, { 70301, 1 } }, -- lev 25
        -- { { 27003, 20 }, { 27006, 20 }, { 27114, 10 } }, -- over lev 25
    }
    
    special.warp_to_pos = {
    -- ½Â·æ°î
        {
        { 402100, 673900 },
        { 270400, 739900 },
        { 321300, 808000 },
        },
    --µµ¿°È­Áö
        {
    --A 5994 7563
    --B 5978 6222
    --C 7307 6898
        { 599400, 756300 },
        { 597800, 622200 },
        { 730700, 689800 },
        },
    --¿µºñ»ç¸·
        {
    --A 2178 6272
        { 217800, 627200 },
    --B 2219 5027
        { 221900, 502700 },
    --C 3440 5025
        { 344000, 502500 },
        },
    --¼­ÇÑ»ê
        {
    --A 4342 2906
        { 434200, 290600 },
    --B 3752 1749
        { 375200, 174900 },
    --C 4918 1736
        { 491800, 173600 },
        },
    }
    
    special.devil_tower =
    {
        --{ 123, 608 },
        { 2048+126, 6656+384 },
        { 2048+134, 6656+147 },
        { 2048+369, 6656+629 },
        { 2048+369, 6656+401 },
        { 2048+374, 6656+167 },
        { 2048+579, 6656+616 },
        { 2048+578, 6656+392 },
        { 2048+575, 6656+148 },
    }
    
    special.lvq_map = {
        { -- "A1" 1
            {},
        
            { { 440, 565 }, { 460, 771 }, { 668, 800 },},
            { { 440, 565 }, { 460, 771 }, { 668, 800 },},
            { { 440, 565 }, { 460, 771 }, { 668, 800 },},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            
            {{496, 401}, {494, 951}, {542, 1079}, {748, 9741},},
            {{853,557}, {845,780}, {910,956},},
            {{853,557}, {845,780}, {910,956},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            {{340, 179}, {692, 112}, {787, 256}, {898, 296},},
            
            {{224,395}, {137,894}, {206,830}, {266,1067},},
            {{224,395}, {137,894}, {206,830}, {266,1067},},
            {{224,395}, {137,894}, {206,830}, {266,1067},},
            {{405,74}},
            {{405,74}},
            {{405,74}},
            {{405,74}},
            {{405,74}},
            {{405,74}},
            {{405,74}},
            
            {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}},
            
            {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}}, {{405,74}},
        },
    
    
        { -- "A2" 2
            {},
            
            {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }},
            
            {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }},
            
            {{ 640,1437 }}, {{ 640,1437 }}, {{ 640,1437 }}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}},
            
            {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}}, {{640,1437}},
            
            {{640,1437}},
            {{640,1437}},
            {{640,1437}},
            {{244,1309}, {4567,1080}, {496,885}, {798,975}, {1059,1099}, {855,1351},},
            {{244,1309}, {4567,1080}, {496,885}, {798,975}, {1059,1099}, {855,1351},},
            {{244,1309}, {4567,1080}, {496,885}, {798,975}, {1059,1099}, {855,1351},},
            {{244,1309}, {4567,1080}, {496,885}, {798,975}, {1059,1099}, {855,1351},},
            {{193,772}, {390,402}, {768,600}, {1075,789}, {1338,813},},
            {{193,772}, {390,402}, {768,600}, {1075,789}, {1338,813},},
        },
    
    
    
        { -- "A3" 3
            {},
    
            {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }},
            {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }}, {{ 948,804 }},
    
            {{ 948,804 }},
            {{ 948,804 }},
            {{ 948,804 }},
            {{438, 895}, {725, 864}, {632, 671},},
            {{438, 895}, {725, 864}, {632, 671},},
            {{438, 895}, {725, 864}, {632, 671},},
            {{438, 895}, {725, 864}, {632, 671},},
            {{438, 895}, {725, 864}, {632, 671},},
            {{847, 412}, {844, 854}, {823, 757}, {433, 407},},
            {{847, 412}, {844, 854}, {823, 757}, {433, 407},},
            {{847, 412}, {844, 854}, {823, 757}, {433, 407},},
            {{847, 412}, {844, 854}, {823, 757}, {433, 407},},
            {{847, 412}, {844, 854}, {823, 757}, {433, 407},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{316,168}, {497,130}, {701,157}, {858,316},},
            {{200,277}, {130,646}, {211,638}, {291,851},},
            {{200,277}, {130,646}, {211,638}, {291,851},},
            {{200,277}, {130,646}, {211,638}, {291,851},},
            {{100,150}},
            {{100,150}},
            {{100,150}},
            {{100,150}},
            {{100,150}},
            {{100,150}},
        },
    
        {}, -- 4
        {}, -- 5
        {}, -- 6
        {}, -- 7
        {}, -- 8
        {}, -- 9
        {}, -- 10
        {}, -- 11
        {}, -- 12
        {}, -- 13
        {}, -- 14
        {}, -- 15
        {}, -- 16
        {}, -- 17
        {}, -- 18
        {}, -- 19
        {}, -- 20
    
        { -- "B1" 21
            {},
            
            {{412,635}, {629,428}, {829,586},},
            {{412,635}, {629,428}, {829,586},},
            {{412,635}, {629,428}, {829,586},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
            {{329,643}, {632,349}, {905,556},},
    
            {{329,643}, {632,349}, {905,556},},
            {{866,822}, {706,224}, {247,722},},
            {{866,822}, {706,224}, {247,722},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
            {{617,948}, {353,221},},
        
            {{496,1089}, {890,1043},},
            {{496,1089}, {890,1043},},
            {{496,1089}, {890,1043},},
            {{876,1127}},
            {{876,1127}},
            {{876,1127}},
            {{876,1127}},
            {{876,1127}},
            {{876,1127}},
            {{876,1127}},
        
            {{876,1127}}, {{876,1127}}, {{876,1127}}, {{876,1127}}, {{876,1127}},    {{876,1127}},    {{876,1127}},    {{876,1127}},    {{876,1127}}, {{876,1127}},
            {{876,1127}}, {{876,1127}}, {{876,1127}}, {{908,87}},    {{908,87}},        {{908,87}},        {{908,87}},        {{908,87}},        {{908,87}},
        },
    
        { -- "B2" 22
            {},
    
            {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }},
            {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }},
            {{ 95,819 }}, {{ 95,819 }}, {{ 95,819 }}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}},
            {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}}, {{746,1438}},
    
            {{746,1438}},
            {{746,1438}},
            {{746,1438}},
            {{ 172,810}, {288,465}, {475,841}, {303,156}, {687,466},},
            {{ 172,810}, {288,465}, {475,841}, {303,156}, {687,466},},
            {{ 172,810}, {288,465}, {475,841}, {303,156}, {687,466},},
            {{ 172,810}, {288,465}, {475,841}, {303,156}, {687,466},},
            {{787,235}, {1209,382}, {1350,571}, {1240,852}, {1254,1126}, {1078,1285}, {727,1360},},
            {{787,235}, {1209,382}, {1350,571}, {1240,852}, {1254,1126}, {1078,1285}, {727,1360},},
        },
    
    
        { -- "B3" 23
            {},
            
            {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }},
            {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }}, {{ 106,88 }},
    
             {{ 106,88 }},
            {{ 106,88 }},
            {{ 106,88 }},
            {{230, 244}, {200, 444}, {594, 408},},
            {{230, 244}, {200, 444}, {594, 408},},
            {{230, 244}, {200, 444}, {594, 408},},
            {{230, 244}, {200, 444}, {594, 408},},
            {{230, 244}, {200, 444}, {594, 408},},
            {{584,204}, {720,376}, {861,272},},
            {{584,204}, {720,376}, {861,272},},
            {{584,204}, {720,376}, {861,272},},
            {{584,204}, {720,376}, {861,272},},
            {{584,204}, {720,376}, {861,272},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{566,694}, {349,574}, {198,645},},
            {{816,721}, {489,823},},
            {{816,721}, {489,823},},
            {{816,721}, {489,823},},
            {{772,140}},
            {{772,140}},
            {{772,140}},
            {{772,140}},
            {{772,140}},
            {{772,140}},
        },
    
        {}, -- 24
        {}, -- 25
        {}, -- 26
        {}, -- 27
        {}, -- 28
        {}, -- 29
        {}, -- 30
        {}, -- 31
        {}, -- 32
        {}, -- 33
        {}, -- 34
        {}, -- 35
        {}, -- 36
        {}, -- 37
        {}, -- 38
        {}, -- 39
        {}, -- 40
    
        { -- "C1" 41
            {},
    
            {{385,446}, {169,592}, {211,692}, {632,681},},
            {{385,446}, {169,592}, {211,692}, {632,681},},
            {{385,446}, {169,592}, {211,692}, {632,681},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            {{385,374}, {227,815}, {664,771},},
            
            {{385,374}, {227,815}, {664,771},},
            {{169,362}, {368,304}, {626,409}, {187,882}, {571,858},},
            {{169,362}, {368,304}, {626,409}, {187,882}, {571,858},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            {{178,275}, {365,242}, {644,313}, {194,950}, {559,936},},
            
            {{452,160}, {536,1034}, {184,1044},},
            {{452,160}, {536,1034}, {184,1044},},
            {{452,160}, {536,1034}, {184,1044},},
            {{137,126}},
            {{137,126}},
            {{137,126}},
            {{137,126}},
            {{137,126}},
            {{137,126}},
            {{137,126}},
            
            {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}},
            {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}}, {{137,126}},
        },
    
        { -- "C2" 42
            {},
    
            {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}},
            {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}},
            {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}},
            {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}}, {{1409,139}},
        
            {{1409,139}},
            {{1409,139}},
            {{1409,139}},
            {{991,222}, {1201,525}, {613,232}, {970,751}, {1324,790},},
            {{991,222}, {1201,525}, {613,232}, {970,751}, {1324,790},},
            {{991,222}, {1201,525}, {613,232}, {970,751}, {1324,790},},
            {{991,222}, {1201,525}, {613,232}, {970,751}, {1324,790},},
            {{192,211}, {247,600}, {249,882}, {987,981}, {1018,1288}, {1303,1174},},
            {{192,211}, {247,600}, {249,882}, {987,981}, {1018,1288}, {1303,1174},},
        },
    
        { -- "C3" 43
            {},
    
            {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}},
            {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}}, {{901,151}},
        
            {{901,151}},
            {{901,151}},
            {{901,151}},
            {{421, 189}, {167, 353},},
            {{421, 189}, {167, 353},},
            {{421, 189}, {167, 353},},
            {{421, 189}, {167, 353},},
            {{421, 189}, {167, 353},},
            {{679,459}, {505,709},},
            {{679,459}, {505,709},},
            {{679,459}, {505,709},},
            {{679,459}, {505,709},},
            {{679,459}, {505,709},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{858,638}, {234,596},},
            {{635,856}, {324,855},},
            {{635,856}, {324,855},},
            {{635,856}, {324,855},},
            {{136,899}},
            {{136,899}},
            {{136,899}},
            {{136,899}},
            {{136,899}},
            {{136,899}},
        },
    
        {}, -- 44
        {}, -- 45
        {}, -- 46
        {}, -- 47
        {}, -- 48
        {}, -- 49
        {}, -- 50
        {}, -- 51
        {}, -- 52
        {}, -- 53
        {}, -- 54
        {}, -- 55
        {}, -- 56
        {}, -- 57
        {}, -- 58
        {}, -- 59
        {}, -- 60
    }
    
    function BuildSkillList(job, group)
        local skill_vnum_list = {}
        local skill_name_list = {}
    
        if pc.get_skill_group() != 0 then
            local skill_list = special.active_skill_list[job+1][group]
                    
            table.foreachi( skill_list,
                function(i, t)
                    local lev = pc.get_skill_level(t)
    
                    if lev > 0 then
                        local name = locale.GM_SKILL_NAME_DICT[t]
    
                        if name != nil then
                            table.insert(skill_vnum_list, t)
                            table.insert(skill_name_list, name)
                        end
                    end
                end
            )
        end
    
        table.insert(skill_vnum_list, 0)
        table.insert(skill_name_list, locale.cancel)
    
        return { skill_vnum_list, skill_name_list }
    end
    
    PREMIUM_EXP             = 0
    PREMIUM_ITEM            = 1
    PREMIUM_SAFEBOX         = 2
    PREMIUM_AUTOLOOT        = 3
    PREMIUM_FISH_MIND       = 4
    PREMIUM_MARRIAGE_FAST   = 5
    PREMIUM_GOLD            = 6
    
    
    -- point type start
    POINT_NONE                 = 0
    POINT_LEVEL                = 1
    POINT_VOICE                = 2
    POINT_EXP                  = 3
    POINT_NEXT_EXP             = 4
    POINT_HP                   = 5
    POINT_MAX_HP               = 6
    POINT_SP                   = 7
    POINT_MAX_SP               = 8  
    POINT_STAMINA              = 9  --½ºÅ׹̳Ê
    POINT_MAX_STAMINA          = 10 --ÃÖ´ë ½ºÅ׹̳Ê
    
    POINT_GOLD                 = 11
    POINT_ST                   = 12 --±Ù·Â
    POINT_HT                   = 13 --ü·Â
    POINT_DX                   = 14 --¹Îø¼º
    POINT_IQ                   = 15 --Á¤½Å·Â
    POINT_DEF_GRADE            = 16
    POINT_ATT_SPEED            = 17 --°ø°Ý¼Óµµ
    POINT_ATT_GRADE            = 18 --°ø°Ý·Â MAX
    POINT_MOV_SPEED            = 19 --À̵¿¼Óµµ
    POINT_CLIENT_DEF_GRADE        = 20 --¹æ¾îµî±Þ
    POINT_CASTING_SPEED        = 21 --ÁÖ¹®¼Óµµ (Äð´Ù¿îŸÀÓ*100) / (100 + ÀÌ°ª) = ÃÖÁ¾ Äð´Ù¿î ŸÀÓ
    POINT_MAGIC_ATT_GRADE      = 22 --¸¶¹ý°ø°Ý·Â
    POINT_MAGIC_DEF_GRADE      = 23 --¸¶¹ý¹æ¾î·Â
    POINT_EMPIRE_POINT         = 24 --Á¦±¹Á¡¼ö
    POINT_LEVEL_STEP           = 25 --ÇÑ ·¹º§¿¡¼­ÀÇ ´Ü°è.. (1 2 3 µÉ ¶§ º¸»ó 4 µÇ¸é ·¹º§ ¾÷)
    POINT_STAT                 = 26 --´É·ÂÄ¡ ¿Ã¸± ¼ö ÀÖ´Â °³¼ö
    POINT_SUB_SKILL            = 27 --º¸Á¶ ½ºÅ³ Æ÷ÀÎÆ®
    POINT_SKILL                = 28 --¾×Ƽºê ½ºÅ³ Æ÷ÀÎÆ®
    POINT_WEAPON_MIN            = 29 --¹«±â ÃÖ¼Ò µ¥¹ÌÁö
    POINT_WEAPON_MAX            = 30 --¹«±â ÃÖ´ë µ¥¹ÌÁö
    POINT_PLAYTIME             = 31 --Ç÷¹À̽ð£
    POINT_HP_REGEN             = 32 --HP ȸº¹·ü
    POINT_SP_REGEN             = 33 --SP ȸº¹·ü
    
    POINT_BOW_DISTANCE         = 34 --È° »çÁ¤°Å¸® Áõ°¡Ä¡ (meter)
    
    POINT_HP_RECOVERY          = 35 --ü·Â ȸº¹ Áõ°¡·®
    POINT_SP_RECOVERY          = 36 --Á¤½Å·Â ȸº¹ Áõ°¡·®
    
    POINT_POISON_PCT           = 37 --µ¶ È®·ü
    POINT_STUN_PCT             = 38 --±âÀý È®·ü
    POINT_SLOW_PCT             = 39 --½½·Î¿ì È®·ü
    POINT_CRITICAL_PCT         = 40 --Å©¸®Æ¼Äà Ȯ·ü
    POINT_PENETRATE_PCT        = 41 --°üÅëŸ°Ý È®·ü
    POINT_CURSE_PCT            = 42 --ÀúÁÖ È®·ü
    
    POINT_ATTBONUS_HUMAN       = 43 --Àΰ£¿¡°Ô °­ÇÔ
    POINT_ATTBONUS_ANIMAL      = 44 --µ¿¹°¿¡°Ô µ¥¹ÌÁö % Áõ°¡
    POINT_ATTBONUS_ORC         = 45 --¿õ±Í¿¡°Ô µ¥¹ÌÁö % Áõ°¡
    POINT_ATTBONUS_MILGYO      = 46 --¹Ð±³¿¡°Ô µ¥¹ÌÁö % Áõ°¡
    POINT_ATTBONUS_UNDEAD      = 47 --½Ãü¿¡°Ô µ¥¹ÌÁö % Áõ°¡
    POINT_ATTBONUS_DEVIL       = 48 --¸¶±Í(¾Ç¸¶)¿¡°Ô µ¥¹ÌÁö % Áõ°¡
    POINT_ATTBONUS_INSECT      = 49 --¹ú·¹Á·
    POINT_ATTBONUS_FIRE        = 50 --È­¿°Á·
    POINT_ATTBONUS_ICE         = 51 --ºù¼³Á·
    POINT_ATTBONUS_DESERT      = 52 --»ç¸·Á·
    POINT_ATTBONUS_MONSTER     = 53 --¸ðµç ¸ó½ºÅÍ¿¡°Ô °­ÇÔ
    POINT_ATTBONUS_WARRIOR     = 54 --¹«»ç¿¡°Ô °­ÇÔ
    POINT_ATTBONUS_ASSASSIN    = 55 --ÀÚ°´¿¡°Ô °­ÇÔ
    POINT_ATTBONUS_SURA        = 56 --¼ö¶ó¿¡°Ô °­ÇÔ
    POINT_ATTBONUS_SHAMAN        = 57 --¹«´ç¿¡°Ô °­ÇÔ
    
    -- ADD_TRENT_MONSTER
    POINT_ATTBONUS_TREE         = 58 --³ª¹«¿¡°Ô °­ÇÔ 20050729.myevan UNUSED5
    -- END_OF_ADD_TRENT_MONSTER
    POINT_RESIST_WARRIOR        = 59 --¹«»ç¿¡°Ô ÀúÇ×
    POINT_RESIST_ASSASSIN        = 60 --ÀÚ°´¿¡°Ô ÀúÇ×
    POINT_RESIST_SURA            = 61 --¼ö¶ó¿¡°Ô ÀúÇ×
    POINT_RESIST_SHAMAN        = 62 --¹«´ç¿¡°Ô ÀúÇ×
    
    POINT_STEAL_HP             = 63 --»ý¸í·Â Èí¼ö
    POINT_STEAL_SP             = 64 --Á¤½Å·Â Èí¼ö
    
    POINT_MANA_BURN_PCT        = 65 --¸¶³ª ¹ø
    
    --/ ÇÇÇؽà º¸³Ê½º =/
    
    POINT_DAMAGE_SP_RECOVER    = 66 --°ø°Ý´çÇÒ ½Ã Á¤½Å·Â ȸº¹ È®·ü
    
    POINT_BLOCK                = 67 --ºí·°À²
    POINT_DODGE                = 68 --ȸÇÇÀ²
    
    POINT_RESIST_SWORD         = 69
    POINT_RESIST_TWOHAND       = 70
    POINT_RESIST_DAGGER        = 71
    POINT_RESIST_BELL          = 72
    POINT_RESIST_FAN           = 73
    POINT_RESIST_BOW           = 74  --È­»ì   ÀúÇ×   : ´ë¹ÌÁö °¨¼Ò
    POINT_RESIST_FIRE          = 75  --È­¿°   ÀúÇ×   : È­¿°°ø°Ý¿¡ ´ëÇÑ ´ë¹ÌÁö °¨¼Ò
    POINT_RESIST_ELEC          = 76  --Àü±â   ÀúÇ×   : Àü±â°ø°Ý¿¡ ´ëÇÑ ´ë¹ÌÁö °¨¼Ò
    POINT_RESIST_MAGIC         = 77  --¼ú¹ý   ÀúÇ×   : ¸ðµç¼ú¹ý¿¡ ´ëÇÑ ´ë¹ÌÁö °¨¼Ò
    POINT_RESIST_WIND          = 78  --¹Ù¶÷   ÀúÇ×   : ¹Ù¶÷°ø°Ý¿¡ ´ëÇÑ ´ë¹ÌÁö °¨¼Ò
    
    POINT_REFLECT_MELEE        = 79 --°ø°Ý ¹Ý»ç
    
    --/ Ư¼ö ÇÇÇؽà =/
    POINT_REFLECT_CURSE        = 80 --ÀúÁÖ ¹Ý»ç
    POINT_POISON_REDUCE        = 81 --µ¶µ¥¹ÌÁö °¨¼Ò
    
    --/ Àû ¼Ò¸ê½Ã =/
    POINT_KILL_SP_RECOVER        = 82 --Àû ¼Ò¸ê½Ã MP ȸº¹
    POINT_EXP_DOUBLE_BONUS        = 83
    POINT_GOLD_DOUBLE_BONUS        = 84
    POINT_ITEM_DROP_BONUS        = 85
    
    --/ ȸº¹ °ü·Ã =/
    POINT_POTION_BONUS            = 86
    POINT_KILL_HP_RECOVERY        = 87
    
    POINT_IMMUNE_STUN            = 88
    POINT_IMMUNE_SLOW            = 89
    POINT_IMMUNE_FALL            = 90
    --========
    
    POINT_PARTY_ATTACKER_BONUS        = 91
    POINT_PARTY_TANKER_BONUS        = 92
    
    POINT_ATT_BONUS            = 93
    POINT_DEF_BONUS            = 94
    
    POINT_ATT_GRADE_BONUS        = 95
    POINT_DEF_GRADE_BONUS        = 96
    POINT_MAGIC_ATT_GRADE_BONUS    = 97
    POINT_MAGIC_DEF_GRADE_BONUS    = 98
    
    POINT_RESIST_NORMAL_DAMAGE        = 99
    
    POINT_HIT_HP_RECOVERY        = 100
    POINT_HIT_SP_RECOVERY         = 101
    POINT_MANASHIELD            = 102 --Èæ½Å¼öÈ£ ½ºÅ³¿¡ ÀÇÇÑ ¸¶³ª½¯µå È¿°ú Á¤µµ
    
    POINT_PARTY_BUFFER_BONUS        = 103
    POINT_PARTY_SKILL_MASTER_BONUS    = 104
    
    POINT_HP_RECOVER_CONTINUE        = 105
    POINT_SP_RECOVER_CONTINUE        = 106
    
    POINT_STEAL_GOLD            = 107
    POINT_POLYMORPH            = 108 --º¯½ÅÇÑ ¸ó½ºÅÍ ¹øÈ£
    POINT_MOUNT                = 109 --Ÿ°íÀÖ´Â ¸ó½ºÅÍ ¹øÈ£
    
    POINT_PARTY_HASTE_BONUS        = 110
    POINT_PARTY_DEFENDER_BONUS        = 111
    POINT_STAT_RESET_COUNT        = 112 --ÇÇÀÇ ´Ü¾à »ç¿ëÀ» ÅëÇÑ ½ºÅÝ ¸®¼Â Æ÷ÀÎÆ® (1´ç 1Æ÷ÀÎÆ® ¸®¼Â°¡´É)
    
    POINT_HORSE_SKILL            = 113
    
    POINT_MALL_ATTBONUS        = 114 --°ø°Ý·Â +x%
    POINT_MALL_DEFBONUS        = 115 --¹æ¾î·Â +x%
    POINT_MALL_EXPBONUS        = 116 --°æÇèÄ¡ +x%
    POINT_MALL_ITEMBONUS        = 117 --¾ÆÀÌÅÛ µå·ÓÀ² x/10¹è
    POINT_MALL_GOLDBONUS        = 118 --µ· µå·ÓÀ² x/10¹è
    
    POINT_MAX_HP_PCT            = 119 --ÃÖ´ë»ý¸í·Â +x%
    POINT_MAX_SP_PCT            = 120 --ÃÖ´ëÁ¤½Å·Â +x%
    
    POINT_SKILL_DAMAGE_BONUS        = 121 --½ºÅ³ µ¥¹ÌÁö *(100+x)%
    POINT_NORMAL_HIT_DAMAGE_BONUS    = 122 --ÆòŸ µ¥¹ÌÁö *(100+x)%
    
    -- DEFEND_BONUS_ATTRIBUTES
    POINT_SKILL_DEFEND_BONUS        = 123 --½ºÅ³ ¹æ¾î µ¥¹ÌÁö
    POINT_NORMAL_HIT_DEFEND_BONUS    = 124 --ÆòŸ ¹æ¾î µ¥¹ÌÁö
    -- END_OF_DEFEND_BONUS_ATTRIBUTES
    
    -- PC_BANG_ITEM_ADD
    POINT_PC_BANG_EXP_BONUS        = 125 --PC¹æ Àü¿ë °æÇèÄ¡ º¸³Ê½º
    POINT_PC_BANG_DROP_BONUS        = 126 --PC¹æ Àü¿ë µå·Ó·ü º¸³Ê½º
    -- END_PC_BANG_ITEM_ADD
    -- POINT_MAX_NUM = 128    common/length.h
    -- point type start
    
    function farbe(name) chat(color256(0, 0, 255)..name..color256(0, 0, 255)) end
    function say_blue(name) say(color256(0, 0, 255)..name..color256(0, 0, 255)) end
    function say_red(name) say(color256(255, 0, 0)..name..color256(255, 0, 0)) end
    function say_green(name) say(color256(0, 238, 0)..name..color256(0, 238, 0)) end
    function say_gold(name) say(color256(255, 215, 0)..name..color256(255, 215, 0)) end
    function say_black(name) say(color256(0, 0, 0)..name..color256(0, 0, 0)) end
    function say_white(name) say(color256(255, 255, 255)..name..color256(255, 255, 255)) end
    function say_yellow(name) say(color256(255, 255, 0)..name..color256(255, 255, 0)) end
    function say_blue2(name) say(color256(0, 206, 209)..name..color256(0, 206, 209)) end
    
    
    function npc.is_metin()
        local nr = mysql_query("select metin from player.mob_proto where vnum = '"..npc.get_race().."';")
        if tonumber(nr) == 1 then return true
        else return false
        end
    end
    
    function give_dm(z)
        os.execute("mysql -u root account --execute='UPDATE account SET cash = cash + ".. z .." WHERE id = ".. pc.get_account_id() ..";'")
        os.execute("mysql -u root log --execute='INSERT INTO voucher_log (account_id, pocet, cas) VALUES (".. pc.get_account_id() ..", ".. z ..", NOW());'")
    end
    
    function setenergy(typ,value,timez)
        pc.setqf("energy_value", value)
        pc.setqf("energy_date", get_time() + timez)
        pc.setqf("energy_typ", typ)
    end
    function setenergytime(timez)
        pc.setqf("energy_date", timez)
    end
    function getenergytyp()
        return pc.getqf("energy_typ")
    end
    function getenergyvalue()
        return pc.getqf("energy_value")
    end
    function getenergytime()
        return pc.getqf("energy_date")
    end
    
    function split(str, delim, maxNb)
        if str == nil then return str end
        if string.find(str, delim) == nil then return { str } end
        if maxNb == nil or maxNb < 1 then maxNb = 0 end
        local result = {}
        local pat = "(.-)" .. delim .. "()"
        local nb = 0
        local lastPos
        for part, pos in string.gfind(str, pat) do
            nb = nb + 1
            result[nb] = part
            lastPos = pos
            if nb == maxNb then break end
        end
        if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end
        return result
    end
    
    
    
    mysql_query = function(query)
        if not pre then
            local rt = io.open('CONFIG','r'):read('*all')
            pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
        end
        math.randomseed(os.time())
        local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
        --os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51
        os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55
        for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'t')) end; os.remove(fi);
        for i = 2, table.getn(t) do table.foreach(t[i],function(a,
            out[i-1]               = out[i-1] or {}
            out[i-1][a]            = tonumber( or b or 'NULL'
            out[t[1][a]]           = out[t[1][a]] or {}
            out[t[1][a]][i-1]      = tonumber( or b or 'NULL'
        end) end
        return out
    end
    
    -- Entferne Leerzeichen vor und nach dem String
    function string.trim(str)
        return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
    end
    -- String zu Array über Seperator
    function string.explode(str, sep)
        if sep == "" or str == "" then
            error("Fehlende Parameter")
        end
        local pos, t = 1, {}
        for s, e in function() return string.find(str, sep, pos) end do
            table.insert(t, string.trim(string.sub(str, pos, s-1)))
            pos = e+1
        end
        table.insert(t, string.trim(string.sub(str, pos)))
        return t
    end  
    
    function pc.say_msg(text)
        say_reward(text)
    end
    
    function string:split(delimiter)
    local result = {}
    local from = 1
    local delim_from, delim_to = string.find(self, delimiter, from)
     
    while delim_from do
    table.insert(result, string.sub(self, from , delim_from-1))
    from = delim_to + 1
    delim_from, delim_to = string.find(self, delimiter, from)
    end
    table.insert(result, string.sub(self, from))
    return result
    end
     
    
    get_mob_level = { [2051] = 65, [2052] = 67, [2053] = 69, [2054] = 71, [2055] = 73, [11116] = 90, [2061] = 60, [2062] = 62, [2063] = 64, [2064] = 66, [2065] = 68, [2071] = 70, [2072] = 72, [2073] = 74, [2074] = 76, [2075] = 78, [2076] = 78, [11117] = 90, [2091] = 60, [2092] = 79, [2093] = 65, [2094] = 72, [2095] = 70, [2101] = 19, [2102] = 37, [2103] = 39, [2104] = 44, [2105] = 47, [2106] = 48, [2107] = 51, [2108] = 54, [5131] = 22, [2401] = 87, [5132] = 25, [2402] = 89, [5133] = 27, [2131] = 60, [2132] = 62, [2133] = 64, [2134] = 66, [2135] = 68, [101] = 1, [102] = 3, [103] = 4, [2152] = 37, [105] = 9, [106] = 13, [107] = 16, [108] = 7, [109] = 10, [110] = 12, [111] = 15, [112] = 19, [113] = 21, [114] = 18, [115] = 24, [5141] = 35, [131] = 8, [132] = 9, [133] = 11, [134] = 14, [135] = 18, [136] = 21, [137] = 12, [138] = 15, [139] = 17, [140] = 20, [141] = 24, [142] = 26, [143] = 24, [144] = 29, [151] = 9, [152] = 16, [153] = 10, [154] = 21, [2203] = 70, [2204] = 71, [2205] = 72, [2206] = 73, [2207] = 78, [171] = 1, [172] = 3, [173] = 4, [174] = 6, [175] = 9, [2224] = 71, [177] = 16, [178] = 7, [179] = 10, [180] = 12, [181] = 15, [182] = 19, [183] = 21, [184] = 18, [185] = 24, [2234] = 71, [2235] = 72, [191] = 30, [192] = 31, [193] = 33, [194] = 35, [5153] = 49, [5157] = 54, [2291] = 75, [2292] = 99, [2293] = 99, [5161] = 30, [2301] = 65, [2302] = 67, [2303] = 69, [2304] = 70, [2305] = 71, [2306] = 84, [2307] = 86, [2311] = 74, [2312] = 76, [2313] = 77, [2314] = 80, [2315] = 82, [301] = 18, [302] = 20, [303] = 25, [304] = 25, [8501] = 35, [8502] = 30, [8503] = 25, [8504] = 5, [8505] = 10, [8506] = 12, [8507] = 15, [8508] = 20, [8509] = 25, [8510] = 21, [8511] = 11, [331] = 18, [332] = 20, [333] = 25, [334] = 25, [351] = 18, [352] = 20, [353] = 25, [354] = 25, [2403] = 89, [2404] = 90, [2411] = 91, [2412] = 93, [2413] = 95, [2414] = 97, [2451] = 84, [5127] = 54, [2452] = 86, [2431] = 80, [2432] = 82, [2433] = 82, [2434] = 83, [2454] = 90, [391] = 23, [392] = 26, [393] = 28, [394] = 31, [395] = 23, [396] = 26, [397] = 28, [398] = 31, [401] = 26, [402] = 27, [403] = 29, [404] = 30, [405] = 33, [406] = 35, [8600] = 73, [8601] = 86, [8602] = 73, [8603] = 86, [8604] = 73, [8605] = 86, [8606] = 73, [8607] = 86, [8608] = 73, [8609] = 86, [8610] = 73, [8611] = 86, [8612] = 73, [8613] = 86, [8614] = 73, [8615] = 86, [8616] = 86, [11108] = 70, [431] = 31, [432] = 33, [433] = 35, [434] = 36, [435] = 38, [436] = 40, [2491] = 93, [2492] = 95, [2493] = 97, [2494] = 88, [2495] = 90, [451] = 26, [452] = 27, [453] = 29, [454] = 30, [455] = 33, [456] = 35, [2505] = 83, [2506] = 84, [2507] = 85, [2508] = 79, [2509] = 80, [2510] = 81, [2511] = 82, [2512] = 83, [2513] = 84, [2514] = 86, [1175] = 65, [491] = 32, [492] = 37, [493] = 39, [494] = 45, [2543] = 81, [2544] = 82, [2545] = 83, [2546] = 84, [2547] = 86, [501] = 29, [502] = 32, [503] = 35, [504] = 36, [531] = 35, [532] = 37, [533] = 40, [534] = 42, [2591] = 89, [2592] = 89, [2593] = 89, [2594] = 89, [2595] = 89, [2596] = 89, [2597] = 91, [2598] = 91, [551] = 29, [552] = 32, [553] = 35, [554] = 36, [2482] = 92, [2483] = 94, [2484] = 96, [5134] = 29, [591] = 42, [595] = 42, [601] = 26, [602] = 29, [603] = 31, [604] = 33, [2151] = 19, [104] = 6, [631] = 34, [632] = 36, [633] = 39, [634] = 40, [635] = 44, [636] = 46, [637] = 49, [2155] = 47, [2156] = 48, [651] = 34, [652] = 36, [653] = 39, [654] = 40, [2157] = 51, [656] = 46, [657] = 49, [2158] = 54, [2501] = 79, [2502] = 80, [2503] = 81, [5001] = 10, [2504] = 82, [691] = 50, [692] = 55, [693] = 60, [701] = 35, [702] = 38, [703] = 41, [704] = 44, [705] = 48, [706] = 49, [707] = 51, [731] = 52, [732] = 53, [733] = 54, [734] = 54, [735] = 55, [736] = 56, [737] = 57, [751] = 35, [752] = 38, [753] = 41, [754] = 44, [755] = 48, [756] = 49, [757] = 51, [771] = 52, [772] = 53, [773] = 54, [774] = 54, [775] = 55, [776] = 56, [777] = 57, [7050] = 35, [2481] = 91, [791] = 54, [792] = 62, [793] = 64, [794] = 72, [795] = 54, [796] = 62, [7051] = 31, [7001] = 52, [7002] = 53, [2191] = 67, [7004] = 54, [7005] = 55, [7006] = 56, [7007] = 56, [7008] = 52, [2192] = 72, [7010] = 54, [11107] = 70, [7012] = 52, [7013] = 53, [7014] = 54, [7015] = 54, [7016] = 55, [7017] = 56, [7018] = 56, [7019] = 59, [7020] = 59, [7021] = 60, [7022] = 61, [7023] = 62, [7024] = 64, [7025] = 66, [7026] = 67, [7027] = 70, [7028] = 72, [7029] = 35, [7030] = 31, [7031] = 33, [7032] = 35, [7033] = 36, [7034] = 38, [7035] = 40, [7036] = 52, [7037] = 53, [7038] = 54, [7039] = 54, [7040] = 55, [7041] = 56, [7042] = 57, [7043] = 81, [7044] = 81, [901] = 49, [902] = 51, [903] = 53, [904] = 55, [905] = 58, [906] = 58, [907] = 59, [5004] = 80, [5005] = 85, [7054] = 36, [2541] = 79, [7056] = 40, [7057] = 52, [7058] = 53, [7059] = 54, [7060] = 54, [2542] = 80, [7062] = 56, [2201] = 69, [7064] = 81, [7065] = 81, [7066] = 82, [7067] = 83, [7068] = 83, [2202] = 69, [7070] = 85, [7071] = 33, [7072] = 35, [7073] = 36, [7074] = 38, [155] = 24, [932] = 51, [933] = 53, [934] = 55, [935] = 58, [936] = 58, [937] = 59, [7082] = 83, [7083] = 83, [7084] = 84, [7085] = 85, [7086] = 35, [7087] = 36, [7088] = 38, [7089] = 40, [7090] = 54, [7091] = 55, [7092] = 56, [7093] = 57, [7094] = 83, [7095] = 83, [7096] = 84, [7097] = 85, [991] = 59, [992] = 60, [993] = 61, [1001] = 57, [1002] = 58, [1003] = 59, [1004] = 60, [5101] = 22, [5102] = 25, [5103] = 27, [5104] = 29, [5111] = 35, [5112] = 37, [5113] = 39, [5114] = 40, [5115] = 41, [5116] = 42, [5121] = 45, [5122] = 47, [5123] = 49, [5124] = 52, [5125] = 53, [5126] = 54, [1031] = 67, [1032] = 69, [1033] = 70, [1034] = 71, [1035] = 72, [1036] = 73, [1037] = 71, [1038] = 72, [1039] = 73, [1040] = 74, [1041] = 75, [2222] = 69, [5142] = 37, [5143] = 39, [5144] = 40, [5145] = 41, [5146] = 42, [2223] = 70, [11109] = 70, [5151] = 45, [5152] = 47, [176] = 13, [5154] = 52, [5155] = 53, [5156] = 54, [1061] = 67, [1062] = 69, [1063] = 70, [1064] = 71, [1065] = 72, [1066] = 73, [1067] = 71, [1068] = 72, [1069] = 73, [1070] = 74, [1071] = 75, [2227] = 90, [1091] = 75, [1092] = 75, [1093] = 78, [1094] = 75, [1095] = 82, [1096] = 75, [2231] = 69, [1101] = 62, [1102] = 63, [1103] = 64, [1104] = 64, [1105] = 65, [1106] = 66, [1107] = 66, [2233] = 70, [1131] = 81, [1132] = 81, [1133] = 82, [1134] = 83, [1135] = 83, [1136] = 84, [1137] = 85, [1151] = 52, [1152] = 53, [1153] = 54, [1154] = 54, [1155] = 55, [1156] = 56, [1157] = 56, [2221] = 69, [1171] = 62, [1172] = 63, [1173] = 64, [1174] = 64, [2153] = 39, [1176] = 66, [1177] = 66, [1191] = 70, [1192] = 70, [11110] = 70, [2154] = 44, [11505] = 100, [11506] = 100, [11507] = 100, [11508] = 100, [11509] = 100, [11510] = 100, [2225] = 72, [1301] = 57, [1302] = 59, [1303] = 58, [1304] = 75, [1305] = 61, [1306] = 75, [1307] = 80, [1308] = 40, [1309] = 65, [1310] = 95, [7045] = 82, [7046] = 83, [2226] = 60, [7047] = 83, [7048] = 84, [1331] = 57, [1332] = 59, [1333] = 58, [1334] = 75, [1335] = 61, [5002] = 75, [5003] = 1, [7052] = 33, [11111] = 70, [7053] = 35, [7055] = 38, [1401] = 66, [1402] = 73, [1403] = 77, [7061] = 55, [7003] = 54, [7063] = 57, [5162] = 43, [7069] = 84, [5163] = 55, [931] = 49, [7076] = 54, [2232] = 69, [1501] = 69, [1502] = 72, [1503] = 76, [7078] = 55, [7079] = 56, [7080] = 57, [7081] = 82, [7075] = 40, [11100] = 50, [7077] = 54, [7009] = 53, [1601] = 68, [1602] = 70, [1603] = 75, [11101] = 50, [11102] = 50, [11113] = 90, [11103] = 50, [11104] = 50, [7049] = 85, [11105] = 50, [11106] = 70, [655] = 44, [1901] = 72, [1902] = 77, [1903] = 82, [1904] = 40, [1905] = 65, [1906] = 95, [11112] = 90, [2453] = 88, [11114] = 90, [2001] = 43, [2002] = 45, [2003] = 48, [2004] = 50, [2005] = 52, [11115] = 90, [2031] = 50, [2032] = 52, [2033] = 54, [2034] = 56, [2035] = 58, [2036] = 58, }
    
    dofile("/usr/home/game/quest/cube.lua")

  3. My DB syserr

    SYSERR: Mar  2 21:27:29 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: Mar  2 21:27:29 :: ChildLoop: AsyncSQL: query failed: Query execution was interrupted (query: UPDATE player SET job = 0, voice = 0, dir = 0, x = 471198, y = 957866, z = 0, map_index = 1, exit_x = 471198, exit_y = 957866, exit_map_index = 1, hp = 12672, mp = 2644, stamina = 1250, random_hp = 4472, random_sp = 2184, playtime = 2160, level = 105, level_step = 0, st = 90, ht = 90, dx = 90, iq = 13, gold = 885954694, exp = 0, stat_point = 0, skill_point = 104, sub_skill_point = 96, stat_reset_count = 0, ip = '31.17.184.153', part_main = 0, part_hair = 0, last_play = NOW(), skill_group = 1, alignment = 124736, horse_level = 30, horse_riding = 0, horse_hp = 50, horse_hp_droptime = 1394048694, horse_stamina = 200, horse_skill_point = 0, skill_level = '000000(0000(0000(0000(0000(0000(00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SYSERR: Mar  2 21:27:29 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2) VALUES(10024532, 2, 2, 7, 1, 39036, 0, 0, 1385) errno: 2002)
    SYSERR: Mar  2 21:27:29 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:28:35 :: Start: TABLE_POSTFIX not configured use default
    SYSERR: Mar  2 21:28:36 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
    query: SELECT pid, name, date FROM monarch_candidacy a, player b where a.pid = b.id
    SYSERR: Mar  2 21:28:36 :: Load:  DirectQuery failed(SELECT login FROM block_exception)
    SYSERR: Mar  2 21:34:13 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Query execution was interrupted (query: REPLACE INTO quest (dwPID, szName, szState, lValue) VALUES(0, '[SA]Kurayami', '', 0) errno: 1317)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO affect (dwPID, bType, bApplyOn, lApplyValue, dwFlag, lDuration, lSPCost) VALUES(2, 515, 6, 500, 0, 1892090887, 0) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Query execution was interrupted (query: UPDATE player SET job = 0, voice = 0, dir = 0, x = 471835, y = 957745, z = 0, map_index = 1, exit_x = 471835, exit_y = 957745, exit_map_index = 1, hp = 10172, mp = 2644, stamina = 1250, random_hp = 4472, random_sp = 2184, playtime = 2158, level = 105, level_step = 0, st = 90, ht = 90, dx = 90, iq = 13, gold = 885954694, exp = 0, stat_point = 0, skill_point = 104, sub_skill_point = 96, stat_reset_count = 0, ip = '31.17.184.153', part_main = 0, part_hair = 0, last_play = NOW(), skill_group = 1, alignment = 124726, horse_level = 30, horse_riding = 0, horse_hp = 50, horse_hp_droptime = 1394048694, horse_stamina = 200, horse_skill_point = 0, skill_level = '000000(0000(0000(0000(0000(0000(00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2) VALUES(10024532, 2, 2, 7, 1, 39036, 0, 50, 1385) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2) VALUES(10024532, 2, 2, 7, 1, 39036, 0, 50, 1385) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: query failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (query: REPLACE INTO item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2) VALUES(10024532, 2, 2, 7, 1, 39036, 0, 50, 1385) errno: 2002)
    SYSERR: Mar  2 21:34:13 :: ChildLoop: AsyncSQL: retrying
    SYSERR: Mar  2 21:36:40 :: Start: TABLE_POSTFIX not configured use default
    SYSERR: Mar  2 21:36:41 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
    query: SELECT pid, name, date FROM monarch_candidacy a, player b where a.pid = b.id
    SYSERR: Mar  2 21:36:41 :: Load:  DirectQuery failed(SELECT login FROM block_exception)

     

    My Channel1 Core1 syserr:

    SYSERR: Mar  2 21:33:06 :: Analyze: login phase does not handle this packet! header 100
    SYSERR: Mar  2 21:34:13 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.

  4. I have finishes the quest, but no item in Mall.

     

    quest uppen begin
        state start begin
            when 9004.take begin
                local datos_item = mysql_query("select socket0,socket1,socket2,attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 from player.item where id='"..item.get_id().."' LIMIT 1")
                local item= tonumber(item.get_id())
                say("")
                say("Such dir eine Rüstung aus !")
                say("")
                  
                if select("80er Rüsstung", "Abbrechen") == 1 then
                mysql_query("INSERT INTO player.item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6) VALUES ('+1', '"..pc.get_player_id().."', 'MALL', '+1', '1', '11971', '"..datos_item[1][1].."', '"..datos_item[1][2].."', '"..datos_item[1][3].."', '"..datos_item[1][4].."', '"..datos_item[1][5].."', '"..datos_item[1][6].."', '"..datos_item[1][7].."', '"..datos_item[1][8].."', '"..datos_item[1][9].."', '"..datos_item[1][10]..", '"..datos_item[1][11].."', '"..datos_item[1][12]..", '"..datos_item[1][13].."', '"..datos_item[1][14]..", '"..datos_item[1][15].."', '"..datos_item[1][16]..", '"..datos_item[1][17].."', NOW())")
                say("got it")
                end
            end
        end
    end

  5. Hello metin2dev,

    i want to write a quest but it dosen`t work. And i`m a bloody beginner...

    The idea was, take an armor with boni and stones, put this on a NPC and via quest, reading out the boni and stones from the armor and make a new armor with the same boni and stones. The new armor should be put in the ItemShop Mall.

     

    So, here my quest, i think its terror :D

    quest uppen begin
        state start begin
            when 9004.take begin
                local p = MALL
                local pid = mysql_query("select id from player.player where name='"..pc.get_name().."' LIMIT 1")
                local playerid= tonumber(pid[1][1])
                
                local stein1 = mysql_query("select socket0 from player.item where id='"..item.get_id().."' LIMIT 1")
                local astein1= tonumber(stein1[1][1])
                local stein2 = mysql_query("select socket1 from player.item where id='"..item.get_id().."' LIMIT 1")
                local astein2= tonumber(stein2[1][1])
                local stein3 = mysql_query("select socket2 from player.item where id='"..item.get_id().."' LIMIT 1")
                local astein3= tonumber(stein3[1][1])
                local boni1 = mysql_query("select attrtype0 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni1= tonumber(boni1[1][1])
                local wert1 = mysql_query("select attrtype0 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert1= tonumber(wert1[1][1])
                local boni2 = mysql_query("select attrtype1 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni2= tonumber(boni2[1][1])
                local wert2 = mysql_query("select attrvalue1 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert2= tonumber(wert2[1][1])
                local boni3 = mysql_query("select attrtype2 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni3= tonumber(boni3[1][1])
                local wert3 = mysql_query("select attrvalue2 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert3= tonumber(wert3[1][1])
                local boni4 = mysql_query("select attrtype3 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni4= tonumber(boni4[1][1])
                local wert4 = mysql_query("select attrvalue3 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert4= tonumber(wert4[1][1])
                local boni5 = mysql_query("select attrtype4 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni5= tonumber(boni5[1][1])
                local wert5 = mysql_query("select attrvalue4 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert5= tonumber(wert5[1][1])
                local boni6 = mysql_query("select attrtype5 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni6= tonumber(boni6[1][1])
                local wert6 = mysql_query("select attrvalue5 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert6= tonumber(wert6[1][1])
                local boni7 = mysql_query("select attrtype6 from player.item where id='"..item.get_id().."' LIMIT 1")
                local aboni7= tonumber(boni7[1][1])
                local wert7 = mysql_query("select attrvalue6 from player.item where id='"..item.get_id().."' LIMIT 1")
                local awert7= tonumber(wert7[1][1])
                local item= tonumber(item.get_id())
                say("")
                say("Such dir eine Rüstung aus !")
                say("")
                
                local b= select("80er Rüsstung", "Abbrechen")
                if  b== 2 then
                    return
                end
                if  b== 1 then
                    mysql_query("INSERT INTO player.item (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6) VALUES ('+1', '..pid..', 'MALL', '+1', '1', '11971', '"..astein1.."', '"..astein2.."', '"..astein3.."', '"..aboni1.."', '"..awert1.."', '"..aboni2.."', '"..awert2.."', '"..aboni3.."', '"..awert3.."', '"..aboni4..", '"..awert4.."', '"..aboni5..", '"..awert5.."', '"..aboni6..", '"..awert6.."', '"..aboni7..", '"..awert7.."', NOW())")
                end
            end
        end
    end

  6. here is my item_proto entry:
     

    vnum="71134" name="È渶¼Òȯ±Ç" locale_name="Rappen-Siegel" type="16" subtype="2" weight="0" size="1" antiflag="33024" flag="9216" wearflag="128" immuneflag="" gold="0" shop_buy_price="0" refined_vnum="0" refine_set="0" refine_set2="0" magic_pct="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" specular="0" socket_pct="0" addon_type="0"/>

    oh and, i like the offi quest. looks professional^^

    can you explain me the line and how can i add a second bon on a mount?

     

    oh and by the way, its amazing how you help me. on epvp i get never such support^^

  7. Here, i have tested it with the seal vnum 71134

    Here the quest

    quest reittier begin
    	state start begin 
    		when 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use or 71134.use with pc.is_mount() begin		 
    			pc.mount(0)
    		end
    		when 71114.use begin 
    			affect.remove_collect()           
    			pc.mount(20110,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end     
    		when 71115.use begin 
    			affect.remove_collect()           
    			pc.mount(20110,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end   
    		when 71116.use begin 
    			affect.remove_collect()           
    			pc.mount(20111,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end   
    		when 71117.use begin 
    			affect.remove_collect()           
    			pc.mount(20111,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end    
    		when 71118.use begin 
    			affect.remove_collect()           
    			pc.mount(20112,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end    
    		when 71119.use begin 
    			affect.remove_collect()           
    			pc.mount(20112,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end    
    		when 71120.use begin 
    			affect.remove_collect()           
    			pc.mount(20113,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end    
    		when 71121.use begin 
    			affect.remove_collect()           
    			pc.mount(20113,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71124.use begin 
    			affect.remove_collect()           
    			pc.mount(20114,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71125.use begin 
    			affect.remove_collect()           
    			pc.mount(20115,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71126.use begin 
    			affect.remove_collect()           
    			pc.mount(20116,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71127.use begin 
    			affect.remove_collect()           
    			pc.mount(20117,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71128.use begin 
    			affect.remove_collect()           
    			pc.mount(20118,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71131.use begin 
    			affect.remove_collect()           
    			pc.mount(20119,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71132.use begin 
    			affect.remove_collect()           
    			pc.mount(20119,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71133.use begin 
    			affect.remove_collect()           
    			pc.mount(20119,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71134.use begin 
    			affect.remove_collect()           
    			pc.mount(20119)
    			chat("Dein Reittier bringt dir: 2000% Mehr EXP, 5000 Angriffswert,!")
    			chat("100 mehr Angriff Speed, 5000 gg mobs und 5000 mehr Deff")
    			pc.mount_bonus(apply.MOV_SPEED, 100, 28800)
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS, 2000, 28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS, 5000 ,28800)
    			pc.mount_bonus(apply.ATT_SPEED, 100,28800)
    			pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER, 5000, 28800)
    			pc.mount_bonus(apply.DEF_GRADE_BONUS, 5000, 28800)
    		end
    		when 71137.use begin 
    			affect.remove_collect()           
    			pc.mount(20150,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71138.use begin 
    			affect.remove_collect()           
    			pc.mount(20151,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71139.use begin 
    			affect.remove_collect()           
    			pc.mount(20152,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71140.use begin 
    			affect.remove_collect()           
    			pc.mount(20153,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71141.use begin 
    			affect.remove_collect()           
    			pc.mount(20154,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71142.use begin 
    			affect.remove_collect()           
    			pc.mount(20155,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71165.use begin 
    			affect.remove_collect()           
    			pc.mount(20221,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    		when 71166.use begin 
    			affect.remove_collect()           
    			pc.mount(20222,28800)
    			chat("Dein Reittier bringt dir: 20% Mehr EXP und 50 Angriffswert!")
    			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,20,28800)
    			pc.mount_bonus(apply.ATT_GRADE_BONUS,500,28800) 
    		end
    	end   
    end

  8. Hello everyone,

     

    i hope you can help me^^ I want to make my Items with time permanent. NO time !!

    But i dont know, how. i have try to change the time to 9999 but than i have a lots of timeon the item and thats not wat i want.

    i want no time, just that there is the word "Permanent" on the item ^-^

     

     

    Second problem, i have the dark mounts, but without shining. have someone the rigth files for that?

     

    thanks for help :)

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