北大侠客行MUD论坛

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

求教mush的颜色触发问题

[复制链接]
发表于 2020-11-20 23:50:11 | 显示全部楼层 |阅读模式
再麻烦求教一下少林敲钟任务,感觉和抓取盗贼颜色不一样,不是字体在变颜色,是背景在变颜色,抓取不了颜色信息怎么办?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2020-11-21 12:06:33 | 显示全部楼层
抓取到的变量是一个table,里边既有前景色又有背景色。
把抓到的table用tprint打印出来你自己看一眼就啥都明白了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2020-11-21 13:40:47 | 显示全部楼层
给你个例子供参考。
  1.   
  2.   
  3.    group="少林新手_钟鼓"
  4.    match="^(你|再|隐|挥)\S*(真气|活动活动|准备)\S+$"
  5.    name="style_test"
  6.    regexp="y"
  7.    repeat="y"
  8.    send_to="14"
  9.    sequence="100"
  10.   >
  11.   require "getstyle"
  12. require "tprint"
  13. style = TriggerStyleRuns[1].style
  14. --print(style)
  15. if style==5 then
  16. Execute("hit drum;knock bell")
  17. end

  18.   
复制代码

点评

require "getstyle"调用外部脚本getstyle TriggerStyleRuns是一个表,它包含标签1(这个1是数字),这个标签下面包含一个叫做"style"的字段,它记录了部分颜色信息  发表于 2020-11-23 11:20 PM
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2020-11-21 22:23:37 | 显示全部楼层
function styles()
                                return GetStyleInfo(GetLinesInBufferCount())
end
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2020-11-23 18:59:18 | 显示全部楼层
本帖最后由 dengtaliyi 于 2020-11-23 07:32 PM 编辑
nrm 发表于 2020-11-21 01:40 PM
给你个例子供参考。


非常感谢您,好简短的机器解决大问题。我属于小白,有好多问题想请教,望大大有时间教教我
TriggerStyleRuns这个函数的意义是什么呢?有类似函数的表格查询吗?还有后面的[1]是否抓取触发的%1?
加载模块窗口风格与打印有先后秩序吗?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2020-11-23 23:17:29 | 显示全部楼层
本帖最后由 creat 于 2020-11-23 11:21 PM 编辑
dengtaliyi 发表于 2020-11-23 06:59 PM
非常感谢您,好简短的机器解决大问题。我属于小白,有好多问题想请教,望大大有时间教教我
Trig ...


以燕青拳的触发部分为例
  1. local line,line2=GetLineCount()                                                                                                        ----GetLineCount 获取当前触发行位置,下一句要用
  2. line,line2=GetStyleInfo (line ,1).textcolour,GetStyleInfo (line ,2).textcolour
  3. ----GetStyleInfo(line) 获取触发部分包含的所有信息,是一个表。每有一种ANSI定义就会多出一个标签。
  4. ----用require"tprint" tprint(GetStyleInfo(line))可以看到具体有什么内容。require是调用一种外部自定义脚本的方法,调用一次一直生效。这里调用的是tprint这个方法,tprint是一个查询table内容的函数。
  5. ----这里的GetStyleInfo (line ,1).textcolour对应表中的1标签下的textcolour字段部分,也就是前景色
  6. local c,c2=GetBoldColour(3),GetNormalColour (7)
  7. ----GetBoldColour(3),获取客户端ANSI设置里粗体绿色也就是,第三个颜色,GetNormalColour (7)对应获取ANSI设置普通字体青色,也就是第七种颜色。
复制代码

上面有个点评可以看一下能否看懂。
可能说得有点深,有问题再问吧
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2020-11-27 16:48:21 | 显示全部楼层
本帖最后由 kkena 于 2020-11-27 05:00 PM 编辑
  1. require "getstyle"
  2. require "tprint"
  3. local job_color = GetStyle (TriggerStyleRuns, 1)
  4. tprint(job_color)
复制代码


随便用啥表情做个触发,发送到script(after oimt),发送内容复制上面的。GetStyle (TriggerStyleRuns, 1) 这个1是第一个字符,一般用for循环查找颜色不一样的。

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

本版积分规则

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

GMT+8, 2024-11-24 03:14 AM , Processed in 0.011513 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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