VIP进服特效插件 完整教程

插件名称：VIP进服特效系统
版本：v2.0（2026-10-16）
适用：CS:GO 社区服（SourceMod 1.10+ / 1.11）
功能：VIP进服横幅特效 + VIP菜单（剩余天数 / 激活码 / 续费）
授权：免费公开使用，可自由转发

------------------------------------------------------------
目录

1. 插件效果预览
2. 两个版本怎么选
3. 部署 SQL完整版（推荐）
4. 部署 admins版（备用）
5. 管理员操作：生成激活码
6. 玩家操作：激活VIP / 打开菜单
7. 数据库说明（SQLite / MySQL）
8. 常见问题排查
9. 自定义修改
10. 文件清单

------------------------------------------------------------
1. 插件效果预览

进服特效横幅（全服可见）：


[VIP] VIP玩家 bit 已连接 —— 尊贵的VIP会员进服啦

（屏幕中央 + HUD 同时显示大字"VIP玩家 xxx 已连接"）

VIP菜单（玩家输入 !vip 打开）：


您的VIP还剩余[735天]
1. 激活/续费VIP
2. 会员特权功能列表
9. 退出


------------------------------------------------------------
2. 两个版本怎么选

  功能  |  admins版  |  SQL完整版
  进服横幅特效  |  ✅  |  ✅
  !vip 菜单  |  ✅  |  ✅
  会员特权列表  |  ✅  |  ✅
  剩余天数显示  |  ❌  |  ✅
  激活码激活  |  ❌  |  ✅
  VIP续费叠加  |  ❌  |  ✅
  数据库  |  不需要  |  SQLite / MySQL
  部署难度  |  零配置  |  需加一段配置（1分钟）
  适合场景  |  权限简单、临时用  |  卖VIP、会员制、长期运营
结论：要跟效果图一模一样（剩余天数/激活码/续费），必须用 SQL完整版。

⚠️ 两个版本不要同时装，二选一。

------------------------------------------------------------
3. 部署 SQL完整版（推荐）

第1步：放插件文件

把 `vip_enter_effect_sql.smx` 放到服务器：


csgo\addons\sourcemod\plugins\vip_enter_effect_sql.smx


第2步：配置数据库

打开服务器配置文件：


csgo\addons\sourcemod\configs\databases.cfg


找到 `Databases` 这个大括号 `{ }`，在里面加一段：


"vip"
{
    "driver"    "sqlite"
    "database"  "vip"
}


