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

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

脚本元数据

每个脚本都应该在文件开头包含元数据注释,用于在脚本管理器中显示信息。

必需的元数据

Description(描述)

# Description: 脚本的简要说明
  • 支持中文:现在可以在描述中使用中文
  • 显示格式:会根据界面语言自动添加前缀(中文界面显示"简介:",英文界面显示"Description:")
  • 位置要求:必须在文件开头

示例:

# Description: 统计并显示各类型Note数量

可选的元数据

Args(参数说明)

# Args: 参数说明,例如:起始时间(ms) 结束时间(ms)

用于说明脚本需要的参数,会在脚本管理器中显示。

示例:

# Description: 将所有Note时间平移
# Args: 偏移量(ms) - 正数延后,负数提前

UI(自定义界面)

# UI: {"fields":[...]}

定义自定义输入对话框,详见自定义UI对话框章节。

示例:

# Description: 删除指定类型的Note
# UI: {"fields":[{"name":"note_type","field_type":"select","label":"Note类型:","default_value":"bomb","options":["tap","flick","slide","bomb"]}]}

完整示例

简单脚本

# Description: 打印谱面信息

from rct_api import get_current_chart

def main():
    chart = get_current_chart()
    if chart:
        print(f"Note数量: {len(chart.notes)}")

if __name__ == "__main__":
    main()

带参数的脚本

# Description: Note时间平移工具
# Args: 偏移量(ms)

import sys
from rct_api import get_current_chart, save_current_chart

def main():
    if len(sys.argv) < 2:
        print("错误:请提供偏移量参数")
        return
    
    offset = float(sys.argv[1])
    chart = get_current_chart()
    
    if chart:
        chart.shift_time(offset)
        save_current_chart(chart)
        print(f"时间平移 {offset}ms 完成")

if __name__ == "__main__":
    main()

带自定义UI的脚本

# Description: 按类型删除Note
# UI: {"fields":[{"name":"note_type","field_type":"select","label":"要删除的类型:","default_value":"bomb","options":["tap","flick","bomb"]}]}

import sys
import json
from rct_api import get_current_chart, save_current_chart, Note

def main():
    if len(sys.argv) < 2:
        return
    
    params = json.loads(sys.argv[1])
    note_type = params.get('note_type')
    
    # 处理逻辑...
    print(f"删除 {note_type} 类型Note")

if __name__ == "__main__":
    main()

注意事项

  1. 编码:文件必须使用 UTF-8 编码
  2. 位置:元数据注释必须在文件开头
  3. 格式:严格遵循 # Key: Value 的格式
  4. 必需性:Description 是必需的,其他可选
最后更新: 2026/1/12 01:03
Prev
入门指南
Next
自定义UI对话框