forked from metin2/server
229 lines
7.3 KiB
Plaintext
229 lines
7.3 KiB
Plaintext
quest main_quest_lv78 begin
|
|
state start begin
|
|
end
|
|
state state_0 begin
|
|
when login or levelup or enter with pc.level >= 78 begin
|
|
set_state (state_1)
|
|
end
|
|
end
|
|
state state_1 begin
|
|
when letter begin
|
|
local v = find_npc_by_vnum (20369)
|
|
if v != 0 then
|
|
target.vid ("__TARGET__",v,"")
|
|
end
|
|
send_letter(gameforge.main_quest_lv78._10_sendLetter)
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv78._10_sendLetter)
|
|
say (gameforge.main_quest_lv78._20_say)
|
|
end
|
|
when 20369.chat.gameforge.main_quest_lv78._10_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._30_say)
|
|
wait()
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._40_say)
|
|
set_state (make_red_bead)
|
|
end
|
|
end
|
|
state make_red_bead begin
|
|
when enter begin
|
|
pc.setqf ("first_make_time", 0)
|
|
end
|
|
when 2205.kill or 2204.kill or 2203.kill begin
|
|
if number(1, 500) == 1 then
|
|
pc.give_item2 (31007, 1)
|
|
end
|
|
end
|
|
when 20369.chat.gameforge.main_quest_lv78._10_sendLetter begin
|
|
if pc.count_item (31006) >= 20 then
|
|
say_title (mob_name(20369))
|
|
say(string.format(gameforge.main_quest_lv78._50_say, 20))
|
|
wait()
|
|
|
|
say_title (locale.reward)
|
|
say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 36000000))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(72725)))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(70024)))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(70004)))
|
|
|
|
pc.give_exp2(36000000)
|
|
|
|
pc.give_item2(72725) -- 수룡의 축복(대)
|
|
pc.give_item2(70024) -- 축복의 구슬
|
|
pc.give_item2(70004) -- 근면함의 훈장
|
|
pc.remove_item (31006, pc.count_item (31006))
|
|
set_state (state_2)
|
|
return
|
|
end
|
|
local t = get_global_time()
|
|
local today = t - math.mod (t, 86400)
|
|
if pc.getqf ("first_make_time") != today then
|
|
pc.setqf ("first_make_time", today)
|
|
pc.setqf ("make_count", 0)
|
|
end
|
|
if pc.count_item (90010) < 1 or pc.count_item (30019) < 1 or
|
|
pc.count_item (31007) < 1 then
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say (gameforge.main_quest_lv78._60_say)
|
|
return
|
|
end
|
|
local n = pc.getqf ("make_count")
|
|
if n >= 7 then
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._70_say)
|
|
return
|
|
else
|
|
pc.remove_item(90010, 1)
|
|
pc.remove_item(30019, 1)
|
|
pc.remove_item(31007, 1)
|
|
say_title(gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._80_say)
|
|
wait()
|
|
pc.setqf ("make_count", n + 1)
|
|
local n = number (1,100)
|
|
if n > 60 then
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._90_say)
|
|
wait()
|
|
elseif pc.count_item (31006) < 20 then
|
|
pc.give_item2 (31006, 1)
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._100_say)
|
|
say_item_vnum(31006)
|
|
wait ()
|
|
else
|
|
say_title (mob_name(20369))
|
|
say(string.format(gameforge.main_quest_lv78._50_say, 20))
|
|
wait()
|
|
|
|
say_title (locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 36000000))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(72725)))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70024)))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70004)))
|
|
|
|
pc.give_exp2(36000000)
|
|
|
|
pc.give_item2(72725) -- 수룡의 축복(대)
|
|
pc.give_item2(70024) -- 축복의 구슬
|
|
pc.give_item2(70004) -- 근면함의 훈장
|
|
pc.remove_item (31006, pc.count_item (31006))
|
|
set_state (state_2)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
state state_2 begin
|
|
when letter begin
|
|
local v = find_npc_by_vnum (20369)
|
|
if v != 0 then
|
|
target.vid ("__TARGET__",v,"")
|
|
end
|
|
send_letter (gameforge.main_quest_lv78._110_sendLetter)
|
|
end
|
|
when button or info begin
|
|
say_title (gameforge.main_quest_lv78._110_sendLetter)
|
|
say(gameforge.main_quest_lv78._120_say)
|
|
end
|
|
when 20369.chat.gameforge.main_quest_lv78._110_sendLetter with pc.count_item (31004) < 100 begin
|
|
target.delete("__TARGET__")
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._130_say)
|
|
wait()
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._140_say)
|
|
end
|
|
when 2315.kill or 2314.kill begin
|
|
if number (1, 300) == 1 then
|
|
pc.give_item2 (31004, 1)
|
|
local n = pc.count_item (31004)
|
|
if n < 100 then
|
|
notice (string.format(gameforge.main_quest_lv78._150_say, 100 - n))
|
|
else
|
|
notice_multiline(gameforge.main_quest_lv78._160_notice, notice)
|
|
end
|
|
end
|
|
end
|
|
when 20369.chat.gameforge.main_quest_lv78._110_sendLetter with pc.count_item (31004) >= 100 begin
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._170_say)
|
|
wait()
|
|
say_title ( pc.getname())
|
|
say(gameforge.main_quest_lv78._180_say)
|
|
wait()
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._190_say)
|
|
wait()
|
|
say_title (gameforge.main_quest_lv66._300_sayTitle)
|
|
say(gameforge.main_quest_lv78._200_say)
|
|
wait()
|
|
say_title (locale.reward)
|
|
say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 48000000))
|
|
say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, 230000))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(72729)))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(70035)))
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(70003)))
|
|
|
|
pc.give_exp2(48000000)
|
|
pc.change_money(230000)
|
|
|
|
pc.give_item2(72729) -- 화룡의 축복(대)
|
|
pc.give_item2(70035) -- 만년한철
|
|
pc.give_item2(70003) -- 육도
|
|
pc.remove_item (31004, pc.count_item (31004))
|
|
set_state (state_3)
|
|
end
|
|
end
|
|
state state_3 begin
|
|
when letter begin
|
|
local v = find_npc_by_vnum (20018)
|
|
if v != 0 then
|
|
target.vid ("__TARGET__",v,"")
|
|
end
|
|
send_letter (gameforge.main_quest_lv78._210_sendLetter)
|
|
end
|
|
when button or info begin
|
|
say_title (gameforge.main_quest_lv78._210_sendLetter)
|
|
say(gameforge.main_quest_lv78._220_say)
|
|
end
|
|
when 20018.chat.gameforge.main_quest_lv78._210_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
say_title ( mob_name(20018))
|
|
say(gameforge.main_quest_lv78._230_say)
|
|
wait()
|
|
say_title ( pc.get_name ())
|
|
say(gameforge.main_quest_lv78._240_say)
|
|
wait()
|
|
say_title ( mob_name(20018))
|
|
say(gameforge.main_quest_lv78._250_say)
|
|
wait()
|
|
say_title ( pc.get_name ())
|
|
say(gameforge.main_quest_lv78._260_say)
|
|
wait()
|
|
say_title ( mob_name(20018))
|
|
say(gameforge.main_quest_lv78._270_say)
|
|
wait()
|
|
say_title ( pc.get_name ())
|
|
say(gameforge.main_quest_lv78._280_say)
|
|
wait()
|
|
say_title ( mob_name(20018))
|
|
say(gameforge.main_quest_lv78._290_say)
|
|
wait()
|
|
say_title(locale.reward)
|
|
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(30319).." ".."2"..locale.count_postfix))
|
|
pc.give_item2(30319,2)
|
|
wait()
|
|
say(gameforge.main_quest_lv78._300_say)
|
|
set_state (__COMPLETE__)
|
|
q.done()
|
|
set_quest_state("main_quest_lv84", "state_0")
|
|
|
|
end
|
|
end
|
|
state __COMPLETE__ begin
|
|
end
|
|
end
|