quest subquest_24 begin state start begin when login or levelup with pc.level >=39 and pc.level <=41 begin set_state(information) end end state information begin when letter begin local v=find_npc_by_vnum(20012) if 0==v then else target.vid("__TARGET__",v, gameforge.subquest_24._10_targetVid) end end when __TARGET__.target.click or 20012.chat.gameforge.subquest_24._20_npcChat begin target.delete("__TARGET__") say_pc_name() say(gameforge.subquest_24._30_say) wait() say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._40_say) wait() say_pc_name() say(gameforge.subquest_24._50_say) wait() say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._60_say) say_item_vnum(30158) local s= select(gameforge.subquest_24._70_select, gameforge.subquest_24._80_select) if 2==s then say_title(gameforge.subquest_24._90_sayTitle) say(gameforge.subquest_24._100_say) local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no) if 2==a then say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._110_say) return end say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._120_say) set_state(__GIVEUP__) return end say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._130_say) set_state(accept) end end state accept begin when letter begin send_letter(gameforge.subquest_24._140_sendLetter) end when button or info begin say_title(gameforge.subquest_24._140_sendLetter) say(gameforge.subquest_24._150_say) say_reward(gameforge.subquest_24._160_sayReward) end when 20012.chat.gameforge.subquest_24._170_npcChat begin if get_time() < pc.getqf("limit_time") then say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._180_say) local s= select(gameforge.subquest_24._190_select, gameforge.subquest_24._200_select) if 2==s then say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._210_say) local s= select(gameforge.subquest_24._220_select, gameforge.subquest_24._230_select) if 2==s then say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._240_say) set_state(__GIVEUP__) return end say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._250_say) return end say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._260_say) return end say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._270_say) set_state(__FAIL__) end when enter begin pc.setqf("limit_time", get_time()+30*60) pc.setqf("kill_count", 0) end when leave begin pc.setqf("limit_time", 0) pc.setqf("kill_count", 0) q.done() end when letter begin local rest_time=pc.getqf("limit_time")-get_time() timer("time_over", rest_time) q.set_clock("Time left", rest_time) end when time_over.timer begin say_title(gameforge.buy_fishrod._210_sayTitle) say(gameforge.subquest_24._280_say) say_reward(gameforge.subquest_24._290_sayReward) set_state(__FAIL__) q.done() end when 2001.kill begin local cur_kill_count=pc.getqf("kill_count")+1 pc.setqf("kill_count", cur_kill_count) if cur_kill_count>=number(30, 40) then pc.give_item2(30158) set_state(report) end end end state report begin when letter begin send_letter(gameforge.subquest_24._300_sendLetter) local v=find_npc_by_vnum(20012) if v!=0 then target.vid("__TARGET__", v, gameforge.subquest_24._310_targetVid) end end when button or info begin say_title(gameforge.subquest_24._300_sendLetter) say(gameforge.subquest_24._320_say) end when __TARGET__.target.click or 20012.chat.gameforge.subquest_24._330_npcChat with pc.count_item(30158) >0 begin target.delete("__TARGET__") say_title(gameforge.subquest_08._240_sayTitle) say(gameforge.subquest_24._340_say) say_title(gameforge.collect_herb_lv4._130_sayTitle) say_reward(gameforge.subquest_24._350_sayReward) pc.remove_item(30158) pc.change_money(25000) say_reward(gameforge.subquest_24._360_sayReward) pc.give_exp2(900000) clear_letter() set_state(__COMPLETE__) end end state __FAIL__ begin end state __GIVEUP__ begin end state __COMPLETE__ begin when enter begin q.done() end end end