- 作者: SAP、羽学、少司命
- 出处: Tshock官方群816771079
- 这是一个Tshock服务器插件,主要用于:使用指令选择角色存档
v1.1.1
加入了离开服务器保存角色功能
尝试修复无法施加惩罚buff的问题
(注意:惩罚只在开启SSC和没有`role.admin`权限时才会生效)
加入了渐变色角色名称前缀:
当角色名称没`[c/`字符时,会自动形成渐变色
支持解析[i:物品id]的图标显示与[c/16进制]的单独文字着色
编写示例:
宇宙无敌大萌新 ——应用我设计好的渐变色(从第1个字到最后1个字)
[i:4952]法师 ——只解析物品图标,文字染上单色
[c/F66E78:射][c/FC9C71:手] ——单独文字着色
[i:4956][c/65A1E0:战][c/64E0D9:士] ——同时解析图标与单独文字着色
移除了指令回馈语中的着色代码,避免与头衔着色产生冲突
v1.1.0 fix2
使用/rl add指令不再保存空槽位到配置文件中
加入了【每行显示物品】配置项
[新]尝试修复角色皮肤颜色
[新]修复/rl add 不能准确获取背包物品,额外添加钱币bug
[新]修复/rl up在控制台输入没有回复语
[新]修复/rl cl空值输入没有指令示例
v1.0.9
加入了对角色聊天前缀显示与其对应的配置项:【使用聊天前缀】
非法物品支持设置buff惩罚方式,修改了/rl cl 子命令的使用方法:
/rl cl 0 - 禁用非法物品惩罚(1为清理物品、2为设置buff)
移除了配置文件中多余配置项:
/rl add 不再保存玩家的:
保险箱/虚空袋/护卫熔炉与第二页、第三页盔甲饰品的物品
v1.0.8
修复/rl rm 指令:
无法删除玩家RoleData数据表并在指令执行成功没有回馈语的BUG
加入了【每页显示数量】配置项:
决定/rl list与/rl all指令每页显示多少个角色或玩家
注意:直接使用/rl s 不带任何参数时可看见指令教学,其他指令也是如此
v1.0.7
给/rl s 指令补充锁定功能:
使用【/rl s 玩家名 角色名 -L】
可以锁定或者解锁:玩家使用指定角色,无法使用/rl up 指令进行切换
v1.0.6
本版本使用TShock 5.2.1 API版本的Nuget包进行编译发布
修复/rl all指令无法查看其他玩家的角色背包BUG
修复RoleData数据表不保存玩家名字问题
修复新注册的玩家进服不会帮其创建数据导致无法使用/rl up指令的BUG
使用/rl rs清除玩家数据时,不再需要玩家重进,直接使用/rl即可帮建数据
v1.0.5
本版本使用TShock 5.2.1 API版本的Nuget包进行编译发布,
如有BUG,请用户根据自己的TShock版本自行更新Nuget
加入了【清理非法物品】配置项当它开启时:
当前角色使用【专属武器类型】、【安全物品表】、【免清物品表】、【允许使用物品】的物品时不会受到惩罚
专属武器类型:1近战/2远程/3魔法/4召唤(0和-1都不会进行惩罚)
反之使用了【禁止使用物品】物品或不属于【专属武器类型】会直接清理
该惩罚只对拥有【role.use】权限的玩家生效,拥有【role.admin】可免疫该惩罚
注意:该惩罚仅在开启【数据储存】生效;
【合法物品表】为游戏中所有角色获取到的物品不会受到清理惩罚;
【免清物品表】为玩家切换角色时仍然保留的物品(两者并不冲突)
已经配置在背包表中的物品也不会受到清理惩罚,例如战士的星怒
清理惩罚仅对手上使用的物品生效,其他物品不会受到影响
该功能对应开关指令为:/rl cl
v1.0.4
优化代码性能,使用继承PlayerData数据来保存玩家的角色物品
优化了/rl add逻辑,可直接通过使用者的背包来增加新角色数据(不再重度依赖配置文件编写)
以上代码由“少司命”贡献
完善了/rl list与/rl all指令(每页1个角色与玩家)
使用/rl list可以看见自己是否拥有该角色,拥有则显示(yes)自己数据,反之显示(no)配置预设数据
/rl all只会显示当前玩家正在使用的角色信息
补充-使用/rl add指令预设角色时:可获取指令使用者身上Buff
v1.0.3
优化了/rl up指令执行性能
修复了偶尔输入up指令时:手速过快导致上个角色会覆盖下个角色的BUG
修复了没有角色时:需要输入2次/rl up才能转换角色bug
修复删除角色时玩家不会清理背包的bug
修复删除指定离线玩家时指令执行失败的bug
移除了【第1套盔甲饰品】配置项
移除了【刷新间隔】配置项
角色表加入了【装备工具栏】、【猪猪存钱罐】的配置项
补充了/rl del和/rl rm的指令说明(空值输入触发)
v1.0.2
加入数据库储存逻辑与其对应指令:/rl db
当开启`数据储存`时,需要输2次/rl 序号才能正常转职
第一遍是为了初始化,打开/rl指令菜单时会看见对应提示
初始化结束后就会菜单页就会正常显示当前角色状态了
加入了`免清物品表`
配置项加入了盔甲饰品1-3栏位:
该配置项只用于预设初始装备(前3个是盔甲后7个是饰品)
转职时会有2秒的转职延迟,需要玩家移动或攻击才会生效
(为了能正确保存当前角色而设计)
修复了转职时会清除玩家背包的BUG
关闭`使用数据库储存`只会设置配置项中的默认角色并清空当前所有物品(并且是瞬间完成的)
v1.0.1
修复选择角色时没有装备的BUG
修复设置BUFF时会把所有角色BUFF都设置的BUG
直接使用/rl 序号,相当于直接执行 /rl up 序号
使用/rl del 角色时,会删除拥有该角色的玩家数据
加入了`进服清背包`的配置项
默认配置中补全了4职业的预设数据,
在不启用`进服清背包`时,当玩家没有数据时,默认会使用"萌新"角色
v1.0.0
使用/rl指令选择角色存档
帮SAP完善的小插件,主要用于PVP服务器
| 语法 | 别名 | 权限 | 说明 |
|---|---|---|---|
| /rl | 无 | role.use | 指令菜单与创建数据 |
| /rl up <角色名/序号> | /rl 序号 | role.use | 选择角色 |
| /rl list | /rl l | role.use | 列出已有角色 |
| /rl all | /rl al | role.use | 列出其他玩家角色 |
| /rl set 玩家名 角色名 | /rl s 玩家名 角色名 | role.admin | 修改指定玩家角色 |
| /rl set 玩家名 角色名 -L | /rl s 玩家名 角色名 -L | role.admin | 锁定或解锁指定玩家角色 |
| /rl add 角色名 | /rl a 角色名 | role.admin | 添加角色 |
| /rl del 角色名 | /rl d 角色名 | role.admin | 删除角色 |
| /rl rm 玩家名 | /rl r 玩家名 | role.admin | 移除指定玩家数据 |
| /rl reset | /rl rs | role.admin | 清空所有玩家数据表 |
| /rl clear 数字 | /rl cl | role.admin | 非法物品惩罚(0关闭/1清物品/2设buff) |
| /rl db | 无 | role.admin | 开启或关闭数据存储 |
| /reload | 无 | tshock.cfg.reload | 重载配置文件 |
配置文件位置:tshock/角色选择系统.json
{
"插件开关": true,
"使用聊天前缀": true,
"聊天前缀格式": "☆{1}☆ {2}:{3} {4}",
"清理钱币": false,
"进服清背包": false,
"免清物品表": [
71
],
"数据储存": true,
"每页显示角色": 5,
"每行显示物品": 7,
"惩罚非法物品方式(1清物品/2加buff)": 0,
"非法物品Buff表": {
"149": 5
},
"合法物品表": [],
"角色表": [
{
"角色名": "宇宙无敌大萌新",
"专属武器类型": 0,
"允许使用物品ID": [],
"禁止使用物品ID": [],
"生命值": 100,
"魔力值": 20,
"Buff": {
"11": -1
},
"当前盔甲饰品": [],
"第2套盔甲饰品": [],
"第3套盔甲饰品": [],
"玩家背包表": [
{
"netID": -15,
"prefix": 0,
"stack": 1
},
{
"netID": -13,
"prefix": 0,
"stack": 1
},
{
"netID": -16,
"prefix": 0,
"stack": 1
}
],
"猪猪存钱罐": [],
"装备工具栏": [
{
"netID": 5098,
"prefix": 0,
"stack": 1
}
]
},
{
"角色名": "[i:4956][c/65A1E0:战][c/64E0D9:士]",
"专属武器类型": 1,
"允许使用物品ID": [],
"禁止使用物品ID": [],
"生命值": 400,
"魔力值": 200,
"Buff": {
"25": -1
},
"当前盔甲饰品": [
{
"netID": 3187,
"prefix": 0,
"stack": 1
},
{
"netID": 3188,
"prefix": 0,
"stack": 1
},
{
"netID": 3189,
"prefix": 0,
"stack": 1
}
],
"第2套盔甲饰品": [],
"第3套盔甲饰品": [],
"玩家背包表": [
{
"netID": 65,
"prefix": 81,
"stack": 1
}
],
"猪猪存钱罐": [],
"装备工具栏": []
},
{
"角色名": "[c/F66E78:射][c/FC9C71:手]",
"专属武器类型": 2,
"允许使用物品ID": [],
"禁止使用物品ID": [],
"生命值": 400,
"魔力值": 20,
"Buff": {
"112": -1
},
"当前盔甲饰品": [
{
"netID": 3374,
"prefix": 0,
"stack": 1
},
{
"netID": 3375,
"prefix": 0,
"stack": 1
},
{
"netID": 3376,
"prefix": 0,
"stack": 1
}
],
"第2套盔甲饰品": [],
"第3套盔甲饰品": [],
"玩家背包表": [
{
"netID": 964,
"prefix": 82,
"stack": 1
},
{
"netID": 1349,
"prefix": 0,
"stack": 9999
}
],
"猪猪存钱罐": [],
"装备工具栏": []
},
{
"角色名": "[i:4952]法师",
"专属武器类型": 3,
"允许使用物品ID": [],
"禁止使用物品ID": [],
"生命值": 400,
"魔力值": 400,
"Buff": {
"6": -1
},
"当前盔甲饰品": [
{
"netID": 228,
"prefix": 0,
"stack": 1
},
{
"netID": 229,
"prefix": 0,
"stack": 1
},
{
"netID": 230,
"prefix": 0,
"stack": 1
}
],
"第2套盔甲饰品": [],
"第3套盔甲饰品": [],
"玩家背包表": [
{
"netID": 4062,
"prefix": 83,
"stack": 1
}
],
"猪猪存钱罐": [],
"装备工具栏": [
{
"netID": 0,
"prefix": 0,
"stack": 0
},
{
"netID": 115,
"prefix": 0,
"stack": 1
}
]
},
{
"角色名": "召唤",
"专属武器类型": 4,
"允许使用物品ID": [],
"禁止使用物品ID": [],
"生命值": 400,
"魔力值": 200,
"Buff": {
"110": -1
},
"当前盔甲饰品": [
{
"netID": 238,
"prefix": 0,
"stack": 1
},
{
"netID": 5068,
"prefix": 0,
"stack": 1
},
{
"netID": 5001,
"prefix": 0,
"stack": 1
}
],
"第2套盔甲饰品": [],
"第3套盔甲饰品": [],
"玩家背包表": [
{
"netID": 4913,
"prefix": 81,
"stack": 1
},
{
"netID": 4273,
"prefix": 83,
"stack": 1
}
],
"猪猪存钱罐": [],
"装备工具栏": []
}
]
}- 优先发issued -> 共同维护的插件库:https://github.com/UnrealMultiple/TShockPlugin
- 次优先:TShock官方群:816771079
- 大概率看不到但是也可以:国内社区trhub.cn ,bbstr.net , tr.monika.love