Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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, b) return "[COLOR r;"..(r/255.0).."|g;"..(g/255.0).."|b;"..(b/255.0).."]" end
- function color(r,g,b) return "[COLOR r;"..r.."|g;"..g.."|b;"..b.."]" end
- function delay(v) return "[DELAY value;"..v.."]" end
- function setcolor(r,g,b) raw_script(color(r,g,b)) end
- function setdelay(v) raw_script(delay(v)) end
- function resetcolor(r,g,b) raw_script("[/COLOR]") end
- function resetdelay(v) raw_script("[/DELAY]") end
- --!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ADRES WWW
- ADRES_WWW = "mgames.pl"
- --TOMBOLA
- TOMBOLA_PRICE = 100
- TOMBOLA_LIMIT_LVL = 50
- TOMBOLA_COUNT_FREE = 1
- TOMBOLA_LIMIT_TIME = 60*60*24*7 --24h
- TOMBOLA_QUANTITY_LIST1 = 2 --UWAGA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ZWI?KSZ JE?LI DODAŁE? NOW? LIST?
- TOMBOLA_REWARD_LIST1 =
- {
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- }
- TOMBOLA_QUANTITY_LIST2 = 2 --UWAGA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ZWI?KSZ JE?LI DODAŁE? NOW? LIST?
- TOMBOLA_REWARD_LIST2 =
- {
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- }
- TOMBOLA_QUANTITY_LIST3 = 2 --UWAGA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ZWI?KSZ JE?LI DODAŁE? NOW? LIST?
- TOMBOLA_REWARD_LIST3 =
- {
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- {
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 3 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 10 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 2 },
- { 25040, 5 },
- { 25040, 10 },
- { 25040, 2 },
- { 25040, 5 },
- },
- }
- function nagrody_poslanca(nr_misji)
- if nr_misji == 1 then
- pc.give_item2(50294,1)
- elseif nr_misji == 2 then
- pc.give_item2(50294,1)
- elseif nr_misji == 3 then
- pc.give_item2(50294,1)
- elseif nr_misji == 4 then
- pc.give_item2(50294,1)
- elseif nr_misji == 5 then
- pc.give_item2(50294,1)
- elseif nr_misji == 6 then
- pc.give_item2(50294,1)
- elseif nr_misji == 7 then
- pc.give_item2(50294,1)
- end
- end
- function antibug(value)
- if value == "" or value == nil or string.find(value, "nan") then
- return false
- else
- return true
- end
- end
- function item.remove_count(count)
- local x = item.get_cell()
- local y = item.select_cell(x)
- if y != 0 then
- pc.remove_item(item.get_vnum(), count)
- end
- end
- function giallo(lol)
- say(color256(255,255,128)..lol..color256(196, 196, 196))
- 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
- -- generate when a linebreak in the functions: d.notice,notice,notice_all
- function notice_multiline( str , func )
- local p = 0
- local i = 0
- while true do
- i = string.find( str, "%[ENTER%]", i+1 )
- if i == nil then
- if string.len(str) > p then
- func( string.sub( str, p, string.len(str) ) )
- end
- break
- end
- func( string.sub( str, p, i-1 ) )
- p = i + 7
- end
- 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 soul_cube_run(vnum)
- local cube_results = {
- [20383] = {"19,1"},
- [20018] = {"50801,1/50802,1/50803,100/50804,100"},
- [20017] = {"50801,1/50802,1/50803,100/50804,100/50813,1/50814,1/50815,100/50816,100"},
- [20022] = {"50801,1/50802,1/50803,100/50804,100/50813,1/50814,1/50815,100/50816,100/50817,1/50818,1/50819,1/50820,1/50821,10/50822,10/50823,10/50824,10/50825,10/50826,10"}
- }
- local cube_needs = {
- [20383] = {"12,1&13,1"},
- [20018] = {"50721,1@50722,1@50723,1@50724,1"},
- [20017] = {"50721,1@50722,1@50723,1@50724,1@50801,1&50725,1@50802,1&50725,1@50803,100&50726,1@50804,100&50726,1"},
- [20022] = {"50721,1@50722,1@50723,1@50724,1@50801,1&50725,1@50802,1&50725,1@50803,100&50726,1@50804,100&50726,1@50813,1&50727,1@50814,1&50727,1@50815,100&50728,1@50816,100&50728,1@50901,10&50814,20@50901,10&50813,20@50901,10&50820,20@50901,10&50819,20@50901,10&50817,20@50901,10&50818,20"}
- }
- cmdchat("cube_npc_id "..vnum)
- cmdchat("cs_result "..cube_results[vnum])
- cmdchat("cs_need "..cube_needs[vnum])
- command("cube open")
- return
- 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_ex(name, icon_type, icon_name) make_quest_button_ex(name, icon_type, icon_name) set_skin(NOWINDOW) q.set_title(name) q.set_icon(icon_name) q.start() end
- function resend_letter_ex(name, icon_type, icon_name) make_quest_button_ex(name, icon_type, icon_name) q.set_title(name) q.set_icon(icon_name) q.start() end
- function resend_letter(title) makequestbutton(title) q.set_title(title) 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_zolty(name) say(color256(255, 255, 0)..name..color256(196, 196, 196)) end
- function say_blekit(name) say(color256(0, 255, 255)..name..color256(196, 196, 196)) end
- function say_akwa(name) say(color256(127, 255, 212)..name..color256(196, 196, 196)) end
- function say_amarant(name) say(color256(230, 28, 102)..name..color256(196, 196, 196)) end
- function say_ametyst(name) say(color256(153, 102, 204)..name..color256(196, 196, 196)) end
- function say_antracyt(name) say(color256(54, 65, 53)..name..color256(196, 196, 196)) end
- function say_atrament(name) say(color256(0, 49, 83)..name..color256(196, 196, 196)) end
- function say_banan(name) say(color256(254, 254, 51)..name..color256(196, 196, 196)) end
- function say_bez(name) say(color256(194, 178, 128)..name..color256(196, 196, 196)) end
- function say_bordo(name) say(color256(80, 0, 0)..name..color256(196, 196, 196)) end
- function say_braz(name) say(color256(150, 75, 0)..name..color256(196, 196, 196)) end
- function say_brunatny(name) say(color256(112, 32, 31)..name..color256(196, 196, 196)) end
- function say_brzoskwinia(name) say(color256(255, 204, 153)..name..color256(196, 196, 196)) end
- function say_burak(name) say(color256(98, 0, 44)..name..color256(196, 196, 196)) end
- function say_cynamon(name) say(color256(157, 91, 3)..name..color256(196, 196, 196)) end
- function say_fiolet(name) say(color256(184, 3, 255)..name..color256(196, 196, 196)) end
- function say_granat(name) say(color256(0, 0, 128)..name..color256(196, 196, 196)) end
- function say_lawenda(name) say(color256(201, 162, 191)..name..color256(196, 196, 196)) end
- function say_arbuz(name) say(color256(255, 109, 102)..name..color256(196, 196, 196)) end
- function say_biskup(name) say(color256(194, 178, 128)..name..color256(196, 196, 196)) end
- function say_burgund(name) say(color256(96, 2, 1)..name..color256(196, 196, 196)) end
- function say_bursztyn(name) say(color256(255, 191, 0)..name..color256(196, 196, 196)) end
- function say_bury(name) say(color256(107, 86, 54)..name..color256(196, 196, 196)) end
- function say_cegla(name) say(color256(233, 107, 57)..name..color256(196, 196, 196)) end
- function say_chaber(name) say(color256(51, 0, 204)..name..color256(196, 196, 196)) end
- function say_cialo(name) say(color256(255, 229, 180)..name..color256(196, 196, 196)) end
- function say_cyklamen(name) say(color256(162, 0, 123)..name..color256(196, 196, 196)) end
- function say_cynober(name) say(color256(227, 66, 52)..name..color256(196, 196, 196)) end
- function say_czekolada(name) say(color256(123, 63, 0)..name..color256(196, 196, 196)) end
- function say_rdza(name) say(color256(128, 24, 24)..name..color256(196, 196, 196)) end
- function say_grafit(name) say(color256(53, 69, 79)..name..color256(196, 196, 196)) end
- function say_grynszpan(name) say(color256(0, 166, 147)..name..color256(196, 196, 196)) end
- function say_heban(name) say(color256(61, 43, 31)..name..color256(196, 196, 196)) end
- function say_herbata(name) say(color256(204, 93, 93)..name..color256(196, 196, 196)) end
- function say_kawa(name) say(color256(44, 27, 1)..name..color256(196, 196, 196)) end
- function say_koral(name) say(color256(255, 127, 80)..name..color256(196, 196, 196)) end
- function say_krew(name) say(color256(207, 41, 41)..name..color256(196, 196, 196)) end
- function say_lazur(name) say(color256(0, 127, 255)..name..color256(196, 196, 196)) end
- function say_limonka(name) say(color256(147, 246, 0)..name..color256(196, 196, 196)) end
- function say_malachit(name) say(color256(0, 102, 51)..name..color256(196, 196, 196)) end
- function say_malina(name) say(color256(235, 1, 101)..name..color256(196, 196, 196)) end
- function say_miedz(name) say(color256(184, 115, 51)..name..color256(196, 196, 196)) end
- function say_oliwka(name) say(color256(128, 128, 0)..name..color256(196, 196, 196)) end
- function say_orzech(name) say(color256(189, 148, 96)..name..color256(196, 196, 196)) end
- function say_patyna(name) say(color256(110, 190, 159)..name..color256(196, 196, 196)) end
- function say_pistacja(name) say(color256(159, 251, 136)..name..color256(196, 196, 196)) end
- function say_poziomka(name) say(color256(207, 47, 47)..name..color256(196, 196, 196)) end
- function say_purpura(name) say(color256(128, 0, 128)..name..color256(196, 196, 196)) end
- function say_rubin(name) say(color256(212, 27, 86)..name..color256(196, 196, 196)) end
- function say_rudy(name) say(color256(205, 87, 128)..name..color256(196, 196, 196)) end
- function say_trawa(name) say(color256(124, 252, 0)..name..color256(196, 196, 196)) end
- function say_turkus(name) say(color256(48, 213, 200)..name..color256(196, 196, 196)) end
- function say_wisnia(name) say(color256(128, 0, 0)..name..color256(196, 196, 196)) end
- function say_zloto(name) say(color256(255, 215, 0)..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(name, vnum, desc)
- say("[INSERT_IMAGE image_type;item|idx;"..vnum.."|title;"..name.."|desc;"..desc.."|index;".. 0 .."|total;".. 1 .."]")
- end
- function say_item_vnum(vnum)
- say_item(item_name(vnum), vnum, "")
- 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_mob_level()
- if npc.is_pc() == false then
- local poziom_moba = query("SELECT level FROM player.mob_proto WHERE vnum='"..npc.get_race().."';")
- return poziom_moba
- else
- return 0
- end
- end
- function safe_give_exp(value_of_give_exp)
- while value_of_give_exp > 2100000000 do
- local over = value_of_give_exp - 2100000000
- if over < 1 then
- over = over * (-1)
- end
- value_of_give_exp = value_of_give_exp - over
- pc.give_exp2(over)
- end
- pc.give_exp2(value_of_give_exp)
- end
- function bitflags(bitfield, flagcount)
- local res = {}
- local flag = 0
- while flag < flagcount do
- local bit = math.mod(bitfield, 2)
- bitfield = math.floor(bitfield/2)
- table.insert(res, bit)
- flag = flag + 1
- end
- return res
- end
- function bitfield(bits)
- local res = 0
- local bitcount = table.getn(bits)
- for i = bitcount, 1, -1 do
- res = res + bits[i]*(2^(i-1))
- end
- return res
- 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() + 28103 - 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,
- ['level'] = npc.get_level,
- }
- 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
- areaname = {
- {"Youngan","Jayang","Jungrang"},
- {"Joan","Bokjung","Waryong"},
- {"Pyungmoo","Bakra","Imha"}
- }
- warp = {
- -- red c = 1
- {33420, 336280}, {11000, 363700},
- -- yellow c = 2
- {84557, 336079}, {62200, 363700},
- -- blue c = 3
- {33479, 336000},{113400, 363700}
- }
- 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
- -- [esper] item types (plus some subtypes)
- ITEM_NONE = 0
- ITEM_WEAPON = 1
- ITEM_ARMOR = 2
- WEAPON_SWORD = 0
- WEAPON_DAGGER = 1
- WEAPON_BOW = 2
- WEAPON_TWO_HANDED = 3
- WEAPON_BELL = 4
- WEAPON_FAN = 5
- WEAPON_ARROW = 6
- WEAPON_MOUNT_SPEAR = 7
- 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,
- ["MALL_EXPBONUS"] = 66,
- }
- -- 레벨업 퀘스트 -_-
- special = {}
- special.fortune_telling =
- {
- { 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",
- [134] = "wolf.tga",
- [135] = "wolf.tga",
- [174] = "wolf.tga",
- [175] = "wolf.tga",
- [176] = "wolf.tga",
- [178] = "wild_boar.tga",
- [179] = "wild_boar.tga",
- [180] = "bear.tga",
- [184] = "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",
- [456] = "456.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",
- [631] = "ung_inf.tga",
- [632] = "ung_chuk.tga",
- [633] = "ung_tu.tga",
- [701] = "mil_chu.tga",
- [702] = "mil_na.tga",
- [703] = "mil_na.tga",
- [704] = "mil_na.tga",
- [706] = "756.tga",
- [707] = "756.tga",
- [735] = "mil_jip.tga",
- [756] = "756.tga",
- [757] = "757.tga",
- [776] = "776.tga",
- [777] = "777.tga",
- [901] = "sigwi.tga",
- [903] = "gwoijil.tga",
- [932] = "932.tga",
- [933] = "gwoijil.tga",
- [934] = "934.tga",
- [935] = "935.tga",
- [936] = "936.tga",
- [937] = "937.tga",
- [1001] = "1001.tga",
- [1002] = "1002.tga",
- [1003] = "1003.tga",
- [1004] = "1004.tga",
- [1061] = "1061.tga",
- [1063] = "1063.tga",
- [1064] = "1064.tga",
- [1065] = "1065.tga",
- [1066] = "1066.tga",
- [1068] = "1068.tga",
- [1069] = "1069.tga",
- [1070] = "1065.tga",
- [1071] = "1065.tga",
- [1101] = "1101.tga",
- [1102] = "1102.tga",
- [1103] = "1133.tga",
- [1104] = "1104.tga",
- [1105] = "1105.tga",
- [1106] = "1106.tga",
- [1107] = "1107.tga",
- [1131] = "1131.tga",
- [1132] = "1132.tga",
- [1133] = "1133.tga",
- [1134] = "1104.tga",
- [1135] = "1135.tga",
- [1136] = "1136.tga",
- [1137] = "1137.tga",
- [1301] = "1301.tga",
- [1303] = "1303.tga",
- [1305] = "1305.tga",
- [2001] = "spider.tga",
- [2002] = "spider.tga",
- [2003] = "spider.tga",
- [2004] = "spider.tga",
- [2005] = "spider.tga",
- [2031] = "2031.tga",
- [2032] = "2032.tga",
- [2033] = "2033.tga",
- [2034] = "2034.tga",
- [2061] = "2061.tga",
- [2062] = "2062.tga",
- [2063] = "2063.tga",
- [2102] = "2102.tga",
- [2103] = "2103.tga",
- [2106] = "2106.tga",
- [2131] = "2131.tga",
- [2158] = "2158.tga",
- [2201] = "2201.tga",
- [2202] = "2202.tga",
- [2204] = "2203.tga",
- [2205] = "2205.tga",
- [2301] = "2301.tga",
- [2302] = "2302.tga",
- [2303] = "2303.tga",
- [2304] = "2304.tga",
- [2305] = "2305.tga",
- [2311] = "2311.tga",
- [2312] = "2312.tga",
- [2313] = "2313.tga",
- [2314] = "2314.tga",
- [2315] = "2315.tga",
- [5123] = "5123.tga",
- [5124] = "5124.tga",
- [5125] = "5125.tga",
- [5126] = "5126.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 , 20 } , -- lev 2
- { 101 , 15 , 102 , 10 , 20 } , -- lev 3
- { 102 , 10 , 103 , 5 , 20 } , -- lev 4
- { 103 , 10 , 174 , 10 , 20 } , -- lev 5
- { 174 , 15 , 178 , 10 , 20 } , -- lev 6
- { 178 , 10 , 105 , 5 , 20 } , -- lev 7
- { 178 , 15 , 105 , 10 , 20 } , -- lev 8
- { 105 , 10 , 179 , 5 , 20 } , -- lev 9
- { 105 , 15 , 179 , 10 , 20 } , -- lev 10
- { 179 , 10 , 180 , 5 , 20 } , -- lev 11
- { 180 , 15 , 175 , 10 , 20 } , -- lev 12
- { 175 , 20 , 111 , 5 , 20 } , -- lev 13
- { 111 , 15 , 176 , 5 , 20 } , -- lev 14
- { 111 , 20 , 176 , 10 , 20 } , -- lev 15
- { 136 , 5 , 184 , 5 , 20 } , -- lev 16
- { 136 , 10 , 184 , 10 , 20 } , -- lev 17
- { 184 , 10 , 112 , 10 , 20 } , -- lev 18
- { 112 , 20 , 113 , 10 , 20 } , -- lev 19
- { 113 , 20 , 302 , 15 , 20 } , -- lev 20
- { 302 , 20 , 115 , 10 , "10-15" } , -- lev 21
- { 115 , 25 , 304 , 10 , "10-15" } , -- lev 22
- { 304 , 20 , 401 , 20 , "10-15" } , -- lev 23
- { 401 , 20 , 402 , 30 , "10-15" } , -- lev 24
- { 501 , 25 , 404 , 20 , "10-15" } , -- lev 25
- { 502 , 40 , 406 , 20 , "10-15" } , -- lev 26
- { 406 , 30 , 504 , 20 , "10-15" } , -- lev 27
- { 631 , 30 , 504 , 30 , "10-15" } , -- lev 28
- { 631 , 35 , 632 , 25 , "10-15" } , -- lev 29
- { 632 , 35 , 2102 , 25 , "10-15" } , -- lev 30
- { 632 , 50 , 2102 , 45 , "6-12" } , -- lev 31
- { 633 , 45 , 2001 , 40 , "6-12" } , -- lev 32
- { 701 , 35 , 2103 , 30 , "6-12" } , -- lev 33
- { 701 , 40 , 2103 , 40 , "6-12" } , -- lev 34
- { 702 , 40 , 2002 , 30 , "6-12" } , -- lev 35
- { 704 , 20 , 2106 , 20 , "6-12" } , -- lev 36
- { 733 , 30 , 2003 , 20 , "6-12" } , -- lev 37
- { 734 , 40 , 2004 , 20 , "6-12" } , -- lev 38
- { 706 , 40 , 2005 , 30 , "6-12" } , -- lev 39
- { 707 , 40 , 2108 , 20 , "6-12" } , -- lev 40
- { 901 , 40 , 5123 , 25 , "5-8" } , -- lev 41
- { 902 , 30 , 5123 , 30 , "5-8" } , -- lev 42
- { 902 , 40 , 2031 , 35 , "5-8" } , -- lev 43
- { 933 , 40 , 2031 , 40 , "5-8" } , -- lev 44
- { 731 , 50 , 2032 , 45 , "5-8" } , -- lev 45
- { 732 , 30 , 5124 , 30 , "5-8" } , -- lev 46
- { 933 , 35 , 5125 , 30 , "5-8" } , -- lev 47
- { 904 , 40 , 5125 , 35 , "5-8" } , -- lev 48
- { 733 , 40 , 2033 , 45 , "5-8" } , -- lev 49
- { 734 , 40 , 5126 , 20 , "5-8" } , -- lev 50
- { 735 , 50 , 5126 , 30 , "2-5" } , -- lev 51
- { 904 , 45 , 2034 , 45 , "2-5" } , -- lev 52
- { 904 , 50 , 2034 , 50 , "2-5" } , -- lev 53
- { 736 , 40 , 1001 , 30 , "2-5" } , -- lev 54
- { 737 , 40 , 1301 , 35 , "2-5" } , -- lev 55
- { 905 , 50 , 1002 , 30 , "2-5" } , -- lev 56
- { 905 , 60 , 1002 , 40 , "2-5" } , -- lev 57
- { 906 , 45 , 1303 , 40 , "2-5" } , -- lev 58
- { 906 , 50 , 1303 , 45 , "2-5" } , -- lev 59
- { 907 , 45 , 1003 , 40 , "2-5" } , -- lev 60
- { 1004 , 55 , 2061 , 60 , "2-4" } , -- lev 61
- { 1305 , 45 , 2131 , 55 , "2-4" } , -- lev 62
- { 1305 , 50 , 1101 , 45 , "2-4" } , -- lev 63
- { 2062 , 50 , 1102 , 45 , "2-4" } , -- lev 64
- { 1104 , 40 , 2063 , 40 , "2-4" } , -- lev 65
- { 2301 , 50 , 1105 , 45 , "2-4" } , -- lev 66
- { 2301 , 55 , 1105 , 50 , "2-4" } , -- lev 67
- { 1106 , 50 , 1031 , 50 , "2-4" } , -- lev 68
- { 1107 , 45 , 1031 , 50 , "2-4" } , -- lev 69
- { 2302 , 55 , 2201 , 55 , "2-4" } , -- lev 70
- { 2303 , 55 , 2202 , 55 , "2-4" } , -- lev 71
- { 2303 , 60 , 2202 , 60 , "2-4" } , -- lev 72
- { 2304 , 55 , 2201 , 55 , "2-4" } , -- lev 73
- { 2305 , 50 , 1063 , 55 , "2-4" } , -- lev 74
- { 2204 , 50 , 1063 , 50 , "2-4" } , -- lev 75
- { 2305 , 45 , 1065 , 50 , "2-4" } , -- lev 76
- { 2315 , 40 , 1065 , 50 , "2-4" } , -- lev 77
- { 1070 , 50 , 1066 , 55 , "2-4" } , -- lev 78
- { 1069 , 50 , 1070 , 50 , "2-4" } , -- lev 79
- { 1071 , 50 , 2312 , 55 , "2-4" } , -- lev 80
- { 1071 , 50 , 2312 , 55 , "2-4" } , -- lev 81
- { 2313 , 50 , 2314 , 40 , "2-4" } , -- lev 82
- { 2313 , 60 , 2314 , 45 , "2-4" } , -- lev 83
- { 1131 , 60 , 2315 , 50 , "5-10" } , -- lev 84
- { 1132 , 60 , 2315 , 45 , "5-10" } , -- lev 85
- { 1132 , 60 , 1135 , 50 , "5-10" } , -- lev 86
- { 1132 , 60 , 1135 , 50 , "5-10" } , -- lev 87
- { 1133 , 60 , 1136 , 50 , "5-10" } , -- lev 88
- { 1133 , 60 , 1137 , 50 , "5-10" } , -- lev 89
- { 1133 , 60 , 1137 , 50 , "5-10" } , -- lev 90
- }
- 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_gold61 =
- {
- { 80000, 20 },
- { 100000, 40 },
- { 150000, 25 },
- { 200000, 10 },
- { 250000, 5 },
- }
- special.levelup_reward_gold71 =
- {
- { 100000, 20 },
- { 250000, 40 },
- { 400000, 25 },
- { 800000, 10 },
- { 1000000, 5 },
- }
- special.levelup_reward_gold84 =
- {
- { 200000, 20 },
- { 500000, 40 },
- { 800000, 25 },
- { 1600000, 10 },
- { 2000000, 5 },
- }
- special.levelup_reward_exp21 =
- {
- { 10, 9 },
- { 11, 14 },
- { 12, 39 },
- { 13, 24 },
- { 14, 9 },
- { 15, 4 },
- }
- special.levelup_reward_exp31 =
- {
- { 6, 10 },
- { 7, 15 },
- { 8, 40 },
- { 9, 25 },
- { 10, 8 },
- { 11, 5 },
- { 12, 2 },
- }
- special.levelup_reward_exp41 =
- {
- { 5, 10 },
- { 5.5, 15 },
- { 6, 40 },
- { 6.5, 25 },
- { 7, 8 },
- { 7.5, 5 },
- { 8, 2 },
- }
- special.levelup_reward_exp51 =
- {
- { 2, 10 },
- { 2.5, 15 },
- { 3, 40 },
- { 3.5, 25 },
- { 4, 8 },
- { 4.5, 5 },
- { 5, 2 },
- }
- special.levelup_reward_exp61 =
- {
- { 2, 40 },
- { 2.5, 20 },
- { 3, 18 },
- { 3.5, 15 },
- { 4, 5 },
- }
- special.levelup_reward_exp84 =
- {
- { 5, 10 },
- { 6, 20 },
- { 7, 25 },
- { 8, 20 },
- { 9, 20 },
- { 10, 5 },
- }
- 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.dungeon_deviltower =
- {
- --{ 123, 608 },
- { 4662+126, 778+384 },
- { 4662+134, 778+147 },
- { 4662+369, 778+629 },
- { 4662+369, 778+401 },
- { 4662+374, 778+167 },
- { 4662+579, 778+616 },
- { 4662+578, 778+392 },
- { 4662+590, 778+160 },
- }
- 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
- }
- dta_warp = {
- {20176, 71330, 122270},
- {358295, 358281, 358264},
- {33163, 84351, 135486},
- {336535, 336509, 336585},
- }
- dta_keywords = {
- {"DUNGEON", 90056, 90073, 90066, 90059, 90057, 90067, 90066, "D U N"},
- {"ALCHEMY", 90053, 90064, 90055, 90060, 90057, 90065, 90077, "A L C"},
- {"WARRIOR", 90075, 90053, 90070, 90070, 90061, 90067, 90070, "W A R"},
- {"BIOLOGY", 90054, 90061, 90067, 90064, 90067, 90059, 90077, "B I O"},
- {"CAPTAIN", 90055, 90053, 90068, 90072, 90053, 90061, 90066, "C A P"},
- {"WARLORD", 90075, 90053, 90070, 90064, 90067, 90070, 90056, "W A R"},
- {"STAMINA", 90071, 90072, 90053, 90065, 90061, 90066, 90053, "S T A"},
- {"EARRING", 90057, 90053, 90070, 90070, 90061, 90066, 90059, "E A R"},
- {"DEFENSE", 90056, 90057, 90058, 90057, 90066, 90071, 90057, "D E F"},
- {"BERSERK", 90054, 90057, 90070, 90071, 90057, 90070, 90063, "B E R"},
- {"KINGDOM", 90063, 90061, 90066, 90059, 90056, 90067, 90065, "K I N"},
- {"WIZARDS", 90075, 90061, 90078, 90053, 90070, 90056, 90071, "W I Z"},
- {"STEALTH", 90071, 90072, 90057, 90053, 90064, 90072, 90060, "S T E"},
- {"FARMING", 90058, 90053, 90070, 90065, 90061, 90066, 90059, "F A R"},
- {"FISHING", 90058, 90061, 90071, 90060, 90061, 90066, 90059, "F I S"},
- {"SUCCESS", 90071, 90073, 90055, 90055, 90057, 90071, 90071, "S U C"},
- {"FAILURE", 90058, 90053, 90061, 90064, 90073, 90070, 90057, "F A I"},
- }
- 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방 전용 드롭률 보너스
- POINT_RESIST_HUMAN = 138
- POINT_RESIST_MONSTERS = 139
- -- END_PC_BANG_ITEM_ADD
- -- POINT_MAX_NUM = 128 common/length.h
- -- point type start
- dragon_lair_info = {
- [1] = { 208, 844000, 1066900, 2, 0 },
- [2] = { 209, 844000, 1118100, 2, 0 },
- [3] = { 210, 844000, 1169300, 2, 0 },
- [4] = { 211, 844000, 1220500, 2, 0 }
- }
- 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(147, 248, 255)..name..color256(147, 248, 255)) end
- function npc.is_metin()
- if npc.get_race() >= 8001 and npc.get_race() <= 8114 then
- return 1
- else
- return 0
- end
- end
- function npc.is_boss(vnum)
- local boss_table = {591, 691,692,791,792,793,794,795,796,993,1091,1092,1093,1095,1191,1192,1304,1307,1901,1903,2091,2092,2191,2192,2206,2207,2291,2306,2307,2491,2492,2493,2494,2495,2591,2592,2593,2594,2595,2596,2597,2598,3090,3091,3190,3191,3290,3291,3390,3391,3490,3491,3590,3591,3596,3595,3690,3691,3790,3791,3890,3891,3901,3902,3903,3905,3906,3910,3911,3912,3913,5001,5002,5161,5162,5163}
- for i=1,76 do
- if vnum == boss_table[i] then
- return 1
- end
- end
- return 0
- end
- function bitflags(bitfield, flagcount)
- local res = {}
- local flag = 0
- while flag < flagcount do
- local bit = math.mod(bitfield, 2)
- bitfield = math.floor(bitfield/2)
- table.insert(res, bit)
- flag = flag + 1
- end
- return res
- end
- function bitfield(bits)
- local res = 0
- local bitcount = table.getn(bits)
- for i = bitcount, 1, -1 do
- res = res + bits[i]*(2^(i-1))
- end
- return res
- 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 =
- {
- [101] = 1,
- [102] = 3,
- [103] = 4,
- [104] = 6,
- [105] = 9,
- [106] = 13,
- [107] = 16,
- [108] = 7,
- [109] = 10,
- [110] = 12,
- [111] = 15,
- [112] = 19,
- [113] = 21,
- [114] = 18,
- [115] = 24,
- [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,
- [155] = 24,
- [171] = 1,
- [172] = 3,
- [173] = 4,
- [174] = 6,
- [175] = 9,
- [176] = 13,
- [177] = 16,
- [178] = 7,
- [179] = 10,
- [180] = 12,
- [181] = 15,
- [182] = 19,
- [183] = 21,
- [184] = 18,
- [185] = 24,
- [191] = 30,
- [192] = 31,
- [193] = 33,
- [194] = 35,
- [301] = 18,
- [302] = 20,
- [303] = 25,
- [304] = 25,
- [331] = 18,
- [332] = 20,
- [333] = 25,
- [334] = 25,
- [351] = 18,
- [352] = 20,
- [353] = 25,
- [354] = 25,
- [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,
- [431] = 31,
- [432] = 33,
- [433] = 35,
- [434] = 36,
- [435] = 38,
- [436] = 40,
- [451] = 26,
- [452] = 27,
- [453] = 29,
- [454] = 30,
- [455] = 33,
- [456] = 35,
- [491] = 32,
- [492] = 37,
- [493] = 39,
- [494] = 45,
- [495] = 105,
- [501] = 29,
- [502] = 32,
- [503] = 35,
- [504] = 36,
- [531] = 35,
- [532] = 37,
- [533] = 40,
- [534] = 42,
- [551] = 29,
- [552] = 32,
- [553] = 35,
- [554] = 36,
- [591] = 42,
- [595] = 42,
- [601] = 26,
- [602] = 29,
- [603] = 31,
- [604] = 33,
- [631] = 34,
- [632] = 36,
- [633] = 39,
- [634] = 40,
- [635] = 44,
- [636] = 46,
- [637] = 49,
- [651] = 34,
- [652] = 36,
- [653] = 39,
- [654] = 40,
- [655] = 44,
- [656] = 46,
- [657] = 49,
- [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,
- [791] = 54,
- [792] = 62,
- [793] = 64,
- [794] = 72,
- [795] = 54,
- [796] = 62,
- [901] = 49,
- [902] = 51,
- [903] = 53,
- [904] = 55,
- [905] = 58,
- [906] = 58,
- [907] = 59,
- [931] = 49,
- [932] = 51,
- [933] = 53,
- [934] = 55,
- [935] = 58,
- [936] = 58,
- [937] = 59,
- [991] = 59,
- [992] = 60,
- [993] = 61,
- [1001] = 57,
- [1002] = 58,
- [1003] = 59,
- [1004] = 60,
- [1031] = 67,
- [1032] = 69,
- [1033] = 70,
- [1034] = 71,
- [1035] = 72,
- [1036] = 73,
- [1037] = 71,
- [1038] = 72,
- [1039] = 73,
- [1040] = 74,
- [1041] = 75,
- [1061] = 67,
- [1062] = 69,
- [1063] = 70,
- [1064] = 71,
- [1065] = 72,
- [1066] = 73,
- [1067] = 71,
- [1068] = 72,
- [1069] = 73,
- [1070] = 74,
- [1071] = 75,
- [1091] = 75,
- [1092] = 75,
- [1093] = 78,
- [1094] = 75,
- [1095] = 82,
- [1096] = 75,
- [1101] = 62,
- [1102] = 63,
- [1103] = 64,
- [1104] = 64,
- [1105] = 65,
- [1106] = 66,
- [1107] = 66,
- [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,
- [1171] = 62,
- [1172] = 63,
- [1173] = 64,
- [1174] = 64,
- [1175] = 65,
- [1176] = 66,
- [1177] = 66,
- [1191] = 70,
- [1192] = 89,
- [1301] = 57,
- [1302] = 59,
- [1303] = 58,
- [1304] = 75,
- [1305] = 61,
- [1306] = 75,
- [1307] = 80,
- [1308] = 40,
- [1309] = 65,
- [1310] = 95,
- [1331] = 57,
- [1332] = 59,
- [1333] = 58,
- [1334] = 75,
- [1335] = 61,
- [1401] = 66,
- [1402] = 73,
- [1403] = 77,
- [1501] = 69,
- [1502] = 72,
- [1503] = 76,
- [1601] = 68,
- [1602] = 70,
- [1603] = 75,
- [1801] = 1,
- [1802] = 1,
- [1803] = 1,
- [1804] = 1,
- [1805] = 1,
- [1806] = 1,
- [1807] = 1,
- [1901] = 72,
- [1902] = 77,
- [1903] = 82,
- [1904] = 40,
- [1905] = 65,
- [1906] = 95,
- [1997] = 1,
- [1998] = 1,
- [1999] = 1,
- [2001] = 43,
- [2002] = 45,
- [2003] = 48,
- [2004] = 50,
- [2005] = 52,
- [2031] = 50,
- [2032] = 52,
- [2033] = 54,
- [2034] = 56,
- [2035] = 58,
- [2036] = 58,
- [2051] = 46,
- [2052] = 48,
- [2053] = 51,
- [2054] = 53,
- [2055] = 55,
- [2061] = 60,
- [2062] = 62,
- [2063] = 64,
- [2064] = 66,
- [2065] = 68,
- [2071] = 70,
- [2072] = 72,
- [2073] = 74,
- [2074] = 76,
- [2075] = 78,
- [2076] = 78,
- [2091] = 60,
- [2092] = 128,
- [2093] = 65,
- [2094] = 72,
- [2095] = 70,
- [2101] = 25,
- [2102] = 37,
- [2103] = 39,
- [2104] = 44,
- [2105] = 47,
- [2106] = 48,
- [2107] = 51,
- [2108] = 54,
- [2131] = 60,
- [2132] = 62,
- [2133] = 64,
- [2134] = 66,
- [2135] = 68,
- [2151] = 19,
- [2152] = 37,
- [2153] = 39,
- [2154] = 44,
- [2155] = 47,
- [2156] = 48,
- [2157] = 51,
- [2158] = 54,
- [2191] = 67,
- [2192] = 72,
- [2201] = 69,
- [2202] = 69,
- [2203] = 70,
- [2204] = 71,
- [2205] = 72,
- [2206] = 73,
- [2207] = 78,
- [2221] = 69,
- [2222] = 69,
- [2223] = 70,
- [2224] = 71,
- [2225] = 72,
- [2226] = 60,
- [2227] = 90,
- [2231] = 69,
- [2232] = 69,
- [2233] = 70,
- [2234] = 71,
- [2235] = 72,
- [2291] = 75,
- [2292] = 99,
- [2293] = 99,
- [2301] = 65,
- [2302] = 67,
- [2303] = 69,
- [2304] = 70,
- [2305] = 71,
- [2306] = 84,
- [2307] = 86,
- [2311] = 74,
- [2312] = 76,
- [2313] = 77,
- [2314] = 80,
- [2315] = 82,
- [2401] = 85,
- [2402] = 87,
- [2403] = 87,
- [2404] = 89,
- [2411] = 90,
- [2412] = 92,
- [2413] = 92,
- [2414] = 95,
- [2431] = 80,
- [2432] = 82,
- [2433] = 82,
- [2434] = 83,
- [2451] = 84,
- [2452] = 86,
- [2453] = 88,
- [2454] = 90,
- [2481] = 91,
- [2482] = 92,
- [2483] = 94,
- [2484] = 96,
- [2491] = 93,
- [2492] = 95,
- [2493] = 157,
- [2494] = 88,
- [2495] = 90,
- [2499] = 121,
- [2501] = 79,
- [2502] = 80,
- [2503] = 81,
- [2504] = 82,
- [2505] = 83,
- [2506] = 84,
- [2507] = 85,
- [2508] = 79,
- [2509] = 80,
- [2510] = 81,
- [2511] = 82,
- [2512] = 83,
- [2513] = 84,
- [2514] = 86,
- [2515] = 81,
- [2516] = 81,
- [2517] = 83,
- [2518] = 84,
- [2519] = 85,
- [2520] = 116,
- [2521] = 116,
- [2522] = 143,
- [2523] = 145,
- [2529] = 150,
- [2541] = 79,
- [2542] = 80,
- [2543] = 81,
- [2544] = 82,
- [2545] = 83,
- [2546] = 84,
- [2547] = 86,
- [2591] = 89,
- [2592] = 89,
- [2593] = 89,
- [2594] = 89,
- [2595] = 89,
- [2596] = 89,
- [2597] = 91,
- [2598] = 188,
- [2600] = 125,
- [2601] = 129,
- [2602] = 130,
- [2603] = 131,
- [2604] = 146,
- [2605] = 135,
- [2606] = 5,
- [2607] = 136,
- [2608] = 138,
- [2609] = 140,
- [2610] = 109,
- [2611] = 5,
- [2612] = 109,
- [2613] = 110,
- [2614] = 114,
- [2615] = 131,
- [2616] = 135,
- [2617] = 138,
- [2618] = 139,
- [2619] = 142,
- [2620] = 144,
- [2621] = 146,
- [2622] = 148,
- [2700] = 91,
- [2701] = 84,
- [2702] = 89,
- [2703] = 89,
- [2704] = 86,
- [2705] = 82,
- [2706] = 85,
- [2707] = 83,
- [2708] = 79,
- [2709] = 82,
- [2710] = 80,
- [2711] = 83,
- [2712] = 80,
- [2713] = 84,
- [2714] = 81,
- [2715] = 79,
- [2716] = 89,
- [2717] = 86,
- [2718] = 82,
- [2719] = 83,
- [2720] = 84,
- [2721] = 80,
- [2722] = 81,
- [2723] = 79,
- [2724] = 81,
- [3001] = 102,
- [3002] = 107,
- [3003] = 106,
- [3004] = 105,
- [3005] = 107,
- [3090] = 105,
- [3091] = 238,
- [3101] = 120,
- [3102] = 121,
- [3103] = 123,
- [3104] = 124,
- [3105] = 126,
- [3190] = 129,
- [3191] = 235,
- [3201] = 130,
- [3202] = 132,
- [3203] = 135,
- [3204] = 136,
- [3205] = 139,
- [3290] = 113,
- [3291] = 115,
- [3301] = 162,
- [3302] = 165,
- [3303] = 167,
- [3304] = 168,
- [3305] = 169,
- [3390] = 172,
- [3391] = 175,
- [3401] = 141,
- [3402] = 143,
- [3403] = 144,
- [3404] = 146,
- [3405] = 148,
- [3411] = 151,
- [3412] = 153,
- [3413] = 154,
- [3414] = 156,
- [3415] = 158,
- [3490] = 145,
- [3491] = 151,
- [3501] = 191,
- [3502] = 193,
- [3503] = 194,
- [3504] = 194,
- [3505] = 197,
- [3551] = 242,
- [3552] = 243,
- [3553] = 244,
- [3554] = 242,
- [3555] = 245,
- [3590] = 193,
- [3591] = 196,
- [3595] = 246,
- [3596] = 248,
- [3601] = 151,
- [3602] = 153,
- [3603] = 154,
- [3604] = 156,
- [3605] = 158,
- [3611] = 142,
- [3612] = 146,
- [3613] = 149,
- [3614] = 148,
- [3615] = 150,
- [3690] = 195,
- [3691] = 156,
- [3701] = 130,
- [3702] = 132,
- [3703] = 135,
- [3704] = 136,
- [3705] = 139,
- [3790] = 132,
- [3791] = 133,
- [3801] = 172,
- [3802] = 175,
- [3803] = 177,
- [3804] = 178,
- [3805] = 179,
- [3890] = 213,
- [3891] = 176,
- [3901] = 241,
- [3902] = 242,
- [3903] = 244,
- [3904] = 101,
- [3905] = 110,
- [3906] = 110,
- [3907] = 99,
- [3908] = 100,
- [3909] = 101,
- [3910] = 195,
- [3911] = 105,
- [3912] = 105,
- [3913] = 105,
- [4001] = 105,
- [4002] = 1,
- [4028] = 1,
- [4029] = 1,
- [4030] = 1,
- [4031] = 1,
- [4033] = 1,
- [4034] = 1,
- [4035] = 1,
- [4036] = 1,
- [4037] = 1,
- [4038] = 1,
- [4039] = 1,
- [4040] = 1,
- [4041] = 1,
- [5001] = 10,
- [5002] = 75,
- [5003] = 1,
- [5004] = 80,
- [5005] = 85,
- [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,
- [5127] = 54,
- [5131] = 22,
- [5132] = 25,
- [5133] = 27,
- [5134] = 29,
- [5141] = 35,
- [5142] = 37,
- [5143] = 39,
- [5144] = 40,
- [5145] = 41,
- [5146] = 42,
- [5151] = 45,
- [5152] = 47,
- [5153] = 49,
- [5154] = 52,
- [5155] = 53,
- [5156] = 54,
- [5157] = 54,
- [5161] = 30,
- [5162] = 43,
- [5163] = 55,
- [6001] = 101,
- [6002] = 101,
- [6003] = 101,
- [6004] = 101,
- [6005] = 101,
- [6006] = 101,
- [6007] = 101,
- [6008] = 101,
- [6009] = 101,
- [6051] = 101,
- [6091] = 101,
- [6101] = 101,
- [6102] = 101,
- [6103] = 101,
- [6104] = 101,
- [6105] = 101,
- [6106] = 101,
- [6107] = 101,
- [6108] = 101,
- [6109] = 101,
- [6151] = 101,
- [6191] = 101,
- [6201] = 120,
- [6202] = 122,
- [6203] = 121,
- [6204] = 125,
- [6205] = 122,
- [6206] = 123,
- [6207] = 125,
- [6208] = 122,
- [6209] = 126,
- [6210] = 129,
- [6211] = 125,
- [6212] = 126,
- [6213] = 129,
- [6214] = 124,
- [6215] = 128,
- [6216] = 131,
- [6217] = 128,
- [6218] = 123,
- [6701] = 159,
- [6900] = 250,
- [6901] = 238,
- [6902] = 243,
- [6903] = 240,
- [6904] = 241,
- [6905] = 244,
- [6906] = 246,
- [6907] = 231,
- [6911] = 215,
- [6912] = 219,
- [6913] = 215,
- [6914] = 210,
- [6915] = 214,
- [6916] = 216,
- [6921] = 215,
- [6922] = 219,
- [6923] = 215,
- [6924] = 210,
- [6925] = 214,
- [6926] = 216,
- [6927] = 215,
- [6928] = 217,
- [6929] = 214,
- [6931] = 201,
- [6932] = 204,
- [6933] = 204,
- [6934] = 204,
- [6935] = 202,
- [6936] = 206,
- [6937] = 209,
- [6941] = 218,
- [6942] = 218,
- [6943] = 180,
- [6944] = 182,
- [6945] = 181,
- [6946] = 187,
- [6947] = 255,
- [6948] = 190,
- [6949] = 257,
- [6950] = 254,
- [6951] = 258,
- [6952] = 252,
- [6953] = 252,
- [6954] = 253,
- [6955] = 183,
- [6956] = 0,
- [6957] = 0,
- [6958] = 0,
- [6959] = 0,
- [6960] = 0,
- [6961] = 254,
- [6962] = 191,
- [6963] = 189,
- [6964] = 184,
- [6965] = 186,
- [6966] = 192,
- [6967] = 195,
- [6968] = 188,
- [6969] = 249,
- [6970] = 0,
- [6971] = 258,
- [6972] = 254,
- [6973] = 0,
- [6974] = 0,
- [6975] = 190,
- [6976] = 0,
- [6977] = 255,
- [6978] = 254,
- [6979] = 187,
- [6980] = 187,
- [6981] = 231,
- [6982] = 229,
- [6983] = 230,
- [6984] = 232,
- [6985] = 233,
- [6986] = 230,
- [6987] = 228,
- [6988] = 232,
- [6989] = 232,
- [6990] = 219,
- [6991] = 254,
- [6992] = 254,
- [6993] = 254,
- [6994] = 182,
- [6995] = 241,
- [6996] = 255,
- [6997] = 254,
- [6998] = 254,
- [6999] = 254,
- [7001] = 52,
- [7002] = 53,
- [7003] = 54,
- [7004] = 54,
- [7005] = 55,
- [7006] = 56,
- [7007] = 56,
- [7008] = 52,
- [7009] = 53,
- [7010] = 54,
- [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,
- [7045] = 82,
- [7046] = 83,
- [7047] = 83,
- [7048] = 84,
- [7049] = 85,
- [7050] = 35,
- [7051] = 31,
- [7052] = 33,
- [7053] = 35,
- [7054] = 36,
- [7055] = 38,
- [7056] = 40,
- [7057] = 52,
- [7058] = 53,
- [7059] = 54,
- [7060] = 54,
- [7061] = 55,
- [7062] = 56,
- [7063] = 57,
- [7064] = 81,
- [7065] = 81,
- [7066] = 82,
- [7067] = 83,
- [7068] = 83,
- [7069] = 84,
- [7070] = 85,
- [7071] = 33,
- [7072] = 35,
- [7073] = 36,
- [7074] = 38,
- [7075] = 40,
- [7076] = 54,
- [7077] = 54,
- [7078] = 55,
- [7079] = 56,
- [7080] = 57,
- [7081] = 82,
- [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,
- [8001] = 5,
- [8002] = 10,
- [8003] = 15,
- [8004] = 20,
- [8005] = 25,
- [8006] = 30,
- [8007] = 35,
- [8008] = 40,
- [8009] = 45,
- [8010] = 50,
- [8011] = 55,
- [8012] = 60,
- [8013] = 65,
- [8014] = 70,
- [8015] = 50,
- [8016] = 55,
- [8017] = 60,
- [8018] = 65,
- [8019] = 70,
- [8020] = 150,
- [8021] = 150,
- [8022] = 150,
- [8023] = 150,
- [8024] = 75,
- [8025] = 80,
- [8026] = 85,
- [8027] = 90,
- [8028] = 90,
- [8029] = 90,
- [8030] = 90,
- [8031] = 60,
- [8032] = 60,
- [8033] = 60,
- [8034] = 60,
- [8035] = 95,
- [8036] = 100,
- [8037] = 105,
- [8038] = 95,
- [8039] = 115,
- [8040] = 120,
- [8041] = 100,
- [8042] = 40,
- [8043] = 50,
- [8044] = 60,
- [8045] = 70,
- [8046] = 80,
- [8047] = 90,
- [8048] = 80,
- [8049] = 90,
- [8050] = 95,
- [8051] = 100,
- [8052] = 110,
- [8053] = 120,
- [8054] = 130,
- [8055] = 140,
- [8056] = 150,
- [8057] = 95,
- [8058] = 160,
- [8059] = 170,
- [8060] = 220,
- [8061] = 225,
- [8062] = 230,
- [8063] = 235,
- [8064] = 240,
- [8065] = 245,
- [8066] = 250,
- [8067] = 250,
- [8068] = 180,
- [8069] = 185,
- [8070] = 190,
- [8071] = 195,
- [8072] = 200,
- [8073] = 205,
- [8074] = 210,
- [8075] = 215,
- [8076] = 1,
- [8077] = 1,
- [8078] = 1,
- [8079] = 1,
- [8080] = 75,
- [8081] = 90,
- [8082] = 155,
- [8083] = 150,
- [8101] = 5,
- [8102] = 10,
- [8103] = 15,
- [8104] = 20,
- [8105] = 25,
- [8106] = 30,
- [8107] = 35,
- [8108] = 40,
- [8109] = 45,
- [8110] = 50,
- [8111] = 55,
- [8112] = 60,
- [8113] = 65,
- [8114] = 70,
- [8501] = 35,
- [8502] = 30,
- [8503] = 25,
- [8504] = 5,
- [8505] = 10,
- [8506] = 12,
- [8507] = 15,
- [8508] = 20,
- [8509] = 25,
- [8510] = 21,
- [8511] = 11,
- [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,
- [9001] = 70,
- [9002] = 70,
- [9003] = 70,
- [9004] = 70,
- [9005] = 70,
- [9006] = 70,
- [9007] = 70,
- [9008] = 70,
- [9009] = 70,
- [9010] = 70,
- [9011] = 70,
- [9012] = 70,
- [9013] = 70,
- [9015] = 70,
- [9021] = 70,
- [9022] = 70,
- [9023] = 70,
- [9024] = 70,
- [9025] = 70,
- [9026] = 70,
- [9027] = 70,
- [9028] = 70,
- [9029] = 70,
- [9030] = 70,
- [9031] = 70,
- [9032] = 70,
- [9033] = 70,
- [9034] = 70,
- [9035] = 70,
- [9036] = 70,
- [9037] = 70,
- [9038] = 70,
- [9039] = 70,
- [9040] = 70,
- [9041] = 70,
- [9042] = 70,
- [9043] = 70,
- [9044] = 70,
- [9045] = 70,
- [9050] = 70,
- [9051] = 70,
- [9052] = 70,
- [9053] = 70,
- [9054] = 70,
- [9055] = 70,
- [9056] = 70,
- [9057] = 70,
- [9058] = 70,
- [9060] = 70,
- [9061] = 70,
- [9062] = 70,
- [9063] = 70,
- [9064] = 70,
- [9065] = 216,
- [9066] = 70,
- [9067] = 70,
- [9068] = 70,
- [9069] = 70,
- [9070] = 120,
- [9071] = 70,
- [9072] = 70,
- [9073] = 70,
- [9074] = 70,
- [9075] = 70,
- [9076] = 70,
- [9100] = 75,
- [9101] = 75,
- [9102] = 75,
- [9103] = 75,
- [9104] = 75,
- [9105] = 75,
- [9106] = 75,
- [9107] = 100,
- [9108] = 75,
- [9109] = 75,
- [9110] = 75,
- [9111] = 75,
- [9112] = 75,
- [9113] = 75,
- [9114] = 75,
- [9115] = 75,
- [9116] = 75,
- [9117] = 75,
- [9118] = 75,
- [9119] = 75,
- [9201] = 1,
- [9202] = 1,
- [9203] = 1,
- [9204] = 1,
- [9205] = 1,
- [9206] = 1,
- [9207] = 1,
- [9208] = 1,
- [9209] = 1,
- [9210] = 1,
- [9211] = 1,
- [9212] = 1,
- [9213] = 1,
- [9214] = 1,
- [9215] = 1,
- [9216] = 1,
- [9217] = 1,
- [9218] = 1,
- [9219] = 1,
- [9220] = 1,
- [9221] = 1,
- [9222] = 1,
- [9223] = 1,
- [9224] = 1,
- [9225] = 1,
- [9226] = 1,
- [9227] = 1,
- [9228] = 1,
- [9229] = 1,
- [9230] = 1,
- [9231] = 1,
- [9232] = 1,
- [9233] = 1,
- [9234] = 1,
- [9235] = 1,
- [9236] = 1,
- [9237] = 1,
- [9238] = 1,
- [9239] = 1,
- [9240] = 1,
- [9241] = 1,
- [9242] = 1,
- [9243] = 1,
- [9244] = 1,
- [9245] = 1,
- [9246] = 1,
- [9247] = 1,
- [9248] = 1,
- [9249] = 1,
- [9250] = 1,
- [9251] = 1,
- [9252] = 1,
- [30022] = 1,
- [10001] = 70,
- [10002] = 70,
- [10003] = 70,
- [10004] = 70,
- [10005] = 70,
- [10006] = 70,
- [10007] = 70,
- [10008] = 70,
- [10009] = 70,
- [10010] = 70,
- [10011] = 70,
- [10012] = 70,
- [10013] = 70,
- [10014] = 70,
- [10015] = 70,
- [10016] = 70,
- [10017] = 70,
- [10018] = 70,
- [10019] = 70,
- [10020] = 70,
- [10021] = 70,
- [10022] = 70,
- [10023] = 70,
- [10024] = 70,
- [10025] = 70,
- [10026] = 70,
- [10027] = 70,
- [10028] = 70,
- [10029] = 70,
- [10030] = 70,
- [10031] = 70,
- [10032] = 70,
- [10033] = 70,
- [10034] = 70,
- [10035] = 70,
- [10036] = 70,
- [10037] = 70,
- [10038] = 70,
- [10039] = 70,
- [10040] = 70,
- [10041] = 70,
- [10042] = 70,
- [10043] = 70,
- [10044] = 70,
- [10045] = 70,
- [10046] = 70,
- [10047] = 70,
- [10048] = 70,
- [10049] = 70,
- [10050] = 70,
- [10051] = 70,
- [10052] = 70,
- [10053] = 70,
- [10054] = 70,
- [10055] = 70,
- [10056] = 70,
- [10057] = 70,
- [10058] = 70,
- [10059] = 70,
- [10060] = 70,
- [10061] = 70,
- [10062] = 70,
- [10063] = 70,
- [10064] = 70,
- [10065] = 70,
- [10066] = 70,
- [10067] = 70,
- [10068] = 70,
- [10069] = 70,
- [10070] = 70,
- [10071] = 70,
- [10072] = 70,
- [10073] = 70,
- [10074] = 70,
- [10075] = 70,
- [10076] = 70,
- [10077] = 70,
- [10078] = 70,
- [10079] = 70,
- [10080] = 70,
- [10081] = 70,
- [10082] = 70,
- [10083] = 70,
- [10084] = 70,
- [10085] = 70,
- [10086] = 70,
- [10087] = 70,
- [10088] = 70,
- [10089] = 70,
- [10090] = 70,
- [10091] = 70,
- [10092] = 70,
- [10093] = 70,
- [10094] = 70,
- [10095] = 70,
- [10096] = 70,
- [10097] = 70,
- [10098] = 70,
- [10099] = 70,
- [10100] = 70,
- [10101] = 70,
- [10102] = 70,
- [10103] = 70,
- [10104] = 70,
- [10105] = 70,
- [10501] = 1,
- [10502] = 1,
- [10503] = 1,
- [10504] = 1,
- [10505] = 1,
- [10506] = 1,
- [10507] = 1,
- [10508] = 1,
- [10509] = 1,
- [10510] = 1,
- [10511] = 1,
- [10512] = 1,
- [10513] = 1,
- [10514] = 1,
- [10515] = 1,
- [10516] = 1,
- [10517] = 1,
- [10518] = 1,
- [10519] = 1,
- [10520] = 1,
- [10521] = 1,
- [10522] = 1,
- [10523] = 1,
- [10524] = 1,
- [10601] = 1,
- [10602] = 1,
- [10603] = 1,
- [10604] = 1,
- [10605] = 1,
- [10606] = 1,
- [10607] = 1,
- [10608] = 1,
- [10609] = 1,
- [10610] = 1,
- [10611] = 1,
- [10612] = 1,
- [10613] = 1,
- [10614] = 1,
- [10615] = 1,
- [10616] = 1,
- [10617] = 1,
- [10618] = 1,
- [10619] = 1,
- [10620] = 1,
- [10621] = 1,
- [10622] = 1,
- [10623] = 1,
- [10624] = 1,
- [10625] = 1,
- [10626] = 1,
- [10701] = 1,
- [10702] = 1,
- [10703] = 1,
- [10704] = 1,
- [10705] = 1,
- [10706] = 1,
- [10707] = 1,
- [10708] = 1,
- [10709] = 1,
- [10710] = 1,
- [10711] = 1,
- [10712] = 1,
- [10713] = 1,
- [10714] = 1,
- [10715] = 1,
- [10716] = 1,
- [10717] = 1,
- [10718] = 1,
- [10719] = 1,
- [10720] = 1,
- [10721] = 1,
- [10722] = 1,
- [10723] = 1,
- [10724] = 1,
- [10725] = 1,
- [10726] = 1,
- [10800] = 1,
- [10801] = 1,
- [10802] = 1,
- [10803] = 1,
- [10804] = 1,
- [10805] = 1,
- [10806] = 1,
- [10807] = 1,
- [10808] = 1,
- [10809] = 1,
- [10810] = 1,
- [10811] = 1,
- [10812] = 1,
- [10813] = 1,
- [10814] = 1,
- [10815] = 1,
- [10816] = 1,
- [10817] = 1,
- [10818] = 1,
- [10819] = 1,
- [10820] = 1,
- [10821] = 1,
- [10822] = 1,
- [10823] = 1,
- [10824] = 1,
- [10825] = 1,
- [10826] = 1,
- [10827] = 1,
- [10828] = 1,
- [10829] = 1,
- [10830] = 1,
- [10831] = 1,
- [10832] = 1,
- [10833] = 1,
- [10834] = 1,
- [10835] = 1,
- [10836] = 1,
- [10837] = 1,
- [10838] = 1,
- [10839] = 1,
- [10840] = 1,
- [10841] = 1,
- [11000] = 100,
- [11001] = 100,
- [11002] = 100,
- [11003] = 100,
- [11004] = 100,
- [11005] = 100,
- [11100] = 50,
- [11101] = 50,
- [11102] = 50,
- [11103] = 50,
- [11104] = 50,
- [11105] = 50,
- [11106] = 70,
- [11107] = 70,
- [11108] = 70,
- [11109] = 70,
- [11110] = 70,
- [11111] = 70,
- [11112] = 90,
- [11113] = 90,
- [11114] = 90,
- [11115] = 90,
- [11116] = 90,
- [11117] = 90,
- [11505] = 100,
- [11506] = 100,
- [11507] = 100,
- [11508] = 100,
- [11509] = 100,
- [11510] = 100,
- [12000] = 100,
- [13000] = 70,
- [13001] = 70,
- [14000] = 70,
- [14001] = 70,
- [14002] = 70,
- [14003] = 70,
- [14004] = 70,
- [14005] = 70,
- [14006] = 70,
- [14007] = 70,
- [14008] = 70,
- [14009] = 70,
- [14010] = 70,
- [14011] = 70,
- [14012] = 70,
- [14013] = 70,
- [14014] = 70,
- [14015] = 70,
- [14016] = 70,
- [14017] = 70,
- [14018] = 70,
- [14019] = 70,
- [14020] = 70,
- [14021] = 70,
- [14022] = 70,
- [14023] = 70,
- [14024] = 70,
- [14025] = 70,
- [14026] = 70,
- [14027] = 70,
- [14028] = 70,
- [14029] = 70,
- [14030] = 70,
- [14031] = 70,
- [14032] = 70,
- [14033] = 70,
- [14034] = 70,
- [14035] = 70,
- [14036] = 70,
- [14037] = 70,
- [14038] = 70,
- [14039] = 70,
- [14040] = 70,
- [14041] = 70,
- [14042] = 70,
- [14043] = 70,
- [14044] = 70,
- [14045] = 70,
- [14046] = 70,
- [14047] = 70,
- [14048] = 70,
- [14049] = 70,
- [20001] = 1,
- [20002] = 1,
- [20003] = 1,
- [20004] = 1,
- [20005] = 1,
- [20006] = 1,
- [20007] = 1,
- [20008] = 1,
- [20009] = 1,
- [20010] = 1,
- [20011] = 1,
- [20012] = 1,
- [20013] = 1,
- [20014] = 1,
- [20015] = 1,
- [20016] = 1,
- [20017] = 1,
- [20018] = 1,
- [20019] = 1,
- [20020] = 1,
- [20021] = 1,
- [20022] = 1,
- [20023] = 1,
- [20024] = 1,
- [20025] = 1,
- [20026] = 1,
- [20027] = 1,
- [20028] = 1,
- [20029] = 1,
- [20030] = 1,
- [20031] = 1,
- [20032] = 1,
- [20033] = 1,
- [20034] = 1,
- [20035] = 1,
- [20036] = 1,
- [20037] = 1,
- [20038] = 1,
- [20039] = 1,
- [20040] = 1,
- [20041] = 1,
- [20042] = 1,
- [20043] = 1,
- [20044] = 1,
- [20045] = 1,
- [20046] = 1,
- [20047] = 1,
- [20048] = 1,
- [20049] = 1,
- [20050] = 1,
- [20051] = 1,
- [20052] = 1,
- [20053] = 1,
- [20054] = 1,
- [20055] = 1,
- [20056] = 1,
- [20057] = 1,
- [20058] = 1,
- [20059] = 1,
- [20060] = 1,
- [20061] = 1,
- [20062] = 1,
- [20063] = 1,
- [20064] = 1,
- [20065] = 1,
- [20066] = 1,
- [20067] = 1,
- [20068] = 1,
- [20069] = 1,
- [20070] = 1,
- [20071] = 1,
- [20072] = 1,
- [20073] = 1,
- [20074] = 1,
- [20075] = 1,
- [20076] = 1,
- [20077] = 70,
- [20078] = 70,
- [20079] = 70,
- [20080] = 1,
- [20081] = 1,
- [20082] = 1,
- [20083] = 1,
- [20084] = 1,
- [20085] = 1,
- [20086] = 1,
- [20087] = 1,
- [20088] = 1,
- [20089] = 1,
- [20090] = 1,
- [20091] = 1,
- [20092] = 1,
- [20093] = 1,
- [20094] = 1,
- [20095] = 1,
- [20096] = 1,
- [20097] = 1,
- [20098] = 1,
- [20099] = 1,
- [20100] = 1,
- [20101] = 1,
- [20102] = 1,
- [20103] = 1,
- [20104] = 1,
- [20105] = 1,
- [20106] = 1,
- [28240] = 1,
- [20107] = 1,
- [20108] = 1,
- [20109] = 1,
- [20110] = 1,
- [20111] = 1,
- [20112] = 1,
- [20113] = 1,
- [20114] = 1,
- [20115] = 1,
- [20116] = 1,
- [20117] = 1,
- [20118] = 1,
- [20119] = 1,
- [20120] = 1,
- [20121] = 1,
- [20122] = 1,
- [20123] = 1,
- [20124] = 1,
- [20125] = 1,
- [20126] = 1,
- [20127] = 1,
- [20128] = 1,
- [20129] = 1,
- [20130] = 1,
- [20131] = 1,
- [20132] = 1,
- [20133] = 1,
- [20134] = 1,
- [20135] = 1,
- [20136] = 1,
- [20137] = 1,
- [20138] = 1,
- [20139] = 1,
- [20140] = 1,
- [20141] = 1,
- [20142] = 1,
- [20143] = 1,
- [20144] = 1,
- [20145] = 1,
- [20146] = 1,
- [20150] = 1,
- [20151] = 1,
- [20152] = 1,
- [20153] = 1,
- [20154] = 1,
- [20156] = 1,
- [20157] = 1,
- [20158] = 1,
- [20159] = 1,
- [20160] = 1,
- [20161] = 1,
- [20162] = 1,
- [20163] = 1,
- [20164] = 1,
- [20165] = 1,
- [20166] = 1,
- [20167] = 1,
- [20168] = 1,
- [20169] = 1,
- [20170] = 1,
- [20171] = 1,
- [20172] = 1,
- [20173] = 1,
- [20174] = 1,
- [20175] = 1,
- [20176] = 1,
- [20177] = 1,
- [20178] = 1,
- [20179] = 1,
- [20180] = 1,
- [20200] = 1,
- [20201] = 1,
- [20202] = 1,
- [20203] = 1,
- [20204] = 1,
- [20205] = 1,
- [20206] = 1,
- [20207] = 1,
- [20208] = 1,
- [20209] = 1,
- [20210] = 1,
- [20211] = 1,
- [20212] = 1,
- [20213] = 1,
- [20214] = 1,
- [20215] = 1,
- [20216] = 1,
- [20217] = 1,
- [20218] = 1,
- [20219] = 1,
- [20220] = 1,
- [20221] = 1,
- [20222] = 1,
- [20300] = 70,
- [20301] = 70,
- [20302] = 70,
- [20303] = 70,
- [20304] = 70,
- [20305] = 70,
- [20306] = 70,
- [20307] = 70,
- [20320] = 70,
- [20321] = 70,
- [20322] = 70,
- [20323] = 70,
- [20324] = 70,
- [20325] = 70,
- [20326] = 70,
- [20327] = 70,
- [20340] = 70,
- [20341] = 70,
- [20342] = 70,
- [20343] = 70,
- [20344] = 70,
- [20345] = 70,
- [20346] = 70,
- [20347] = 70,
- [20348] = 70,
- [20349] = 70,
- [20350] = 70,
- [20351] = 70,
- [20352] = 70,
- [20353] = 70,
- [20354] = 70,
- [20355] = 70,
- [20356] = 70,
- [20357] = 70,
- [20358] = 70,
- [20359] = 70,
- [20360] = 70,
- [20361] = 70,
- [20362] = 70,
- [20363] = 70,
- [20364] = 70,
- [20365] = 70,
- [20366] = 70,
- [20367] = 80,
- [20368] = 100,
- [20369] = 70,
- [20370] = 70,
- [20371] = 70,
- [20372] = 70,
- [20373] = 70,
- [20374] = 70,
- [20375] = 70,
- [20376] = 70,
- [20377] = 70,
- [20378] = 70,
- [20379] = 70,
- [20380] = 70,
- [20381] = 70,
- [20382] = 70,
- [20383] = 0,
- [20384] = 1,
- [20400] = 70,
- [20500] = 99,
- [20501] = 70,
- [22352] = 70,
- [30000] = 1,
- [30001] = 1,
- [30101] = 70,
- [30102] = 70,
- [30103] = 70,
- [30104] = 70,
- [30109] = 100,
- [30110] = 100,
- [30111] = 100,
- [30112] = 100,
- [30113] = 100,
- [30114] = 100,
- [30115] = 100,
- [30116] = 100,
- [30117] = 100,
- [30118] = 100,
- [30119] = 100,
- [30120] = 70,
- [30121] = 70,
- [30122] = 70,
- [30123] = 70,
- [30124] = 70,
- [30125] = 70,
- [30126] = 70,
- [30127] = 70,
- [30128] = 70,
- [30129] = 1,
- [30130] = 1,
- [30301] = 1,
- [30302] = 0,
- [30303] = 0,
- [30304] = 0,
- [30305] = 0,
- [33001] = 70,
- [33002] = 1,
- [33003] = 1,
- [33004] = 1,
- [33005] = 1,
- [33006] = 1,
- [33007] = 1,
- [33008] = 1,
- [34001] = 1,
- [34002] = 1,
- [34003] = 1,
- [34004] = 1,
- [34005] = 1,
- [34006] = 1,
- [34007] = 1,
- [34008] = 1,
- [34009] = 1,
- [34010] = 1,
- [34011] = 1,
- [34012] = 1,
- [43287] = 70
- }
- get_mob_level22 =
- {
- [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,
- [30022] = 1,
- [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,
- }
- function isdtamap(mapindex)
- if mapindex == 209 or mapindex == 210 or mapindex == 211 then
- return true
- else
- return false
- end
- end
- function get_next_char_num()
- local keystates = bitflags(DTA_keystates[pc.get_empire()], 7)
- if DTA_keystates[pc.get_empire()] == 127 then -- all characters dropped
- return 0
- end
- while true do
- local n = number(1, 7)
- if keystates[n] == 0 then
- keystates[n] = 1
- DTA_keystates[pc.get_empire()] = bitfield(keystates)
- return n + 1
- end
- end
- end
- DTA_MetinKills = {
- {0, 0, 0},
- {0, 0, 0},
- }
- DTA_keystates = {0, 0, 0}
- ts_herbtime = {
- {24,20,16,12},
- {12,10,8,6},
- {6,6,6,6},
- }
- ts_level = {"Normal", "Master", "Grandmaster", "Perfect Master"}
- function herb_q_inf()
- return
- { -- | Level 30-40 List | Level 40-50 List | Level 50-60 List | Level 60-70 List | Level 70-80 List | Level 80-90 List | Level 90-99 List |
- ["vnum"] = {534,591,636,702,704,732,776,906,902,1001,1031,1101,1103,1301,2034,1156,1157,2064,2203,2204,2203,2204,2303,2304,2305,1131,1136,2314,2315,2401,2412,2403,2404,2411,2413},
- ["Normal"] = {3,2,10,15,10,15,15,10,20,30,10,15,10,10,10,15,10,20,20,20,30,30,20,15,10,15,20,40,25,20,20,15,10,20,10},
- ["Master"] = {5,3,15,20,15,25,20,15,30,50,15,25,15,15,15,25,20,30,30,30,50,50,30,20,15,25,30,60,40,35,40,30,20,40,20},
- ["Grandmaster"] = {8,5,20,30,20,35,30,20,40,70,20,35,20,20,20,40,30,40,40,40,70,70,40,35,30,35,40,80,60,50,60,50,30,60,30},
- ["Perfect_Master"] = {12,8,30,45,30,50,45,30,60,100,30,50,30,35,40,60,50,60,60,60,100,100,60,50,45,50,55,125,90,75,80,75,50,80,45},
- }
- end
- function herb_q_init_v(num)
- local info = herb_q_inf()
- local vnum = info.vnum[num]
- return vnum
- end
- function herb_q_init_a(qlv,num)
- local info = herb_q_inf()
- local qlv = pc.getqf("herblevel")
- local amount
- if qlv == 1 then
- amount = info.Normal[num]
- elseif qlv == 2 then
- amount = info.Master[num]
- elseif qlv == 3 then
- amount = info.Grandmaster[num]
- elseif qlv == 4 then
- amount = info.Perfect_Master[num]
- end
- return amount
- end
- function input_number (sentence)
- say (sentence)
- local n = nil
- while n == nil do
- n = tonumber (input())
- if n != nil then
- break
- end
- say ("Something.")
- end
- return n
- end
- function LIB_duration(ipe)
- -- if have == nil then
- -- seconds = ipe - get_global_time()
- -- chat("nil")
- -- else
- -- seconds = (get_global_time() + ipe) - get_global_time()
- -- chat("no nil")
- -- end
- if ipe >= get_global_time() then
- seconds = ipe - get_global_time()
- --chat("nil")
- else
- seconds = (get_global_time() + ipe) - get_global_time()
- --chat("no nil")
- end
- local days = 0
- local hours = math.floor(seconds / 3600)
- local mins = math.floor((seconds - (hours*3600)) / 60)
- local secs = math.floor(seconds - hours*3600 - mins*60 )
- local t = ""
- if tonumber(hours) >= 24 then
- days = math.floor(hours / 24)
- hours = math.floor(hours - (days*24))
- end
- if tonumber(days) == 1 then
- t = t..days.." Tag "
- elseif tonumber(days) >= 1 then
- t = t..days.." Tage "
- end
- if tonumber(hours) == 1 then
- t = t..hours.." Stunde "
- elseif tonumber(hours) >= 1 then
- t = t..hours.." Stunden "
- end
- if tonumber(mins) == 1 then
- t = t..mins.." Minute "
- elseif tonumber(mins) >= 1 then
- t = t..mins.." Minuten "
- end
- if tonumber(secs) == 1 then
- t = t..secs.." Sekunde "
- elseif tonumber(secs) >= 1 then
- t = t..secs.." Sekunden "
- end
- if t == "" then
- return "(Keine Zeit Vorhanden!)"
- end
- return t
- end
- function say_npc()
- say_title(""..mob_name(npc.get_race()).."")
- end
- function query(sql)
- user = "mt2"
- pw = "mt2!@#"
- local var = {}
- var.pre = ''
- if user ~= nil then
- var.pre = var.pre..' -u'..user
- end
- if pw ~= nil then
- var.pre = var.pre..' -p'..pw
- end
- var.scriptfile = 'sc_'..pc.get_name()..number(1,999)..number(2,999)..number(3,999)
- var.outputfile = 'op_'..pc.get_name()..number(1,999)..number(2,999)..number(3,999)
- sql = string.gsub(sql,'"',"'")
- var.str = "/usr/local/bin/mysql -N -L "..var.pre.." < "..var.scriptfile.." > "..var.outputfile
- script = io.open(var.scriptfile,"a+")
- script:write(sql)
- script:close()
- os.execute(var.str)
- back = io.open(var.outputfile)
- quer = back:read()
- back:flush()
- back:close()
- os.remove(var.scriptfile)
- os.remove(var.outputfile)
- return quer
- end
- function in_dungeon()
- return pc.in_dungeon()and pc.get_map_index()>=(61*10000)and pc.get_map_index()<(75*10000)
- end
- function wykonaj(x)
- os.execute(x)
- end
- Folder= "/home/game/share/locale/germany/quest/"
- GLOBAL_INGAME_RANGLISTEN_VARIABLE = {}
- function split2(str, delim, maxNb) -- mysql_query needs split function.
- 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? MySQL51
- os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- f? MySQL55
- for av in io.open(fi,'r'):lines() do table.insert(t,split2(av,'\t')) end; os.remove(fi);
- for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
- out[i-1] = out[i-1] or {}
- out[i-1][a] = tonumber(b) or b or 'NULL'
- out[t[1][a]] = out[t[1][a]] or {}
- out[t[1][a]][i-1] = tonumber(b) or b or 'NULL'
- end) end
- return out
- end
- function pokaz_ranking()
- local t, out = {}, {}
- for av in io.open('/usr/home/game/share/ranking','r'):lines() do table.insert(t,split2(av,'\t')) end;
- for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
- out[i-1] = out[i-1] or {}
- out[i-1][a] = tonumber(b) or b or 'NULL'
- out[t[1][a]] = out[t[1][a]] or {}
- out[t[1][a]][i-1] = tonumber(b) or b or 'NULL'
- end) end
- return out
- end
- function table.val_to_str ( v )
- if "string" == type( v ) then
- v = string.gsub( v, "\n", "\\n" )
- if string.match( string.gsub(v,"[^'\"]",""), '^"+$' ) then
- return "'" .. v .. "'"
- end
- return '"' .. string.gsub(v,'"', '\\"' ) .. '"'
- else
- return "table" == type( v ) and table.tostring( v ) or
- tostring( v )
- end
- end
- function table.key_to_str ( k )
- if "string" == type( k ) and string.match( k, "^[_%a][_%a%d]*$" ) then
- return k
- else
- return "[" .. table.val_to_str( k ) .. "]"
- end
- end
- function table.tostring( tbl )
- local result, done = {}, {}
- for k, v in ipairs( tbl ) do
- table.insert( result, table.val_to_str( v ) )
- done[ k ] = true
- end
- for k, v in pairs( tbl ) do
- if not done[ k ] then
- table.insert( result,
- table.key_to_str( k ) .. "=" .. table.val_to_str( v ) )
- end
- end
- return "{" .. table.concat( result, "," ) .. "}"
- end
- function odswiez_ranking()
- local ranking = mysql_query("SELECT player.id,player.name,player.level,player.exp,player_index.empire,guild.name AS guild_name FROM player.player LEFT JOIN player.player_index ON player_index.id=player.account_id LEFT JOIN player.guild_member ON guild_member.pid=player.id LEFT JOIN player.guild ON guild.id=guild_member.guild_id WHERE player.name NOT LIKE '[%]%' ORDER BY player.level DESC, player.exp DESC;")
- script = io.open('/usr/home/game/share/ranking',"a+")
- script:write(table.tostring(ranking))
- script:close()
- end
- dofile(get_locale_base_path().."/quest/guildstorage.lua")
- item3 = {}
- function item3.get_attr(var)
- return item.get_attr_type(var),item.get_attr_value(var)
- end
- HANDELSCENTER = {}
- out = mysql_query("SELECT * FROM player.mob_proto;")
- mob._data = out
- mob._idx = {}
- table.foreach(out.vnum,
- function(i,p)
- mob._idx[p]=i
- end
- )
- setmetatable(mob,{
- __index = function(this,idx)
- local exec = string.gsub(idx,'get_(%.+)','%1')
- if this._data[exec] ~= nil then
- return function(moid)
- return this._data[exec][this._idx[moid or npc.get_race()]]
- end
- else
- return function() return 0 end
- end
- end
- }
- )
- function AchivmentAllPoints()
- local c,info = mysql_direct_query("SELECT punkty_osiagniec, punkty_zabojstw FROM player.player WHERE name = '"..pc.get_name().."' LIMIT 1;")
- local all_points = (info[1].punkty_zabojstw + info[1].punkty_osiagniec)
- cmdchat("ACHIEVEMENTS SET_AP#"..all_points)
- return all_points or 0
- end
- dofile(get_locale_base_path().."/quest/system_osiagniec_lib.lua")
- 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 get_input(par)
- cmdchat("GetInputStart")
- local ret = input(cmdchat(par))
- cmdchat("GetInputStop")
- return ret
- end
- dofile(get_locale_base_path().."/quest/new_skills_system/points/settings.lua")
- dofile(get_locale_base_path().."/quest/new_skills_system/points/points_functions.lua")
- dofile(get_locale_base_path().."/quest/new_skills_system/skills/skills_functions.lua")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement