还不会Overlayer?一篇文章教你
突发奇想,于是就做这个了(
1.Overlayer界面

上方图片中从上到下依次是:
收集关卡信息
更改游戏字体
调试模式
禁用Script
fps刷新率
帧间隔刷新率
清理内存/重新加载Script
(添加的文本)
添加文本

添加文本后,这就是文本界面。你要在文本里面输入内容盒标签线上文本。这段应该很容易懂,就不讲了。

2.标签
标签有很多个,稍微讲讲吧。
🌐 ADOFAI.GG tags
{ForumDifficulty}
⇒ 关卡社区难度{PredictedDifficulty}
⇒ 使用overlayer内置难度预测器预测难度{PlayPoint}
⇒ 提交时会获得的Adofai.gg PP点数{LevelId}
⇒ Adofai.gg关卡ID
⏱️ 判定相关
您可以通过组合前缀/后缀来设置判断的计数或颜色。
常用词 - 判定
TE
, VE
, EP
, P
, LP
, VL
, TL
⇒ 按太快!! / 太快! / 稍快 / 完美 / 稍慢 / 太慢! / 太慢!!
判定计数
前缀:
Cur
,L
,N
,S
⇒ 当前难度 / 宽 / 标 / 严后缀:
Hit
,Score
⇒ 判定(text) / 分数(number)
比如 Cur(当前) + Hit(判定) ⇒ {CurHit}
, S(严格) + P(完美计数) ⇒ {SP}
, …‼️ 如果你需要使用Score标签,请仅使用 {Score}
(不要包含 Cur
)
你也可以使用
{Multipress}
,{MissCount}
,{Overloads}
,{FailCount}。
每个分别表示多次按键
,失误
,按太快......
, 和失误计数
判定颜色
前缀:
MP
,FM
,FO
⇒ 多次按键 / 失误 / 按太快......+ 判定普通标签
后缀只能使用
Hex
比如 TE(太快!!) + Hex ⇒
{TEHex}
, P(完美) + Hex{PHex}
, …
🎮 游玩相关标签
精准 / 进度
{Accuracy}
,{XAccuracy}
⇒ 当前精准 & X-精准{Combo}
⇒ 完美连击{Progress}
⇒ 当前进度{StartProgress}
⇒ 开始砖块进度{BestProgress}
⇒ 当前关卡最好进度{ProgressDeath}
⇒ 指定范围内死亡次数选项:
[开始进度]~[结束进度]
比如
{ProgressDeath:20~30}
检查点
{CheckPoint}
⇒ 使用检查点{CurCheckPoint}
⇒ 当前经过的检查点{TotalCheckPoint}
⇒ 全部检查点{LeastCheckPoint}
⇒ 关卡最少使用检查点
砖块相关标签
{StartTile}
⇒ 开始砖块{CurTile}
⇒ 当前砖块{LeftTile}
⇒ 剩余砖块{TotalTile}
⇒ 全部砖块
音高标签
{Pitch}
⇒ CLS音高? (显示 1 时音高 100%){EditorPitch}
⇒ 编辑器音高 (显示 1 时音高 100%){ShortcutPitch}
⇒ 编辑器倍数音高 (编辑器按住ctrl调倍数) (显示 10 时音高为 100%)
其他标签
{Attempts}
⇒ 关卡尝试次数{PlayTime}
⇒ 关卡游玩时间{Radius}
⇒ 行星旋转角度{Timing}
⇒ 与完美命中的误差{TimingAvg}
⇒ 平均Timing{CurDifficulty}
,{DifficultyStr}
⇒ 当前难度与
{CurDifficulty}
,{DifficultyStr}
给你固定语言的结果(英语)
📜 关卡相关标签
歌曲相关标签
{CurMinute}
,{CurSecond}
,{CurMilliSecond}
⇒ 歌曲时间(分,秒,毫秒){TotalMinute}
,{TotalSecond}
,{TotalMilliSecond}
⇒ 歌曲长度(分,秒,毫秒)
关卡信息
{Title}
,{Author}
,{Artist}
⇒ 关卡的歌曲, 作者, 艺术家 (不包含Unity富文本)如果你希望使用Unity富文本可以用下面的标签
{TitleRaw}
BPM / KPS
{CurBpm}
⇒ 体感BPM{TileBpm}
⇒ 砖块BPM{RecKPS}
⇒ 当前KPS
性能相关标签
{FrameTime}
⇒ 帧间隔{Fps}
⇒ 帧率
🎸 其他标签
{Year}
,{Month}
,{Day}
,{Hour}
,{Minute}
,{Second}
,{MilliSecond}
⇒ 系统时间{Expression}
⇒ 自定义标签比如
{Expression: CurEP() + CurP() + CurLP()}

3.自定义标签
🖥️ 如何设置自定义标签
搜索你想要的标签在自定义标签社区 (in C##'s Mod Server,https://discord.gg/S2FfgY76ay)
下载标签文件到
(你游戏文件夹)/Mods/Overlayer/Scripts
之后,您可以像使用常规标签一样使用该标签!
在打开adofai情况下,你只需点击“Reload Script”按钮重载文件
🛠️ 如何制作自定义标签
当前Overlayer只能使用 js & Python 做自定义标签
因此,本文档需要基本的JS(或Python)知识,我们建议您在阅读本文之前先学习基础知识(~function/def)。
1. 安装代码编辑器
首先,您应该安装代码编辑器来编写代码。如果您已经安装了,则可以跳过此操作。
我使用Visual Studio Code!(code.visualstudio.com)
你可以使用“IntelliOverlayer”@Runas(https://marketplace.visualstudio.com/items?itemName=Runas8128.intellioverlayer) 扩展来补全代码以及显示文档!
如果您不需要任何功能(突出显示,自动完成等),除了编写代码,您甚至可以使用默认的文本编辑器(如Windows中的记事本)!
2. 写一个函数
overlayer文本中的每个标签都显示链接函数的返回值。
自定义标签中的函数与一般函数相同,但有一个区别,即您可以以函数的形式一起使用 Overlayer 提供的标签。
获取Overlayer内置标签,请看
Impl.js
(orImpl.py
) 在 Scripts 文件夹 )
您可以使用标签制作各种功能!
比如 合并 太快!, 太慢! 判定 => (稍快!, 稍慢! ⇒ 不错 // 太快!, 太慢! ⇒ 垃圾 // 太快!!, 太慢!!, 多次按键!! ⇒ 答辩)
function Good() {
return CurEP() + CurLP();
}
function Bad() {
return CurVE() + CurVL();
}
function Miss()
{
return CurTE() + CurTL() + Multipress();
}
3. 注册标签
你可以用RegisterTag
函数注册overlayer标签
RegisterTag
需要传参3个 : 标签名, 标签使用函数, 和是否能是 Not Playing
文本.
比如
RegisterTag("good", Good, true);
⇒ 使用 Good() 函数 注册 'good' 标签(刚才我们已经定义过了!)
在代码底部写下注册代码,你就完成了!
↓↓↓ 事例代码↓↓↓
function Good() {
return CurEP() + CurLP();
}
RegisterTag("good", Good, true);
现在编写你的自定义标签!!!!!!!!!!!!!!!!
-文章参考Overlayer Knowledge Base
https://overlayer-wiki.super.site/