- Mesaj
- 230
- Çözümler
- 9
- Beğeni
- 71
- Puan
- 114
- Ticaret Puanı
- 0
merhaba arkadaşlar offical level up questinin düzenlemesini nerden yapabilirim?
Örneğin 2.level görevindeki verilen ödülü değiştirmek gibi, bunları nereden çekiyor bilgisi olan varmı
aşağıdaki orjinal level up questi fakat burada nereyi düzenlemem gerektiğini bulamadım
Örneğin 2.level görevindeki verilen ödülü değiştirmek gibi, bunları nereden çekiyor bilgisi olan varmı
aşağıdaki orjinal level up questi fakat burada nereyi düzenlemem gerektiğini bulamadım
Lua (Quest):
quest levelup begin
state run begin
when letter begin
local current = pc.getqf("current")
local completed_level = pc.getqf("complete");
if current == 0 and
pc.get_level() > completed_level and
pc.get_level() > 1 and
pc.get_level() < 90 then
local lev = pc.get_level()
pc.setqf("buttonstate", 2)
makequestbutton(string.format(gameforge.levelup._10_makequestbutton, lev))
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')
say("")
say("")
say("")
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(string.format(gameforge.levelup._20_say,mob_name(special.levelup_quest[lev][s*2-1])))
say(string.format(gameforge.levelup._26_say,special.levelup_quest[lev][s*2]))
raw_script(string.format(gameforge.levelup._27_say,special.levelup_quest[lev][5]))
say("")
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
local reward_gold = special.levelup_reward_gold21
if lev >= 31 and lev <= 40 then
reward_gold = special.levelup_reward_gold31
elseif lev >= 41 and lev <= 50 then
reward_gold = special.levelup_reward_gold41
elseif lev >= 51 and lev <= 83 then
reward_gold = special.levelup_reward_gold51
elseif lev >= 84 and lev <= 90 then
reward_gold = special.levelup_reward_gold51
end
local max_gold_i = table.getn(reward_gold)
raw_script(reward_gold[1][1].."-"..reward_gold[max_gold_i][1].." "..locale.gold)
end
raw_script(newline)
levelup.show_mob_pos(lev)
select(gameforge.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(string.format(gameforge.levelup._30_makequestbutton, lev))
else
setskin(NOWINDOW)
pc.setqf("buttonstate", 1)
makequestbutton(string.format(gameforge.levelup._40_makequestbutton, lev))
end
end
end
when button begin
local lev = pc.getqf("current")
if lev == 0 then return end
if pc.getqf("buttonstate") == 3 then
if pc.getqf("complete") != lev then
pc.setqf("complete", lev)
local s = pc.getqf("select")
if s == 0 then s = 1 end
say_title(string.format(gameforge.levelup._50_sayTitle, lev))
say(gameforge.levelup._60_say)
say("")
if lev <= 20 then
if lev <= table.getn(special.levelup_reward1) then
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give,
special.levelup_reward1[lev][pc.job+1])
else
local v = number(1,100)
if v <= special.levelup_reward3[1][1] then
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give, special.levelup_reward3[1][2],special.levelup_reward3[1][3])
elseif v <= special.levelup_reward3[2][1] then
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give, special.levelup_reward3[2][2],special.levelup_reward3[2][3])
elseif v <= special.levelup_reward3[3][1] then
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give, special.levelup_reward3[3][2],special.levelup_reward3[3][3])
elseif v <= special.levelup_reward3[4][1] then
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give, special.levelup_reward3[4][2],special.levelup_reward3[4][3])
else
pc.give_item(gameforge.levelup._64_give..lev..gameforge.levelup._65_give, special.levelup_reward3[5][2],special.levelup_reward3[5][3])
end
end
pc.give_exp_perc(gameforge.levelup._64_give..lev..gameforge.levelup._66_give, 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(string.format(gameforge.levelup._70_sayReward, item_name(50083) ))
wait()
end
else
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(gameforge.levelup._80_sayReward)
if type(t) == 'table' then
pc.give_item2(t[1], t[2])
say_reward(string.format(gameforge.levelup._90_sayReward, item_name(t[1]).. " "..t[2]))
else
pc.give_item2(t)
say_reward(string.format(gameforge.levelup._100_sayReward, 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 <= 83 then
reward_gold = special.levelup_reward_gold51
reward_exp = special.levelup_reward_exp51
elseif lev >= 84 and lev <= 90 then
reward_gold = special.levelup_reward_gold51
reward_exp = special.levelup_reward_exp84
end
n = number(0, 99)
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(string.format(gameforge.levelup._110_sayReward, reward_gold[i][1]))
break
else
n = n - reward_gold[i][2]
end
end
n = number(0, 99)
i = 0
for i = 1, table.getn(reward_exp) do
if n < reward_exp[i][2] then
pc.give_exp_perc(gameforge.levelup._64_give..lev..gameforge.levelup._66_give, lev, reward_exp[i][1])
say_reward(string.format(gameforge.levelup._120_sayReward, reward_exp[i][1]))
break
else
n = n - reward_exp[i][2]
end
end
say("")
wait()
end
end
local old_lev = lev
lev = lev + 1
if lev > 1 and lev < 90 and pc.level >= lev then
pc.setqf("buttonstate", 2)
makequestbutton(string.format(gameforge.levelup._130_makequestbutton, lev))
pc.setqf("current", lev)
pc.setqf("select", 1)
pc.setqf("remain",special.levelup_quest[lev][2])
setskin(NOWINDOW)
return
else
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_title(gameforge.levelup._140_sayTitle)
say(gameforge.levelup._150_say)
local sel = select(
mob_name(special.levelup_quest[lev][1]).." "..special.levelup_quest[lev][2]..gameforge.levelup._155_say,
mob_name(special.levelup_quest[lev][3]).." "..special.levelup_quest[lev][4]..gameforge.levelup._155_say
)
setskin(SCROLL)
setbgimage('level_bg.tga')
say("")
say("")
say("")
pc.setqf("select", sel)
addimage(20, 12, special.levelup_img[special.levelup_quest[lev][sel*2-1]])
setcolor(0,0,0)
say(string.format(gameforge.levelup._20_say, mob_name(special.levelup_quest[lev][sel*2-1])))
say(string.format(gameforge.levelup._26_say,special.levelup_quest[lev][sel*2]))
say(string.format(gameforge.levelup._27_say,special.levelup_quest[lev][5]))
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.gold)
end
raw_script(newline)
levelup.show_mob_pos(lev)
local s = select(gameforge.levelup._160_select)
if s == 1 then
setskin(NOWINDOW)
pc.setqf("remain",special.levelup_quest[lev][sel*2])
syschat(string.format(gameforge.levelup._170_chat, mob_name(special.levelup_quest[lev][sel*2-1])," ".. special.levelup_quest[lev][sel*2]))
q.set_title(string.format(gameforge.levelup._180_qSetTitle, mob_name(special.levelup_quest[lev][sel*2-1])))
q.set_counter(gameforge.levelup._250_say, 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_title(gameforge.levelup._140_sayTitle)
say(string.format(gameforge.levelup._190_say, pc.getqf("remain")..gameforge.levelup._195_say..mob_name(special.levelup_quest[lev][s*2-1])))
local ss = select(gameforge.levelup._200_select, gameforge.locale.levelup.prev_quest_go)
if ss == 1 then
setskin(SCROLL)
setbgimage('level_bg.tga')
say("")
say("")
say("")
addimage(20,12,special.levelup_img[special.levelup_quest[lev][s*2-1]])
setcolor(0,0,0)
say(string.format(gameforge.levelup._20_say,mob_name(special.levelup_quest[lev][s*2-1])))
say(string.format(gameforge.levelup._26_say,special.levelup_quest[lev][s*2]))
raw_script(string.format(gameforge.levelup._27_say,special.levelup_quest[lev][5]))
say("")
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.gold)
end
raw_script(newline)
select(gameforge.locale.confirm)
setskin(NOWINDOW)
clearmapsignal()
end
setskin(NOWINDOW)
q.set_title(string.format(gameforge.levelup._180_qSetTitle, mob_name(special.levelup_quest[lev][s*2-1])))
q.set_counter(gameforge.levelup._250_say,pc.getqf("remain"))
q.start()
end
end
pc.setqf("buttonstate", -1)
end
when levelup begin
local lev = pc.getqf("current");
if lev == 0 then
lev = pc.level
if lev < 2 or lev > 90 then return end
pc.setqf("buttonstate", 2)
makequestbutton(string.format(gameforge.levelup._10_makequestbutton, lev))
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(string.format(gameforge.levelup._50_sayTitle, lev))
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(string.format(gameforge.levelup._210_chat, map_index))
return
end
if map_index > table.getn(special.lvq_map) then
test_chat(string.format(gameforge.levelup._220_chat, 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(string.format(gameforge.levelup._230_chat, map_index))
return
end
mob_pos_list = lev_quest_list[lev]
if not mob_pos_list then
test_chat(string.format(gameforge.levelup._230_chat, map_index..")][lev("..lev))
return
end
table.foreachi(
mob_pos_list,
function (n, mob_pos)
test_chat(string.format(gameforge.levelup._240_chat, mob_pos[1],mob_pos[2]))
addmapsignal(mob_pos[1]*100, mob_pos[2]*100)
end
)
setmapcenterposition(200, 0)
end
end
end