- 作者: 少司命 羽学
- 出处: CreateSpawn
- 这是一个Tshock服务器插件,主要用于:创建地图时使你的新地图支持复制建筑,使用指令在头顶生成建筑,不再固定为出生点
| 语法 | 权限 | 说明 |
|---|---|---|
| /cb on | create.copy | 开启插件 |
| /cb off | create.copy | 关闭插件 |
| /cb s | create.copy | 拉线选区模式 |
| /cb s 1 | create.copy | 敲击或放置一个方块到左上角 |
| /cb s 2 | create.copy | 敲击或放置一个方块到右下角 |
| /cb add 名字 | create.copy | 保存建筑 |
| /cb sp [索引/建筑名] | create.copy | 生成建筑 |
| /cb bk | create.copy | 还原建筑覆盖图格 |
| /cb list | create.copy | 列出已有建筑 |
| /cb qx | create.copy | 取消当前自己放置任务 |
| /cb kiil | create.admin | 取消所有人当前放置任务 |
| /cb r | create.copy | 显示插件区域保护 |
| /cb rd | create.copy | 显示指定建筑的访客记录 |
| /cb bf | create.admin | 显示或修改身处同类型建筑的所有区域Buff |
| /cb rm [索引/区域名] | create.admin | 删除区域保护 |
| /cb up [索引/区域名] [0/1] [玩家名] [+-组名] | create.admin | 更新区域保护 |
| /cb at | create.admin | 基于访客功能的自动清理功能 |
| /cb cd | create.copy | 显示进度参考 |
| /cb del [索引/建筑名] | create.admin | 删除指定建筑文件 |
| /cb zip | create.admin | 清空建筑与所有区域保护并备份文件为zip |
| /reload | tshock.cfg.reload | 重新加载插件配置 |
配置文件位置:tshock/CreateSpawn.json
{
"管理权限": "create.admin",
"非管理允许恢复物品": false,
"忽略压缩删除的建筑": ["出生点"],
"出生点生成": true,
"中心X": 47,
"计数Y": 57,
"微调X": 18,
"微调Y": 27,
"复制建筑自动建区域": true,
"区域默认允许组": ["superadmin","owner","admin","GM","服主"],
"区域默认允许玩家名": ["羽学"],
"区域边界显示": {
"启用": true,
"仅管理可用": false,
"弹幕ID": [118,119,119,121,123,124,125,126],
"弹幕变化(0到5)": 0,
"变化强度": 10.0,
"弹幕伤害": 20,
"移动速度": 1,
"光带长度": 5,
"更新间隔帧数": 5,
"弹幕持续帧数": 60,
"自动停止秒数": 0,
"离开区域停止": true
},
"访客功能": {
"启用": true,
"进入消息": "\n你进入了建筑区域: [c/478ED2:{0}] 归属: [c/47D1BE:{1}] \n复制条件:[c/F0E852:{2}]",
"离开消息": "\n你离开了建筑区域: [c/F17F52:{0}] 归属: [c/47D1BE:{1}]",
"显示访客数量": 5,
"访问统计标题": "\n访客记录:",
"总计访问文本": "本次开服该建筑总计访问为[c/478ED1:{0}]次",
"访问最高者文本": "访问最高: [c/FFFFFF:{0}] 访问[c/F3EA52:{1}]次",
"最后访客文本": "最后访客: [c/FFFFFF:{0}] 于[c/47D3C2:{1}]访问"
},
"自动清理(基于访客功能)": {
"自动清理开关": true,
"不清理管理区": true,
"顺便清理建筑": true,
"检查间隔秒数": 3600,
"触发清理分钟": 4320,
"每次同时检查": 10,
"免清理玩家表": ["羽学"]
},
"任务管理配置": {
"多少图格数启用分帧处理": 6000,
"处理间隔毫秒": 10,
"每帧最大图格数": 3000,
"每帧最大任务数": 3
}
}v1.2.2
移除了【保存访问数据】配置项
修复了因访客记录无法正常清理引起【自动清理】并发BUG
精简版v1.0.1.5同上调整
v1.2.1
使用/cb s 没有1和2参数时会进入拉线模式
拉线模式可使用“精密线控仪”画线:从左上角到右下角选择区域
依旧保留使用方块敲击或放置选择区域的方式(仅在s 1和2时触发)
精简版v1.0.1.4同上调整
v1.2.0
优化访客记录性能,使用Region区域事件检测玩家进出,避免每帧检测带来的性能消耗
优化边界显示性能,使用Region区域事件触发边界显示提供给游戏更新事件,不再频繁检测玩家
加入了区域刷新BUFF,只需在配置写上BuffID和对应建筑名即可(精简版无此功能)
区域buff对应指令:/cb bf 1,2,3,4 ——为所在区域同类型的所有建筑添加buff(存在就移除不在就添加)
注意:粘贴建筑时角色悬空会导致生成位置不准请在脚下放置一个方块以确保位置准确
访客功能里的消息如果想禁用其中一条直接删掉对应的消息文本或者改为=null即可
移除了多余的配置项
精简版v1.0.1.3同上调整(除了没有区域刷新BUFF)
v1.1.9
加入了粘贴建筑时的偏移功能
使用/cb sp 建筑名 [偏移模式]
偏移模式:不输默认为头顶,可选值0到8:
0:中心,1:头顶,2:脚下,3:左,4:右,5:左下,6:右下,7:左上,8:右上
加入了内嵌建筑文件:404岛主普通版与天顶版刷怪场,进度为骷髅王后
精简版v1.0.1.2同上调整
v1.1.8
修复发包效率低导致拖慢建筑生成与还原速度的Bug
v1.1.7
移除了间隔检查,避免带来严重延迟问题
优化了任务管理器的逻辑,加入了【任务管理配置】配置项
当图格超过配置的【多少图格数启用分帧处理】时会启用分帧处理,避免大建筑粘贴时导致的服务器卡顿
恢复了粘贴和还原建筑的原有发包方式,使建筑生成时从左往右显示更加丝滑。
分帧处理:在主线程中每隔一定毫秒数处理一定数量的图格与任务数(使图格生成对性能影响更加可控)
优化了完成放置后显示的精准时间
优化了自动清理使用队列处理
自动清理加入了/bc at gm 指令用于开启关闭不清管理区域。
使用/cb r显示区域时,如果区域是自己的会以渐变色显示该区域名称。
优化了访客检测使用玩家更新事件对比记录时间触发,避免每帧检测带来的性能消耗。
取消任务指令在分帧模式下会更加有效,可立即阻止当前任务。
v1.1.6
加入了Task任务管理器以避免同时多个玩家或单个玩家执行多次指令时导致的冲突问题
加入了取消当前自己放置任务:/cb qx
加入了管理指令取消所有人当前放置任务:/cb kill
加入了管理指令删除指定建筑文件:/cb re 建筑名或索引
加入了更多进度条件限制选择,可用/cb cd查询,支持索引
如:/cb add 我的家 40,15(等效于:血月环境下,击败世纪之花后)
v1.1.5
加入了进度条件限制功能
在添加新建筑时使用/cb add 建筑名 条件1,条件2,... 可设置该建筑的限制条件
当不符合条件时,使用/cb sp 指令生成该建筑会失败并提示不符合条件
已经存在地图上的进度建筑,除管理与建筑归属者外,其他人需满足进度条件才能复制该建筑
使用/cb cd 可查看所有条件限制名称
注意:管理权限不受影响以上进度限制,本次版本更新以往建筑文件都会失效,注意重新备份
v1.1.4
访客记录支持自动保存:
任意玩家进出服务器与每隔10分钟都会自动保存1次,启动服务器时会从访客文件读取到内存里,避免服务器重启导致数据丢失
加入了【压缩时清理访客记录】配置项,开启时当使用/cb zip指令压缩建筑时会一并清理访客记录文件与区域保护
加入了基于访客记录的【自动清理】功能,可定时清理长时间无人访问的区域保护与建筑文件,队友指令:/cb auto
加入了/cb rd 可查看指定建筑的访客记录
优化了/cb del 现在不仅会删除区域保护,还会删除访客记录文件、区域内的建筑
优化了/cb 菜单指令加入了逐行渐变色
优化了/cb bk 每次只会撤销最近1次生成的建筑,如果存在区域或访问记录文件也会一并删除
注意:/cb zip 并不会移除服务器内的已经存在建筑
v1.1.3
加入了【区域进入离开提示】与访客统计功能
给区域边界显示加入了弹幕变化功能(允许改变弹幕发射方式),支持修改弹幕伤害
v1.1.2
重构撤销建筑代码逻辑以适配区域保护
修复了/cb bk 在粘贴2次建筑时需要撤销多次才能还原建筑物、无法准确移除区域保护的BUG
修复了/cb sp 玩家头顶粘贴可以覆盖其他建筑的BUG,避免二次粘贴时保护区域与建筑重叠
加入了区域保护边界显示功能,可在配置文件中调整,使用/cb r指令可切换开启关闭(当玩家离开保护区域也会自动关闭)
预设了更多配置项:【区域默认允许组】、【区域默认允许玩家名】,可允许哪些用户可以在保护区域内装修
允许自己粘贴的建筑可以使用/cb up与/cb del指令进行修改
v1.1.1
生成建筑支持使用索引号生成
生成建筑可根据"管理权限"或者“非管理允许恢复物品”决定恢复家具内的物品
加入了生成建筑自动区域保护功能,撤销后自动移除区域。
/cb zip指令可排除“忽略压缩删除的建筑”列表内的建筑文件
区域关联指令:
/cb r ——查看建筑保护区域
/cb up ——更新区域保护状态
/cb del ——移除区域保护
/cb zip ——清空建筑文件与所有区域保护并备份为zip
v1.0.1.0
加入了复制物品框、逻辑感应器、盘子、武器架、帽架、人体模特等家具时的物品还原
v1.0.0.9
修复复制一次建筑,导致该晶塔即使挖掉也无法放置的BUG
还原建筑时不再残留实体在图格上
移除修复晶塔配置项
v1.0.0.8
重构了/cb back还原指令方法
修复还原指令能和生成建筑指令一样还原箱子物品与标牌消息
v1.0.0.7
Nuget包采用为Tshock 5.2.4
重构代码逻辑,实现跨服复制建筑
启动服务器时:未检测到CreateSpawn文件夹时则自动创建,并生成一个内嵌的“出生点_cp.map”文件
在生成新地图时,自动会按名字为“出生点”建筑重建
重构/cb spawn指令:
当控制台使用`/cb sp 出生点`会以出生点为坐标进行生成(可通过配置文件调整),控制台使用/cb bk可撤销此建筑
玩家使用`/cb sp 出生点`则以玩家头顶生成该建筑
加入了/cb list指令:可列出所有可用的建筑名单
加入了/cb zip指令:清空建筑文件并备份为zip
修复了粘贴建筑时,无法复制箱子内物品与标牌内容信息的BUG
加入了“修复晶塔”配置项,不推荐打开,使用/cb bk撤销时会留个晶塔传送图标在地图上
使用了GZipStream极大降低了对建筑文件的空间占用
v1.0.0.6
Nuget包采用为Tshock 5.2.2
羽学内测版(此版本不依赖LazyAPI):
插件更名为《复制建筑》
根据使用指令在头顶生成建筑,不再固定为出生点
将/create指令更名为/cb spawn
加入了/cb back指令,可还原建筑覆盖区域
注意:本插件需要在新地图时才会生效,
请删除tshock文件夹下对应的CreateSpawn.map文件再放入新地图
v1.0.0.3
使用lazyapi
v1.0.0.2
i18n预定
v1.0.0.1
补全卸载函数
- 优先发issued -> 共同维护的插件库:https://github.com/UnrealMultiple/TShockPlugin
- 次优先:TShock官方群:816771079
- 大概率看不到但是也可以:国内社区trhub.cn ,bbstr.net , tr.monika.love