forked from metin2/server
232 lines
6.6 KiB
Plaintext
232 lines
6.6 KiB
Plaintext
|
quest collect_quest_lv80 begin
|
||
|
state start begin
|
||
|
end
|
||
|
state run begin
|
||
|
when login or levelup with pc.level >= 80 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_lv80._10_targetVid)
|
||
|
end
|
||
|
send_letter(gameforge.collect_quest_lv80._20_sendLetter)
|
||
|
end
|
||
|
|
||
|
when button or info begin
|
||
|
say_title(gameforge.collect_quest_lv80._30_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._40_say)
|
||
|
end
|
||
|
|
||
|
when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv60._40_npcChat begin
|
||
|
target.delete("__TARGET__")
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._50_say)
|
||
|
wait()
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._60_say)
|
||
|
wait()
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._70_say)
|
||
|
set_state(go_to_disciple)
|
||
|
pc.setqf("duration",0) -- Die Versuchszeit
|
||
|
pc.setqf("collect_count",0)--die gesammelte Artikrl
|
||
|
pc.setqf("drink_drug",0) --Wenn man das Verwirrungswasse trinkt 1
|
||
|
end
|
||
|
end
|
||
|
|
||
|
state go_to_disciple begin
|
||
|
when letter begin
|
||
|
|
||
|
send_letter(gameforge.collect_quest_lv60._220_sendLetter)
|
||
|
end
|
||
|
when button or info begin
|
||
|
say_title(gameforge.collect_quest_lv80._80_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._90_say)
|
||
|
say_item_vnum(30166)
|
||
|
say_reward(string.format(gameforge.collect_quest_lv80._100_sayReward, pc.getqf("collect_count")))
|
||
|
end
|
||
|
|
||
|
when 71035.use begin --Das Wunderwasser der Verwirrung
|
||
|
if get_time() < pc.getqf("duration") then
|
||
|
say(gameforge.collect_quest_lv80._110_say)
|
||
|
return
|
||
|
end
|
||
|
if pc.getqf("drink_drug")==1 then
|
||
|
say(gameforge.collect_quest_lv80._120_say)
|
||
|
return
|
||
|
end
|
||
|
if pc.count_item(30166)==0 then
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._130_say)
|
||
|
return
|
||
|
end
|
||
|
|
||
|
pc.remove_item(71035, 1)
|
||
|
pc.setqf("drink_drug",1)
|
||
|
end
|
||
|
|
||
|
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
|
||
|
local s = number(1, 100)
|
||
|
if s <= 5 and pc.count_item(30166)==0 then
|
||
|
pc.give_item2(30166, 1)
|
||
|
--send_letter(string.format(gameforge.collect_quest_lv80._310_sendLetter, item_name(30166)))
|
||
|
send_letter(gameforge.collect_quest_lv80._310_sendLetter)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
when 20084.chat.gameforge.collect_quest_lv80._140_npcChat with pc.count_item(30166) >0 begin
|
||
|
if get_time() > pc.getqf("duration") then
|
||
|
if pc.count_item(30166) >0 then
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._150_say)
|
||
|
pc.remove_item(30166, 1)
|
||
|
pc.setqf("duration",get_time()+60*60*22)--------------22 Stunden
|
||
|
wait()
|
||
|
|
||
|
local pass_percent
|
||
|
if pc.getqf("drink_drug")==0 then
|
||
|
pass_percent=60
|
||
|
else
|
||
|
pass_percent=90
|
||
|
end
|
||
|
|
||
|
local s= number(1,100)
|
||
|
if s<= pass_percent then
|
||
|
if pc.getqf("collect_count")< 29 then
|
||
|
local index =pc.getqf("collect_count")+1
|
||
|
pc.setqf("collect_count",index)
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(string.format(gameforge.collect_quest_lv80._160_say, 30-pc.getqf("collect_count")))
|
||
|
pc.setqf("drink_drug",0)
|
||
|
return
|
||
|
end
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._170_say)
|
||
|
pc.setqf("collect_count",0)
|
||
|
pc.setqf("drink_drug",0)
|
||
|
pc.setqf("duration",0)
|
||
|
set_state(key_item)
|
||
|
return
|
||
|
else
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._180_say)
|
||
|
pc.setqf("drink_drug",0)
|
||
|
return
|
||
|
end
|
||
|
else
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
--say(string.format(gameforge.collect_quest_lv30._190_say, item_name(30116)))
|
||
|
say(gameforge.collect_quest_lv80._185_say, item_name(30116))
|
||
|
return
|
||
|
end
|
||
|
else
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv70._170_say)
|
||
|
return
|
||
|
end
|
||
|
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
state key_item begin
|
||
|
when letter begin
|
||
|
|
||
|
send_letter(gameforge.collect_quest_lv60._220_sendLetter)
|
||
|
if pc.count_item(30225)>0 then
|
||
|
local v = find_npc_by_vnum(20084)
|
||
|
if v != 0 then
|
||
|
target.vid("__TARGET__", v, gameforge.collect_quest_lv40._210_targetVid)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|
||
|
when button or info begin
|
||
|
if pc.count_item(30225) >0 then
|
||
|
say_title(gameforge.collect_quest_lv80._190_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._200_say)
|
||
|
return
|
||
|
end
|
||
|
|
||
|
say_title(gameforge.collect_quest_lv80._210_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._220_say)
|
||
|
say_item_vnum(30225)
|
||
|
say(gameforge.collect_quest_lv80._230_say)
|
||
|
end
|
||
|
|
||
|
|
||
|
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
|
||
|
local s = number(1, 200)
|
||
|
if s == 1 and pc.count_item(30225)==0 then
|
||
|
pc.give_item2(30225, 1)
|
||
|
send_letter(gameforge.collect_quest_lv80._240_sendLetter)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
when __TARGET__.target.click or 20084.chat.gameforge.collect_quest_lv80._250_npcChat with pc.count_item(30225) > 0 begin
|
||
|
target.delete("__TARGET__")
|
||
|
if pc.count_item(30225) > 0 then
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._260_say)
|
||
|
pc.remove_item(30225,1)
|
||
|
set_state(__reward)
|
||
|
else
|
||
|
say_title(gameforge.collect_quest_lv60._50_sayTitle)
|
||
|
--say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30225)))
|
||
|
say(gameforge.collect_quest_lv80._265_say)
|
||
|
return
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
state __reward begin
|
||
|
when letter begin
|
||
|
|
||
|
send_letter(gameforge.collect_quest_lv40._300_sendLetter)
|
||
|
local v = find_npc_by_vnum(20018)
|
||
|
if v != 0 then
|
||
|
target.vid("__TARGET__", v, gameforge.collect_quest_lv30._310_targetVid)
|
||
|
end
|
||
|
|
||
|
end
|
||
|
when button or info begin
|
||
|
say_title(gameforge.collect_quest_lv40._300_sendLetter)
|
||
|
say(gameforge.collect_quest_lv80._270_say)
|
||
|
end
|
||
|
|
||
|
when __TARGET__.target.click or 20018.chat.gameforge.collect_quest_lv30._330_npcChat begin
|
||
|
target.delete("__TARGET__")
|
||
|
say_title(gameforge.collect_quest_lv30._340_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._280_say)
|
||
|
wait()
|
||
|
say_title(gameforge.collect_quest_lv30._340_sayTitle)
|
||
|
say(gameforge.collect_quest_lv80._290_say)
|
||
|
say_reward(gameforge.collect_quest_lv80._300_sayReward)
|
||
|
affect.add_collect(apply.ATT_SPEED,6,60*60*24*365*60)
|
||
|
affect.add_collect_point(POINT_ATT_BONUS,10,60*60*24*365*60)
|
||
|
|
||
|
pc.give_item2(50114)
|
||
|
clear_letter()
|
||
|
set_quest_state("collect_quest_lv85", "run")
|
||
|
set_state(__complete)
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
|
||
|
state __complete begin
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
|