quest subquest_47 begin state start begin when login or levelup with pc.level >= 50 and pc.level <= 52 begin set_state( information ) end end state information begin when letter begin local v=find_npc_by_vnum(20355) if 0==v then else target.vid("__TARGET__", v, gameforge.subquest_47._10_targetVid) end end when __TARGET__.target.click or 20355.chat.gameforge.subquest_47._20_npcChat with pc.level >= 50 begin target.delete("__TARGET__") say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._30_say) -- select: take quest / give up quest local r= select(gameforge.find_brother_article._90_select, gameforge.subquest_01._60_select) -- give up quest if 2==r then say(gameforge.subquest_47._40_say) -- give up yes/no local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no) -- dont give up if 2==a then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._50_say) return end -- give up say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._60_say) set_state(__GIVEUP__) return end -- dont give up quest say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._70_say) wait() say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._80_say) -- displays the riddle text wait() say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._90_say) -- select: answer question / i dont know / show again local s= select(gameforge.subquest_47._100_select, gameforge.subquest_47._110_select, gameforge.subquest_47._115_select) -- i dont know if 2==s then say(gameforge.subquest_47._120_say) -- select: give up yes / no local a= select(gameforge.locale.guild.yes, gameforge.locale.guild.no) -- show riddle again if 2==a then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._130_say) return end -- give up quest say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._140_say) set_state(__GIVEUP__) return end -- show the riddle again if 3==s then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._150_say) -- displays the riddle text again wait() end say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._160_say) -- input answer local answer = select( gameforge.subquest_47._302_answer_wrong, gameforge.subquest_47._304_answer_wrong, gameforge.subquest_47._301_answer_correct, gameforge.subquest_47._303_answer_wrong, gameforge.subquest_47._305_answer_dontknow) -- input correct answer -> quest complete if 3 == answer then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._170_say) say_reward(gameforge.subquest_47._180_sayReward) pc.give_exp2(2300000) clear_letter() set_state(__COMPLETE__) return -- input no answer elseif 5 == answer then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._190_say) -- select: try again / i dont know local answer = select(gameforge.subquest_47._200_select, gameforge.subquest_47._210_select) -- i dont know if 2==answer then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._220_say) return end -- try again say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._230_say) local answer = select( gameforge.subquest_47._304_answer_wrong, gameforge.subquest_47._301_answer_correct, gameforge.subquest_47._303_answer_wrong, gameforge.subquest_47._302_answer_wrong, gameforge.subquest_47._305_answer_dontknow) -- input correct answer -> quest complete if 2==answer then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._240_say) say_reward(gameforge.subquest_47._250_sayReward) pc.give_exp2(2300000) clear_letter() set_state(__COMPLETE__) return -- input wrong answer else say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._260_say) return end -- wrong answer else say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._270_say) -- select: try again / i dont know local a= select(gameforge.subquest_47._280_select, gameforge.subquest_47._290_select) -- i dont know -> give up if 2==a then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._220_say) set_state(__GIVEUP__) return end -- try again say(gameforge.subquest_47._300_say) local answer = select( gameforge.subquest_47._301_answer_correct, gameforge.subquest_47._302_answer_wrong, gameforge.subquest_47._303_answer_wrong, gameforge.subquest_47._304_answer_wrong, gameforge.subquest_47._305_answer_dontknow) -- correct answer if 1==answer then say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._310_say) say_reward(gameforge.subquest_47._180_sayReward) pc.give_exp2(2300000) say_reward(gameforge.subquest_47._320_sayReward) pc.change_money(20000) clear_letter() set_state(__COMPLETE__) return -- no or wrong answer -> retry by clicking captain (20355.chat) again else say_title(gameforge.main_quest_lv10._30_sayTitle) say(gameforge.subquest_47._330_say) return end end end end state __COMPLETE__ begin when enter begin q.done() end end state __GIVEUP__ begin end end