In meinem Files habe ich die levelup.quest dummerweise mit jedemenge komischen zeichen drin. Stat ganz normal zu funktionieren kommt beim Levelup links eine schriftrolle mit Level 3 Jagtquest und wenn man draufklickt verschwindet sie einfach und es passiert nichts mehr
quest levelup begin
-- ÀÌ ºÎºÐ Áö¿ì¸é ·¹º§¾÷ Äù½ºÆ®°¡ µ¹Áö ¾Ê´Â´Ù.
-- ´Ù¸¥ Äù½ºÆ®¿¡¼* °æÇèÄ¡ ÁÙ°æ¿ì ÀÌ ½ºÅ×ÀÌÆ®·Î ¼³Á¤ÇؾßÇÑ´Ù
-- current ==0 ÀÌ¸é ·¹º§ Äù½ºÆ®°¡ ³¡³*»óÅÂ
-- current !=0 ÀÌ¸é ·¹º§ Äù½ºÆ®°¡ ÁøÇà»óÅ (ÇöÀç ·¹º§°ªÀÌ µé¾îÀÖ´Ù)
-- select ´Â ·¹º§ Äù½ºÆ® ¼±ÅÃÇÑ Á¾·ù¸¦ ¸»ÇÑ´Ù.
-- buttonstate ·¹º§ Äù½ºÆ® »óÅ ÁøÇà
-- buttonstate == -1 ¹öưÀÌ ¾øÀ½
-- buttonstate == 1 Çѹø ¼öÇàÇÏ°í ³²¾ÆÀÖ´Â °æ¿ì
-- buttonstate == 2 ¾È³» ¸Þ½ÃÁö Ãâ·Â
-- buttonstate == 3 ¿Ï·á
state run begin
when letter begin
local current = pc.getqf("current")
local completed_level = pc.getqf("complete");
-- ·¹º§¾÷ Äù½ºÆ®°¡ ³¡³*»óÅ¿¡¼*´Â current °¡ 0 ÀÌ´Ù
if current == 0 and
pc.get_level() > completed_level and
pc.get_level() > 1 and
pc.get_level() < 60 then
local lev = pc.get_level()
pc.setqf("buttonstate", 2)
makequestbutton(locale.level..lev..' '..locale.quest_word..' - '..locale.start)
pc.setqf("current", lev)
pc.setqf("select", 1)
pc.setqf("remain", special.levelup_quest[lev][2])
setskin(NOWINDOW)
end
setstate(start)
end
end
state start begin
when info begin
local lev = pc.getqf("current")
if lev == 0 then return end
setskin(SCROLL)
setbgimage('level_bg.tga')
local s = pc.getqf("select")
if s == 0 then s = 1 end
addimage(20,12,special.levelup_img[special.levelup_quest[lev][s*2-1]])
setcolor(0,0,0)
say(locale.levelup.slay_them1,mob_name(special.lev elup_quest[lev][s*2-1]),locale.levelup.slay_them2,"[ENTER]",locale.levelup.slay_target_is," : ", mob_name(special.levelup_quest[lev][s*2-1]),"[ENTER]",locale.levelup.slay_target_count," : ", special.levelup_quest[lev][s*2])
raw_script(locale.reward..":".. special.levelup_quest[lev][5].."% "..locale.exp)
if lev <= table.getn(special.levelup_reward1) then
raw_script(","..item_name(special.levelup_reward1[lev][pc.job+1]))
elseif lev> table.getn(special.levelup_reward1) and lev < 26 then
raw_script(","..locale.levelup.random_item)
end
if lev>=21 then
raw_script(","..locale.levelup.gold)
end
raw_script(newline)
levelup.show_mob_pos(lev)
select(locale.confirm)
clearmapsignal()
setskin(NOWINDOW)
end
when login begin
local lev = pc.getqf("current")
if lev != 0 then
if pc.getqf("remain") <= 0 then
setskin(NOWINDOW)
pc.setqf("buttonstate", 3)
makequestbutton(locale.level..lev..' '..locale.quest_word..' - '..locale.complete)
else
setskin(NOWINDOW)
pc.setqf("buttonstate", 1)
makequestbutton(locale.level..lev..' '..locale.quest_word)
end
end
end
when button begin
local lev = pc.getqf("current")
if lev == 0 then return end
if pc.getqf("buttonstate") == 3 then
-- ¿Ï·á!
local s = pc.getqf("select")
if s == 0 then s = 1 end
say_title(locale.level..lev..' '..locale.quest_word..' - '..locale.complete)
say(mob_name(special.levelup_quest[lev][s*2-1]),locale.levelup.slayed_them)
say("")
wait()
if lev <= 20 then -- ÀÌÀü ¹æ½Ä´ë·Î º¸»ó.
if lev <= table.getn(special.levelup_reward1) then
pc.give_item("level"..lev.."item", special.levelup_reward1[lev][pc.job+1])
else
local v = number(1,100)
if v <= special.levelup_reward3[1][1] then
pc.give_item("level"..lev.."item",special.levelup_ reward3[1][2],special.levelup_reward3[1][3])
elseif v <= special.levelup_reward3[2][1] then
pc.give_item("level"..lev.."item",special.levelup_ reward3[2][2],special.levelup_reward3[2][3])
elseif v <= special.levelup_reward3[3][1] then
pc.give_item("level"..lev.."item",special.levelup_ reward3[3][2],special.levelup_reward3[3][3])
elseif v <= special.levelup_reward3[4][1] then
pc.give_item("level"..lev.."item",special.levelup_ reward3[4][2],special.levelup_reward3[4][3])
else
pc.give_item("level"..lev.."item",special.levelup_ reward3[5][2],special.levelup_reward3[5][3])
end
end
pc.give_exp_perc("level"..lev.."exp", lev, special.levelup_quest[lev][5])
if lev == 12 or lev == 14 or lev == 16 or lev == 18 or lev == 20 then
pc.give_item2(50083)
say_reward("Gegenstand erhalten: "..item_name(50083) .. "")
end
else
-- give item
local ll = lev - 20
if lev < 26 then
local n = table.getn(special.levelup_reward_item_21[ll])
local t = special.levelup_reward_item_21[ll][number(1, n)]
say_reward(locale.reward .. " : ")
if type(t) == 'table' then
pc.give_item2(t[1], t[2])
say_reward("Gegenstand erhalten: "..t[2].."*Ó"..item_name(t[1]).."ª««~.")
else
pc.give_item2(t)
say_reward("Gegenstand erhalten: "..item_name(t).."ª««~.")
end
end
local reward_gold = special.levelup_reward_gold21
local reward_exp = special.levelup_reward_exp21
if lev >= 31 and lev <= 40 then
reward_gold = special.levelup_reward_gold31
reward_exp = special.levelup_reward_exp31
elseif lev >= 41 and lev <= 50 then
reward_gold = special.levelup_reward_gold41
reward_exp = special.levelup_reward_exp41
elseif lev >= 51 and lev <= 60 then
reward_gold = special.levelup_reward_gold51
reward_exp = special.levelup_reward_exp51
end
-- give money
n = number(0, 300)
local i = 0
for i = 1, table.getn(reward_gold) do
if n < reward_gold[i][2] then
pc.change_money(reward_gold[i][1])
say_reward("Item erhalten: "..reward_gold[i][1].."¨â.")
break
else
n = n - reward_gold[i][2]
end
end
-- give exp
n = number(0, 300)
i = 0
for i = 1, table.getn(reward_exp) do
if n < reward_exp[i][2] then
pc.give_exp_perc("level"..lev.."exp", lev, reward_exp[i][1])
say_reward("Item erhalten: "..reward_exp[i][1].."%¸gÅç*È.")
break
else
n = n - reward_exp[i][2]
end
end
say("")
end
local old_lev = lev
lev = lev + 1
-- ÇöÀç ·¹º§ÀÌ ´ÙÀ½ ·¹º§ Äù½ºÆ®¸¦ ÇÒ ¼ö ÀÖ´Â ·¹º§ÀÌ¸é ¹Ù·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù.
if lev > 1 and lev < 60 and pc.level >= lev then
pc.setqf("buttonstate", 2)
makequestbutton(locale.level..lev..' '..locale.quest_word..' - '..locale.start)
pc.setqf("current", lev)
pc.setqf("select", 1)
pc.setqf("remain",special.levelup_quest[lev][2])
setskin(NOWINDOW)
return
else
pc.setqf("complete", old_lev)
pc.setqf("current", 0)
q.done()
end
elseif pc.getqf("buttonstate") == 2 then
-- ·¹º§¾÷ Äù½ºÆ® ¾È³»Ã¢À» ¶ç¿ò
local lev = pc.getqf("current")
if lev == 0 then
q.done()
end
say(locale.levelup.choice1)
say(locale.levelup.choice2)
local sel = select(
mob_name(special.levelup_quest[lev][1]).." "..special.levelup_quest[lev][2]..locale.levelup.kill_count,
mob_name(special.levelup_quest[lev][3]).." "..special.levelup_quest[lev][4]..locale.levelup.kill_count
)
setskin(SCROLL)
setbgimage('level_bg.tga')
pc.setqf("select", sel)
addimage(20, 12, special.levelup_img[special.levelup_quest[lev][sel*2-1]])
setcolor(0,0,0)
say(locale.levelup.slay_them1, mob_name(special.levelup_quest[lev][sel*2-1]), locale.levelup.slay_them2, "[ENTER]", locale.levelup.slay_target_is," : ", mob_name(special.levelup_quest[lev][sel*2-1]), "[ENTER]", locale.levelup.slay_target_count, " : ", special.levelup_quest[lev][sel*2])
raw_script(locale.reward..":".. special.levelup_quest[lev][5].."% "..locale.exp)
if lev <= table.getn(special.levelup_reward1) then
raw_script(","..item_name(special.levelup_reward1[lev][pc.job+1]))
elseif lev> table.getn(special.levelup_reward1) and lev < 26 then
raw_script(","..locale.levelup.random_item)
end
if lev>=21 then
raw_script(","..locale.levelup.gold)
end
raw_script(newline)
levelup.show_mob_pos(lev)
local s = select(locale.levelup.lets_go)
if s == 1 then
setskin(NOWINDOW)
pc.setqf("remain",special.levelup_quest[lev][sel*2])
syschat("<"..locale.quest_word.."> ", mob_name(special.levelup_quest[lev][sel*2-1]), " ", special.levelup_quest[lev][sel*2],locale.levelup.kill_count)
q.set_title(locale.level..' '..locale.quest_word..' - '..locale.eliminate_on_begin..mob_name(special.lev elup_quest[lev][sel*2-1])..locale.eliminate_on_end)
q.set_counter(locale.levelup.remain_count, pc.getqf("remain"))
q.start()
end
setskin(NOWINDOW)
clearmapsignal()
elseif pc.getqf("buttonstate") == 1 then
-- Áö³*¹ø Äù½ºÆ®°¡ ³¡³ªÁö ¾Ê¾Æ¼* ·Î±×ÀÎ ½Ã¿¡ ´Ù½Ã º¸¿©ÁÙ ¶§
local s = pc.getqf("select")
if s == 0 then s = 1 end
local lev = pc.getqf("current")
if lev != 0 then
say(locale.levelup.prev_quest1..mob_name(special.l evelup_quest[lev][s*2-1]).." "..pc.getqf("remain")..locale.levelup.prev_que st2)
local ss = select(locale.levelup.prev_quest_info,locale.level up.prev_quest_go)
if ss == 1 then
setskin(SCROLL)
setbgimage('level_bg.tga')
addimage(20,12,special.levelup_img[special.levelup_quest[lev][s*2-1]])
setcolor(0,0,0)
say(locale.levelup.slay_them1,mob_name(special.lev elup_quest[lev][s*2-1]),locale.levelup.slay_them2,"[ENTER]",locale.levelup.slay_target_is," : ", mob_name(special.levelup_quest[lev][s*2-1]),"[ENTER]",locale.levelup.slay_target_count," : ", special.levelup_quest[lev][s*2])
raw_script(locale.reward..":".. special.levelup_quest[lev][5].."% "..locale.exp)
if lev <= table.getn(special.levelup_reward1) then
raw_script(","..item_name(special.levelup_reward1[lev][pc.job+1]))
elseif lev> table.getn(special.levelup_reward1) and lev < 26 then
raw_script(","..locale.levelup.random_item)
end
if lev>=21 then
raw_script(","..locale.levelup.gold)
end
raw_script(newline)
-- q.set_title(locale.level..' '..locale.quest_word..' - '..locale.eliminate_on_begin..mob_name(special.lev elup_quest[lev][s*2-1])..locale.eliminate_on_end)
-- q.set_counter(locale.levelup.remain_count, pc.getqf("remain"))
-- q.start()
-- levelup.show_mob_pos(lev)
select(locale.confirm)
setskin(NOWINDOW)
clearmapsignal()
end
setskin(NOWINDOW)
q.set_title(locale.level..' '..locale.quest_word..' - '..locale.eliminate_on_begin..mob_name(special.lev elup_quest[lev][s*2-1])..locale.eliminate_on_end)
q.set_counter(locale.levelup.remain_count, pc.getqf("remain"))
--q.set_icon(string.format("level_%02d.sub", lev))
q.start()
end
end
pc.setqf("buttonstate", -1)
end
when levelup begin
local lev = pc.getqf("current");
if lev == 0 then
lev = pc.level
-- ·¹º§ 2ºÎÅÍ 60±îÁö¸¸ Äù½ºÆ®°¡ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù.
if lev < 2 or lev > 60 then return end
pc.setqf("buttonstate", 2)
makequestbutton(locale.level..lev..' '..locale.quest_word..' - '..locale.start)
pc.setqf("current", lev)
pc.setqf("select", 1)
pc.setqf("remain", special.levelup_quest[lev][2])
setskin(NOWINDOW)
end
end
when kill begin
local sel = pc.getqf("select")
if sel == 0 then
sel = 1
end
local lev = pc.getqf("current")
if lev != 0 and npc.race == (special.levelup_quest[lev][sel*2-1]) and pc.getqf("buttonstate") == -1 then
local remain = pc.getqf("remain") - 1
if remain <= 0 then
pc.setqf("remain", 0)
q.set_counter_value(0)
setskin(NOWINDOW)
makequestbutton(locale.level..lev..' '..locale.quest_word..' - '..locale.complete)
pc.setqf("buttonstate", 3)
else
pc.setqf("remain", remain)
q.set_counter_value(remain)
end
end
end
function show_mob_pos(lev)
map_index = pc.get_map_index()
if map_index <= 0 then
test_chat("show_mob_pos: map_index("..map_index..") < 0")
return
end
if map_index > table.getn(special.lvq_map) then
test_chat("show_mob_pos: map_index("..map_index..") > max("..table.getn(special.lvq_map)..")")
return
end
lev_quest_list = special.lvq_map[map_index]
if not lev_quest_list then
test_chat("show_mob_pos: special.lvq_map[map_index("..map_index..")] is nil")
return
end
mob_pos_list = lev_quest_list[lev]
if not mob_pos_list then
test_chat("show_mob_pos: special.lvq_map[map_index("..map_index..")][lev("..lev..")] is nil")
return
end
table.foreachi(
mob_pos_list,
function (n, mob_pos)
test_chat("addmapsignal("..mob_pos[1]..", "..mob_pos[2]..")")
addmapsignal(mob_pos[1]*100, mob_pos[2]*100)
end
)
setmapcenterposition(200, 0)
end
end
end