保存。这就是 SQLite 方案——不用装MySQL、不用建数据库，插件会自动在 `csgo\addons\sourcemod\data\` 下生成 `vip.sqlite` 文件存数据。

第3步：加载插件

服务器控制台输入：


sm plugins load vip_enter_effect_sql


看到提示 `[VIP] SQL数据库连接成功` 就成功了。

第4步：验证

自己用管理员账号（或已激活的VIP号）重进服务器，应看到横幅特效；输入 `!vip` 能看到剩余天数菜单。

------------------------------------------------------------
4. 部署 admins版（备用）

如果对方不想用数据库，只要横幅特效：

第1步：放文件


csgo\addons\sourcemod\plugins\vip_enter_effect_admins.smx


第2步：给VIP加权限

在 `csgo\addons\sourcemod\configs\admins.cfg` 里，每个VIP玩家加一条：


"VIP-玩家名"
{
    "auth"      "steam"
    "identity"  "STEAM_0:x:xxxxxxxx"
    "flags"     "t"
    "immunity"  "1"
}


（root管理员 `flags "z"` 也会自动算VIP）

第3步：加载


sm plugins load vip_enter_effect_admins


插件自动生成 `csgo\cfg\sourcemod\vip_enter_effect.cfg`，可配置：


sm_vip_flag "t"      // VIP判定权限
sm_vip_banner "1"    // 横幅开关


------------------------------------------------------------
5. 管理员操作：生成激活码（仅SQL版）

服务器控制台或游戏里（root权限）输入：


!makecode 30


- `30` = 激活码的有效天数（1~3650）
- 生成结果：`激活码: VIP-XXXX-XXXX （30天）`
- 把这个激活码发给玩家即可

激活码规则：
- 一次性使用，激活后作废
- 新玩家激活：从当天开始算天数
- 老VIP续费：在原到期时间上叠加（不会浪费剩余时间）

------------------------------------------------------------
6. 玩家操作

  操作  |  命令
  打开VIP菜单  |  `!vip`
  激活/续费VIP  |  `!activate 激活码`（如 `!activate VIP-ABCD-1234`）
激活流程：
1. 游戏聊天框输入 `!vip` → 菜单显示"您还不是VIP"或剩余天数
2. 选"1. 激活/续费VIP" → 按提示输入 `!activate <激活码>`
3. 激活成功 → 提示"您的VIP还剩余[X天]"
4. 以后进服自动显示VIP特效横幅

聊天命令触发前缀默认是 `!` 和 `/`，`.vip` 这种点开头不会触发。

------------------------------------------------------------
7. 数据库说明

SQLite（推荐，零配置）

- 配置见第3步
- 数据文件：`csgo\addons\sourcemod\data\vip.sqlite`
- 备份：直接复制这个文件即可

MySQL（有独立数据库服务器时）

把 databases.cfg 里的配置换成：


"vip"
{
    "driver"    "mysql"
    "host"      "127.0.0.1"
    "database"  "vip"
    "user"      "root"
    "pass"      "数据库密码"
    "port"      "3306"
}


MySQL 里需手动建库 `vip`（表会自动创建）。

数据表结构（自动创建，无需手动）


-- VIP玩家表：steamid / 昵称 / 到期时间(Unix时间戳)
CREATE TABLE vip_users (
    steamid VARCHAR(32) PRIMARY KEY,
    name VARCHAR(64),
    expire INT
);

-- 激活码表：码 / 天数 / 被谁用了 / 使用时间
CREATE TABLE vip_codes (
    code VARCHAR(32) PRIMARY KEY,
    days INT,
    used_by VARCHAR(32),
    used_at INT
);


------------------------------------------------------------
8. 常见问题排查

  问题  |  原因  |  解决
  进服没有横幅  |  数据库没记录/已过期  |  先激活VIP；确认插件已加载
  提示"数据库未连接"  |  databases.cfg 配置不对  |  检查 "vip" 节是否在 Databases {} 里面
  激活码提示无效  |  码输错/已被用  |  重新向管理员要新码，注意大小写
  生成激活码没权限  |  不是root  |  用 root 账号或 admins.cfg 加 flags "z"
  横幅显示延迟  |  admin权限异步加载  |  等3-5秒，属正常
  加载报错 Bad Load  |  插件文件损坏  |  重新解压 smx 覆盖
------------------------------------------------------------
9. 自定义修改

想改横幅文字 / 特权列表，编辑源码 `vip_enter_effect_sql.sp` 后重新编译：

- 横幅文字：搜 `VIP玩家` 三个 Print 函数里的内容
- 特权列表：搜 `ShowVipFeatureList` 函数，改里面的菜单项

编译方法：用 SourceMod 的 spcomp 编译：

spcomp64 vip_enter_effect_sql.sp -o vip_enter_effect_sql.smx


------------------------------------------------------------
10. 文件清单


使用说明.txt                    ← 简明部署手册
vip_enter_effect_sql.smx        ← SQL完整版（推荐使用）
vip_enter_effect_sql.sp          ← SQL完整版源码
vip_enter_effect_admins.smx      ← admins版（备用）
vip_enter_effect_admins.sp       ← admins版源码
databases_vip配置.cfg            ← 数据库配置参考（SQLite+MySQL）
本教程                        ← 完整教程


------------------------------------------------------------
免责声明：本插件未经完整测试，如有Bug请自行学习修改。
