![]() |
![]() |
#1 |
中级会员
![]() ![]() ![]() ![]() ![]() 注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望:
26
![]() 现金: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机器小很多,希望能做得顺利。 |
![]() ![]() |
![]() |
![]() |
#2 |
中级会员
![]() ![]() ![]() ![]() ![]() 注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望:
26
![]() 现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: n年没来,挣声望,机器心得之一(task机器)
图片不会发,运行时的图片发不了了
|
![]() ![]() |
![]() |
![]() |
#3 |
中级会员
![]() ![]() ![]() ![]() ![]() 注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望:
26
![]() 现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: n年没来,挣声望,机器心得之一(task机器)
加不了附件,编辑不了,我啥权限也没了~~~!!!!
|
![]() ![]() |
![]() |
![]() |
#4 |
钻石会员
![]() ![]() 注册: 07年05月01日
来自: 上海站
帖子: 538
声望力: 25
声望:
106
![]() ![]() 积分:23
精华:5
现金:22两梁山币
资产:2105两梁山币
致谢数: 4
获感谢文章数:3
获会员感谢数:5 |
回复: n年没来,挣声望,机器心得之一(task机器)
给楼主加点声望,多写些好机器!
|
![]() ![]() |
![]() |