北大侠客行MUD论坛

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

关于zmud721的部分汉字触发问题

[复制链接]
发表于 2013-8-1 18:04:40 | 显示全部楼层 |阅读模式
有些汉字,zmud721认不出来啊。
比如:孔、口、风等等。

导致触发无效,各位是怎么解决的?

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-1 18:46:44 | 显示全部楼层
二次赋值可以解决
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-1 19:42:04 | 显示全部楼层
请问有没有721入门手册啊?有的话,给个传送门呗。
最好白话文、通俗易懂的!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-8-8 12:42:25 | 显示全部楼层
回复 3# suxxx


    二次赋值是什么意思?静电说的那个帖子看了半天,没看懂。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-8 13:48:32 | 显示全部楼层
师傅辛苦了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-8-9 15:39:15 | 显示全部楼层
yyahoo 发表于 2013-8-8 01:00 PM



    看了半天没看懂啊。我是说,比如盗宝人叫孔景,我的触发是:
#TRIGGER {%s盗%s宝%s人%s「%x龙」(@tasknpc)~(*~)} {#pause;follow @daobao;fight @daobao;pz;unwield @rhand;perform finger.jingmo;wield @rhand}
我在721测试触发里面,tasknpc已经赋值为孔景,测试触发也没问题。但是实际就是没有反应。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-9 16:26:27 | 显示全部楼层
技术贴,我一般不水的。。。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-9 16:33:46 | 显示全部楼层
楼上觉悟高。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-10 15:48:31 | 显示全部楼层
本帖最后由 moonlily 于 2013-8-10 07:49 AM 编辑

孔 克 客等等这些汉字,经过变量传递后,就乱码了,也就对不上触发行的没乱码的字,所以不会被触发

方法是抓触发行对应的名字,存入变量,然后和你之前赋值的变量对比, 如果相同,就是触发成功,如果不同,就是不成功,当然为了减少错误,需要把这些会乱码的汉字替换掉,我以前是直接替换成 *, 比如 “欧阳克”就替换成“欧阳*”,*本身就是个通配符,这样就能保证触发

比如你先经过替换赋值  tasknpc=“*景”, 然后就可以直接用在触发行上了。不用先抓触发行变量再对比了,但有个坏处是可能有多个叫  xx景的npc都被误触发了

具体方法   搜索变量 a, 如果变量a的值里面,存在 会乱码的字符, 将 会乱码的字符 替换 成 *

貌似说的乱七八糟,希望你能明白
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2013-8-10 16:15:01 | 显示全部楼层
本帖最后由 moonlily 于 2013-8-10 08:21 AM 编辑

翱笨部晨纯悼犊房缚箍嚎豢伎娇究俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀揽量驴每目趴瓶强瓤煽士丝炭涂慰峡锌芽铱涌钥湛挚卓乜倏诳劭芸菘蘅呖嗫峥饪憧淇蹇婵缈杩榭昕肟炜砜羁锟鹂窨蚩罂艨蹩隹骺

以上zmud721中所有会乱码的字,可以提前做好处理,zmud第一次存的变量不会乱码,但是用到这个变量就乱码了
另外也可以通过VBScripts 之类的来获得第一次存的变量内容,这样vb获得的名字不会乱码,可以直接对比,也用不着替换之类的了

比如接任务  触发 存npc名字 到变量 questnpcname,   找npc 触发 存npc 名字 到变量 targetnpcname

然后将以下代码做成一个别名比如叫checkname,别名语言选 MSscript,在找npc的触发命令中运行这个别名,以便对比npc名字
msgname1= sess.GetVar("questnpcname", "").Value
msgname2 = sess.GetVar("targetnpcname", "").Value
if trim(msgname1)=trim(msgname2 ) then
sess.ProcessCommand("namematch=1" )
end if

然后zmud中就可以
targetnpcname=%1                         --找npc触发获得%1
checkname                                      --运行那个vb名字对比程序
#if (@namematch) {                       --如果对比名字一样,成功并运行命令

   各种匹配符合后的命令

  }
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 02:07 PM , Processed in 0.012270 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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