forked from metin2/server
231 lines
6.5 KiB
Plaintext
231 lines
6.5 KiB
Plaintext
----------------------------------------------------
|
|
--COLLECT QUEST_lv85
|
|
--METIN2 ?? ???
|
|
----------------------------------------------------
|
|
quest collect_quest_lv85 begin
|
|
state start begin
|
|
end
|
|
state run begin
|
|
when login or levelup with pc.level >= 85 begin
|
|
set_state(information)
|
|
end
|
|
end
|
|
|
|
state information begin
|
|
when letter begin
|
|
local v = find_npc_by_vnum(20084)
|
|
if v != 0 then
|
|
target.vid("__TARGET__", v, gameforge.collect_quest_lv85._010_target)
|
|
end
|
|
send_letter(gameforge.collect_quest_lv85._020_send_letter)
|
|
end
|
|
|
|
when button or info begin
|
|
say_title(gameforge.collect_quest_lv85._030_say_title)
|
|
say(gameforge.collect_quest_lv85._040_say)
|
|
end
|
|
|
|
when __TARGET__.target.click or
|
|
20084.chat.gameforge.collect_quest_lv85._050_npcChat begin
|
|
target.delete("__TARGET__")
|
|
say(gameforge.collect_quest_lv85._055_say)
|
|
say(gameforge.collect_quest_lv85._060_say)
|
|
wait()
|
|
say(gameforge.collect_quest_lv85._064_say)
|
|
say(gameforge.collect_quest_lv85._065_say)
|
|
wait()
|
|
say(gameforge.collect_quest_lv85._069_say)
|
|
say(gameforge.collect_quest_lv85._070_say)
|
|
set_state(go_to_disciple)
|
|
pc.setqf("duration",0) -- ?? ?? ?? ??
|
|
pc.setqf("collect_count",0)--??? ?? ??? ?
|
|
pc.setqf("drink_drug",0) --??? ??? ??? 1
|
|
end
|
|
end
|
|
|
|
state go_to_disciple begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv85._080_send_letter)
|
|
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.collect_quest_lv85._090_say_title)
|
|
--- l
|
|
say(gameforge.collect_quest_lv85._100_say)
|
|
say_item_vnum(30167)
|
|
say_reward(gameforge.collect_quest_lv85._105_1_say_reward .." "..pc.getqf("collect_count")..gameforge.collect_quest_lv85._105_2_say_reward)
|
|
end
|
|
|
|
when 71035.use begin --??? ??
|
|
if get_time() < pc.getqf("duration") then
|
|
say(gameforge.collect_quest_lv85._110_say)
|
|
return
|
|
end
|
|
if pc.getqf("drink_drug")==1 then
|
|
say(gameforge.collect_quest_lv85._115_say)
|
|
return
|
|
end
|
|
if pc.count_item(30167)==0 then
|
|
say(gameforge.collect_quest_lv85._120_say)
|
|
return
|
|
end
|
|
|
|
pc.remove_item(71035, 1)
|
|
pc.setqf("drink_drug",1)
|
|
end
|
|
when 2311.kill or 2312.kill or 2313.kill or 2314.kill or 2315.kill begin
|
|
local s = number(1, 200)
|
|
if s == 1 then
|
|
pc.give_item2(30167)
|
|
send_letter(gameforge.collect_quest_lv85._130_send_letter)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
when 20084.chat.gameforge.collect_quest_lv85._140_npcChat with pc.count_item(30167) >0 begin
|
|
if get_time() > pc.getqf("duration") then
|
|
say(gameforge.collect_quest_lv85._149_say)
|
|
say(gameforge.collect_quest_lv85._150_say)
|
|
pc.remove_item(30167, 1)
|
|
if is_test_server() then
|
|
pc.setqf("duration",get_time()+2)
|
|
else
|
|
pc.setqf("duration",get_time()+60*60*22) -----------------------------------22??
|
|
end
|
|
wait()
|
|
|
|
local pass_percent
|
|
if pc.getqf("drink_drug")==0 then
|
|
pass_percent=60
|
|
else
|
|
pass_percent=95
|
|
end
|
|
|
|
local s= number(1,100)
|
|
if s<= pass_percent then
|
|
if pc.getqf("collect_count")< 39 then --40???
|
|
local index =pc.getqf("collect_count")+1
|
|
pc.setqf("collect_count",index) --?? ???? +1 ???
|
|
say(gameforge.collect_quest_lv85._159_say)
|
|
say(gameforge.collect_quest_lv85._160_say)
|
|
say(gameforge.collect_quest_lv85._165_1_say.." "..40-pc.getqf("collect_count").. gameforge.collect_quest_lv85._165_2_say)
|
|
say(gameforge.collect_quest_lv85._170_say)
|
|
pc.setqf("drink_drug",0) --?? ???
|
|
return
|
|
end
|
|
say(gameforge.collect_quest_lv85._174_say)
|
|
say(gameforge.collect_quest_lv85._175_say)
|
|
pc.setqf("collect_count",0)
|
|
pc.setqf("drink_drug",0)
|
|
pc.setqf("duration",0)
|
|
set_state(key_item)
|
|
return
|
|
else
|
|
say(gameforge.collect_quest_lv85._179_say)
|
|
say(gameforge.collect_quest_lv85._180_say)
|
|
pc.setqf("drink_drug",0) --?? ???
|
|
return
|
|
end
|
|
else
|
|
say(gameforge.collect_quest_lv85._185_say)
|
|
say(gameforge.collect_quest_lv85._190_say)
|
|
return
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
|
|
state key_item begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv85._195_send_letter)
|
|
|
|
if pc.count_item(30226)>0 then
|
|
local v = find_npc_by_vnum(20084)
|
|
if v != 0 then
|
|
target.vid("__TARGET__", v, gameforge.collect_quest_lv85._010_target)
|
|
end
|
|
end
|
|
|
|
end
|
|
when button or info begin
|
|
if pc.count_item(30226) >0 then
|
|
say_title(gameforge.collect_quest_lv85._200_say_title)
|
|
say(gameforge.collect_quest_lv85._210_say)
|
|
return
|
|
end
|
|
|
|
say_title(gameforge.collect_quest_lv85._220_say_title)
|
|
say(gameforge.collect_quest_lv85._230_say)
|
|
say_item_vnum(30226)
|
|
say(gameforge.collect_quest_lv85._240_say)
|
|
end
|
|
|
|
|
|
|
|
when 2311.kill or 2312.kill or 2313.kill or 2314.kill or 2315.kill begin
|
|
local s = number(1, 200)
|
|
if s == 1 and pc.count_item(30226)==0 then
|
|
pc.give_item2(30226)
|
|
send_letter(gameforge.collect_quest_lv85._250_send_letter)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv85._255_npcChat with pc.count_item(30226) > 0 begin
|
|
target.delete("__TARGET__")
|
|
say(gameforge.collect_quest_lv85._260_say)
|
|
say(gameforge.collect_quest_lv85._265_say)
|
|
pc.remove_item(30226,1)
|
|
set_state(__reward)
|
|
end
|
|
|
|
end
|
|
|
|
state __reward begin
|
|
when letter begin
|
|
send_letter(gameforge.collect_quest_lv85._270_send_letter)
|
|
|
|
local v = find_npc_by_vnum(20018)
|
|
if v != 0 then
|
|
target.vid("__TARGET__", v, gameforge.collect_quest_lv85._280_target)
|
|
end
|
|
|
|
end
|
|
when button or info begin
|
|
say_title(gameforge.collect_quest_lv85._290_say_title)
|
|
say(gameforge.collect_quest_lv85._300_say)
|
|
|
|
end
|
|
|
|
when __TARGET__.target.click or 20018.chat.gameforge.collect_quest_lv85._310_npcChat begin
|
|
target.delete("__TARGET__")
|
|
say(gameforge.collect_quest_lv85._311_say)
|
|
say(gameforge.collect_quest_lv85._315_say)
|
|
wait()
|
|
say(gameforge.collect_quest_lv85._311_say)
|
|
say(gameforge.collect_quest_lv85._316_say)
|
|
say_reward(gameforge.collect_quest_lv85._317_say_reward)
|
|
say_reward(gameforge.collect_quest_lv85._318_say_reward)
|
|
say_reward(gameforge.collect_quest_lv85._319_say_reward)
|
|
say("")
|
|
pc.give_item2(50115)
|
|
clear_letter()
|
|
affect.add_collect_point(POINT_RESIST_WARRIOR,10,60*60*24*365*60) --60?
|
|
affect.add_collect_point(POINT_RESIST_ASSASSIN,10,60*60*24*365*60) --60?
|
|
affect.add_collect_point(POINT_RESIST_SURA,10,60*60*24*365*60) --60?
|
|
affect.add_collect_point(POINT_RESIST_SHAMAN,10,60*60*24*365*60) --60?
|
|
set_quest_state("collect_quest_lv90", "run")
|
|
set_state(__complete)
|
|
end
|
|
|
|
end
|
|
|
|
|
|
state __complete begin
|
|
end
|
|
end
|
|
|