server/gamefiles/locale/english/quest/main_quest_lv60.quest

492 lines
13 KiB
Plaintext

define acient_rubbing 31001
define acient_doc 31002
----------------------------------
-- 메인퀘스트 LV60
-- 의외의 단서 : 을두지와 흑암국
-- 2011.11.24 김용욱
----------------------------------
quest main_quest_lv60 begin
state start begin
when login or levelup or enter with pc.get_level() >= 60 begin
if pc.getf("main_quest_lv55", "__status")==main_quest_lv55.__COMPLETE__ then
set_state ( quest1_begin )
end
end
end
state run begin
when login or levelup or enter with pc.get_level() >= 60 begin
set_state ( quest1_begin )
end
end
state quest1_begin begin
when letter begin --퀘스트편지1
send_letter(gameforge.main_quest_lv60._10_sendLetter)
-- 을두지를 가리킨다.
local vid_20011 = find_npc_by_vnum(20011)
if 0 != vid_20011 then
target.vid("__TARGET__", vid_20011, mob_name(20011))
end
end
when button or info begin -- 퀘스트편지1 내용
say_title(gameforge.main_quest_lv60._10_sendLetter)
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._20_say)
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._30_say)
say("")
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv60._40_say)
say("")
wait()
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._50_say)
say("")
set_state ( quest2_begin )
end
end
state quest2_begin begin
-----------퀘스트편지2------------
when letter begin
send_letter(gameforge.main_quest_lv60._60_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._60_sendLetter)
say(gameforge.main_quest_lv60._70_say)
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._80_say)
say("")
wait()
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._90_say)
say("")
wait()
say_title(pc.getname())
say(gameforge.main_quest_lv60._100_say)
say("")
wait()
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._110_say)
set_state (quest2_ongoing)
end
end
state quest2_ongoing begin --을두지와 대화하고 탁본을 받아오라는 미션을 받았다.
-----------퀘스트편지2------------
when letter begin
send_letter(gameforge.main_quest_lv60._60_sendLetter)
-- 흑암국의 고대 비석을 가리킨다. (지금은 마을 npc를 가리킨다.)
local v = find_npc_by_vnum(20371)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20371))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._60_sendLetter)
say(gameforge.main_quest_lv60._120_say)
say("")
end
--을두지를 선택하면 해당 퀘스트에 관련된 대화를 나눌 수 있다.
when 20011.gameforge.main_quest_lv60._60_sendLetter begin
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._130_say)
say("")
end
--흑암국의 고대 비석을 누르면.
when 20371.click begin
target.delete("__TARGET__")
say_reward(gameforge.main_quest_lv60._140_sayReward)
pc.give_item2 ( acient_rubbing )
say("")
set_state (quest2_end)
end
end
--고대 비석의 탁본을 얻었다.
state quest2_end begin
-----------퀘스트편지2------------
when letter begin
send_letter(gameforge.main_quest_lv60._60_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._60_sendLetter)
say(gameforge.main_quest_lv60._150_say)
say("")
end
when __TARGET__.target.click begin
pc.remove_item ( acient_rubbing, 1 )
target.delete("__TARGET__")
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._160_say)
say("")
wait()
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._170_say)
say("")
wait()
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._180_say)
say("")
wait()
say_title(locale.reward)
say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 980000))
say_reward(string.format(gameforge.main_quest_lv60._200_sayReward, 175000))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(71001).." ".."10"..locale.count_postfix))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(50721).." ".."10"..locale.count_postfix))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(50725).." ".."10"..locale.count_postfix))
say("")
-- 보상 지급 --
-- 이곳에 보상 지급을 구현한다.
pc.give_exp2(980000)
pc.change_money(175000)
pc.give_item2(71001, 10) -- 주안술서
pc.give_item2(50721, 10) -- 복숭아꽃
pc.give_item2(50725, 10) -- 석창포
set_state (quest3_begin)
end
end
state quest3_begin begin
-------퀘스트편지3---------
when letter begin
send_letter(gameforge.main_quest_lv60._220_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._220_sendLetter)
say(gameforge.main_quest_lv60._230_say)
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._240_say)
say("")
set_state (quest3_ongoing1)
end
end
state quest3_ongoing1 begin
-------퀘스트편지3---------
when letter begin
send_letter(gameforge.main_quest_lv60._220_sendLetter)
-- 흑적귀목의 위치를 표시한다.--
--------------------------------
--------------------------------
end
when button or info begin
say_title(gameforge.main_quest_lv60._220_sendLetter)
say(gameforge.main_quest_lv60._230_say)
say("")
end
--을두지를 선택하면 해당 퀘스트에 관련된 대화를 나눌 수 있다.
when 20011.chat.gameforge.main_quest_lv60._220_sendLetter begin
say_title(mob_name(20011))
say(gameforge.main_quest_lv60._260_say)
say("")
end
--흑적귀목을 잡았을때 1000분의 1 확률로 퀘스트 조건을 만족시켜 준다.
when 2305.kill begin
if number (1,100) == 1 then
pc.give_item2 (acient_doc, 1 )
say_reward(gameforge.main_quest_lv60._270_sayReward)
say("")
--3.진행
set_state (quest3_end1)
end
end
end
-- 고대문서를 하나 얻었다. 을두지에게 가져다줘야한다.
state quest3_end1 begin
-------퀘스트편지3---------
when letter begin
send_letter(gameforge.main_quest_lv60._220_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._220_sendLetter)
say(gameforge.main_quest_lv60._230_say)
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._280_say)
say("")
wait()
--@@@@@@@@@버그@@@@@@@@@@--
--1. 다음의 내용이 뜨지 않는다.
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
pc.remove_item (acient_doc, 1 )
say(gameforge.main_quest_lv60._290_say)
say("")
set_state (quest3_ongoing2)
end
end
state quest3_ongoing2 begin
--이 상태에 처음 들어오게 되면 '남은 고대의 문서' 퀘스트 플래그를 생성한다.
-- 초기값은 9로 시작해서 몬스터를 잡을때마다 1씩 줄여 0까지 간다.
-- 0이 되면 퀘스트 스테이트를 변화시킨다.
when enter begin
pc.setqf("remain_item",9)
end
--*************************--
-------퀘스트편지3_1---------
when letter begin
send_letter(gameforge.main_quest_lv60._220_sendLetter)
-- 흑적귀목의 위치를 표시한다.--
--------------------------------
--------------------------------
end
when button or info begin
say_title(gameforge.main_quest_lv60._220_sendLetter)
say(gameforge.main_quest_lv60._230_say)
say("")
q.set_counter(gameforge.main_quest_lv60._250_counter, pc.getqf("remain_item"))
end
-----------------------------
--*************************--
--흑적귀목을 잡았을때 1000분의 1 확률로 남은 고대 문서 수를 줄여준다.
when 2305.kill begin
if number (1,100) == 1 then
local remain_item_prev = pc.getqf("remain_item")
pc.setqf("remain_item",remain_item_prev-1)
pc.give_item2 (acient_doc, 1 )
notice(string.format(gameforge.main_quest_lv60._300_say,pc.getqf("remain_item")))
-- 모든 문서를 다 얻었으면 다음 퀘스트로 넘어간다.
if pc.getqf("remain_item")==0 then
-- 흑적귀목의 위치 표시를 없애준다 --
-------------------------------------
-------------------------------------
set_state (quest3_end2)
end
end
end
end
state quest3_end2 begin
--*************************--
-------퀘스트편지3_1---------
when letter begin
send_letter(gameforge.main_quest_lv60._220_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._220_sendLetter)
say(gameforge.main_quest_lv60._230_say)
say("")
q.set_counter(gameforge.main_quest_lv60._250_counter, pc.getqf("remain_item"))
end
-----------------------------
--*************************--
when __TARGET__.target.click begin
target.delete("__TARGET__")
pc.remove_item (acient_doc, pc.count_item (acient_doc) )
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._310_say)
say("")
wait()
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._320_say)
say("")
wait()
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._330_say)
say("")
wait()
say_title(locale.reward)
----"12345678901234567890123456789012345678901234567890"|
say_reward(string.format(gameforge.main_quest_lv60._190_sayReward, 3300000))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(71094).." ".."3"..locale.count_postfix))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(30056)))
say_reward(string.format(gameforge.main_quest_lv60._210_sayReward, item_name(30025)))
say("")
-- 보상 지급 --
pc.give_exp2(3300000)
pc.give_item2(71094, 3) -- 선인의 교훈 * 3
pc.give_item2(30056) -- 거미줄
pc.give_item2(30025) -- 거미의 독주머니
set_state (quest4_begin)
end
end
state quest4_begin begin
--*************************--
-------퀘스트편지4-----------
when letter begin
send_letter(gameforge.main_quest_lv60._340_sendLetter)
-- 을두지를 가리킨다.
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title(gameforge.main_quest_lv60._340_sendLetter)
say(gameforge.main_quest_lv60._350_say)
say("")
end
-----------------------------
--*************************--
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._360_say)
say("")
wait()
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._370_say)
say("")
wait()
say_title(pc.getname())
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._380_say)
say("")
wait()
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._390_say)
say("")
wait()
say_title(mob_name(20011))
----"12345678901234567890123456789012345678901234567890"|
say(gameforge.main_quest_lv60._400_say)
say("")
wait()
----"12345678901234567890123456789012345678901234567890"|
say_reward(gameforge.main_quest_lv60._410_sayReward)
say("")
--@@@ 버그 @@@--
--1. 퀘스트 편지가 새로 나타난다.
clear_letter()
set_quest_state ("main_quest_lv66", "state_0")
set_state (__COMPLETE__)
end
end
state __COMPLETE__ begin
when enter begin
q.done()
end
end
end