北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: vadi

Mudlet3.17-安全的连接,更容易映射,HiDPI,以及更多!

[复制链接]
发表于 2019-3-7 14:05:27 | 显示全部楼层
本帖最后由 lboy 于 2019-3-8 02:22 PM 编辑

I have made a gps tool, but I am rewriting the code. I may release it sometime later.
The most serious problems I met with Mudlet are:
1. No support for blinking text. A task named Pozhen in Pkuxkx needs it. And I have no way to get the raw data, so I can not detect which text is blinking at all. When I need to do Pozhen task, I have to switch to tintin++.
2. Sometimes Mudlet may lose some codes I wrote, even when I checked autosave on.
3. Modules loaded by module manage have some serious bugs, such as losing data, variable "matches" is nil when dealing with some Chinese trigger, and so on. And package exporter does not support exporting variables. I know this is experimental, but without them how can I share codes for different profiles? How can I export packages for other people to use?

There are also some small problems such as selecting Chinese text, losing text when using "score" command in Pkuxkx. But they are not serious.
Mudlet is still the best mud client on non-Windows. If the above problems can be solved, it will be the best mud client I have ever used.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-11 20:03:27 | 显示全部楼层
本帖最后由 lboy 于 2019-3-11 12:14 PM 编辑

1. Mushclient display italic text when dealing with blinking text, may this happens in Mudlet? Or you can give me a way to get the raw line, so I can deal with blinking text by myself.
2. Not sure. If I don't click "Save Item" and "Save Profile" button, the code may lose. If I clicked them, the code won't lose. I have checked autosave on.
3. For example, see this trigger:
^棒棒糖说道:「你去帮我弄根(.+)过来吧。」$
when I put it in a module (loaded by module manager), the variable "matches" is nil when triggered. If I put it outside a module (just as normal triggers), nothing wrong.

When I dragged a trigger from a module (loaded by module manager) to the "Triggers" root, and clicked "Save Item" and "Save Profile", then I close Mudlet and reopen it, the trigger will 100% be lost.
If I dragged the trigger from a module to a group outside the module, it wouldn't lose. If I loaded the module from Package Manger, it wouldn't lose too.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-11 20:24:10 | 显示全部楼层
回复 8# vadi
Yes, I can create variables from script, but how to save them permanently? I haven't found an api which can save variables permanently, I have to tick variables manually.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-12 19:12:07 | 显示全部楼层
本帖最后由 lboy 于 2019-3-12 11:20 AM 编辑

In the Pozhen task, there are eight directions. One of the directions is correct. The correct direction and some random directions are blinking. So if a direction is not blinking, the player will know it is wrong. Each time the player goes the wrong direction, he will lose some HP. If the player goes the correct direction, a npc will fight with him. If his HP is very low, he will be defeated by the npc.
Without displaying blinking text, the player has no way to know which directions are wrong. So he is likely to fail in the Pozhen task.
I want to catch the blinking directions so that I can know which directions are wrong.



This is the trigger of "^棒棒糖说道:「你去帮我弄根(.+)过来吧。」$":

                                New Trigger111
                               
                                0
                                0
                                0
                                dw
                               
                                #ff0000
                                #ffff00
                               
                                #000000
                                #000000
                               
                                        ^棒棒糖说道:「你去帮我弄根(.+)过来吧。」$
                               

                               
                                        1
                               

                       



The line I want to match is something like:
棒棒糖说道:「你去帮我弄根冰魄杖过来吧。」
Because the "matches" is nil, I have to use varialbe "line".
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-14 13:32:48 | 显示全部楼层
本帖最后由 lboy 于 2019-3-14 05:56 AM 编辑

回复 15# vadi


Thanks!
I retest the trigger and finally find what's wrong. It's not about modules or Chinese. Look at the command "dw", it's the problem. "dw" is one of my complex aliases. I just simply replace it with some random word like "a", and everything works fine.
BUT! It's not my alias' fault. I replace "dw" with a very simple alias, the problem still appears.
I will try to make a video.

This is the video: https://streamable.com/kpaf4

I made a mistake. The variable "matches" is not nil, but it is empty.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-23 12:01:46 | 显示全部楼层
本帖最后由 lboy 于 2019-3-23 04:15 AM 编辑

回复 18# vadi


I found variables are auto exported in 3.18. Thanks for your job!

I will be careful to use aliases in trigger command. But it is still a bug of Mudlet, right?
The rewriting of gps tool is done. But I need more test. And I need to separate it from my existing codes. As I used c++ to make it, I have to test it under windows. I may release it in 15-20 days.

And I have a question. Modules loaded by Module Manager will synchronize all codes and all trigger state. How to make them synchronize only codes but not trigger states? Some triggers need to be enabled in profile A, and they need to be disabled in profile B. And trigger states will change frequently. I don't want them to be synchronized.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2019-3-26 13:58:56 | 显示全部楼层
回复 20# vadi


    There are hundreds of triggers. And I can not find a way to iterate triggers. So it is impossible for me to reset the trigger states.
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 11:10 PM , Processed in 0.010119 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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