Skip to content

Repository files navigation

LevelUp

LabAPI Version SCP:SL License

SCP: Secret Laboratory 服务器的 等级系统 插件,基于 LabAPI 框架开发。提供完整的经验、等级、统计功能。

✨ 功能

经验系统(13种获取途径)

基础经验

  • 激活发电机
  • 击杀玩家
  • 对SCP造成伤害(百分比经验)
  • 逃离设施

战斗系统(新)

  • 辅助击杀:非最后一击也能获得经验
  • 连杀奖励:双杀、三杀、四杀、五杀递增奖励
  • 首杀奖励:首次击杀某角色类型额外奖励
  • SCP击杀差异化:SCP击杀人类使用不同经验值

互动系统(新)

  • 存活奖励:每2分钟自动奖励存活玩家
  • 拘留D级:设施警卫拘留D级获得经验
  • 解除手铐:互助解锁给予经验

等级系统

  • 3种升级曲线:线性、指数、自定义
  • 等级上限:可配置最高等级
  • 等级前缀:玩家名称前显示等级(可配置开关)
  • 自动升级:经验满足自动升级并提示

HUD系统

  • 实时显示:等级、当前经验、所需经验
  • 智能更新:数据变化检测,减少不必要刷新
  • 击杀提示:全局击杀广播(数量限制)
  • 经验提示:获得经验时的浮动提示
  • 完全可配置:位置、大小、字体、显示时长

统计系统

  • 击杀/死亡:总击杀数、总死亡数、K/D比率
  • 游戏数据:游戏局数、游戏时长
  • 连杀记录:最高连杀记录
  • 角色统计:各角色类型击杀统计
  • MVP展示:回合结束展示本局MVP
  • 命令查询.stats 命令查看统计

📥 安装

依赖项

  • LabAPI: 1.1.7 或更高版本
  • HintServiceMeow: 5.5.0 或更高版本

安装步骤

  1. 确保服务器已安装 LabAPI 和 HintServiceMeow
  2. LevelUp.dll 放入 LabAPI/plugins/ 目录
  3. 启动服务器,插件会自动生成配置文件
  4. 关闭服务器,按需修改配置文件
  5. 再次启动服务器,插件生效

首次运行会在 LabAPI/plugins/LevelUp/ 目录生成:

  • config.yml - 主配置文件
  • translations.yml - 翻译文件
  • data.yml - 玩家数据存储

⚙️ 配置

基础配置

配置项 类型 默认值 说明
Debug bool false 调试模式,输出详细日志
EnableNamePrefix bool true 是否在玩家名称前显示等级前缀

升级公式配置

配置项 类型 默认值 说明
CurveType enum Linear 升级曲线类型:Linear(线性)/ Exponential(指数)/ Custom(自定义)
basic int 100 线性公式基础值
overflow int 5 线性公式每级增长
extra int 50 线性公式额外值
ExponentialRate float 0.1 指数公式增长率(例如0.1表示每级增长10%)
MaxLevel int 0 等级上限(0表示无限制)

线性公式:所需经验 = basic + (当前等级 - 1) × overflow + extra
指数公式:所需经验 = basic × (1 + rate)^当前等级

经验值配置

配置项 默认值 说明
ActivatingGenerator 20 激活发电机
KillingPlayer 10 击杀玩家
ScpKillHuman 15 SCP击杀人类
times 1.0 SCP伤害经验倍率
damageless5 5 对SCP伤害<5%时的基础经验
EscapedFacility 20 逃离设施
AssistKill 5 辅助击杀
HeadshotBonus 5 爆头击杀额外奖励
DoubleKill 5 双杀奖励
TripleKill 10 三杀奖励
QuadKill 20 四杀奖励
PentaKill 30 五杀及以上奖励
MultiKillWindow 10 连杀时间窗口(秒)
HealAlly 3 治疗队友
FlashbangHit 2 闪光弹命中敌人(每个)
GrenadeHit 5 手榴弹命中敌人(每个)
CuffDClass 8 拘留D级人员
FreeCuffed 5 解除手铐
FirstKillBonus 3 首次击杀某角色类型奖励
SurvivalInterval 120 存活时间奖励间隔(秒)
SurvivalReward 2 存活时间奖励经验

HUD配置

等级显示配置(statesettings)

