492 lines
13 KiB
Plaintext
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
|