1
0
Fork 0
server/gamefiles/locale/english/quest/subquest_32.quest

315 lines
8.7 KiB
Plaintext

quest subquest_32 begin
state start begin
when login or levelup with pc.level >= 41 and pc.level <= 43 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20010)
if v != 0 then
target.vid("__TARGET__", v, gameforge.subquest_32._10_targetVid)
end
end
when __TARGET__.target.click or 20010.chat.gameforge.subquest_32._20_npcChat with pc.level >= 41 begin
target.delete("__TARGET__")
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._30_say)
wait()
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._40_say)
wait()
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._50_say)
local s= select(gameforge.subquest_01._50_select, gameforge.subquest_01._60_select)
if 2==s then
say(gameforge.subquest_32._60_say)
local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if 2==a then
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._70_say)
return
end
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._80_say)
set_state(__GIVEUP__)
return
end
say_title(gameforge.main_quest_lv32._120_sayTitle)
say(gameforge.subquest_32._90_say)
set_state(gogogo)
end
end
state gogogo begin
when letter begin
send_letter(gameforge.subquest_32._100_sendLetter)
if pc.getqf("sil_done") == 0 or pc.getqf("sil_done") ==2 then
local v=find_npc_by_vnum(20021)
if 0!=v then
target.vid("__TARGET1__",v, gameforge.subquest_17._340_targetVid)
end
end
if pc.getqf("sil_done")== 1 then
local v=find_npc_by_vnum(20003)
if 0!=v then
target.vid("__TARGET3__",v, gameforge.subquest_32._110_targetVid)
end
end
if pc.count_item(30144) >=100 and pc.count_item(30143)>0 then
local v=find_npc_by_vnum(9003)
if 0==v then
target.vid("__TARGET2__",v, gameforge.subquest_32._120_targetVid)
end
end
if pc.count_item(30139)>=100 and pc.count_item(30140)>0 and pc.count_item(30141)>0 then
set_state(all_item_done)
end
end
when info or button begin
say_title(gameforge.subquest_32._130_sayReward)
say(gameforge.subquest_32._140_sayReward)
end
when 20021.chat.gameforge.subquest_32._150_npcChat with pc.getf("subquest_32","sil_done")==0 begin
target.delete("__TARGET1__")
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._160_say)
wait()
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._170_say)
local s= select(gameforge.subquest_01._50_select, gameforge.subquest_01._60_select)
if 2==s then
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._180_say)
local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if 2==a then
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._190_say)
return
end
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._200_say)
set_state(__GIVEUP__)
return
end
say_title(gameforge.hair_shop._20_sayTitle)
say(gameforge.subquest_32._210_say)
pc.give_item2(30159)
pc.setqf("sil_done",1)
end
when 20021.chat.gameforge.subquest_32._150_npcChat with pc.getf("subquest_32","sil_done") == 1 begin
say_title(gameforge.subquest_32._220_sayTitle)
say(gameforge.subquest_32._230_say)
return
end
when 20021.chat.gameforge.subquest_32._150_npcChat with pc.getqf("subquest_32","sil_done") == 2 begin
target.delete("__TARGET1__")
say_title(gameforge.subquest_32._220_sayTitle)
say(gameforge.subquest_32._240_say)
pc.give_item2(30140)
pc.setqf("sil_done",3)
if pc.count_item(30141)>0 and pc.count_item(30139)>=100 then
set_state(all_item_done)
return
end
end
when 20021.chat.gameforge.subquest_32._150_npcChat with pc.getqf("subquest_32","sil_done") == 3 begin
say_title(gameforge.subquest_32._220_sayTitle)
say(gameforge.subquest_32._250_say)
end
when 20003.chat.gameforge.subquest_32._260_npcChat with pc.count_item(30159)>0 begin
target.delete("__TARGET3__")
say_title(gameforge.subquest_32._270_sayTitle)
say(gameforge.subquest_32._280_say)
pc.remove_item(30159)
pc.setqf("sil_done",2)
end
when 9003.chat.gameforge.subquest_32._290_npcChat with pc.getf("subquest_32","jewel_done")==0 begin
target.delete("__TARGET2__")
say_title(gameforge.find_squareguard._130_sayTitle)
say(gameforge.subquest_32._300_say)
wait()
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._310_say)
say_item_vnum(30143)
say_item_vnum(30144)
say(gameforge.subquest_32._320_say)
wait()
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._330_say)
local s= select(gameforge.subquest_01._50_select, gameforge.subquest_01._60_select)
if 2==s then
say(gameforge.subquest_32._60_say)
local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if 2==a then
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._340_say)
return
end
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._350_say)
set_state(__GIVEUP__)
return
end
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._360_say)
pc.setqf("jewel_done",1)
end
when 9003.chat.gameforge.subquest_32._370_npcChat with pc.getqf("subquest_32","jewel_done")==1 and pc.count_item(30143)>=1 and pc.count_item(30144)>=100 begin
target.delete("__TARGET2__")
say_title(gameforge.subquest_27._160_sayTitle)
say(gameforge.subquest_32._380_say)
pc.give_item2(30141)
pc.remove_item(30143 ,1)
pc.remove_item(30144 ,100)
pc.setqf("jewel_done",2)
if pc.count_item(30140)>0 and pc.count_item(30139)>=100 then
set_state(all_item_done)
return
end
end
when 114.kill or 115.kill begin
local s = number(1, 100)
if s <= 7 and pc.count_item(30144)<100 then
pc.give_item2(30144, 2)
end
local a = number(1, 100)
if a <= 5 and pc.count_item(30143)== 0 then
pc.give_item2(30143, 1)
end
end
when 634.kill begin
local s = number(1, 100)
if s <= 7 and pc.count_item(30139)<100 then
pc.give_item2(30139, 2)
if pc.count_item(30139)>=100 and pc.count_item(30140)>0 and pc.count_item(30141)>0 then
set_state(all_item_done)
return
end
end
end
end
state all_item_done begin
when letter begin
setskin(NOWINDOW)
makequestbutton(gameforge.subquest_32._130_sayReward)
q.set_title(gameforge.subquest_32._390_qSetTitle)
q.start()
local v=find_npc_by_vnum(20010)
if 0==v then
else
target.vid("__TARGET__",v, gameforge.subquest_32._400_targetVid)
end
end
when info or button begin
say(gameforge.subquest_32._410_sayReward)
say(gameforge.subquest_32._420_sayReward)
end
when __TARGET__.target.click or 20010.chat.gameforge.subquest_32._430_npcChat begin
if pc.count_item(30140)>=1 and pc.count_item(30141)>=1 and pc.count_item(30139) >= 100 then
target.delete("__TARGET__")
say_title(gameforge.subquest_32._440_sayTitle)
say(gameforge.subquest_32._450_say)
pc.remove_item(30140,1)
pc.remove_item(30141,1)
pc.remove_item(30139,100)
pc.setqf("jewel_done",0)
pc.setqf("sil_done",0)
say_reward(gameforge.subquest_32._460_sayReward)
pc.give_exp2(1100000)
set_quest_state("levelup","run")
say_reward(gameforge.subquest_32._470_sayReward)
pc.give_item2(14060)
pc.give_item2(16060)
pc.give_item2(17060)
set_state(THEEND)
clear_letter()
return
end
target.delete("__TARGET__")
say_title(gameforge.subquest_32._440_sayTitle)
say(gameforge.subquest_32._480_say)
local s= select(gameforge.subquest_01._50_select, gameforge.subquest_01._60_select)
if 2==s then
say(gameforge.subquest_32._490_say)
local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no)
if 2==a then
say_title(gameforge.subquest_32._440_sayTitle)
say(gameforge.subquest_32._500_say)
set_state(gogogo)
return
end
say_title(gameforge.subquest_32._440_sayTitle)
say(gameforge.subquest_32._510_say)
set_state(__GIVEUP__)
return
end
say_title(gameforge.subquest_32._440_sayTitle)
say(gameforge.subquest_32._520_say)
set_state(gogogo)
end
end
state __GIVEUP__ begin
end
state THEEND begin
when enter begin
q.done()
end
end
end