- 作者: 羽学
- 出处: Tshock官方QQ群816771079
- 这是一个Tshock服务器插件,主要用于:修改储存玩家武器数据并自动重读,可使用/mw指令给予玩家指定属性的物品
进度限制表
事件与进度
- None (无) - 0
- EyeOfCthulhu (克眼, 克苏鲁之眼) - 1
- SlimeKing (史莱姆王, 史莱姆之王, 史王) - 2
- EvilBoss (克脑, 克苏鲁之脑, 世界吞噬者, 世界吞噬怪, 世吞) - 3
- Skeletron (骷髅王) - 4
- QueenBee (蜂王) - 5
- Deerclops (鹿角怪, 独眼巨鹿) - 6
- WallOfFlesh (血肉墙, 肉山, 肉后, 困难模式) - 7
- MechBossAny (一王后) - 8
- TheTwins (双子魔眼) - 9
- TheDestroyer (毁灭者, 铁长直) - 10
- SkeletronPrime (机械骷髅王) - 11
- Plantera (世纪之花, 世花) - 12
- Golem (石巨人) - 13
- DukeFishron (猪鲨, 猪龙鱼公爵) - 14
- LunaticCultist (拜月教邪教徒, 拜月) - 15
- Moonlord (月球领主, 月亮领主, 月总) - 16
- EmpressOfLight (光之女皇, 光女) - 17
- QieenSlime (史莱姆皇后, 史后) - 18
- HalloweenTree (哀木) - 19
- HalloweenKing (南瓜王) - 20
- ChristmasTree (长绿尖叫怪) - 21
- ChristmasIceQueen (冰雪女皇) - 22
- ChristmasSantank (圣诞坦克) - 23
- Martians (火星飞碟, 飞碟) - 24
- Clown (小丑) - 25
- TowerSolar (日耀柱) - 26
- TowerVortex (星旋柱) - 27
- TowerNebula (星云柱) - 28
- TowerStardust (星尘柱) - 29
- Goblins (哥布林入侵, 哥布林) - 30
- Pirates (海盗入侵, 海盗) - 31
- Frost (霜月) - 32
- BloodMoon (血月) - 33
- DrakMageT1 (旧日一, 黑暗法师) - 34
- OrgeT2 (旧日二, 巨魔) - 35
- BetsyT3 (旧日三, 贝蒂斯, 双足翼龙) - 36
- Raining (雨天) - 37
- DyaTime (白天) - 38
- Night (夜晚) - 39
- WindyDay (大风天) - 40
- Halloween (万圣节) - 41
- Party (派对) - 42
世界种子
- DrunkWorld (2020, 醉酒世界) - 43
- tenthAnniversaryWorld (2021, 十周年) - 44
- ForTheWorthy (ftw) - 45
- RemixWorld (混乱世界, 颠倒世界) - 46
- NotTheBeesWorld (ntb, 蜂蜜世界) - 47
- DontStarveWorld (永恒领域, 饥荒) - 48
- zenithWorld (天顶世界, 天顶) - 49
- NoTrapsWorld (陷阱世界, 陷阱) - 50
月相
- FullMoon (满月) - 51
- WaningGibbous (亏凸月) - 52
- ThirdQuarter (下弦月) - 53
- WaningCrescen (残月) - 54
- NewMoon (新月) - 55
- WaxingCrescent (娥眉月) - 56
- FirstQuarter (上弦月) - 57
- WaxingGibbous (盈凸月) - 58
v1.3.0
重读物品使用了缓存技术(新增配置项:缓存日志)
当产生与数据库交互时,都会重新清空一遍缓存并从数据库添加一份新的
玩家触发重读时会从内存中获取物品数据,以此减缓对数据库过多访问的压力,并优化重读物品性能
公用武器的进度限制不再对拥有mw.admin的管理员生效
v1.2.9
加入了使用/reload也能帮在线玩家重读身上公用武器的逻辑
修复第一次写入公用武器,进服和在线时不会立即重读的问题
修复give与all,只需执行2次:1次加数据给玩家,1次根据数据给物品并立即重读
前缀不再从手上物品获取,避免重读公用武器时吞前缀问题
使用give/all/up指令给玩家物品时不再消耗玩家重读次数
当玩家没有“重读次数”时,重进服务器可无限制自动重读“公用武器”
移除没用的【只给指定名字物品】配置项,给物品以它逻辑为标准
给公用武器加入了新指令:/mw p jd
用于给指定公用武器设置进度值,当不符合进度值时则阻止玩家重读该武器
空值“/mw p jd”输入可查看进度表,“进度值”支持中文 英文 数字输入
注意:
之所以保留重读次数限制条件
是因为防止玩家恶意使用指令
利用服务器延迟造成刷物品bug
如非必要,请勿乱增加重读次数
v1.2.8
当前版本适配TShock 5.2.4
完善双数据表存储:将玩家自己数据和物品数据分开存
移除/mw auto指令与其自动重读功能(个人认为很鸡肋,仅仅是测试功能所以删了)
不再使用PlayerUpdate事件写入公用武器到玩家数据库中:
当玩家离线时,会通过下次进服自动写入到自己数据表中
当玩家在线时,通过/reload事件自动将新改动的公用武器写入到玩家数据表中
以此解决部分可能产生的性能问题
修复在控制台无法显示/mw指令菜单的问题
给list加入了【每页显示武器数量】配置项
v1.2.7
修复了/reload后导致玩家所有修改武器被公用武器覆盖的BUG
修复了"公用武器已更新"提示语,仅在数据未同步下会播报
加入了给完物品后的延时执行指令(支持up all give 子命令):
可避免编写RPG时使用:/mw g {0} 物品数据不能及时同步问题
不开启【进服只给管理建数据】情况下:
up all give 只需输1遍即可同步数据
v1.2.6
以下功能由556牌服主定制
1. 为了方便编写RPG配置,给以下子命令加入玩家自己的占位符:{0}
up del give all
2. 给give与all子命令加入了“只给指定名字物品”配置项
开启时只会给指定的物品,反之给玩家数据库内存在的所有修改物品
3. 加入了公用武器,根据配置文件编写的物品数据自动给新玩家写入
当玩家开荒时捡到这些物品可以手动重读获取新数据,
公用武器的数据优先级>使用指令给的物品数据优先级,
如果玩家没有数据时,默认会从配置文件加载一份到数据库内。
根据【同步数据秒数】配置项自动更新到玩家数据库内。
4. 修改/reload重载逻辑(仅在开启公用武器时有效):
播报玩家数据与公用武器中配置数据的差异性
(玩家没拿过那个武器每次重载都会播报那个数值)
同时如果配置中没有该武器,重载后会从所有玩家数据移除该武器
5. "公用武器播报标题"配置项有任意内容时,会播报多以下信息:
xxxxx 公用武器已更新
6. 加入了新指令/mw pw(空值输入自带格式教学):
格式1:/mw pw 物品名 da 100 ——修改或添加指定公用武器
格式2:/mw pw on与off 开启关闭公用武器
格式3:/mw pw del 物品名 删除公用武器配置中与所有玩家数据内的指定武器
v1.2.5
1. 加入了自动清理功能与其对应开关指令:`/mw clear`
该指令控制配置项 `清理修改武器`
并配备1个 `免清表` 配置项过滤使用。
拥有 `mw.admin` 管理权限的免疫清理
当玩家主动丢出物品或物品放入箱子时会清理修改武器(重读时掉落的不会清)
2. 加入了自动重读识别经济指令逻辑(对管理也有效):
当玩家发送字符以 `/` 和 `.` 开头时,且后续含有 `触发重读指令检测表` 内的关键词
检查玩家背包是否有修改武器,有则触发重读,避免玩家恶意购买物品刷新数值
3. 修复一些bug:
修复/mw open指令显示不正确
修复/mw all不会查找弹药栏有相同物品,则多给一份bug
v1.2.4
优化播报与发送语,补充了修改参数的指令教学
移除自动更新的伤害检测逻辑(存在BUG)
修复了/mw all指令会重复给身上已有物品的BUG
使用/mw read重读时会显示物品身上重读的物品名字与数量
v1.2.3
加入了自动更新判断:玩家是否正在使用物品的前提条件
加入了自动更新判断:物品是否为修改的弹药属性
加入了物品重读判断:会查找玩家背包是否有对应修改物品才会更新
加入了物品颜色属性:格式为16进制不含#号如:/mw s hc CDEEEB
加入了离线修改逻辑:/mw all 与 g 与 up
无论玩家在线或离线:没数据则自动建,有数据则更新,在线就重读并直接给物品(除/mw up)
(/mw up需该玩家已经拥有修改物品前提下才能修改,已支持多参数组合修改)
优化/mw reads 命令:reads 1为帮所有在线玩家重读,reads 2为修改所有人进服重读
注意:词缀只有在玩家手上没拿着修改物品才会更新,
如果玩家在线且手上拿着修改物品,只会写入手上的词缀
v1.2.2
整理优化了代码,补充信息反馈
支持修改前缀、物品数量
加入了自动重读功能(测试版):/mw auto
开启时会关闭玩家重读次数机制(占用了玩家自己的重读冷却时间)
只在手持修改物品时伤害超过修改值+误判值,或者手上物品词缀不对时触发
将数据结构从Config搬移到tshock.sqlite存储
mw.admin有权享受无视重读次数
修复了mw.admin权限无法使用各别管理命令BUG:
写的时候用的:cmd.admin,结果忘记改了
v1.2.1
加入了/mw all指令给所有在线玩家发指定物品并建立数据
玩家收到管理发送物品时会提示准确的修改数值与手动重读提醒
修正了/mw read 播报逻辑
声明up子命令详情:
/mw s 或 g 或 all都会先还原其他数值再改指定数值
而/mw up 玩家名字 物品名 ua 20,这能保留之前的数值直接改指定数值
物品属性参数详情(也可以用中文名):
伤害:d da
大小:c sc
击退:k kb
用速:t ut
攻速:a ua
弹幕:h sh
弹速:s ss
作弹药:m am
用弹药:aa uaa
v1.2.0
重构代码,支持自定义多个武器物品
移除了数据库逻辑,改用配置文件来存数据
在开启“进服只给管理建数据”配置项时:
玩家数据只能用/mw g指令给了一个物品后才会为那个玩家创建数据
加入了更多指令:
当空值输入/mw s 或 g 或 up时会提示相对应的教学
(输入成功后会无视玩家自身重读次数,立即更新玩家游戏内物品状态)
使用/mw list支持翻页查找自己所有修改武器数值(一页1个)
使用/mw up指令时只会更新指定玩家物品的唯一参数,前提是必须有修改过的物品
v1.1.0
加入了修改配置内的数据使用/reload也能同步到数据库中
如果误删了配置里的数据表,可以重启服务器它会从数据库写回配置文件里
加入了组合属性修改逻辑:
/mw set d 100 ss 20
/mw g 玩家名 物品名 d 100 ss 20
加入了重读冷却机制与重读次数(免疫权限为:mw.cd)
第一次进服默认都有2次重读次数,而进服重读默认为关闭
当冷却达到Config预设的秒数时,自动加1次重读次数
根据重读次数可直接使用/mw read 手动重读武器数值
如果没有达到冷却或没有重读次数可截图自己的/mw菜单页面给管理
让管理在后台使用指令也可以帮玩家手动重读:
/mw g 玩家名字 武器名 数值…
(这个指令也会主动开启玩家进服重读功能)
修复了/mw del 不会删配置文件的BUG
修复了/mw open 不会同步配置文件的BUG
修复了重铸后再重读武器会吞武器前缀的BUG,
/mw g 会判断玩家是否手持自定义武器来获取准确前缀
(使用前建议让玩家先选中自定义武器,再让管理员用/mw g)
v1.0.0
羽学版自定义武器含数据库
参考/mw指令菜单最下面一行的数值状态来修改
修改自己的手持物品:/mw s 200 1 4 20 12 938 10
修改并给予指定玩家的物品:/mw g 羽学 铜短剑 200 1 4 20 12 938 10
关于弹幕类武器:
有时候降低速度,反而弹幕频率会更密集
| 语法 | 别名 | 权限 | 说明 |
|---|---|---|---|
| /mw | 无 | mw.use | 指令 |
| /mw hand | /mw h | mw.use | 获取手持物品信息开关 |
| /mw join | /mw j | mw.use | 切换进服重读开关 |
| /mw list | /mw l | mw.use | 列出所有修改物品 |
| /mw read | 无 | mw.use | 手动重读所有修改物品 |
| /mw clear | /mw cr | mw.amin | 自动清理功能开关 |
| /mw open 玩家名 | /mw op | mw.admin | 切换别人进服重读状态 |
| /mw add 玩家名 次数 | 无 | mw.admin | 添加重读次数 |
| /mw del 玩家名 | 无 | mw.admin | 删除指定玩家数据 |
| /mw set | /mw s | mw.admin | 修改自己手持物品属性 |
| /mw up | /mw update | mw.admin | 修改自己手持物品属性 |
| /mw give | /mw g | mw.admin | 给指定玩家修改物品并建数据 |
| /mw all | 无 | mw.admin | 给所有玩家修改物品并建数据 |
| /mw pw | /mw p | mw.admin | 公用武器相关修改 |
| /mw reads | /mw rds | mw.admin | 帮所有人重读或开启进服重读 |
| /mw reset | /mw rs | mw.admin | 重置所有玩家数据 |
| /reload | 无 | tshock.cfg.reload | 重载配置文件 |
| 无 | 无 | mw.cd | 忽略冷却时间与次数的重读武器权限 |
配置文件位置:tshock/修改武器.json
{
"公用武器进度类型": [
"0 无 | 1 克眼 | 2 史王 | 3 世吞克脑 | 4 骷髅王 | 5 蜂王 | 6 巨鹿 | 7 肉后",
"8 一王后 | 9 双子魔眼 | 10 毁灭者 | 11 铁骷髅王 | 12 世花 | 13 石巨人 | 14 猪鲨",
"15 拜月 | 16 月总 | 17 光女 | 18 史后 | 19 哀木 | 20 南瓜王 | 21 尖叫怪 | 22 冰雪女皇",
"23 圣诞坦克 | 24 飞碟 | 25 小丑 | 26 日耀柱 | 27 星旋柱 | 28 星云柱 | 29 星尘柱",
"30 哥布林 | 31 海盗 | 32 霜月 | 33 血月 | 34 旧日一 | 35 旧日二 | 36 双足翼龙",
"37 雨天 | 38 白天 | 39 夜晚 | 40 大风天 | 41 万圣节 | 42 派对 | 43 醉酒种子 | 44 十周年",
"45 ftw种子 | 46 颠倒种子 | 47 蜂蜜种子 | 48 饥荒种子 | 49 天顶种子 | 50 陷阱种子",
"51 满月 | 52 亏凸月 | 53 下弦月 | 54 残月 | 55 新月 | 56 娥眉月 | 57 上弦月 | 58 盈凸月"
],
"插件开关": true,
"初始重读次数": 2,
"给完物品的延迟指令": true,
"延迟指令毫秒": 500.0,
"延迟指令表": [
"/mw read"
],
"触发重读指令检测表": [
"deal",
"shop",
"fishshop",
"fs"
],
"清理修改武器(丢出或放箱子会消失)": true,
"免清表": [
1
],
"进服只给管理建数据": false,
"增加重读次数的冷却秒数": 1800.0,
"启用公用武器": true,
"每页显示武器数量": 5,
"公用武器播报标题": "羽学开荒服 ",
"公用武器表": [
{
"进度": 0,
"名称": "火枪",
"ID": 96,
"数量": 1,
"前缀": 82,
"伤害": 30,
"大小": 1.0,
"击退": 5.5,
"用速": 10,
"攻速": 15,
"弹幕": 10,
"弹速": 9.0,
"弹药": 0,
"发射器": 97,
"颜色": {
"packedValue": 0,
"R": 0,
"G": 0,
"B": 0,
"A": 0,
"PackedValue": 0
}
},
{
"进度": 0,
"名称": "夺命枪",
"ID": 800,
"数量": 1,
"前缀": 82,
"伤害": 35,
"大小": 1.0,
"击退": 2.5,
"用速": 10,
"攻速": 15,
"弹幕": 5,
"弹速": 6.0,
"弹药": 0,
"发射器": 97,
"颜色": {
"packedValue": 0,
"R": 0,
"G": 0,
"B": 0,
"A": 0,
"PackedValue": 0
}
}
]
}- 优先发issued -> 共同维护的插件库:https://github.com/UnrealMultiple/TShockPlugin
- 次优先:TShock官方群:816771079
- 大概率看不到但是也可以:国内社区trhub.cn ,bbstr.net , tr.monika.love