|
zgbl这个bl等一直让我写个什么mush的简洁教程。。。。说实话这太难了,用几句话教会人编程。。。。偶55555555
下面我把我写的钓鱼机器人作了很详细的注释,想学mush的人可以仔细研究下各条语句的用法。看得多了,自然也理解多了。
不理解的,可以直接问我- -------------------钓鱼机器人 start--------------------------
- require "wait"
- require "tprint"
- function diaoyu_start()
- wait.make (function () --- coroutine below here
- wait.regexp ("这里是城市的正中心,一个很宽阔的广场,铺着青石地面。一些游手好闲") -- 设置一个等待事件,只有在出现括号中的语句时,这行之后 end of coroutine 之前 代码才会被执行
- wait.time (1) -- 等待1秒
- Note( '回到ct了' ) -- 提示到达目的地
- diaoyu_cttomatou() -- 从ct走道岸边
- end) -- end of coroutine
- diaoyu_maiyuer() -- 去买鱼饵
- end
- function diaoyu_maiyuer()
- wait.make (function () --- coroutine below here
- wait.regexp ("你一走进杂货铺,老板就笑眯眯的跟你打招呼。这里卖一些杂七杂八的东西")-- 设置一个等待事件,只有在出现括号中的语句时,这行之后 end of coroutine 之前 代码才会被执行
- wait.time (1) -- 等待1秒
- Note( '到杂货铺了' ) -- 提示到达目的地
- -- 以下是购买钓鱼物品
- Send( 'buy yugou' )
- wait.time (2)
- Send( 'buy yuer 95;' )
- wait.time (2)
- Send( 'buy yuer 100;' )
- wait.time (2)
- Send( 'buy yuer 100;' )
- --wait.time (2)
- wait.time (2)
- diaoyu_suzhoub()-- 从杂货铺返回ct
- end) -- end of coroutine
- diaoyu_suzhou()-- 从ct到杂货铺去
- end
- function diaoyu_cttomatou()--从ct到岸边
- create_trigger( 'diaoyu_to_matou', "面前是一条波涛翻滚的大江\\(river\\)。浊流滚滚,万舟竞", "", "diaoyu_diaoyu" ) --设置一个一次性触发器,当到达岸边时触发并执行diaoyu_diaoyu
- Send( "do 9 n" )--到岸边去
- wait.make (function () --- coroutine below here
- wait.time (3)
- Send( 'l' ) --到达岸边后look一次
- end) -- end of coroutine
- end
- function diaoyu_diaoyu()--开始钓鱼
- Note( "开始钓鱼" ) -- 提示
- local jingshen = tonumber( GetVariable ("jingshen") ) -- 提取现在精神值
- local jingyan = tonumber( GetVariable ("jingyan") ) -- 提取现在经验值
- if jingyan >= 50000 then --当经验大于5w,停止钓鱼并提醒
- utils.msgbox ( "别钓拉,再钓也没有经验了" .. jingyan, "恭喜你" )
- return false
- end
- if jingshen < 20 then --如果精神值小于20,跳到发呆函数
- diaoyu_fadai()
- return false
- end
- create_trigger( 'diaoyu_to_matou_ok', "你一提杆,钓到了一条(.*),恭喜,恭喜。 ", "", "diaoyu_diaoyu_ok" ) --设置一个一次性触发器,当钓到鱼的时候执行diaoyu_diaoyu_ok函数
- create_trigger( 'diaoyu_to_matou_no', "你猛地一拉鱼线,感到手上一沉", "", "diaoyu_diaoyu_end" ) --设置一个一次性触发器,当钓鱼完毕时执行diaoyu_diaoyu_end函数
- create_trigger( 'diaoyu_to_no_jingshen', "你太累了,歇会再钓吧!", "", "diaoyu_fadai" )--设置一个一次性触发器,当"你太累了,歇会再钓吧!"时执行diaoyu_fadai函数去发呆
- Note( "定时器返回:" )
- Note(create_timer( 'diaoyu_to_matou_timeout', 50, '', 'diaoyu_to_matou_timeout' ) )--设置一个一次性定时器,如果50秒没有钓鱼成功,执行 diaoyu_to_matou_timeout 钓鱼超时函数
- wait.make (function () --- coroutine below here
- wait.time (1)
- Send( "gua yuer" ) --
- wait.time (1)
- Send( "diao yu" ) --钓鱼
-
- end) -- end of coroutine
- end
- function diaoyu_to_matou_timeout() --超时后重新开始钓鱼
- Note( "超时了重来" )
- diaoyu_diaoyu() --重新开始钓鱼
- end
- function diaoyu_diaoyu_ok (name, line, wildcards) --成功钓到鱼
- Note( "成功钓到鱼" )
- Send( 'drop fish' ) --丢掉鱼
- end
- function diaoyu_diaoyu_end (name, line, wildcards) --钓鱼完毕
- Send( 'hp' )
- DeleteTimer( 'diaoyu_to_matou_timeout' ) --删除钓鱼超时触发器
- wait.make (function () --- coroutine below here
- wait.time (1)
- diaoyu_diaoyu() --重新开始钓鱼
- end) -- end of coroutine
- end
- function diaoyu_report( yu ) --恶搞
- local jingshen = GetVariable ("jingshen" )
- local jingyan = GetVariable ("jingyan" )
- local str = ""
- --if yu == "" then
- -- str = str .. "活鱼什么也没有掉到" .. ","
- --else
- -- str = str .. "活鱼钓到了一条" .. yu .. ","
- --end
- str = str .. "钓鱼钓的累死了,搞的我精神(" .. jingshen .. ")低落,经验高涨(" .. jingyan .. ") 待我去发呆室享受一次福利先"
- Send( "chat " .. str )
- end
- function diaoyu_fadai() --发呆函数
- diaoyu_report( "" )
- create_trigger( 'diaoyu_fadai', "你发呆了一会儿", "", "diaoyu_fadaied" )--设置一个一次性触发器,当发呆完毕后执行diaoyu_fadaied函数去发呆
- wait.make (function () --- coroutine below here
- wait.time (1)
- Send( 'do 9 s' )
- wait.time (1)
- Send( 'd' )
- Send( 'out' )
- wait.time (2)
- Send( 'fadai' )
- end) -- end of coroutine
- end
- function diaoyu_fadaied() --发呆完毕
- wait.make (function () --- coroutine below here
- Send( 'hp' )
- wait.time (1)
- Send( 'do 10 drink' )
- wait.time (1)
- Send( 'do 10 eat ganliang' )
- wait.time (1)
- Send( 'enter' )
- Send( 'u' )
- wait.time (1)
- diaoyu_cttomatou() --执行从ct到岸边的函数重新开始钓鱼
- end) -- end of coroutine
- end
- function diaoyu_suzhou() -- 从ct到杂货铺
- Execute( "e;e;e;e;e;e;se;s;e;n;n;n;n;n;nw;w;s" )
- wait.make (function () --- coroutine below here
- wait.time (3)
- Send( 'l' )
- end) -- end of coroutine
- end
- function diaoyu_suzhoub() -- 从杂货铺到ct
- Execute( "n;e;se;s;s;s;s;s;w;n;nw;w;w;w;w;w;w;l" )
- wait.make (function () --- coroutine below here
- wait.time (3)
- Send( 'l' )
- end) -- end of coroutine
- end
- -------------------钓鱼机器人 end--------------------------
- -- 创建一个临时的一次性触发器
- -- AddTrigger的api见 http://mc.chinaido.com/help.php?function=AddTrigger
- function create_trigger( t_name, t_match, t_response, t_function )
- return AddTrigger(
- t_name,
- t_match,
- t_response,
- trigger_flag.Enabled + trigger_flag.RegularExpression + trigger_flag.Replace + trigger_flag.Temporary + trigger_flag.OneShot,
- -1,
- 0,
- "",
- t_function
- )
- end
- -- 创建一个临时的一次性定时器
- -- AddTimer的api见 http://mc.chinaido.com/help.php?function=AddTimer
- function create_timer( t_name, t_time, t_com, t_function )
- return AddTimer (
- t_name,
- 0,
- 0,
- t_time,
- t_com,
- timer_flag.Enabled + timer_flag.OneShot + timer_flag.TimerSpeedWalk + timer_flag.Replace + timer_flag.Temporary,
- t_function
- )
- end
复制代码
[ 本帖最后由 huoyu 于 2008-9-4 01:20 PM 编辑 ] |
|