北大侠客行MUD论坛

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

zmud7.21武当诵经乱码的解决思路探讨

[复制链接]
发表于 2022-12-7 16:21:04 | 显示全部楼层 |阅读模式
大佬说,人生的意义在于折腾。
近些天折腾武当新手号,因为刚开始是用zmud7.21入坑的,所以比较习惯这款工具的操作便利性。
于是就有了武当新手诵经任务的乱码问题。(注:据说其他的mud工具不存在此问题,非zmud7.21用户可略过)
查阅了论坛里我能查到的所有资料,尝试了大佬的各种方法,包括对zmud进行各种设置、变量进行二次赋值、使用%regex()函数来给变量赋值等方法,始终不能有效解决。
没办法了,曲线解决吧。
这里提供一种解决的思路,供大家参考。

经观察和测试,乱码的都是拼音K开头的字,如孔子的“孔”字,可以的“可”字等。
如果用这样的pattern触发:==%s(%x)%s==
直接#show %1,并不会出现乱码,
但是如果#var content %1;#show @content,就出现了乱码。
说明是zmud721对含有汉字的字符串进行赋值这一步引起的。
那我的思路就是:
1.避免这一步操作,不再将捕获的诵经内容赋值给变量。
2.但是诵经内容总得保存下来吧,于是我将它保存到txt文件中(下面说明以文件名“songjng.txt”为例)。
下面是我将诵经内容保存到songjng.txt里的一个例子:chanting 35
物无非彼物无非是自彼则不见自知则知之故曰彼出
于是是亦因彼彼是方生之说也虽然方生方死方死方
生方可方不可方不可方可因是因非因非因是是以圣
人不由而照之于天

3.内容保存到txt文件之后,如何读取并执行"chanting 页数 内容"这个命令呢?首要任务是要将多行文字变成一行。
由于我比较熟悉python等编程语言,于是我用python做了要给监控程序,程序执行步骤如下:
(1)监控songjng.txt,如文件存在,则将内容全部读出并组装成"chanting 页数 内容"这个命令的一行文字,然后覆盖songjng.txt现有内容。并在若干秒后继续执行监控。
(2)使用#REA命令读取并执行songjng.txt的内容。注意#REA命令是读取文件所有内容直接执行,不要使用%read()函数读取,使用该函数又会将txt文件里的文字读成乱码。
(3)使用#era命令删除songjng.txt。
至此,终于可以挂机睡觉。
最后想说的是,我入坑才一个多月,对游戏有许多疑惑(有时候查资料也不能面面俱到),基本所有的问题都能得到QQ群里各位大佬的非常热心帮助解决,谢谢你们!。


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

本版积分规则

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

GMT+8, 2024-12-1 01:34 AM , Processed in 0.008786 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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