北大侠客行MUD论坛

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

Zmud的Database功能在task中的应用

[复制链接]
发表于 2008-10-29 23:19:41 | 显示全部楼层 |阅读模式
Zmud5.55-7.21提供了Database功能,善加利用的话可以提高task的效率。

1、构造task数据库
建立3个字段(Field):
Name:task物品的中文名称,如:宁中则的淑女剑;
Id:task物品的英文名称,如:shunv jian;
Master:归还task物品的npc,如:ning zhongze;

2、task数据库的利用
这里有两种思路:
思路一:直接利用#dbfirst,#dbnext命令
#dbfirst是定位到第一条记录,#dbnext是定位到下一条记录;
#TRIGGER {【闲聊】北大侠客行任务榜:侠客榜任务分配完成!} {#dbfirst};
这一个trigger是在侠客榜任务刚分配完成的时候定位到数据库第一条记录;
#KEY F1 {name=&name;id=&id;master=&master;locate @name;#dbnext;};
设定F1快捷键,按一次F1会把预设的变量name,id,master进行赋值,并locate @name;
#KEY F2 {give @id to @master};
设定F2为还task物品的快捷键,按F2就会把task物品还给npc;

这种思路的缺点是有些在侠客任务榜里没有但是在数据库里有的task也会locate一次,并且没用考虑有人竞争的情况。

思路二:获取可以做的task列表,然后在task数据库里搜索
#KEY F1 {tasklist=结尾;num=1;task;};
#TRIGGER  {%s(%x)%s~((%x)~)} {#if %len( %2)=6 {tasklist=%push( %1, @tasklist)}};
#KEY F2 {#if @num<%numitems( @tasklist) {name=%item( @tasklist, @num);#find @name;master=&master;id=&id;locate @name;#add num 1}};
#KEY F3 {give @id to @master};
F1是获取当前可以做的task列表,trigger是判断哪些是还没被做的task并且写入tasklist变量,按一次F2将按tasklist顺序locate一次,F3是归还物品。

思路二比思路一提高了效率,不过以下情形还有待解决:多人竞争task,做到一半的时候按F1刷新了一下tasklist,但是tasklist中会有一些已经locate过了但是找不到地方的会重复locate,这个可以考虑在task数据库中增加一个locate_done的字段进行控制,当然重复的也不是很多可以不考虑这个问题。

因为zmd对中文支持不是很好,“林平之的葵花宝典”,"欧阳克的白扇","浪回头的带血的丝巾"这三个会出错。

有什么想法大家一起讨论。

评分

参与人数 1精华 +20 收起 理由
icer + 20

查看全部评分

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2008-10-29 23:20:32 | 显示全部楼层
占楼备用
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-10-30 14:44:13 | 显示全部楼层
http://www.ourplus.com/other/pkuxkx/task/task_batch.txt

我上周把task的位置都取出来,然后放到网页上。。。。。

本来可以更完善的,不过我自己都没时间玩游戏。。。等我有空升级了,再钻研task好了。。

task的做法,还是maper来提供吧。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2008-10-30 15:26:12 | 显示全部楼层
活鱼 你这个是一次性把所有的task都locate一遍?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-10-30 22:12:32 | 显示全部楼层
是啊,然后挑方便的npc做。。。

不过可怜定位所有的task,我居然精不够
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2008-11-4 23:59:36 | 显示全部楼层
用一个可以发呆的大米,直接在发呆室定位一个之后发呆一下
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 11:30 PM , Processed in 0.009955 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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