配置项 默认值 说明
IsEnabled true 是否启用等级显示
FontSize 20 字体大小
YCoordinate 1000 Y轴坐标(像素)
XCoordinate 0 X轴坐标(像素)

击杀提示配置(killsettings)

配置项 默认值 说明
IsEnabled true 是否启用击杀提示
FontSize 20 字体大小
YCoordinate 300 Y轴坐标(像素)
XCoordinate 700 X轴坐标(像素)
MaxDisplayMessages 5 最多显示消息数量

显示时长配置

配置项 默认值 说明
gotexp 3.0 获得经验提示显示时间(秒)
lvlUpTip 3.0 升级提示显示时间(秒)
killmessage 3.0 击杀提示显示时间(秒)

翻译配置

翻译文件支持自定义所有提示文本,支持以下占位符:

  • {level} - 当前等级
  • {exp} - 经验值
  • {roleColor} - 角色颜色(Hex)
  • {killer} - 击杀者昵称
  • {target} - 被击杀者昵称
  • {atkroleColor} - 击杀者角色颜色
  • {tgtroleColor} - 被击杀者角色颜色
  • {SCP} - SCP角色名称
  • {damagepercent} - 伤害百分比

🎮 指令

指令 别名 权限 说明
.stats .mystats .status 所有玩家 查看自己的统计数据
.stats <玩家名> - 所有玩家 查看指定玩家的统计数据(支持模糊匹配)

示例

.stats                # 查看自己的统计
.stats Player         # 查看名称包含"Player"的玩家统计

输出内容

  • 等级和经验进度
  • 击杀/死亡/K/D比率
  • 最高连杀记录
  • 游戏局数和时长
  • 击杀最多的角色Top 5

📊 功能详解

经验系统

辅助击杀

对目标造成伤害但非最后一击的玩家也能获得辅助经验。系统会追踪所有对目标造成伤害的玩家,在目标死亡时给予奖励。

连杀系统

在10秒(可配置)时间窗口内连续击杀,可获得额外经验:

  • 双杀:5经验
  • 三杀:10经验
  • 四杀:20经验
  • 五杀及以上:30经验

首杀奖励

每个玩家首次击杀某种角色类型时,额外获得首杀奖励。例如:首次击杀MTF、首次击杀SCP-173等。

存活奖励

每隔2分钟(可配置),所有存活的玩家自动获得经验奖励。

升级系统

线性曲线

适合长期游戏,升级难度稳定增长。

  • 例:1级→2级需100经验,2级→3级需105经验,3级→4级需110经验...

指数曲线

适合快速初期、困难后期的游戏体验。

  • 例(rate=0.1):1级→2级需100经验,2级→3级需110经验,3级→4级需121经验...

统计系统

所有统计数据持久化保存在 data.yml 中,包括:

  • 跨回合累计数据(总击杀、总死亡、总时长等)
  • 历史最高记录(最高连杀)
  • 详细分类统计(各角色击杀数)

数据在玩家离开服务器时自动保存。

🔧 开发者 - 编译指南

环境要求

  • Visual Studio 2019 或更高版本
  • .NET Framework 4.8.1 SDK
  • Git

编译步骤

  1. 克隆仓库
git clone https://github.com/whystars/LevelUp.git
cd LevelUp
  1. 准备依赖项

创建 using/ 目录并放入以下DLL(从游戏服务器获取):

  • LabApi.dll
  • HintServiceMeow.dll
  • Assembly-CSharp.dll
  • Assembly-CSharp-firstpass.dll
  • Mirror.dll
  • Pooling.dll
  • UnityEngine.dll
  • UnityEngine.CoreModule.dll
  • UnityEngine.PhysicsModule.dll
  • UnityEngine.UI.dll
  1. 还原NuGet包
nuget restore LevelUp.sln

或在Visual Studio中右键解决方案 → "还原NuGet程序包"

  1. 选择 Release 配置,生成项目

  2. 产物位于 bin/Release/LevelUp.dll

📜 版本历史

版本 LabAPI SCP:SL 说明
v1.0.0 1.1.7+ 14.x 初始发布版本,包含完整的经验、等级、统计系统

🐛 问题反馈

如果遇到问题或有功能建议,请在 Issues 页面提交。

📝 许可证

本项目基于 GPL-3.0 许可证开源,详见 LICENSE

🙏 致谢

About

SCP:SL 等级系统插件,基于LabAPI,提供完整的经验、等级、统计功能

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages