北大侠客行MUD论坛

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

[MUSHClient]小技巧:解决开启MXP后,<昏迷不醒>自动消失的问题。

[复制链接]
发表于 2010-3-4 13:32:06 | 显示全部楼层
成功了!原因是界面汉化的问题,改成英文的就好了。
另外这个昏迷不醒是在第二行显示的,能否让再在第一行末显示呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-4 13:36:03 | 显示全部楼层
我知道怎么回事了,这个<昏迷不醒>是后加上去的,原来的那个已经没了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-3-4 13:42:14 | 显示全部楼层
把ColourNote()换成ColourTell()可以减少一个空行,但在原位显示,好像还做不到。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-4 15:05:41 | 显示全部楼层
用汉化版的把MXP element: 中的"element"改成"元素"就行了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-3-4 22:06:14 | 显示全部楼层
请教一下,好像所有调用这个函数的地方(包括fullme的时候)传进来的参数message都是MXP element: ,是这样吗?
所以用perl改写的时候,我没用base64decode,直接用正则替换了一下(就是把MXP element: 去掉),似乎也可以,这样应该没什么问题吧

sub On_MXP_Error {
  my ($level, $error_number, $line_number, $message) = @_;
  if (($level eq "A") && ($error_number == 20000) && ($message =~ /^\s*MXP\s+.*?\s+(<.*?>)/)) {
    $message = "    $1";
    $world->ColourTell ("red", "black", $message);
  }
}
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-3-6 20:16:33 | 显示全部楼层
这里用utils.base64decode()可以只显示<>中的中文内容,如果<>中是英文的内容,则不被显示。(一般<>中的英文内容为MXP标记)
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-26 11:49 AM , Processed in 0.011214 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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