入门指南
环境准备
安装 RCT API 包
在开始编写脚本之前,需要先安装 RCT API 包:
pip install https://rth.srv-selena.lookatthesky.cn/Python/whl/rct_api/rct_api-1.0.2-py3-none-any.whl
脚本存放位置
将编写好的 .py 脚本文件放置在 scripts/ 目录下,RCT 会自动扫描并加载。
提示
脚本文件必须以 .py 为扩展名,且文件名不能包含中文字符。
快速开始
最简单的脚本
以下是一个最基础的脚本示例,用于打印当前谱面的Note数量:
# Description: 打印当前谱面的Note数量
from rct_api import get_current_chart
def main():
chart = get_current_chart()
if not chart:
print("错误:无法获取谱面")
return
print(f"当前谱面共有 {len(chart.notes)} 个Note")
if __name__ == "__main__":
main()
关键点说明:
- 第一行的
# Description:是必需的脚本元数据 - 使用
get_current_chart()获取当前编辑的谱面 - 始终检查返回值是否为
None - 使用
print()输出信息,结果会显示在 RCT 状态栏
注意
脚本第一行必须包含 # Description: 注释,否则 RCT 无法识别该脚本。
带参数的脚本
下面的例子展示如何接收用户输入的参数:
# Description: 按时间范围过滤Note
# Args: 起始时间(ms) 结束时间(ms)
import sys
from rct_api import get_current_chart, save_current_chart
def main():
# 检查参数
if len(sys.argv) < 3:
print("错误:缺少参数。用法: 起始时间 结束时间")
return
try:
start = float(sys.argv[1])
end = float(sys.argv[2])
except ValueError:
print("错误:参数必须是数字")
return
# 获取并处理谱面
chart = get_current_chart()
if not chart:
print("错误:无法获取谱面")
return
# 过滤Note
original_count = len(chart.notes)
chart.filter_notes_by_time(start, end)
new_count = len(chart.notes)
# 保存并输出结果
save_current_chart(chart)
print(f"处理完成:保留了 {new_count} 个Note(原有 {original_count} 个)")
if __name__ == "__main__":
main()
关键点说明:
# Args:注释说明需要的参数- 参数通过
sys.argv获取,sys.argv[0]是脚本名,实际参数从sys.argv[1]开始 - 务必验证参数的数量和类型
- 使用
save_current_chart(chart)保存修改后的谱面