文字MUD游戏论坛-天下泥潭群英会-水泊梁山  

返回   文字MUD游戏论坛-天下泥潭群英会-水泊梁山 > 西游之旅 > 『 机器人制作及下载 』

『 机器人制作及下载 』 如何从开始简单的数组、触发,到复杂的路径、地图、数据库等等。如何考虑周全的制作全自动的机器人让它能够24小时不停的帮你练功。

发表新主题 回复
 
LinkBack 主题工具 主题评分 显示模式
旧 2009-01-23   #1
中级会员
级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时
 
f_lilin 的头像
 
注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望: 26 f_lilin 初领妙道
现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
n年没来,挣声望,机器心得之一(task机器)

n年没来了,上来看看,发现又改革了,没声望啥也干不了,把以前写的几篇心得发一下挣点声望吧。

当初玩的好象是北京站还是乱世,记不太清了,不过原理搞清楚了对别的站也是一个帮助。
---------------------------------------
全自动task编程指南
几年没玩过xyj,前两天无意中在硬盘里翻出了zmud7.21来,又想看看现在的mud发展成什么样了,于是上网查mud地址,就来到这了,通过这几天,发现这个mud很有新意啊,跟我玩的时候改了不少东西,还是不错的,就把我这几天来做的机器和大家讨论一下。当然,和几年前一样,我很少给出完整的机器,都是把自己的思路写清楚,按这个思路做,是可以做出来的。

1.关键命令和函数
这几个命令是最常用的,一定要记好,同时,要多了解和数据库、地图相关的函数的命令,要知道利用地图和数据库做任务机器是相当方便的。
#QUERY expression [viewdatabase]
在数据库viewdatabase中找出符合expression的记录
例如:#query (&name="木笛子") {task} 就是在数据库task中找出字段名name中符合木笛子的记录。
%mapquery([SQLstring])
在地图中利用SQL语句找出相符合的房间,并把房间号用"|"间隔
例子:
TaskWhereList=%mapquery([Name] LIKE '十字街头')就是把地图中房间名为"十字街头"的房间号存在taskwherelist里,这时在我的地图里taskwherelist内容会变为19,如果是多个房间,就会变为19|20|21
%item(list, n)这就不多说了,就是把字list里的第n个提出来
#dbreset数据库在执行过#query和#find后,要用这个命令复原,可以看成是重启数据库。
2.编程思路
我的想法很简单,就是利用地图功能,把xyj里所有的房间全记下来,这样,所有的房间名也就都有了。而task的任务物品,用数据库一一列出来,用于拾取、归还。
看图片1是地图,图片2是数据库
3.部分代码
开始的触发:
据说(*)在(*)一带出现。
TaskName=%1 //取物品名
TaskWhere=%2 //取房间名
#QUERY (&name=@TaskName) {task} //在数据库里找物品相关信息
TaskWhereString="[Name] LIKE '@taskwhere'" //定义SQL语句
TaskWhereList=%mapquery( @taskwhereString) //找房间名,并存储
gt %item( @TaskWhereList, @TaskPickNum) //走到第一个房间
get &id //捡物品

如果第一个房间没有物品怎么办呢,做个标志,向下走吧。

#if @TaskFindFlag=0 { //如果没有物品
TaskPickNum=%eval( @TaskPickNum+1)
#if @TaskPickNum<%eval( @TaskWhereNum+1) { //房间还没走完
gt %item( @TaskWhereList, @TaskPickNum) //到下个房间
get &id} { //捡物品
TaskFindFlag=0}

好不容易找到了啊:
你捡起*@TaskName*
TaskFindFlag=1 //找到物品
gt &roomid //走到从数据库里取出的归还房间号
give &id to &npcid //归还物品

归还物品后,一定不要忘了#dbreset啊,要不下次物品就找不到了。

好了,这次就到这里吧,下讲我会谈一些全自动quest编程思路,现在这个工作作了一些了,由于地图已经差不多完工了,工作量会比task机器小很多,希望能做得顺利。
帅哥 f_lilin 当前离线  
回复时引用此帖

旧 2009-01-23   #2
中级会员
级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时
 
f_lilin 的头像
 
注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望: 26 f_lilin 初领妙道
现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: n年没来,挣声望,机器心得之一(task机器)

图片不会发,运行时的图片发不了了
帅哥 f_lilin 当前离线  
回复时引用此帖
旧 2009-01-23   #3
中级会员
级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时级别:3 | 在线时长:30小时 | 升级还需:20小时
 
f_lilin 的头像
 
注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望: 26 f_lilin 初领妙道
现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: n年没来,挣声望,机器心得之一(task机器)

加不了附件,编辑不了,我啥权限也没了~~~!!!!
帅哥 f_lilin 当前离线  
回复时引用此帖

旧 2009-01-23   #4
钻石会员
级别:8 | 在线时长:186小时 | 升级还需:39小时级别:8 | 在线时长:186小时 | 升级还需:39小时
 
zhangj 的头像
 
注册: 07年05月01日
来自: 上海站
帖子: 538
声望力: 25
声望: 106 zhangj 略通道行zhangj 略通道行
积分:23
精华:5
现金:22两梁山币
资产:2105两梁山币
致谢数: 4
获感谢文章数:3
获会员感谢数:5
回复: n年没来,挣声望,机器心得之一(task机器)

给楼主加点声望,多写些好机器!
帅哥 zhangj 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签


发帖规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9, 现在的时间是 00:43.


Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue

Content Relevant URLs by vBSEO 3.6.1