forked from metin2/server
775 lines
22 KiB
Plaintext
775 lines
22 KiB
Plaintext
quest main_quest_lv98 begin
|
|
state start begin
|
|
end
|
|
state state0 begin
|
|
when login or levelup or enter with pc.level >= 98 begin
|
|
set_state (state1_1)
|
|
end
|
|
end
|
|
----------------------------------명시진 재건 1-1----------------------------------
|
|
state state1_1 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._010_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20378)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20378))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._010_sendLetter)
|
|
say(gameforge.main_quest_lv98._020_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._030_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._040_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv98._050_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._060_say)
|
|
say("")
|
|
|
|
set_state (state1_2)
|
|
end
|
|
end
|
|
--껍질 모으기 퀘스트 수행--
|
|
state state1_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._010_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv98._660_counterName)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == 1 then
|
|
-- addmapsignal(500 * 100, 500 * 100)
|
|
-- addmapsignal(600 * 100, 500 * 100)
|
|
-- addmapsignal(700 * 100, 300 * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv98._540_sayTitle)
|
|
say(gameforge.main_quest_lv98._550_say)
|
|
say("")
|
|
say_item_vnum(31026)
|
|
say_title(gameforge.main_quest_lv98._660_counterName)
|
|
local remain = 100 - pc.count_item(31026)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(31026),remain))
|
|
-- say()
|
|
-- say_reward(locale.main_quest_lv98.pos_info)
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전에 돌아왔다.--
|
|
when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._070_say)
|
|
say("")
|
|
end
|
|
|
|
when 3601.kill or 3602.kill or 3603.kill or 3604.kill or 3605.kill or 3690.kill or 3691.kill begin
|
|
if number (1,50) == 1 then
|
|
if pc.count_item(31026) < 100 then
|
|
pc.give_item2 ( 31026, 1 )
|
|
|
|
local remain = 100 - pc.count_item(31026)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.count_item(31026) >= 100 then
|
|
notice_multiline(gameforge.main_quest_lv98._080_1_notice, notice)
|
|
notice_multiline(gameforge.main_quest_lv98._080_2_notice,notice)
|
|
|
|
set_state (state1_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
state state1_3 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._010_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20378)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20378))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._010_sendLetter)
|
|
say(gameforge.main_quest_lv98._560_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when 3601.kill or 3602.kill or 3603.kill or 3604.kill or 3605.kill or 3690.kill or 3691.kill begin
|
|
if number (1,50) == 1 then
|
|
if pc.count_item(31026) < 100 then
|
|
pc.give_item2 ( 31026, 1 )
|
|
|
|
if pc.count_item(31026) >= 100 then
|
|
notice_multiline(gameforge.main_quest_lv98._080_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._080_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when 20378.chat.gameforge.main_quest_lv98._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(31026) >= 100 then
|
|
pc.remove_item ( 31026, pc.count_item(31026))
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._090_say)
|
|
say("")
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 40898550))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 346000))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(72308),1,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(76011),1,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(40898550)
|
|
pc.change_money(346000)
|
|
pc.give_item2(72308, 1)
|
|
pc.give_item2_select(76011)
|
|
item.set_socket(2, 120)
|
|
|
|
set_state (state2_1)
|
|
else --중간에 아이템을 빼놓고 왔다.
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._070_say)
|
|
say("")
|
|
|
|
set_state (state1_2)
|
|
end
|
|
end
|
|
end
|
|
|
|
---------------------------------- 명시진 재건 1-2 ----------------------------------
|
|
state state2_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._130_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20378)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20378))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._130_sendLetter)
|
|
say(gameforge.main_quest_lv98._140_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._150_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv98._160_say)
|
|
say("")
|
|
|
|
set_state (state2_2)
|
|
end
|
|
end
|
|
state state2_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._130_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv98._660_counterName)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == 1 then
|
|
-- addmapsignal(500 * 100, 500 * 100)
|
|
-- addmapsignal(600 * 100, 500 * 100)
|
|
-- addmapsignal(700 * 100, 300 * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv98._130_sendLetter)
|
|
say(gameforge.main_quest_lv98._590_say)
|
|
say("")
|
|
say_item_vnum(31042)
|
|
say_title(gameforge.main_quest_lv98._660_counterName)
|
|
local remain = 100 - pc.count_item(31042)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
say_reward(string.format(gameforge.main_quest_lv98._670_sayReward,item_name(31042),remain))
|
|
-- say()
|
|
-- say_reward(locale.main_quest_lv98.pos_info)
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
--클리어 전--
|
|
when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._170_say)
|
|
say("")
|
|
end
|
|
|
|
when 3401.kill or 3402.kill or 3403.kill or 3404.kill or 3405.kill or 3490.kill or 3491.kill begin
|
|
if number (1,50) == 1 then
|
|
if pc.count_item(31042) < 100 then
|
|
pc.give_item2 ( 31042, 1 )
|
|
local remain = 100 - pc.count_item(31042)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.count_item(31042) >= 100 then
|
|
notice_multiline(gameforge.main_quest_lv98._180_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._180_2_notice,notice)
|
|
set_state (state2_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
state state2_3 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._130_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20378)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20378))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._130_sendLetter)
|
|
say(gameforge.main_quest_lv98._600_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when 3401.kill or 3402.kill or 3403.kill or 3404.kill or 3405.kill or 3490.kill or 3491.kill begin
|
|
if number (1,50) == 1 then
|
|
if pc.count_item(31042) < 100 then
|
|
pc.give_item2 ( 31042, 1 )
|
|
|
|
if pc.count_item(31042) >= 100 then
|
|
notice_multiline(gameforge.main_quest_lv98._180_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._180_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when 20378.chat.gameforge.main_quest_lv98._130_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(31042) >= 100 then
|
|
pc.remove_item ( 31042, pc.count_item(31042))
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._190_say)
|
|
say("")
|
|
wait()
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 42646751))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 357000))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(71026),1,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(71025),2,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70102),5,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(42646751)
|
|
pc.change_money(357000)
|
|
pc.give_item2(71026, 1)
|
|
pc.give_item2(71025, 1)
|
|
pc.give_item2(71025, 1)
|
|
|
|
pc.give_item2(70102, 1)
|
|
pc.give_item2(70102, 1)
|
|
pc.give_item2(70102, 1)
|
|
pc.give_item2(70102, 1)
|
|
pc.give_item2(70102, 1)
|
|
|
|
set_state (state3_1)
|
|
else -- 중간에 아이템을 빠뜨렸다.
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._170_say)
|
|
say("")
|
|
|
|
set_state (state2_2)
|
|
|
|
end
|
|
end
|
|
end
|
|
|
|
---------------------------------- 생활 안정----------------------------------
|
|
state state3_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._200_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20377)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20377))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._200_sendLetter)
|
|
say(gameforge.main_quest_lv98._210_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._220_say)
|
|
say("")
|
|
wait()
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._260_say)
|
|
say("")
|
|
wait()
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._280_say)
|
|
say("")
|
|
set_state (state3_2)
|
|
end
|
|
end
|
|
state state3_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._200_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv98._680_counterName)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == 1 then
|
|
-- addmapsignal(500 * 100, 500 * 100)
|
|
-- addmapsignal(600 * 100, 500 * 100)
|
|
-- addmapsignal(700 * 100, 300 * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv98._610_sayTitle)
|
|
say(gameforge.main_quest_lv98._620_say)
|
|
say("")
|
|
say(gameforge.main_quest_lv98._680_counterName)
|
|
local remain1 = 50 - pc.getqf("mob3_1_kill")
|
|
if remain1 < 0 then
|
|
remain1 = 0
|
|
end
|
|
local remain2 = 1 - pc.getqf("mob3_2_kill")
|
|
if remain2 < 0 then
|
|
remain2 = 0
|
|
end
|
|
q.set_counter_value(remain1 + remain2)
|
|
say_reward(string.format(gameforge.main_quest_lv98._690_sayReward,mob_name(3805),remain1,mob_name(3890),remain2))
|
|
-- say()
|
|
-- say_reward(locale.main_quest_lv98.pos_info)
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._300_say)
|
|
say("")
|
|
end
|
|
|
|
when 3805.kill begin
|
|
local mob3_1_kill = pc.getqf("mob3_1_kill")
|
|
if mob3_1_kill < 50 then
|
|
pc.setqf("mob3_1_kill",mob3_1_kill +1)
|
|
|
|
local remain1 = 50 - pc.getqf("mob3_1_kill")
|
|
if remain1 < 0 then
|
|
remain1 = 0
|
|
end
|
|
local remain2 = 1 - pc.getqf("mob3_2_kill")
|
|
if remain2 < 0 then
|
|
remain2 = 0
|
|
end
|
|
q.set_counter_value(remain1 + remain2)
|
|
end
|
|
|
|
if pc.getqf("mob3_1_kill") >= 50 and pc.getqf("mob3_2_kill") >= 1 then
|
|
notice_multiline(gameforge.main_quest_lv98._310_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._310_2_notice,notice)
|
|
|
|
set_state (state3_3)
|
|
end
|
|
end
|
|
when 3890.kill begin
|
|
local mob3_2_kill = pc.getqf("mob3_2_kill")
|
|
if mob3_2_kill < 1 then
|
|
pc.setqf("mob3_2_kill",1)
|
|
|
|
local remain1 = 50 - pc.getqf("mob3_1_kill")
|
|
if remain1 < 0 then
|
|
remain1 = 0
|
|
end
|
|
local remain2 = 1 - pc.getqf("mob3_2_kill")
|
|
if remain2 < 0 then
|
|
remain2 = 0
|
|
end
|
|
q.set_counter_value(remain1 + remain2)
|
|
end
|
|
|
|
if pc.getqf("mob3_1_kill") >= 50 and pc.getqf("mob3_2_kill") >= 1 then
|
|
notice_multiline(gameforge.main_quest_lv98._310_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._310_2_notice,notice)
|
|
|
|
set_state (state3_3)
|
|
end
|
|
end
|
|
end
|
|
state state3_3 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._200_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20377)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20377))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._200_sendLetter)
|
|
say(gameforge.main_quest_lv98._630_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20377.chat.gameforge.main_quest_lv98._200_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._320_say)
|
|
say("")
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 48584941))
|
|
--say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, 0))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30021),1,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(48584941)
|
|
--pc.change_money(0)
|
|
pc.give_item2(30021, 1)
|
|
|
|
set_state (state4_1)
|
|
end
|
|
end
|
|
---------------------------------- 마지막 인사----------------------------------
|
|
state state4_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._330_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20377)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20377))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._330_sendLetter)
|
|
say(gameforge.main_quest_lv98._340_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._350_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._360_say)
|
|
say("")
|
|
wait()
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv98._380_say)
|
|
say("")
|
|
|
|
set_state (state4_2)
|
|
end
|
|
end
|
|
-- 인사 퀘스트 진행 --
|
|
state state4_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._330_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv98._700_counterName)
|
|
|
|
local v_npc1 = find_npc_by_vnum(20381)
|
|
local v_npc2 = find_npc_by_vnum(9002)
|
|
local v_npc3 = find_npc_by_vnum(9003)
|
|
local v_npc4 = find_npc_by_vnum(9001)
|
|
if 0 != v_npc1 and pc.getqf("click_npc1") ~= 1 then
|
|
target.vid("__target_npc1__", v_npc1, mob_name(20381))
|
|
end
|
|
if 0 != v_npc2 and pc.getqf("click_npc2") ~= 1 then
|
|
target.vid("__target_npc2__", v_npc2, mob_name(9002))
|
|
end
|
|
if 0 != v_npc3 and pc.getqf("click_npc3") ~= 1 then
|
|
target.vid("__target_npc3__", v_npc3, mob_name(9003))
|
|
end
|
|
if 0 != v_npc4 and pc.getqf("click_npc4") ~= 1 then
|
|
target.vid("__target_npc4__", v_npc4, mob_name(9001))
|
|
end
|
|
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._640_sayTitle)
|
|
say(gameforge.main_quest_lv98._650_say)
|
|
say("")
|
|
say_title(gameforge.main_quest_lv98._700_counterName)
|
|
local npc1 = " "
|
|
if pc.getqf("click_npc1") == 1 then
|
|
npc1 = "O"
|
|
end
|
|
local npc2 = " "
|
|
if pc.getqf("click_npc2") == 1 then
|
|
npc2 = "O"
|
|
end
|
|
local npc3 = " "
|
|
if pc.getqf("click_npc3") == 1 then
|
|
npc3 = "O"
|
|
end
|
|
local npc4 = " "
|
|
if pc.getqf("click_npc4") == 1 then
|
|
npc4 = "O"
|
|
end
|
|
local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4")
|
|
q.set_counter_value(remain)
|
|
say(string.format(gameforge.main_quest_lv98._710_say,npc1,npc2))
|
|
say(string.format(gameforge.main_quest_lv98._720_say,npc3,npc4))
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
|
|
end
|
|
|
|
-- 클리어 전에 클릭 --
|
|
when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._390_say)
|
|
say("")
|
|
wait()
|
|
end
|
|
|
|
when __target_npc1__.target.click or 20381.click with pc.getqf("click_npc1") ~= 1 begin -- 촌장
|
|
target.delete("__target_npc1__")
|
|
pc.setqf("click_npc1",1)
|
|
|
|
say_title(mob_name(20381))
|
|
say(gameforge.main_quest_lv98._400_say)
|
|
say("")
|
|
|
|
local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4")
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then
|
|
|
|
notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice)
|
|
|
|
set_state (state4_3)
|
|
end
|
|
end
|
|
when __target_npc2__.target.click or 9002.click with pc.getqf("click_npc2") ~= 1 begin -- 방어구
|
|
target.delete("__target_npc2__")
|
|
pc.setqf("click_npc2",1)
|
|
|
|
say_title(mob_name(9002))
|
|
say(gameforge.main_quest_lv98._410_say)
|
|
say("")
|
|
|
|
local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4")
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then
|
|
|
|
notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice)
|
|
|
|
set_state (state4_3)
|
|
end
|
|
|
|
end
|
|
when __target_npc3__.target.click or 9003.click with pc.getqf("click_npc3") ~= 1 begin -- 잡화상점
|
|
target.delete("__target_npc3__")
|
|
pc.setqf("click_npc3",1)
|
|
|
|
say_title(mob_name(9003))
|
|
say(gameforge.main_quest_lv98._430_say)
|
|
say("")
|
|
|
|
local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4")
|
|
q.set_counter_value(remain)
|
|
|
|
|
|
if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then
|
|
|
|
notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice)
|
|
|
|
set_state (state4_3)
|
|
end
|
|
end
|
|
when __target_npc4__.target.click or 9001.click with pc.getqf("click_npc4") ~= 1 begin -- 무기상점
|
|
target.delete("__target_npc4__")
|
|
pc.setqf("click_npc4",1)
|
|
|
|
say_title(mob_name(9001))
|
|
say(gameforge.main_quest_lv98._420_say)
|
|
say("")
|
|
|
|
local remain = 4 - pc.getqf("click_npc1") - pc.getqf("click_npc2") - pc.getqf("click_npc3") - pc.getqf("click_npc4")
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.getqf("click_npc1") == 1 and pc.getqf("click_npc2") == 1 and pc.getqf("click_npc3") == 1 and pc.getqf("click_npc4") == 1 then
|
|
|
|
notice_multiline(gameforge.main_quest_lv98._440_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv98._440_2_notice,notice)
|
|
|
|
set_state (state4_3)
|
|
end
|
|
end
|
|
end
|
|
state state4_3 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._330_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20377)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20377))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._330_sendLetter)
|
|
say(gameforge.main_quest_lv98._630_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20377.chat.gameforge.main_quest_lv98._330_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20377 ))
|
|
say(gameforge.main_quest_lv98._450_say)
|
|
say("")
|
|
wait()
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 32033398))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 379000))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30015),2,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(70043),1,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(32033398)
|
|
pc.change_money(379000)
|
|
pc.give_item2(30015, 2)
|
|
pc.give_item2_select(70043)
|
|
item.set_socket(2, 60)
|
|
|
|
set_state (state5_1)
|
|
end
|
|
end
|
|
----------------------------------다시 대륙으로----------------------------------
|
|
state state5_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv98._480_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(20378)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(20378))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv98._480_sendLetter)
|
|
say(gameforge.main_quest_lv98._490_say)
|
|
say("")
|
|
say_reward(gameforge.main_quest_lv98._570_sayReward)
|
|
say("")
|
|
end
|
|
|
|
when 20378.chat.gameforge.main_quest_lv98._480_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._500_say)
|
|
say("")
|
|
wait()
|
|
|
|
say_title(mob_name(20378))
|
|
say(gameforge.main_quest_lv98._520_say)
|
|
say("")
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 38739560))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 390000))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30006),1,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(38739560)
|
|
pc.change_money(390000)
|
|
pc.give_item2(30006, 1)
|
|
|
|
clear_letter()
|
|
set_state (__COMPLETE__)
|
|
end
|
|
end
|
|
|
|
state __COMPLETE__ begin
|
|
when enter begin
|
|
q.done()
|
|
end
|
|
end
|
|
end
|