研究了几天ZMUD7的数据库,老是出问题,今天下了个CMUD,用了下数据库,对汉字的支持很是好,说说简单的数据库应用方法吧,希望能对新人有所帮助
用最简单的1个robot来说明使用数据库的方法
dazuo的robot应该是最简单的robot,我们来看看用数据库是如何完成的,希望看了后能举一反三,就是这贴的目的达到了
先建立个数据库,名字随便起个就好了,比如:mingxuec,保存起来
然后添加列,列的名字分别是herejob和do,列的类型都是text,数据库结构就完成了
设置几个变量
here和job二个变量就可以了,here用(*)(%s)~-(%s)这个触发来获得所在的地点,job就直接job=dazuo就可以了
现在拟定有2个地点,1个是武当的东走廊,1个是e一步的厨房,在这2个地方来回走动,走廊打坐,厨房吃饭,那就在刚才做好的数据库里增加2条数据,1条是herejob列输入 东厢走廊dazuo ,do列输入 dazuo 200,第2条的herejob列输入 厨房dazuo ,do 列输入 {get cha;drink cha;get fan;eat fan;drop fan;drop cha;w;hp}
基本结构和数据库的内容都有了,看看是如何让数据库动起来的
·潜能·(%s)(%d)(%s)~/(%s)(%d) 触发qnq=%2;qnh=%5;#if (@qnq=@qnh) {#show 潜能满了} {#wa 2500;#find @job@here;do=&do;#exec @do}
详细解释这个触发,qnq变量获得值,qnh变量获得值,如果潜能值(@qnq)等于潜能上限(@qnh),直接屏幕输出 潜能满了 这句话,否则就在数据库中查找 @job@here 的所在行,就是#find @job@here这句,do=&do的意思就是do变量获得刚才查找到的行,do列的值,假如here=厨房,那么#find的时候就找数据库中 厨房dazuo 所在的行,找到后,就把这行的 do列的值赋予@do变量,最后的#exec @do是执行命令,就是执行{get cha;drink cha;get fan;eat fan;drop fan;drop cha;w;hp}了,1次数据库访问的过程结束,最后1组命令执行完回到走廊的位置,重新开始hp触发,这次是#find查找 东厢走廊dazuo 所在行了,找到后@do赋值成 dazuo 200,然后执行#exec @do(dazuo 200)
以上是2条数据库记录的完整访问过程,基本已经说明如果运行数据库了
要让整个过程反复循环,加个打坐好了之后{e;hp}这个触发就ok了
以上内容适合cmud版本,zmud5-zmud7就不要尝试了,会出现各式各样的问题.