Skip to content

Latest commit

 

History

History
180 lines (162 loc) · 6.25 KB

README.md

File metadata and controls

180 lines (162 loc) · 6.25 KB

Goodnight 宵禁

  • 作者: Jonesn、羽学、少司命
  • 出处: 无
  • 每天指定时间禁止进服或禁止召唤怪物(满足在线人数自动解禁召唤怪物)
  • 本插件整合了白名单、宵禁、禁止召唤怪物等插件功能
  • 在宵禁时间内根据在线人数来判断,是否允许召唤未击败或已击败的怪物
  • 在满足在线人数和宵禁时间外的情况下:
  • 通过NPC死亡事件对比在【禁止怪物表】里的怪物ID,通过击杀计数,自动赋值到【允许召唤表】
  • 方便宵禁时间允许玩家召唤哪些怪物,避免单人推服务器进度的情况。
  • 在线人数不满足【关闭禁怪所需人数】情况下:
  • 可通过【开启召唤区】让所有在线玩家到达指定Region领地才能召唤出《允许召唤表》里的怪物

更新日志

v2.7.3
修正一些广播格式
加入了清理《允许召唤表》的指令(/gn clear)

v2.7.2
修复检测到没有配置文件时,创建的配置没有参数
不会因为使用/reload重复写入或覆盖原来参数等问题

v2.7.1
优化了对《允许召唤表》播报细节的空检查

v2.7.0
加入了播报类型切换
(用于修复禁怪表含有自然刷新怪的情况导致广播刷屏问题)
【只播报BOSS或非BOSS】为true则只播报BOSS生成事件,反之只播报非BOSS
【关闭切换播报类型】为true则恢复默认,false则启动上面这个判断


v2.6.0
修改召唤区逻辑(不再关闭击杀计数)
通过击杀计数从《禁召表》获取ID添加到《可召表》
通过《可召表》的ID,允许《召唤区》内召唤。
添加了切换召唤区是否需要所有人判定:
启用则需所有在线人数到召唤区才能召唤出BOSS
或者有一人在召唤区,其他人在任意位置都可以召唤BOSS
可通过配置项自定义召唤区的region领地名

v2.5.0
优化了指令方法
加入了【允许召唤区】(用于切换2种逻辑的开关)
当开启功能时,则关闭原有击杀计数《允许召唤怪物表》功能
且所有在线玩家处于召唤区才能召唤怪物
否则需等宵禁时间过期或满足指定在线人数解禁
关闭后恢复原有宵禁逻辑
PS:需用TS自带的/Region指令创建名为“召唤区”的领地

v2.4.0
加入了根据击杀《禁止怪物生成表》计数,
写入《允许召唤怪物表》与其相关指令
计数要求则在满足在线人数或不在宵禁时间段
由玩家主动击杀存在《禁止怪物生成表》的怪物自动计入(无需手写)
加个配置项与指令,控制击杀什么怪物ID来重置《允许召唤怪物表》

v2.3.0
加入宵禁时间内可召唤已击败怪物
通过监听怪物死亡事件从禁止怪物表中
取值后比对赋值给“已击败进度限制”配置项实现
击败月总后自动清空“已击败进度限制”配置项

v2.2.1
修复移除内置配置项的“集合型”参数引起的指令覆盖参数问题
修复重启服务器覆盖配置参数的问题

v2.2.0
彻底修复Reload覆盖写入怪物ID问题
给弹幕更新方法补充了权限检查
加入了/gn 指令方法控制配置项

v2.1.1
清除无用代码,给断开玩家连接加入全检查

v2.1.0
修复玩家加入服务器拦截方法
加入在线人数判断禁止召唤怪物
将配置项加以描述,并把禁怪物表整理为全进度BOSS的NpcID
修复每次/Reload都会写入一次内置怪物ID问题

v2.0.0
加入了禁止召唤怪物逻辑
羽学适配了.net6.0并重构了大部分方法

指令

语法 别名 权限 说明
/gn /宵禁 goodnight.admin 查看宵禁指令菜单
/gn list goodnight.admin 列出所有宵禁表
/reload tshock.cfg.reload 重载配置文件
/gn on goodnight.admin 开启或关闭宵禁功能
/gn kick goodnight.admin 开启或关闭断连功能
/gn pos goodnight.admin 开启或关闭召唤区
/gn all goodnight.admin 开启或关闭召唤区需所有人在场
/gn clear goodnight.admin 清理《允许召唤表》的怪物ID
/gn boss 次数 goodnight.admin 设置加入《允许召唤表》击杀要求次数
/gn reset 怪物ID goodnight.admin 设置重置《允许召唤表》的怪物ID
/gn plr 人数 goodnight.admin 设置无视《禁止怪物表》在线人数
/gn add 或 del 怪物名字 goodnight.admin 添加或移除指定玩家到断连白名单
/gn plr add 或 del 玩家名 goodnight.admin 添加或删除《禁止怪物表》的指定怪物
/gn time a & b 23:59 /gn time start & stop goodnight.admin 设置宵禁开启结束时间
/region define 召唤区 tshock.admin.region 使用TS自带/Region指令设置召唤区

配置

配置文件位置:tshock/宵禁.json

{
  "是否关闭宵禁": true,
  "宵禁时间设置(禁怪/断连)": {
    "Start": "00:00:00",
    "Stop": "23:59:59"
  },
  "宵禁是否断连": false,
  "玩家进服拦截消息": "当前为宵禁时间,无法加入游戏。",
  "踢出玩家断连消息": "到点了,晚安",
  "断连白名单": [
    "羽学"
  ],
  "关闭禁怪所需人数(设1为关闭)": 3,
  "是否开启召唤区": false,
  "只播报BOSS或非BOSS": true,
  "关闭切换播报类型": true,
  "召唤区的名字": "召唤区",
  "召唤区是否需要所有人": true,
  "计入'允许召唤表'的击杀次数": 2,
  "重置'允许召唤表'的怪物ID": 398,
  "允许召唤表(根据禁怪表ID自动写入)": [
    4
  ],
  "禁止怪物生成表(NpcID)": [
    4,
    13,
    14,
    15,
    35,
    36,
    50,
    113,
    114,
    125,
    126,
    127,
    128,
    129,
    130,
    131,
    134,
    135,
    136,
    222,
    245,
    246,
    247,
    248,
    249,
    262,
    266,
    370,
    396,
    397,
    398,
    400,
    439,
    440,
    422,
    493,
    507,
    517,
    636,
    657,
    668
  ]
}

反馈

  • 共同维护的插件库:https:- 国内社区trhub.cn 或 TShock官方群等