RCT 帮助文档
首页
  • 入门指南
  • 脚本元数据
  • 自定义UI
  • 核心API
  • Chart类
  • 数据类
  • 示例脚本
  • 最佳实践
脚本商店
  • 简体中文
  • English
首页
  • 入门指南
  • 脚本元数据
  • 自定义UI
  • 核心API
  • Chart类
  • 数据类
  • 示例脚本
  • 最佳实践
脚本商店
  • 简体中文
  • English
  • API参考

    • 首页
    • 入门指南
    • 脚本元数据
    • 自定义UI对话框
    • 核心API
    • Chart 类
    • 数据类
    • 示例脚本
    • 最佳实践

入门指南

环境准备

安装 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) 保存修改后的谱面
最后更新: 2026/1/12 01:03
Prev
首页
Next
脚本元数据