forked from metin2/server
1661 lines
51 KiB
Plaintext
1661 lines
51 KiB
Plaintext
--2012.08 김용욱
|
|
--메인퀘스트 레벨 90
|
|
|
|
--퀘스트 진행 npc
|
|
define GUARD 20378 -- 경비대장 악무르 (테스트 : 이충)
|
|
define ICHUNG 20369 -- 이충
|
|
define TELEPORT 9012 -- 공간이동술사
|
|
define YACKHWAN 20377 -- 약령도장 약환 (테스트 : 쓰러져 있는 밀정)
|
|
define SCHOLAR 20380 -- 학자 (테스트 : 생물학자 채기랍)
|
|
define OCKGU 20008 -- 옥구
|
|
define ALCHEMIST 20001 -- 연금술사
|
|
define UNDERLING 20379 -- 악무르의 부하 (테스트 : 쓰러져 있는 밀정)
|
|
|
|
--<01>--
|
|
--<01> 이충의 호출--
|
|
define REWARD01_EXP 0 -- 보상 : 경험치
|
|
define REWARD01_GOLD 50000 -- 보상 : 골드
|
|
--define REWARD01_ITEM1 27103 -- 보상 : 약초? (테스트 : 보라색물약 (소))
|
|
--define REWARD01_ITEM1_COUNT 10 -- 보상 갯수
|
|
|
|
|
|
--<1>--
|
|
--<1> 악룡군도의 상황--
|
|
define RECON1_X 226
|
|
define RECON1_Y 731
|
|
define RECON1_MAPINDEX 301 -- 정찰1 맵 인덱스
|
|
define RECON2_X 1093
|
|
define RECON2_Y 285
|
|
define RECON2_MAPINDEX 301 -- 정찰1 맵 인덱스
|
|
-- define RECON3_X 1071
|
|
-- define RECON3_Y 1303
|
|
-- define RECON3_MAPINDEX 301 -- 정찰1 맵 인덱스
|
|
define RECON4_X 1081
|
|
define RECON4_Y 1289
|
|
define RECON4_MAPINDEX 301 -- 정찰1 맵 인덱스
|
|
|
|
define REWARD1_EXP 0 -- 보상 : 경험치
|
|
define REWARD1_GOLD 100000 -- 보상 : 골드
|
|
--define REWARD1_ITEM1 27103 -- 보상 : 약초? (테스트 : 보라색물약 (소))
|
|
--define REWARD1_ITEM1_COUNT 10 -- 보상 갯수
|
|
|
|
--<2>--
|
|
--이충의 편지--
|
|
define ITEM2_1 31016 -- 이충의 서신
|
|
define ITEM2_1_PCT_GET 1 -- 획득 확률
|
|
define MAP_INDEX2 301 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS2_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS2_1_Y 500
|
|
define MAP_POS2_2_X 600
|
|
define MAP_POS2_2_Y 500
|
|
define MAP_POS2_3_X 700
|
|
define MAP_POS2_3_Y 300
|
|
define MOB2_1 3001
|
|
define MOB2_2 3002
|
|
define MOB2_3 3003
|
|
define MOB2_4 3004
|
|
define MOB2_5 3005
|
|
define MOB2_6 3090
|
|
define MOB2_7 3091
|
|
define REWARD2_EXP 6247460 -- 보상 : 경험치
|
|
define REWARD2_GOLD 137000 -- 보상 : 골드
|
|
define REWARD2_ITEM1 50705 -- 보상 : 석창포
|
|
define REWARD2_ITEM1_COUNT 10 -- 보상 갯수
|
|
|
|
--<3>--
|
|
-- 낭인족의 단서1-1--
|
|
define MOB3_1 3005 -- 낭인족 상급 장수
|
|
define MAP_INDEX3 1 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS3_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS3_1_Y 500
|
|
define MAP_POS3_2_X 600
|
|
define MAP_POS3_2_Y 500
|
|
define MAP_POS3_3_X 700
|
|
define MAP_POS3_3_Y 300
|
|
define ITEM3_1 31009 -- 낭인족의 서신
|
|
define ITEM3_1_NEEDED 1 -- 필요한 갯수
|
|
define ITEM3_1_PCT_GET 500 -- 획득 확률 (1/n)
|
|
define REWARD3_EXP 10421740 -- 보상 : 경험치
|
|
define REWARD3_GOLD 148000 -- 보상 : 골드
|
|
define REWARD3_ITEM1 72001 -- 보상 : 경험의 반지 (1시간)
|
|
define REWARD3_ITEM1_COUNT 1 -- 보상 갯수
|
|
define REWARD3_ITEM2 30046 -- 보상 : 전갈의 꼬리
|
|
define REWARD3_ITEM2_COUNT 1 -- 보상 갯수
|
|
|
|
--<4>--
|
|
--낭인족의 단서1-2--
|
|
define MOB4_1 3090 -- 낭인족 상급 장수
|
|
define ITEM4_1 31009 -- 낭인족의 서신조각
|
|
define ITEM4_1_NEEDED 1 -- 필요한 갯수
|
|
define ITEM4_1_PCT_GET 200 -- 획득 확률 (1/n)
|
|
define MAP_INDEX4 1 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS4_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS4_1_Y 500
|
|
define MAP_POS4_2_X 600
|
|
define MAP_POS4_2_Y 500
|
|
define MAP_POS4_3_X 700
|
|
define MAP_POS4_3_Y 300
|
|
define REWARD4_EXP 15421740 -- 보상 : 경험치
|
|
define REWARD4_GOLD 100000 -- 보상 : 골드
|
|
define REWARD4_ITEM1 30021 -- 보상 : 깨진 보석조각
|
|
define REWARD4_ITEM1_COUNT 1 -- 보상 갯수
|
|
define REWARD4_ITEM2 50708 -- 보상 : 산뽕나무
|
|
define REWARD4_ITEM2_COUNT 10 -- 보상 갯수
|
|
|
|
--<5>--
|
|
--범익족의 규모 파악--
|
|
define MOB5_1 3201 -- 범익족 졸개
|
|
define MOB5_1_COUNT 50
|
|
define MOB5_2 3202 -- 범익족 상급 졸개
|
|
define MOB5_2_COUNT 40
|
|
define MOB5_3 3204 -- 범익족 장군
|
|
define MOB5_3_COUNT 20
|
|
define MOB5_4 3205 -- 범익족 상급 장수
|
|
define MOB5_4_COUNT 10
|
|
define MAP_INDEX5 1 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS5_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS5_1_Y 500
|
|
define MAP_POS5_2_X 600
|
|
define MAP_POS5_2_Y 500
|
|
define MAP_POS5_3_X 700
|
|
define MAP_POS5_3_Y 300
|
|
define REWARD5_EXP 12933740 -- 보상 : 경험치
|
|
define REWARD5_GOLD 170000 -- 보상 : 골드
|
|
define REWARD5_ITEM1 30023 -- 보상 : 백호가죽
|
|
define REWARD5_ITEM1_COUNT 1 -- 보상 갯수
|
|
|
|
--<6>--
|
|
--명시진의 방벽 강화1-1--
|
|
define ITEM6_1 31027 -- 질 좋은 흙
|
|
define ITEM6_1_PCT_GET 200 -- 획득 확률 (1/n)
|
|
define ITEM6_1_NEEDED 50 -- 필요한 갯수
|
|
define MOB6_1 3001
|
|
define MOB6_2 3002
|
|
define MOB6_3 3003
|
|
define MOB6_4 3004
|
|
define MOB6_5 3005
|
|
define MOB6_6 3090
|
|
define MOB6_7 3091
|
|
define MAP_INDEX6 1 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS6_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS6_1_Y 500
|
|
define MAP_POS6_2_X 600
|
|
define MAP_POS6_2_Y 500
|
|
define MAP_POS6_3_X 700
|
|
define MAP_POS6_3_Y 300
|
|
define REWARD6_EXP 14425740 -- 보상 : 경험치
|
|
define REWARD6_GOLD 0 -- 보상 : 골드
|
|
define REWARD6_ITEM1 30006 -- 보상 : 웅귀의 어금니
|
|
define REWARD6_ITEM1_COUNT 1 -- 보상 갯수
|
|
define REWARD6_ITEM2 50707 -- 보상 : 만병초
|
|
define REWARD6_ITEM2_COUNT 5 -- 보상 갯수
|
|
|
|
--<7>--
|
|
--명시진의 방벽 강화1-2--
|
|
define ITEM7_1 31028 -- 벽돌(테스트 : 입문자용 빨간물약(소))
|
|
define ITEM7_1_PCT_GET 200 -- 획득 확률 (1/n)
|
|
define ITEM7_1_NEEDED 100 -- 필요한 갯수
|
|
define MOB7_1 3201
|
|
define MOB7_2 3202
|
|
define MOB7_3 3203
|
|
define MOB7_4 3204
|
|
define MOB7_5 3205
|
|
define MOB7_6 3290
|
|
define MOB7_7 3291
|
|
define MAP_INDEX7 1 -- 몬스터가 나오는 맵 번호
|
|
define MAP_POS7_1_X 500 -- 맵에 반짝이도록 보이는 좌표.
|
|
define MAP_POS7_1_Y 500
|
|
define MAP_POS7_2_X 600
|
|
define MAP_POS7_2_Y 500
|
|
define MAP_POS7_3_X 700
|
|
define MAP_POS7_3_Y 300
|
|
define REWARD7_EXP 14922580 -- 보상 : 경험치
|
|
define REWARD7_GOLD 192000 -- 보상 : 골드
|
|
define REWARD7_ITEM1 30015 -- 보상 : 사귀의 유품
|
|
define REWARD7_ITEM1_COUNT 2 -- 보상 갯수
|
|
define REWARD7_ITEM2 70043 -- 보상 : 도둑의 장갑
|
|
define REWARD7_ITEM2_COUNT 1 -- 보상 갯수
|
|
|
|
|
|
quest main_quest_lv90 begin
|
|
state start begin
|
|
when login or levelup or enter with pc.level >= 90 begin
|
|
set_state (state01_1)
|
|
end
|
|
end
|
|
state state0 begin
|
|
when login or levelup or enter with pc.level >= 90 begin
|
|
set_state (state01_1)
|
|
end
|
|
end
|
|
|
|
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
-----------------<01> 이충의 호출-----------------
|
|
state state01_1 begin
|
|
when letter begin
|
|
send_letter (gameforge.main_quest_lv90._1070_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(ICHUNG)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(ICHUNG))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._1070_sendLetter)
|
|
say(gameforge.main_quest_lv90._1080_say)
|
|
end
|
|
|
|
when ICHUNG.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(ICHUNG))
|
|
say(gameforge.main_quest_lv90._1090_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._1100_say)
|
|
|
|
set_state (state01_2)
|
|
end
|
|
|
|
end
|
|
|
|
state state01_2 begin
|
|
when letter begin
|
|
send_letter (gameforge.main_quest_lv90._1070_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(TELEPORT)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(TELEPORT))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._1110_sayTitle)
|
|
say(gameforge.main_quest_lv90._1120_say)
|
|
end
|
|
|
|
-------<<< 공간 이동 술사가 캐릭터를 이동 시켜주는 내용이 추가되어야 한다. >>>--------
|
|
--필요한 내용 : 이동할 좌표, npc 번호, 관련 스크립트.
|
|
--
|
|
--
|
|
|
|
when login or enter with pc.get_map_index() == 301 begin
|
|
--보상
|
|
say_title(locale.reward)
|
|
--say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD01_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD01_GOLD))
|
|
-- say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD01_ITEM1),REWARD01_ITEM1_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
--pc.give_exp2(REWARD01_EXP)
|
|
pc.change_money(REWARD01_GOLD)
|
|
-- pc.give_item2(REWARD01_ITEM1, REWARD01_ITEM1_COUNT)
|
|
|
|
set_state (state1_1)
|
|
end
|
|
end
|
|
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
-----------------<1> 악룡군도의 상황-----------------
|
|
state state1_1 begin
|
|
when letter begin
|
|
send_letter (gameforge.main_quest_lv90._010_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._010_sendLetter)
|
|
say(gameforge.main_quest_lv90._020_say)
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._030_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._040_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._050_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._060_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._070_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._080_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._090_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._100_say)
|
|
wait()
|
|
|
|
say_reward(string.format(gameforge.main_quest_lv90._110_sayReward, RECON1_X,RECON1_Y))
|
|
|
|
set_state (state1_2)
|
|
end
|
|
end
|
|
-- 첫번째 지역 정찰
|
|
state state1_2 begin
|
|
when letter begin
|
|
target.pos ("__TARGET__",RECON1_X,RECON1_Y,RECON1_MAPINDEX,"")
|
|
send_letter (gameforge.main_quest_lv90._010_sendLetter)
|
|
end
|
|
|
|
when button or info begin
|
|
-- if pc.get_map_index() == RECON1_MAPINDEX then
|
|
-- addmapsignal(RECON1_X * 100, RECON1_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._120_sayTitle)
|
|
say(gameforge.main_quest_lv90._130_say)
|
|
say_reward(string.format(gameforge.main_quest_lv90._140_sayReward,RECON1_X,RECON1_Y))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- say()
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
when __TARGET__.target.arrive begin
|
|
target.delete("__TARGET__")
|
|
say_reward(string.format(gameforge.main_quest_lv90._150_sayReward,RECON2_X,RECON2_Y))
|
|
set_state (state1_3)
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
say(gameforge.main_quest_lv90._160_say)
|
|
end
|
|
end
|
|
-- 두번째 지역 정찰
|
|
state state1_3 begin
|
|
when letter begin
|
|
target.pos ("__TARGET__",RECON2_X,RECON2_Y,RECON2_MAPINDEX,"")
|
|
send_letter (gameforge.main_quest_lv90._010_sendLetter)
|
|
end
|
|
|
|
when button or info begin
|
|
-- if pc.get_map_index() == RECON2_MAPINDEX then
|
|
-- addmapsignal(RECON2_X * 100, RECON2_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._120_sayTitle)
|
|
say(gameforge.main_quest_lv90._130_say)
|
|
say_reward(string.format(gameforge.main_quest_lv90._170_sayReward,RECON2_X,RECON2_Y))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
when __TARGET__.target.arrive begin
|
|
target.delete("__TARGET__")
|
|
say_reward(string.format(gameforge.main_quest_lv90._180_sayReward,RECON4_X,RECON4_Y))
|
|
set_state (state1_5)
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
say(gameforge.main_quest_lv90._160_say)
|
|
end
|
|
end
|
|
-- 세번째 지역 정찰
|
|
-- state state1_4 begin
|
|
-- when letter begin
|
|
-- target.pos ("__TARGET__",RECON3_X,RECON3_Y,RECON3_MAPINDEX,"")
|
|
-- send_letter (gameforge.main_quest_lv90._010_sendLetter)
|
|
-- end
|
|
|
|
-- when button or info begin
|
|
-- if pc.get_map_index() == RECON3_MAPINDEX then
|
|
-- addmapsignal(RECON3_X * 100, RECON3_Y * 100)
|
|
-- end
|
|
-- say_title(gameforge.main_quest_lv90._120_sayTitle)
|
|
-- say(locale.main_quest_lv90.say_11)
|
|
-- say_reward(string.format(gameforge.main_quest_lv90._190_say,RECON3_X,RECON3_Y))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
-- end
|
|
|
|
-- when __TARGET__.target.arrive begin
|
|
-- target.delete("__TARGET__")
|
|
-- say_reward(string.format(gameforge.main_quest_lv90._200_say,RECON4_X,RECON4_Y))
|
|
-- set_state (state1_5)
|
|
-- end
|
|
|
|
-- when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
-- say(locale.main_quest_lv90.say_14)
|
|
-- end
|
|
-- end
|
|
-- 네번째 지역 정찰
|
|
state state1_5 begin
|
|
when letter begin
|
|
target.pos ("__TARGET__",RECON4_X,RECON4_Y,RECON4_MAPINDEX,"")
|
|
send_letter (gameforge.main_quest_lv90._010_sendLetter)
|
|
end
|
|
|
|
when button or info begin
|
|
-- if pc.get_map_index() == RECON4_MAPINDEX then
|
|
-- addmapsignal(RECON4_X * 100, RECON4_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._120_sayTitle)
|
|
say(gameforge.main_quest_lv90._130_say)
|
|
say_reward(string.format(gameforge.main_quest_lv90._210_sayReward,RECON4_X,RECON4_Y))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
when __TARGET__.target.arrive begin
|
|
target.delete("__TARGET__")
|
|
say_reward(gameforge.main_quest_lv90._220_sayReward)
|
|
set_state (state1_6)
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
say(gameforge.main_quest_lv90._160_say)
|
|
end
|
|
end
|
|
-- 정찰 완료
|
|
state state1_6 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._010_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._010_sendLetter)
|
|
say(gameforge.main_quest_lv90._230_say)
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._240_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._250_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
--say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD1_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD1_GOLD))
|
|
--say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD1_ITEM1),REWARD1_ITEM1_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
--pc.give_exp2(REWARD1_EXP)
|
|
pc.change_money(REWARD1_GOLD)
|
|
--pc.give_item2(REWARD1_ITEM1, REWARD1_ITEM1_COUNT)
|
|
|
|
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_lv90._260_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._260_sendLetter)
|
|
say(gameforge.main_quest_lv90._270_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._260_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._280_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._290_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._300_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._310_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._320_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._330_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._340_say)
|
|
|
|
set_state (state2_2)
|
|
end
|
|
end
|
|
state state2_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._260_sendLetter)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX2 then
|
|
-- addmapsignal(MAP_POS2_1_X * 100, MAP_POS2_1_Y * 100)
|
|
-- addmapsignal(MAP_POS2_2_X * 100, MAP_POS2_2_Y * 100)
|
|
-- addmapsignal(MAP_POS2_3_X * 100, MAP_POS2_3_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._350_sayTitle)
|
|
say(gameforge.main_quest_lv90._360_say)
|
|
say_item_vnum(ITEM2_1)
|
|
|
|
-- say()
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
-- say()
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._260_sendLetter begin
|
|
if pc.count_item(ITEM2_1) >= 1 then
|
|
pc.remove_item ( ITEM2_1, pc.count_item(ITEM2_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._400_say)
|
|
wait()
|
|
|
|
say_title(mob_name(ICHUNG))
|
|
say(string.format(gameforge.main_quest_lv90._410_say,pc.getname()))
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._420_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD2_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD2_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD2_ITEM1),REWARD2_ITEM1_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD2_EXP)
|
|
pc.change_money(REWARD2_GOLD)
|
|
pc.give_item2(REWARD2_ITEM1, REWARD2_ITEM1_COUNT)
|
|
|
|
set_state (state3_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._370_say)
|
|
end
|
|
end
|
|
|
|
when MOB2_1.kill or MOB2_2.kill or MOB2_3.kill or MOB2_4.kill or MOB2_5.kill or MOB2_6.kill or MOB2_7.kill begin
|
|
if number(1,ITEM2_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM2_1) < 1 then
|
|
notice_multiline(gameforge.main_quest_lv90._380_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._380_2_notice,notice)
|
|
pc.give_item2(ITEM2_1, 1)
|
|
set_state (state2_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state2_3 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._260_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._260_sendLetter)
|
|
say(gameforge.main_quest_lv90._390_say)
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when MOB2_1.kill or MOB2_2.kill or MOB2_3.kill or MOB2_4.kill or MOB2_5.kill or MOB2_6.kill or MOB2_7.kill begin
|
|
if number(1,ITEM2_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM2_1) < 1 then
|
|
notice_multiline(gameforge.main_quest_lv90._380_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._380_2_notice,notice)
|
|
pc.give_item2(ITEM2_1, 1)
|
|
set_state (state2_3)
|
|
end
|
|
end
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._260_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(ITEM2_1) >= 1 then
|
|
pc.remove_item ( ITEM2_1, pc.count_item(ITEM2_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._400_say)
|
|
wait()
|
|
|
|
say_title(mob_name(ICHUNG))
|
|
say(string.format(gameforge.main_quest_lv90._410_say,pc.getname()))
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._420_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD2_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD2_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD2_ITEM1),REWARD2_ITEM1_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD2_EXP)
|
|
pc.change_money(REWARD2_GOLD)
|
|
pc.give_item2(REWARD2_ITEM1, REWARD2_ITEM1_COUNT)
|
|
|
|
set_state (state3_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._370_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_lv90._430_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._430_sendLetter)
|
|
say(gameforge.main_quest_lv90._440_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._430_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._450_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._460_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._470_say)
|
|
|
|
set_state (state3_2)
|
|
end
|
|
end
|
|
state state3_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._430_sendLetter)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX3 then
|
|
-- addmapsignal(MAP_POS3_1_X * 100, MAP_POS3_1_Y * 100)
|
|
-- addmapsignal(MAP_POS3_2_X * 100, MAP_POS3_2_Y * 100)
|
|
-- addmapsignal(MAP_POS3_3_X * 100, MAP_POS3_3_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._480_sayTitle)
|
|
say(gameforge.main_quest_lv90._490_say)
|
|
say_item_vnum(ITEM3_1)
|
|
|
|
-- say()
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
-- say()
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._430_sendLetter begin
|
|
if pc.count_item(ITEM3_1) >= ITEM3_1_NEEDED then
|
|
pc.remove_item ( ITEM3_1, pc.count_item(ITEM3_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._530_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD3_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD3_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD3_ITEM1),REWARD3_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD3_ITEM2),REWARD3_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD3_EXP)
|
|
pc.change_money(REWARD3_GOLD)
|
|
pc.give_item2_select(REWARD3_ITEM1)
|
|
item.set_socket(2, 60)
|
|
pc.give_item2(REWARD3_ITEM2, REWARD3_ITEM2_COUNT)
|
|
|
|
set_state (state4_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._500_say)
|
|
end
|
|
end
|
|
|
|
when MOB3_1.kill begin
|
|
if number(1,ITEM3_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM3_1) < ITEM3_1_NEEDED then
|
|
pc.give_item2(ITEM3_1, 1)
|
|
|
|
|
|
if pc.count_item(ITEM3_1) >= ITEM3_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._510_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._510_2_notice,notice)
|
|
set_state (state3_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state3_3 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._430_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._430_sendLetter)
|
|
say(gameforge.main_quest_lv90._520_say)
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when MOB3_1.kill begin
|
|
if number(1,ITEM3_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM3_1) < ITEM3_1_NEEDED then
|
|
pc.give_item2(ITEM3_1, 1)
|
|
|
|
|
|
if pc.count_item(ITEM3_1) >= ITEM3_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._510_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._510_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._430_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(ITEM3_1) >= ITEM3_1_NEEDED then
|
|
pc.remove_item ( ITEM3_1, pc.count_item(ITEM3_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._530_say)
|
|
wait()
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD3_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD3_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD3_ITEM1),REWARD3_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD3_ITEM2),REWARD3_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD3_EXP)
|
|
pc.change_money(REWARD3_GOLD)
|
|
pc.give_item2_select(REWARD3_ITEM1)
|
|
item.set_socket(2, 60)
|
|
pc.give_item2(REWARD3_ITEM2, REWARD3_ITEM2_COUNT)
|
|
|
|
set_state (state4_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._500_say)
|
|
|
|
set_state (state3_2)
|
|
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_lv90._560_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._560_sendLetter)
|
|
say(gameforge.main_quest_lv90._570_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._560_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._580_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._590_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._600_say)
|
|
|
|
set_state (state4_2)
|
|
end
|
|
end
|
|
state state4_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._560_sendLetter)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX4 then
|
|
-- addmapsignal(MAP_POS4_1_X * 100, MAP_POS4_1_Y * 100)
|
|
-- end
|
|
say_title(gameforge.main_quest_lv90._610_sayTitle)
|
|
say(gameforge.main_quest_lv90._620_say)
|
|
say_item_vnum(ITEM4_1)
|
|
|
|
-- say()
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
-- say()
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._560_sendLetter begin
|
|
if pc.count_item(ITEM4_1) >= ITEM4_1_NEEDED then
|
|
pc.remove_item ( ITEM4_1, pc.count_item(ITEM4_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._650_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._670_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD4_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD4_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM1),REWARD4_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM2),REWARD4_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD4_EXP)
|
|
pc.change_money(REWARD4_GOLD)
|
|
pc.give_item2(REWARD4_ITEM1, REWARD4_ITEM1_COUNT)
|
|
pc.give_item2(REWARD4_ITEM2, REWARD4_ITEM2_COUNT)
|
|
|
|
set_state (state5_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._630_say)
|
|
end
|
|
end
|
|
|
|
when MOB4_1.kill begin
|
|
if number(1,ITEM4_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM4_1) < ITEM4_1_NEEDED then
|
|
pc.give_item2(ITEM4_1, 1)
|
|
|
|
|
|
if pc.count_item(ITEM4_1) >= ITEM4_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._640_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._640_2_notice,notice)
|
|
set_state (state4_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state4_3 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._560_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._560_sendLetter)
|
|
say(gameforge.main_quest_lv90._680_say)
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when MOB4_1.kill begin
|
|
if number(1,ITEM4_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM4_1) < ITEM4_1_NEEDED then
|
|
pc.give_item2(ITEM4_1, 1)
|
|
|
|
|
|
if pc.count_item(ITEM4_1) >= ITEM4_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._640_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._640_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._560_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(ITEM4_1) >= ITEM4_1_NEEDED then
|
|
pc.remove_item ( ITEM4_1, pc.count_item(ITEM4_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._650_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._670_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD4_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD4_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM1),REWARD4_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD4_ITEM2),REWARD4_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD4_EXP)
|
|
pc.change_money(REWARD4_GOLD)
|
|
pc.give_item2(REWARD4_ITEM1, REWARD4_ITEM1_COUNT)
|
|
pc.give_item2(REWARD4_ITEM2, REWARD4_ITEM2_COUNT)
|
|
|
|
set_state (state5_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._630_say)
|
|
|
|
set_state (state4_2)
|
|
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_lv90._690_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._690_sendLetter)
|
|
say(gameforge.main_quest_lv90._700_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._690_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._710_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._720_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._730_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._740_say)
|
|
|
|
set_state (state5_2)
|
|
end
|
|
end
|
|
state state5_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._690_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv90._750_say)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX5 then
|
|
-- addmapsignal(MAP_POS5_1_X * 100, MAP_POS5_1_Y * 100)
|
|
-- addmapsignal(MAP_POS5_2_X * 100, MAP_POS5_2_Y * 100)
|
|
-- addmapsignal(MAP_POS5_3_X * 100, MAP_POS5_3_Y * 100)
|
|
-- end
|
|
|
|
say_title(gameforge.main_quest_lv90._830_sayTitle)
|
|
say(gameforge.main_quest_lv90._840_say)
|
|
say(gameforge.main_quest_lv90._750_say)
|
|
local remain1 = MOB5_1_COUNT - pc.getqf("mob5_1_kill")
|
|
if remain1 < 0 then
|
|
remain1 = 0
|
|
end
|
|
local remain2 = MOB5_2_COUNT - pc.getqf("mob5_2_kill")
|
|
if remain2 < 0 then
|
|
remain2 = 0
|
|
end
|
|
local remain3 = MOB5_3_COUNT - pc.getqf("mob5_3_kill")
|
|
if remain3 < 0 then
|
|
remain3 = 0
|
|
end
|
|
local remain4 = MOB5_4_COUNT - pc.getqf("mob5_4_kill")
|
|
if remain4 < 0 then
|
|
remain4 = 0
|
|
end
|
|
local total_remain = remain1 + remain2 + remain3 + remain4
|
|
q.set_counter_value(total_remain)
|
|
say_reward(string.format(gameforge.main_quest_lv90._760_say, mob_name(MOB5_1), remain1, mob_name(MOB5_2), remain2))
|
|
say_reward(string.format(gameforge.main_quest_lv90._760_say, mob_name(MOB5_3), remain3, mob_name(MOB5_4), remain4))
|
|
say()
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._690_sendLetter begin
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._770_say)
|
|
end
|
|
|
|
function kill_count()
|
|
local remain1 = MOB5_1_COUNT - pc.getqf("mob5_1_kill")
|
|
if remain1 < 0 then
|
|
remain1 = 0
|
|
end
|
|
local remain2 = MOB5_2_COUNT - pc.getqf("mob5_2_kill")
|
|
if remain2 < 0 then
|
|
remain2 = 0
|
|
end
|
|
local remain3 = MOB5_3_COUNT - pc.getqf("mob5_3_kill")
|
|
if remain3 < 0 then
|
|
remain3 = 0
|
|
end
|
|
local remain4 = MOB5_4_COUNT - pc.getqf("mob5_4_kill")
|
|
if remain4 < 0 then
|
|
remain4 = 0
|
|
end
|
|
local total_remain = remain1 + remain2 + remain3 + remain4
|
|
q.set_counter_value(total_remain)
|
|
|
|
return total_remain
|
|
end
|
|
|
|
when MOB5_1.kill begin
|
|
local kill_count = pc.getqf("mob5_1_kill")
|
|
if kill_count < MOB5_1_COUNT then
|
|
pc.setqf("mob5_1_kill", kill_count + 1)
|
|
|
|
local total_remain = main_quest_lv90.kill_count()
|
|
if total_remain == 0 then
|
|
notice_multiline(gameforge.main_quest_lv90._780_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._780_2_notice,notice)
|
|
set_state (state5_3)
|
|
end
|
|
end
|
|
end
|
|
when MOB5_2.kill begin
|
|
local kill_count = pc.getqf("mob5_2_kill")
|
|
if kill_count < MOB5_2_COUNT then
|
|
pc.setqf("mob5_2_kill", kill_count + 1)
|
|
|
|
local total_remain = main_quest_lv90.kill_count()
|
|
if total_remain == 0 then
|
|
notice_multiline(gameforge.main_quest_lv90._780_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._780_2_notice,notice)
|
|
set_state (state5_3)
|
|
end
|
|
end
|
|
end
|
|
when MOB5_3.kill begin
|
|
local kill_count = pc.getqf("mob5_3_kill")
|
|
if kill_count < MOB5_3_COUNT then
|
|
pc.setqf("mob5_3_kill", kill_count + 1)
|
|
|
|
local total_remain = main_quest_lv90.kill_count()
|
|
if total_remain == 0 then
|
|
notice_multiline(gameforge.main_quest_lv90._780_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._780_2_notice,notice)
|
|
set_state (state5_3)
|
|
end
|
|
end
|
|
end
|
|
when MOB5_4.kill begin
|
|
local kill_count = pc.getqf("mob5_4_kill")
|
|
if kill_count < MOB5_4_COUNT then
|
|
pc.setqf("mob5_4_kill", kill_count + 1)
|
|
|
|
local total_remain = main_quest_lv90.kill_count()
|
|
if total_remain == 0 then
|
|
notice_multiline(gameforge.main_quest_lv90._780_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._780_2_notice,notice)
|
|
set_state (state5_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state5_3 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._690_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._690_sendLetter)
|
|
say(gameforge.main_quest_lv90._820_say)
|
|
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._690_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._790_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._800_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._810_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD5_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD5_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD5_ITEM1),REWARD5_ITEM1_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD5_EXP)
|
|
pc.change_money(REWARD5_GOLD)
|
|
pc.give_item2(REWARD5_ITEM1, REWARD5_ITEM1_COUNT)
|
|
|
|
set_state (state6_1)
|
|
end
|
|
end
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
-----------------<6> 명시진의 방벽 강화1-1-----------------
|
|
state state6_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._850_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._850_sendLetter)
|
|
say(gameforge.main_quest_lv90._860_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._870_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._880_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._890_say)
|
|
wait()
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._900_say)
|
|
|
|
set_state (state6_2)
|
|
end
|
|
end
|
|
state state6_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._850_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv90._1180_say)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX6 then
|
|
-- addmapsignal(MAP_POS6_1_X * 100, MAP_POS6_1_Y * 100)
|
|
-- addmapsignal(MAP_POS6_2_X * 100, MAP_POS6_2_Y * 100)
|
|
-- addmapsignal(MAP_POS6_3_X * 100, MAP_POS6_3_Y * 100)
|
|
-- end
|
|
|
|
say_title(gameforge.main_quest_lv90._910_sayTitle)
|
|
say(gameforge.main_quest_lv90._920_say)
|
|
say_item_vnum(ITEM6_1)
|
|
say(gameforge.main_quest_lv90._1180_say)
|
|
local remain = ITEM6_1_NEEDED - pc.count_item(ITEM6_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
say_reward(string.format( gameforge.main_quest_lv90._1190_say,item_name(ITEM6_1), remain))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
if pc.count_item(ITEM6_1) >= ITEM6_1_NEEDED then
|
|
pc.remove_item ( ITEM6_1, pc.count_item(ITEM6_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._960_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD6_EXP))
|
|
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD6_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD6_ITEM1),REWARD6_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD6_ITEM2),REWARD6_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD6_EXP)
|
|
--pc.change_money(REWARD6_GOLD)
|
|
pc.give_item2(REWARD6_ITEM1, REWARD6_ITEM1_COUNT)
|
|
pc.give_item2(REWARD6_ITEM2, REWARD6_ITEM2_COUNT)
|
|
|
|
set_state (state7_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._930_say)
|
|
end
|
|
end
|
|
|
|
when MOB6_1.kill or MOB6_2.kill or MOB6_3.kill or MOB6_4.kill or MOB6_5.kill or MOB6_6.kill or MOB6_7.kill begin
|
|
if number(1,ITEM6_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM6_1) < ITEM6_1_NEEDED then
|
|
pc.give_item2(ITEM6_1, 1)
|
|
|
|
local remain = ITEM6_1_NEEDED - pc.count_item(ITEM6_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.count_item(ITEM6_1) >= ITEM6_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._940_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._940_2_notice,notice)
|
|
set_state (state6_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state6_3 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._850_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._850_sendLetter)
|
|
say(gameforge.main_quest_lv90._520_say)
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when MOB6_1.kill or MOB6_2.kill or MOB6_3.kill or MOB6_4.kill or MOB6_5.kill or MOB6_6.kill or MOB6_7.kill begin
|
|
if number(1,ITEM6_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM6_1) < ITEM6_1_NEEDED then
|
|
pc.give_item2(ITEM6_1, 1)
|
|
|
|
local remain = ITEM6_1_NEEDED - pc.count_item(ITEM6_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
|
|
if pc.count_item(ITEM6_1) >= ITEM6_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._940_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._940_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(ITEM6_1) >= ITEM6_1_NEEDED then
|
|
pc.remove_item ( ITEM6_1, pc.count_item(ITEM6_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._960_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD6_EXP))
|
|
--say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD6_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD6_ITEM1),REWARD6_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD6_ITEM2),REWARD6_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
|
|
pc.give_exp2(REWARD6_EXP)
|
|
--pc.change_money(REWARD6_GOLD)
|
|
pc.give_item2(REWARD6_ITEM1, REWARD6_ITEM1_COUNT)
|
|
pc.give_item2(REWARD6_ITEM2, REWARD6_ITEM2_COUNT)
|
|
|
|
set_state (state7_1)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._930_say)
|
|
|
|
set_state (state6_2)
|
|
end
|
|
end
|
|
end
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
-----------------<7> 명시진의 방벽 강화1-2-----------------
|
|
state state7_1 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._970_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._970_sendLetter)
|
|
say(gameforge.main_quest_lv90._980_say)
|
|
end
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
say_title(mob_name(GUARD ))
|
|
say(gameforge.main_quest_lv90._990_say)
|
|
wait()
|
|
|
|
say_title(pc.getname())
|
|
say(gameforge.main_quest_lv90._1000_say)
|
|
|
|
set_state (state7_2)
|
|
end
|
|
end
|
|
state state7_2 begin
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._970_sendLetter)
|
|
q.set_counter_name(gameforge.main_quest_lv90._1180_say)
|
|
end
|
|
when button or info begin
|
|
-- if pc.get_map_index() == MAP_INDEX7 then
|
|
-- addmapsignal(MAP_POS7_1_X * 100, MAP_POS7_1_Y * 100)
|
|
-- addmapsignal(MAP_POS7_2_X * 100, MAP_POS7_2_Y * 100)
|
|
-- addmapsignal(MAP_POS7_3_X * 100, MAP_POS7_3_Y * 100)
|
|
-- end
|
|
|
|
say_title(gameforge.main_quest_lv90._1020_sayTitle)
|
|
say(gameforge.main_quest_lv90._1030_say)
|
|
say_item_vnum(ITEM7_1)
|
|
say(gameforge.main_quest_lv90._1180_say)
|
|
local remain = ITEM7_1_NEEDED - pc.count_item(ITEM7_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
say_reward(string.format(gameforge.main_quest_lv90._1190_say,item_name(ITEM7_1), remain))
|
|
-- say_reward(gameforge.main_quest_lv90._1170_posInfo)
|
|
|
|
-- say()
|
|
-- say()
|
|
-- select(gameforge.main_quest_lv90._950_say)
|
|
-- setskin(NOWINDOW)
|
|
-- clearmapsignal()
|
|
end
|
|
|
|
--클리어 전--
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
if pc.count_item(ITEM7_1) >= ITEM7_1_NEEDED then
|
|
pc.remove_item ( ITEM7_1, pc.count_item(ITEM7_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._1060_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD7_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD7_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD7_ITEM1),REWARD7_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD7_ITEM2),REWARD7_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
say_title(gameforge.main_quest_lv90._1200_say)
|
|
|
|
pc.give_exp2(REWARD7_EXP)
|
|
pc.change_money(REWARD7_GOLD)
|
|
pc.give_item2(REWARD7_ITEM1, REWARD7_ITEM1_COUNT)
|
|
pc.give_item2_select(REWARD7_ITEM2)
|
|
item.set_socket(2, 120)
|
|
|
|
clear_letter()
|
|
set_quest_state ("main_quest_lv91", "state0")
|
|
set_state (__COMPLETE__)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._1010_say)
|
|
end
|
|
end
|
|
|
|
when MOB7_1.kill or MOB7_2.kill or MOB7_3.kill or MOB7_4.kill or MOB7_5.kill or MOB7_6.kill or MOB7_7.kill begin
|
|
if number(1,ITEM7_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM7_1) < ITEM7_1_NEEDED then
|
|
pc.give_item2(ITEM7_1, 1)
|
|
|
|
local remain = ITEM7_1_NEEDED - pc.count_item(ITEM7_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
q.set_counter_value(remain)
|
|
|
|
if pc.count_item(ITEM7_1) >= ITEM7_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._1040_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._1040_2_notice,notice)
|
|
set_state (state7_3)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-- 퀘스트 완료
|
|
state state7_3 begin
|
|
|
|
when letter begin
|
|
send_letter(gameforge.main_quest_lv90._970_sendLetter)
|
|
|
|
local v = find_npc_by_vnum(GUARD)
|
|
if 0 != v then
|
|
target.vid("__TARGET__", v, mob_name(GUARD))
|
|
end
|
|
q.set_counter_name("")
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.main_quest_lv90._970_sendLetter)
|
|
say(gameforge.main_quest_lv90._1050_say)
|
|
end
|
|
|
|
-- 중간에 퀘스트 아이템을 버릴 경우를 대비한 부분.
|
|
when MOB7_1.kill or MOB7_2.kill or MOB7_3.kill or MOB7_4.kill or MOB7_5.kill or MOB7_6.kill or MOB7_7.kill begin
|
|
if number(1,ITEM7_1_PCT_GET) == 1 then
|
|
if pc.count_item(ITEM7_1) < ITEM7_1_NEEDED then
|
|
pc.give_item2(ITEM7_1, 1)
|
|
|
|
local remain = ITEM7_1_NEEDED - pc.count_item(ITEM7_1)
|
|
if remain < 0 then
|
|
remain = 0
|
|
end
|
|
|
|
if pc.count_item(ITEM7_1) >= ITEM7_1_NEEDED then
|
|
notice_multiline(gameforge.main_quest_lv90._1040_1_notice,notice)
|
|
notice_multiline(gameforge.main_quest_lv90._1040_2_notice,notice)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
when GUARD.chat.gameforge.main_quest_lv90._010_sendLetter begin
|
|
target.delete("__TARGET__")
|
|
|
|
if pc.count_item(ITEM7_1) >= ITEM7_1_NEEDED then
|
|
pc.remove_item ( ITEM7_1, pc.count_item(ITEM7_1))
|
|
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._1060_say)
|
|
wait()
|
|
|
|
--보상
|
|
say_title(locale.reward)
|
|
say_reward(string.format (gameforge.main_quest_lv60._190_sayReward, REWARD7_EXP))
|
|
say_reward(string.format (gameforge.main_quest_lv60._200_sayReward, REWARD7_GOLD))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD7_ITEM1),REWARD7_ITEM1_COUNT,locale.count_postfix))
|
|
say_reward(string.format (gameforge.main_quest_lv60._210_sayReward, item_name(REWARD7_ITEM2),REWARD7_ITEM2_COUNT,locale.count_postfix))
|
|
say("")
|
|
say_title(gameforge.main_quest_lv90._1200_say)
|
|
|
|
pc.give_exp2(REWARD7_EXP)
|
|
pc.change_money(REWARD7_GOLD)
|
|
pc.give_item2(REWARD7_ITEM1, REWARD7_ITEM1_COUNT)
|
|
pc.give_item2_select(REWARD7_ITEM2)
|
|
item.set_socket(2, 120)
|
|
|
|
clear_letter()
|
|
set_quest_state ("main_quest_lv91", "state0")
|
|
set_state (__COMPLETE__)
|
|
else
|
|
say_title(mob_name(GUARD))
|
|
say(gameforge.main_quest_lv90._1010_say)
|
|
|
|
set_state (state7_2)
|
|
end
|
|
end
|
|
end
|
|
|
|
state __COMPLETE__ begin
|
|
when enter begin
|
|
q.done()
|
|
end
|
|
end
|
|
end
|