Skip to content

仓库内脚本介绍

way-zer edited this page Aug 3, 2020 · 4 revisions

本页仅大概介绍,具体可查阅/sa info以及源码

coreLibray 跨平台脚本核心库

lib (一些开发Api,用户可忽略)

  • PlaceHoldApi 全局变量Api,与含变量文本相关,变量所有脚本可使用
  • AsyncApi 异步Api(弃用,所有脚本内可直接所有协程)
  • ColorApi 跨平台的文本颜色抽象
  • CommandApi 跨平台的指令抽象
  • ConfigApi 脚本配置项Api,脚本内使用val xxxx by config.key("默认值","示例配置项")即可
  • DataBaseApi 数据库抽象Api(基于exposed库)
  • DataStore MVStore实现的持久储存Api(基于生态考虑,改用数据库)

脚本

  • h2DB h2数据库,默认的数据库储存(其他数据库,请修改本文件)
  • controlCommand 脚本控制指令
    • /sa list [module] 列出所有模块或模块内脚本
    • /sa reload 重载指定脚本或模块
    • /sa load 加载新脚本(path为相对scripts的文件路径,含扩展名)
  • infoCommand 脚本信息指令
    • /sa info 查询指定脚本信息(脚本定义的配置项和全局变量)
  • configCommand 配置项指令
    • /sa config help 查看帮助
    • /sa config reload 重载配置文件
    • /sa config <配置项> set 设置配置值(复杂结构请使用配置文件)
    • /sa config <配置项> write 写入默认值到配置文件
    • /sa config <配置项> reset 恢复默认值(从配置文件移除默认值)

coreMindustry 平台核心

承接coreLibrary模块,对接平台接口

  • IContentScript.listen{} 监听游戏事件(自动取消)
  • IContentScript.command(name,description,param,type){arg,p->} 注册指令(自动取消)
  • broadcast(text,type,time,quite) 广播消息(quite为不输出控制台)
  • Player?.sendMessage(text,type,time) 向玩家发送消息(null表示想控制台发送)

main 模块

扩展表示可按需选择

  • variables 注册一些Mindustry的全局变量(基础)
  • scorebroad 扩展: 游戏内计分板功能
    • /broad 开关计分板
  • spawnMod 扩展: 单位召唤
    • /spawn [类型ID=列出] [队伍ID,默认为sharded] [数量=1]
  • pixelPicture 扩展: 像素画绘制
    • /pixel [fileName] 绘制像素画(管理员可用)
  • goServers 扩展: 跨服传送
    • /go [server] 传送到其他服务器(不填会显示可用服务器列表)
  • helpfulCommand 扩展:一些指令
    • /showColor 显示游戏自带的所有颜色

mirai模块

mirai为qq机器人库,本插件通过模块接入该库,可以将游戏与机器人联动起来
模块信息请查阅/sa info mirai

  • simple 机器人使用示例(简单的回复你好,和附和欢迎新人)
  • status 提供群内获取"服务器状态"的功能
  • broadcastToGroup 提供主动发送消息到群的功能(可给其他脚本使用)
  • codeSender 配合wayzer模块的账号绑定

wayzer模块

移植自https://github.com/way-zer/MyMindustryPlugin插件

移植功能:

  • (maps) better Maps,GameOver,ChangeMap | 更好的地图管理系统(新增对网络地图的支持)
  • (admin) independent Admin System | 独立的管理员系统
  • (playerInfo) extend variables for PlayerInfo | 扩展info相关变量
  • (ext/vote) Vote System includes: changeMap gameOver skipWave kick rollBack | 投票系统(换图,投降,跳波,踢人,回滚)
  • (ext/autoHost) autoHost after startup | 启动后自动开服
  • (ext/autoSave) autoSave every 10 minutes | 自动保存(10分钟)
  • (ext/welcomeMsg) join Welcome | 进服欢迎信息
  • (ext/alert) alert per interval | 定时轮播公告
  • (ext/betterTeam) | 更好的PVP队伍管理,管理员强制换队以及观察者支持
  • (ext/pvpProtect) pvp protect time | 开局pvp保护功能
  • (ext/serverStatus) /status | 获取服务器状态
  • (ext/reGrief/unitLimit) limit units pre team | 限制每个队伍的单位总数

新增功能

  • (user/profileBind) user token generate,check and user bind | 账号令牌生成,检测及用户绑定
  • (user/level) user exp/level system | 用户经验等级系统
  • (user/achievement) user achievement system | 用户成就系统
  • (user/infoCommand) get profile info /info /mInfo(server) | /info指令(查看个人信息)
  • (ext/mapInfo) | 在游戏内显示地图信息
  • (ext/mapSnap) /mapSnap | 保存地图快照到data/mapSnap下
  • (ext/reGrief/history) get tile action history | 获取某个的操作记录

未移植功能

考虑到实际使用情况,暂时不进行移植

  • TODO: (ext/lang)
  • TODO: (ext/reGrief/reactor)
  • TODO: (ext/special/builderRobot)