北大侠客行MUD论坛

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

请教一下如何在Mush里边加一个提示窗口

[复制链接]
 楼主| 发表于 2024-5-20 09:49:29 | 显示全部楼层
shenji 发表于 2024-5-20 12:40 AM
触发一次招式,设定一个定时器检查完成,再次触发,重置该定时器,不再触发招式,定时器正常工作    ps:临 ...

感谢大神指导  虽然没太看懂
偷学的思路基本就是照搬的大神之前帖子的3个函数  非常管用
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-5-20 09:55:14 | 显示全部楼层
devilkate 发表于 2024-5-20 09:39 AM
感谢各位大神的指导  :

仔细分析给你的信息,

记录期间所有的文字,然后数数
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-5-20 10:34:36 | 显示全部楼层
翻了下我的代码

  1.                 if (reply.startsWith('(') && reply.endsWith(')') && i > 1) {
  2.                     var perform = {}
  3.                     var perfomreply = App.Data.Ask.Replies[i - 2];
  4.                     for (var k = 0; k < perfomreply.length; k++) {
  5.                         perform[perfomreply[k - 2]] = true
  6.                     }
  7.                     App.Quest.Zhuliu.Touxue.Data.Performs.push(perform)
  8.                 }
复制代码
遇到有()的,倒推两行

当然,要做精细点也行,比如再往上检查一行是不是空行
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2024-5-20 13:03:33 | 显示全部楼层
想了一个笨办法  不知道可行不可行   
1、“慕容复说道:「具体招式我是多年前所见,记得不怎么清晰了,不过大致应该是这样。」” 用这句做一个触发  添加一个只触发一次的trigger  ^(.*)! 专门用来抓取这句后面第一句出招的招式     
2、这个一次性触发触发后,启动另外一个专门用来抓取后续上面有空行的出招触发 起了一个名字叫txzhao

用了Mushclient里面的 AddtriggerEx函数  结果报错  烦请各位大神给看看哪里语法写的不对 这里用的tx_split函数就是用来抓取招数信息分割成一个一个字然后存进数组的  照抄的shenji的代码

AddTriggerEx("", "^(.*)!$", "tx_split("%1");EnableTrigger("txzhao", true)", trigger_flag.Enabled+trigger_flag.OneShot+trigger_flag.RegularExpression, custom_colour.NoChange,0,"","",12,50)


报错信息:
[string "别名: "]:1: ')' expected near '");EnableTrigger("'
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-5-20 13:27:14 | 显示全部楼层
devilkate 发表于 2024-5-20 01:03 PM
想了一个笨办法  不知道可行不可行   
1、“慕容复说道:「具体招式我是多年前所见,记得不怎么清晰了,不 ...

你先要确认你的问题是什么。

是不知道那句话是战斗的

还是不知道有多少战斗描述?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2024-5-20 13:58:49 | 显示全部楼层
jarlyyn 发表于 2024-5-20 01:27 PM
你先要确认你的问题是什么。

是不知道那句话是战斗的

问题就是不知道哪句话是需要比对的出招信息 需要过滤掉出招结果和敌人受伤这一些乱七八糟的内容  
我知道大神的意思是 把慕容复说了那一句话后面所有的文字都抓下来 然后找前后有括号的行数往上数两行 但是这个我这个水平实现起来有点复杂  而且我也不知道触发器怎么写  如果按照^(.*)$  什么都抓的话 又不知道啥时候让这个触发器停下来  
我现在用多行触发器的办法 其实把整个文本复制粘贴到Mush的测试器里边 一口气甩出来是能够抓到正确信息的 但实际上发布任务的时候他这些文字是一行一行跳出来的  居然多行触发触发不了。。。。   也不知道这个任务干嘛搞的这么变态 好好把出招信息给出来不行么
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2024-5-20 14:46:14 | 显示全部楼层
shenji 发表于 2024-5-20 12:40 AM
触发一次招式,设定一个定时器检查完成,再次触发,重置该定时器,不再触发招式,定时器正常工作    ps:临 ...

大神 能不能说的具体点  不太明白思路
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-5-20 15:08:45 | 显示全部楼层
devilkate 发表于 2024-5-20 01:58 PM
问题就是不知道哪句话是需要比对的出招信息 需要过滤掉出招结果和敌人受伤这一些乱七八糟的内容  
我知道 ...

你需要个录音机

慕容复说道:「具体招式我是多年前所见 这句开始录音

Response 后停止录音

然后把当中所有录下来的文字取出来。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2024-5-21 00:12:47 | 显示全部楼层
感谢各位大神给的意见  基本上解决了  不过我不会用Response来检测招式是否告知结束 我用了最笨的办法
那就是做一个Alias发给脚本  人~ 工~ 关~ 闭~  抓取文字的trigger
这里我必须要表达一下我的情绪  原本WIKI里边偷学任务结束语句是慕容复告诉你去找人的地点  这个标识就非常好确认了  WIZ多半是故意把这句弄到最前边去的  。。。。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-5-21 07:30:41 | 显示全部楼层
devilkate 发表于 2024-5-21 12:12 AM
感谢各位大神给的意见  基本上解决了  不过我不会用Response来检测招式是否告知结束 我用了最笨的办法
那 ...

这个任务去年改过,改成现在这样的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 02:36 AM , Processed in 0.008629 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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