cangshu 发表于 2011-12-11 22:13:22

【已解决】 哭。紧急求助:为啥这个变量抓不到?(带-字符串&中文)--zmud 4.62

本帖最后由 cangshu 于 2011-12-12 07:38 AM 编辑

根据显示触发信息看到的为:

内功 (force)                : 玉女心法            有效等级:279
[^??%s%x%s~((*)~)%s:%s(%x)%s有效等级:(%d)-> #if (force=@skills1) {tssk1=玉女心法};

已查看变量   变量@tssk1 已经存储,当前值为玉女心法

可是当抓取玉女心法等级时,显示如下,但是,变量中没有tsdj1 这一项......

│□玉女心法 (yunu-xinfa)                  - 第二重楼 159/5344│
[^??│□(%x)%s~((*)~)*-%s*%s(%d)/-> #if (玉女心法=@tssk1) {tsdj1=159};]

请问这里了什么问题?

-----------------------------------------------------------------------------


刚刚做了个按钮,在开始前就把特殊武功的名称全部切换成xiaohun-zhang这种游戏名称,不过还是不行:
tssk1 变量值 yanqing-quan      

触发
^??│□(%x)%s~((*)~)*-%s*%s(%d)/
#if (%2=@tssk1) {tsskdj1=%3};

触发显示:
│□燕青拳 (yanqing-quan)                  - 初学乍练 102/   882│
[^??│□(%x)%s~((*)~)*-%s*%s(%d)/-> #if (yanqing-quan=@tssk1) {tsskdj1=102};]

但是变量中依然没有 tsskdj1,更谈不上值为102了。

换成   ^??│□*%s~((*)~)*-%s*%s(%d)/   也不行。

cangshu 发表于 2011-12-11 22:22:03

本帖最后由 cangshu 于 2011-12-11 02:24 PM 编辑



如图,tssk2变量抓取为“黯然销魂掌”

想取得“黯然销魂掌”的等级 tsdj1时候,触发显示是可以得到的,但是变量中没有tsdj1 这一项。 我换成
{#var tsdj1 %3} 也是同样效果


因为,已经手动输入了领悟的基本技能名称,就懒得再去输入对应的特殊技能名称了,想通过enable的自己去获取...

darkstar 发表于 2011-12-11 22:27:37

这个问题我也遇到过,貌似 zmud 对中文字符串的支持不够,赋值可以,做字符串比较就有问题

我有次遇到 a=扬州 没问题,但是 #if (@a=扬州) 判断就判断不出来

darkstar 发表于 2011-12-11 22:29:02

你可以试试
c=扬州;#if (@c=扬州) {#mess abc} {#mess aaa}
弹出窗口显示 aaa

cangshu 发表于 2011-12-11 22:29:49

回复 3# darkstar


    yct39.
。。。。。原来如此....那算了,我还是老实点手动输入特殊武功好了 ...

谢谢darkstar

poshu 发表于 2011-12-12 00:20:08

太长了 匹配改成 黯然*=@xx

cangshu 发表于 2011-12-12 00:45:38

回复 6# poshu

恩,不行,刚试了下。手动把中文切换成对应的名字之后,还是不行....

cangshu 发表于 2011-12-12 00:47:36

回复 4# darkstar

刚刚做了个按钮,在开始前就把特殊武功的名称全部切换成xiaohun-zhang这种游戏名称,不过还是不行:
tssk1 变量值 yanqing-quan      

触发
^??│□(%x)%s~((*)~)*-%s*%s(%d)/
#if (%2=@tssk1) {tsskdj1=%3};

触发显示:
│□燕青拳 (yanqing-quan)                  - 初学乍练 102/   882│
[^??│□(%x)%s~((*)~)*-%s*%s(%d)/-> #if (yanqing-quan=@tssk1) {tsskdj1=102};]

但是变量中依然没有 tsskdj1,更谈不上值为102了。


继续求助。

cangshu 发表于 2011-12-12 00:50:15

│□燕青拳 (yanqing-quan)                  - 初学乍练 102/   882│
[^??│□*%s~((*)~)*-%s*%s(%d)/-> #if (yanqing-quan=@tssk1) {tsskdj1=102};]

换成   ^??│□*%s~((*)~)*-%s*%s(%d)/   也不行。疯了,why!!!!

darkstar 发表于 2011-12-12 08:51:45

回复 8# cangshu


这个是因为yanqing-quan中间的“-”被zmud理解为减号了
如果要做比较的两个字符串中是带-号的,不能直接用@tssk1=@tssk2来做比较
要用%eval(@tssk1,@tssk2)
或者%eval(%format(@tssk1)=%format(@tssk1))
页: [1] 2
查看完整版本: 【已解决】 哭。紧急求助:为啥这个变量抓不到?(带-字符串&中文)--zmud 4.62