forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/pre_qc/main_quest_lv91.quest

769 lines
22 KiB
Plaintext

quest main_quest_lv91 begin
state start begin
end
state state0 begin
when login or levelup or enter with pc.level >= 91 begin
set_state (state1_1)
end
end
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
-----------------<1> 초마단의 서신을 찾아라!1-1-----------------
state state1_1 begin
when letter begin
send_letter (gameforge.main_quest_lv91._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_lv91._010_sendLetter)
say(gameforge.main_quest_lv91._020_say)
end
when 20378.chat.gameforge.main_quest_lv91._010_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._030_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._050_say)
wait()
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._060_say)
wait()
set_state (state1_2)
end
end
state state1_2 begin
when letter begin
send_letter(gameforge.main_quest_lv91._010_sendLetter)
--q.set_counter_name(locale.main_quest_lv91.remain_mob)
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_lv91._070_sayTitle)
say(gameforge.main_quest_lv91._080_say)
-- say()
-- say_reward(locale.main_quest_lv91.pos_info)
-- select(gameforge.main_quest_lv90._950_say)
-- setskin(NOWINDOW)
-- clearmapsignal()
--say_title(gameforge.main_quest_lv91._760_say)
--local remain = 10 - pc.getqf("mob1_1_killed")
--if remain < 0 then
-- remain = 0
--end
--q.set_counter_value(remain)
--say_title(string.format(gameforge.main_quest_lv91._770_say,mob_name(3205),remain))
end
--[[
--클리어 전--
when 20378.chat.gameforge.main_quest_lv91._010_sendLetter begin
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._520_say)
end
--]]
when 3205.kill begin
local mob1_1_killed = pc.getqf("mob1_1_killed")
if mob1_1_killed < 10 then
pc.setqf("mob1_1_killed", mob1_1_killed + 1)
local remain = 10 - pc.getqf("mob1_1_killed")
if remain < 0 then
remain = 0
end
--q.set_counter_value(remain)
if remain == 0 then
say_title(mob_name(3205))
say(gameforge.main_quest_lv91._100_say)
notice_multiline(gameforge.main_quest_lv91._090_1_notice,notice)
notice_multiline(gameforge.main_quest_lv91._090_2_notice,notice)
set_state (state1_3)
end
end
end
end
state state1_3 begin
when letter begin
send_letter(gameforge.main_quest_lv91._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_lv91._010_sendLetter)
say(gameforge.main_quest_lv91._110_say)
end
when 20378.chat.gameforge.main_quest_lv91._010_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._120_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._130_say)
wait()
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._150_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 18803050))
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 0))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30051),1,locale.count_postfix))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(50814),10,locale.count_postfix))
say("")
pc.give_exp2(18803050)
--pc.change_money(0)
pc.give_item2(30051, 1)
pc.give_item2(50814, 10)
set_state (state2_1)
end
end
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
-----------------<2> 초마단의 서신을 탈환하라!-----------------
state state2_1 begin
when letter begin
send_letter(gameforge.main_quest_lv91._160_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_lv91._160_sendLetter)
say(gameforge.main_quest_lv91._170_say)
end
when 20378.chat.gameforge.main_quest_lv91._160_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._180_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._190_say)
set_state (state2_2)
end
end
state state2_2 begin
when letter begin
send_letter(gameforge.main_quest_lv91._160_sendLetter)
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_lv91._200_sayTitle)
say(gameforge.main_quest_lv91._210_say)
say_item_vnum(31075)
-- say()
-- say_reward(locale.main_quest_lv91.pos_info)
-- say()
-- say()
-- select(gameforge.main_quest_lv90._950_say)
-- setskin(NOWINDOW)
-- clearmapsignal()
end
--클리어 전--
when 20378.chat.gameforge.main_quest_lv91._160_sendLetter begin
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._220_say)
end
when 3291.kill begin
if number(1,500) == 1 then
if pc.count_item(31075) < 1 then
notice_multiline(gameforge.main_quest_lv91._230_1_notice,notice)
notice_multiline(gameforge.main_quest_lv91._230_2_notice,notice)
pc.give_item2(31075, 1)
set_state (state2_3)
end
end
end
end
-- 퀘스트 완료
state state2_3 begin
when letter begin
send_letter(gameforge.main_quest_lv91._160_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_lv91._160_sendLetter)
say(gameforge.main_quest_lv91._240_say)
end
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
when 3291.kill begin
if number(1,500) == 1 then
if pc.count_item(31075) < 1 then
notice_multiline(gameforge.main_quest_lv91._230_1_notice,notice)
notice_multiline(gameforge.main_quest_lv91._230_2_notice,notice)
pc.give_item2(31075, 1)
end
end
end
when 20378.chat.gameforge.main_quest_lv91._160_sendLetter begin
target.delete("__TARGET__")
if pc.count_item(31075) >= 1 then
pc.remove_item ( 31075, pc.count_item(31075))
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._250_say)
wait()
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._260_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 24873650))
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 0))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(50722),20,locale.count_postfix))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(72016),1,locale.count_postfix))
say("")
pc.give_exp2(24873650)
--pc.change_money(0)
pc.give_item2(50722, 20)
pc.give_item2_select(72016)
item.set_socket(2, 120)
set_state (state3_1)
else
say_title(mob_name(20378))
say(gameforge.main_quest_lv91._220_say)
set_state (state2_2)
end
end
end
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
-----------------<3> 두번째 서신 판독1-1-----------------
state state3_1 begin
when letter begin
send_letter(gameforge.main_quest_lv91._270_sendLetter)
local v = find_npc_by_vnum(20380)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20380))
end
end
when button or info begin
say_title(gameforge.main_quest_lv91._270_sendLetter)
say(gameforge.main_quest_lv91._280_say)
end
when 20380.chat.gameforge.main_quest_lv91._270_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._290_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._300_say)
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._310_say)
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._320_say)
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._330_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._340_say)
set_state (state3_2)
end
end
state state3_2 begin
when letter begin
send_letter(gameforge.main_quest_lv91._270_sendLetter)
q.set_counter_name(gameforge.main_quest_lv90._1180_say)
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_lv91._350_sayTitle)
say(gameforge.main_quest_lv91._360_say)
say_item_vnum(31018)
say(gameforge.main_quest_lv90._1180_say)
local remain = 10 - pc.getqf("item3_1_checked")
if remain < 0 then
remain = 0
end
q.set_counter_value(remain)
say_reward(string.format(gameforge.main_quest_lv90._1190_say,item_name(31018),remain))
-- say()
-- say_reward(locale.main_quest_lv91.pos_info)
-- select(gameforge.main_quest_lv90._950_say)
-- setskin(NOWINDOW)
-- clearmapsignal()
end
--클리어 전--
when 20380.chat.gameforge.main_quest_lv91._270_sendLetter with pc.count_item(31018) > 0 begin
if pc.count_item(31018) > 0 then
pc.remove_item(31018, 1)
if number(1, 100 ) <= 70 then -- 납품 성공
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._380_say)
pc.setqf("item3_1_checked", pc.getqf("item3_1_checked") + 1)
local remain = 10 - pc.getqf("item3_1_checked")
if remain < 0 then
remain = 0
end
q.set_counter_value(remain)
if pc.getqf("item3_1_checked") >= 10 then -- 납품 갯수 달성
pc.remove_item(31018, pc.count_item(31018))
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._390_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 25805450))
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 214000))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30009),2,locale.count_postfix))
say("")
pc.give_exp2(25805450)
pc.change_money(214000)
pc.give_item2(30009, 2)
set_state (state4_1)
q.set_counter_name("")
else -- 납품 갯수 미달
say(string.format(gameforge.main_quest_lv91._400_say,remain))
end
else -- 납품 실패
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._370_say)
end
end
end
when 3601.kill or 3602.kill or 3603.kill or 3604.kill or 3605.kill begin
if number(1,300) == 1 then
pc.give_item2(31018, 1)
notice_multiline(gameforge.main_quest_lv91._410_1_notice,notice)
notice_multiline(gameforge.main_quest_lv91._410_2_notice,notice)
end
end
end
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
-----------------<4> 두번째 서신 판독1-2-----------------
state state4_1 begin
when letter begin
send_letter(gameforge.main_quest_lv91._420_sendLetter)
local v = find_npc_by_vnum(20380)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20380))
end
end
when button or info begin
say_title(gameforge.main_quest_lv91._420_sendLetter)
say(gameforge.main_quest_lv91._430_say)
end
when 20380.chat.gameforge.main_quest_lv91._420_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._440_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._450_say)
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._460_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._470_say)
set_state (state4_2)
end
end
state state4_2 begin
when letter begin
send_letter(gameforge.main_quest_lv91._420_sendLetter)
q.set_counter_name(gameforge.main_quest_lv90._1180_say)
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_lv91._480_sayTitle)
say(gameforge.main_quest_lv91._490_say)
say_item_vnum(31019)
say(gameforge.main_quest_lv90._1180_say)
local remain = 3 - pc.getqf("item4_1_checked")
if remain < 0 then
remain = 0
end
q.set_counter_value(remain)
say_reward(string.format(gameforge.main_quest_lv90._1190_say,item_name(31019),remain))
-- say()
-- say_reward(locale.main_quest_lv91.pos_info)
-- select(gameforge.main_quest_lv90._950_say)
-- setskin(NOWINDOW)
-- clearmapsignal()
end
--클리어 전--
when 20380.chat.gameforge.main_quest_lv91._420_sendLetter with pc.count_item(31019) > 0 begin
if pc.count_item(31019) > 0 then
local cur_t = get_global_time() - 60 * 60 * 9
local today_date = cur_t - math.mod(cur_t,86400)
local last_checked_date = pc.getqf("last_checked_date")
if today_date ~= last_checked_date then
pc.setqf("last_checked_date", today_date)
pc.setqf("today_item4_1_checked",0)
end
local today_item4_1_checked = pc.getqf("today_item4_1_checked")
if today_item4_1_checked >= 1 then --1일 납품 갯수 초과
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._500_say)
else -- 납품 시도.
pc.remove_item(31019, 1)
if number(1, 100 ) <= 70 then -- 납품 성공
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._510_say)
pc.setqf("item4_1_checked", pc.getqf("item4_1_checked") + 1)
pc.setqf("today_item4_1_checked", pc.getqf("today_item4_1_checked") + 1)
local remain = 3 - pc.getqf("item4_1_checked")
if remain < 0 then
remain = 0
end
q.set_counter_value(remain)
if pc.getqf("item4_1_checked") >= 3 then -- 납품 갯수 달성
pc.remove_item(31019, pc.count_item(31019))
wait()
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._520_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 27874000))
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 225000))
say("")
pc.give_exp2(27874000)
pc.change_money(225000)
set_state (state5_1)
q.set_counter_name("")
else -- 납품 갯수 미달
say(string.format(gameforge.main_quest_lv91._530_say,remain))
end
else -- 납품 실패
say_title(mob_name(20380 ))
say(gameforge.main_quest_lv91._540_say)
end
end
end
end
when 3690.kill or 3691.kill begin
if number(1,300) == 1 then
pc.give_item2(31019, 1)
notice_multiline(gameforge.main_quest_lv91._550_1_notice,notice)
notice_multiline(gameforge.main_quest_lv91._550_2_notice,notice)
end
end
end
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
-----------------<5> 학자의 병환-----------------
state state5_1 begin
when letter begin
send_letter(gameforge.main_quest_lv91._560_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_lv91._560_sendLetter)
say(gameforge.main_quest_lv91._570_say)
end
when 20378.chat.gameforge.main_quest_lv91._560_sendLetter begin
target.delete("__TARGET__")
say_title(mob_name(20378 ))
say(gameforge.main_quest_lv91._580_say)
wait()
say_title(mob_name(20378 ))
say(gameforge.main_quest_lv91._590_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._600_say)
wait()
say_title(mob_name(20378 ))
say(gameforge.main_quest_lv91._610_say)
set_state (state5_2)
end
end
state state5_2 begin
when letter begin
send_letter(gameforge.main_quest_lv91._560_sendLetter)
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_lv91._620_sayTitle)
say(gameforge.main_quest_lv91._630_say)
say_item_vnum(31020)
-- say()
-- say_reward(locale.main_quest_lv91.pos_info)
-- select(gameforge.main_quest_lv90._950_say)
-- setskin(NOWINDOW)
-- clearmapsignal()
end
when 20382.click begin
if pc.count_item(31020) < 1 then
pc.give_item2(31020, 1)
notice_multiline(gameforge.main_quest_lv91._640_1_notice,notice)
set_state (state5_3)
end
end
when 20380.chat.gameforge.main_quest_lv91._560_sendLetter with pc.count_item(31020) >= 1 begin
target.delete("__TARGET__")
pc.remove_item(31020, pc.count_item(31020))
say_title(mob_name(20380))
say(gameforge.main_quest_lv91._650_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._660_say)
wait()
say_title(mob_name(20380))
say(gameforge.main_quest_lv91._670_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 6766050))
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 0))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30045),2,locale.count_postfix))
say("")
say_title(gameforge.main_quest_lv91._780_say)
pc.give_exp2(6766050)
--pc.change_money(0)
pc.give_item2(30045, 2)
clear_letter()
set_quest_state ("main_quest_lv92", "state0")
set_state (__COMPLETE__)
end
end
-- 퀘스트 완료
state state5_3 begin
when letter begin
send_letter(gameforge.main_quest_lv91._560_sendLetter)
local v = find_npc_by_vnum(20380)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20380))
end
end
when button or info begin
say_title(gameforge.main_quest_lv91._560_sendLetter)
say(gameforge.main_quest_lv91._680_say)
end
-- 아이템 분실 대비.
when 20382.click begin
if pc.count_item(31020) < 1 then
pc.give_item2(31020, 1)
notice_multiline(gameforge.main_quest_lv91._640_1_notice,notice)
end
end
when 20380.chat.gameforge.main_quest_lv91._560_sendLetter with pc.count_item(31020) >= 1 begin
target.delete("__TARGET__")
pc.remove_item(31020, pc.count_item(31020))
say_title(mob_name(20380))
say(gameforge.main_quest_lv91._650_say)
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv91._660_say)
wait()
say_title(mob_name(20380))
say(gameforge.main_quest_lv91._670_say)
wait()
--보상
say_title(locale.reward)
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, 6766050))
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, 0))
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(30045),2,locale.count_postfix))
say("")
say_title(gameforge.main_quest_lv91._780_say)
pc.give_exp2(6766050)
--pc.change_money(0)
pc.give_item2(30045, 2)
clear_letter()
set_quest_state ("main_quest_lv92", "state0")
set_state (__COMPLETE__)
end
end
state __COMPLETE__ begin
when enter begin
q.done()
end
end
end