北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: cantus

求教mush中如何做到alias中包含条件判断

[复制链接]
 楼主| 发表于 2013-2-2 02:46:51 | 显示全部楼层
哦,刚才测试了下,发现这段代码还是有点问题,
我把 Execute("perform "..pfm.." "..target1.." "..target2)
写成Execute("perform "..pfm.." on "..target1.." "..target2)
然后就发现if target1==nil then 这句其实一直是判断不成立的
始终是选择的第二项,原来的代码输出结果里看不出来,加了on后就发现了,求指点~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-2-2 02:56:19 | 显示全部楼层
回复 16# cantus


    楼主很细心啊!其实只输入lian的时候,target1 == ""而不是nil,所以那段代码的确可以简化。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-2-2 03:10:01 | 显示全部楼层
本帖最后由 cantus 于 2013-2-1 07:12 PM 编辑

改为if target1=="" then 后
测试成功!
感谢hijacker前辈!感谢yyahoo前辈!
今天学了不少东西,哈哈~
zmud7.21对中文支持不好,尤其是在简体中文系统下玩big5码的mud,更加是一塌糊涂,
加载big5字库后在触发编辑那里全是乱码,没法用,cmud更是不堪,换了mush才解决问题,
希望能在前辈们的指点下尽快学会mush吧~
刚才的alias写法有个比较隐蔽的问题,如果有两个alias 名字为cf和cfm,实际运行时,都是执行的cf,
因为正则可以匹配,明天再研究这个问题吧,睡觉了,再次感谢^^
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-2-2 11:00:58 | 显示全部楼层
感觉加了结束符号后可能影响正则匹配
比如cf$\\s?(\\w*)应该就不能匹配后面的内容了吧?
这会在值班,没法测试,我觉得是不是写成这样可行:
cf\\b\\s?(\\w*)
这样就表示必须匹配cf这个单词,后面可能有个空格加一些字符,如果cfm就会判断不匹配,请前辈指点~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-2-2 17:42:00 | 显示全部楼层
下班了,刚测试了 cf\\b\\s?(\\w*)
结果是可以正确匹配,这样即使有cfm,cfa,cfb也不会出错了
正则表达式确实是个强悍的工具啊,继续学习~

另外搞懂了 临时别名 - 不会被保存到游戏配置文件中
这个设置的好处是游戏设置文件里不会放置alias,所有的alias都由脚本加载,很干净,易于统一修改
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 09:40 AM , Processed in 0.010417 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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