北大侠客行MUD论坛

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

求教,帮看下所使用的触发使用的系统变量怎么改,每次不触发 (已经解决,谢谢各位)

[复制链接]
发表于 2013-7-26 00:41:28 | 显示全部楼层 |阅读模式
本帖最后由 feishu 于 2013-7-30 05:58 PM 编辑

触发句有两种七心甲虫 = beetle, jia chong, chong      
星宿毒蛛 = du zhu, zhi zhu, zhu


我做的触发格式是   


星宿毒蛛 = du zhu, zhi zhu, zhu
#TRIGGER {(%x)%s=%s(%x)%s(%x)%p}
{#var bugid_temp %lower( %2 %3);#if %1=%item( @bugname, %ismember( %1, @bugname)) {#additem @bugid "@bugid_temp"}}


七心甲虫 = beetle, jia chong, chong   
#TRIGGER {(%x)%s=%s(%x)%p}
{#if %1=%item( @bugname, %ismember( %1, @bugname)) {#additem @bugid "%2"}}



请问大侠,我这两句为什么不能给变量bugid赋值,命令中的变量bugname是通过前一句的“看起来(%x)想杀死你”而抓去的,我的想法是因为这两个变量都是list类型的变量,不能直接和%1所抓去的值直接比较,所以就先用“%item( @bugname, %ismember( %1, @bugname”的转换来和抓取的值比较,再抓去npc的拼音赋予到bugid变量,但在实际使用中,根本不能实现。
请问各位大侠,
1、我的思路的有实现的可能吗,如果能怎么修改,如果不能还有别的办法吗?
2、如果我想用一个触发实现同时匹配这两种句式,怎么些匹配句?
非常感谢!

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-7-26 10:13:29 | 显示全部楼层
只有%additem, 没有#additem...
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-7-26 12:43:41 | 显示全部楼层
有的,在zmud7.21 help查使用的,我在《Zmud机器人制作》这里看到的,#additem和%additem的区别是#additem不可以添加重复的item,另一个反之。
另外发现了问题
我把通配符写错了,(%x)%s=%s(%x)%s(%x)%p应该改成(%x)%s=%s(%w)%s(%w)%p就可以抓取了,但是还是不能赋值,不知道为什么
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-7-27 00:32:37 | 显示全部楼层
{#additem @bugid "@bugid_temp"}}
應該不用" " 雙引號吧?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-7-27 07:59:55 | 显示全部楼层
本帖最后由 bluse 于 2013-7-27 08:01 AM 编辑

{#additem @bugid "@bugid_temp"}


bugid好像不用加@前导吧,这个句子里bugid这个变量的身份是左值,被改写赋值,因此不用加@。
加@的变量,是用于作右值,就是取出值参与运算的。


我没用721,你改成这个试试
{#additem bugid "@bugid_temp"}
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-7-29 02:27:46 | 显示全部楼层
谢谢楼上两位,试一下bluse高人的意见,终于可以正确的抓取和赋值了,太谢谢了,这个问题困扰了我好几天
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-7-29 16:52:37 | 显示全部楼层
本帖最后由 ycryu 于 2013-7-30 08:40 AM 编辑

#tr 看起来(%x)想杀死你 {#var bugName %1;look};
#tr @bugName~((*)~) {#var bugID {%lower(%1)};kill @bugID}
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-7-30 18:04:51 | 显示全部楼层
  1. #TRIGGER {(%x)%s=%s(%w)%s(%w)%p} {#if %1=%item( @bugname, %ismember( %1, @bugname)) {#additem bugid %lower( %2 %3)}
复制代码

我楼上写的真简洁,根据各位给的意见,这是我最后改的,可以正常运行了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 07:05 AM , Processed in 0.009585 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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