北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 6313|回复: 6

某些机器人编程的思考和小体会。

[复制链接]
发表于 2010-2-24 16:15:46 | 显示全部楼层 |阅读模式
来到北侠,学到了很多东西,虽然用了十几年的zMud462,但还是很浅薄。玩mud最有意思的还是学习编程,完全纯手动的玩几天就没意思了,太累。而看着自己的id在编好的程序下顺畅的运行,还有空左手拿起茶杯喝几口,右手摸摸小猫猫,这写意是别的游戏所不能体会的。
不过我还是水平不够,最近在考虑是不是买几本基础的软件设计深造一下,以前学的递归数组什么的都忘的差不多了。当然更需要的还是各位老师的热情指点,再次鸣谢小刀,maper,ddid等等老师。
而玩了这么多年mud,我也多少有点小体会,好像在北侠论坛中未曾见人讨论过,这里拿出来,和大家交流一下,算是抛砖引玉吧。
有两个小技巧,是关于alias和set的两个mud内部指令。
先看看我的武当id的alias,如下:
eh            = exert heal
eg            = exert regenerate
er            = exert recover
xxx           = perform cuff.zhen
xx            = perform cuff.gangrou
x             = do 3 perform sword.chan
yy            = exert taiji
y             = perform dodge.zong
ll            = wield blade
rr            = wield sword
unw           = unwield all

我有个习惯,玩任何网游都会弄一堆大号小号,自然机器人编程就得考虑通用性。上面的eh,eg,eg是我在北侠新学的。而x则让我引申了其他想法,为此,我做了x为主攻击技能;xx,xxx为辅助攻击技能;y,yy,yyy为buff技能,而rr为主手武器,ll为副手武器。对比一下另外一个号的alias。
eh            = exert heal
eg            = exert regenerate
er            = exert recover
xxx           = perform finger.fuxue
xx            = perform sword.qifa
x             = perform sword.liumai
yy            = perform dodge.luoshen
y             = special agile
ll            = wield sword 2
rr            = wield sword
unw           = unwield all

这个做法也许已经有高人早已运用,但未见于文字。如果大家都能形成同一个标准,那各个不同的任务机器人将会少许多改动,正如#alias已经很通用的beijing,beijingb,shaolin,shaolinb等等,不需要再去记忆和修改。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-2-24 16:19:52 | 显示全部楼层
赞一个,想法很不错....
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-2-24 16:32:05 | 显示全部楼层
再说一下set,先看看我某id的set
set
你目前设定的环境变量有:
go                   "bj"


实际上这做法等同于tell 自己的id ******,或say *******;而我是set go *****
好处有三点:
第一、无声,环保;
第二、防止误触发;
第三、很好用的一点,万一机器人断了,甚至断线了,重连之后想知道运行到哪个步骤吗?打个set命令吧。


举例来说,不亮的护镖半自动机器人,原来用的触发如下:
你告诉@yourname:北京全聚德吴六奇
#case @go_num {gn} {ge} {ge} {gn} {gn} {gn} {gn} {gn} {gn} {gn} {gn} {gn} {genter} {l} {gn} {gn} {gn} {gne} {gne} {gne} {gn} {gn} {gn} {gn} {gw} {xixi}

而我设成这样:
当在接镖的时候,set go %1
设定环境变量:go = "北京全聚德吴六奇"
然后在走路的时候,用set来确定目的地。
set
你目前设定的环境变量有:
brief                2
go                   "北京全聚德吴六奇"
再做个触发:
^??go                   "(%*)"
go_where=%1;@go_where
这样会不会更好?

[ 本帖最后由 hba 于 2010-2-24 04:48 PM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-2-24 16:34:00 | 显示全部楼层
原帖由 lzkd 于 2010-2-24 04:19 PM 发表
赞一个,想法很不错....


呵呵,荣幸荣幸。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-2-24 17:01:47 | 显示全部楼层
X XX XXX...
万一手抖一下...
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-2-25 07:26:11 | 显示全部楼层
呵呵,果然精华了..恭喜恭喜hba第一个精华出现
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-2-25 08:25:18 | 显示全部楼层
原帖由 hba 于 2010-2-24 04:34 PM 发表







呵呵,荣幸荣幸。


加油哦...
个人觉得,非电脑专业出身的学程序有个优势---就是比较会联想,或者说乱想也不错,至少不会有专业出身的那许多条条框框..嘿嘿...
我觉得,我就是这样..所以,我经常不安心玩MUD,不安心写机器人,而弄教程
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 06:00 PM , Processed in 0.011195 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表