Skip to content

ICU-Club/PointsSystem

Repository files navigation

积分系统 插件

  • 作者: 淦
  • 出处: 无
  • 这是一个 TShock 6.1.0 服务器插件,适用于 Terraria 1.4.5,主要用于:签到、抽奖、转账、掷骰子、猜数字、抢劫、回收等一体化积分玩法。

指令

语法 权限 说明
/注册 <密码>/reg <密码> points.use 注册积分系统账户(密码≥3字符)
/签到/sign points.use 每日签到获取积分,连续签到有额外奖励
/抽奖/lottery points.use 消耗积分随机抽取物品,物品存入抽奖仓库
/仓库/storage points.use 查看抽奖仓库中暂存的物品及回收价值
/取物品 <序号|all>/claim points.use 从仓库领取物品到背包(all 表示全部领取)
/回收 <序号|all>/recycle points.use 回收仓库物品换取积分(all 表示全部回收)
/转账 <玩家名> <数量>/transfer /pay points.use 向其他在线/离线玩家转账积分
/掷骰子/dice points.use 掷骰子博弈,消耗积分,获胜获得更多积分
/猜数字 <数字>/guess points.use 猜数字赢积分,猜中概率和范围可配置
/抢劫 <玩家名>/rob points.rob 抢劫其他在线玩家的积分,失败则反被扣积分
/查看 [玩家名]/profile /信息 points.use 查看自己或他人的积分、签到、仓库等信息
/积分管理 <add|set|reset> <玩家名> [数量]/pointsadmin points.admin 管理员操作:增加/设置/重置玩家积分和签到数据
/reload points.reload 热重载积分系统配置文件(仅重载本插件,无需重启服务器)
/reload tshock.cfg.reload TShock 内置指令,重载全服配置(含积分系统)

注意:同名 /reload 命令有两个。points.reload 仅重载积分系统配置(更快、更安全);tshock.cfg.reload 重载全部 TShock 配置。两者都会触发积分系统配置重新加载。

使用方法

  1. 积分系统.dll 放入 TShock 服务器的 ServerPlugins 文件夹。
  2. 启动/重启服务器,插件会自动生成配置文件在 tshock/积分系统/配置文件.json
  3. (可选)编辑配置文件,调整签到奖励、博弈概率、抽奖池、冷却时间等参数。
  4. 在服务器中执行 /reload 使配置生效(无需重启服务器,推荐使用 points.reload 权限的版本)。
  5. 玩家使用 /注册 <密码> 创建积分账户后即可使用全部功能。

功能说明

账户

  • 玩家需先登录 TShock 账户,再使用 /注册 <密码> 注册积分系统账户。
  • 账户昵称固定为玩家角色名,不支持修改。

签到

  • 每天 0:00(UTC)刷新签到机会。
  • 连续签到会累加额外奖励积分,中断后重新计算连续天数。
  • 额外奖励有上限,防止无限累积。

抽奖 & 仓库 & 回收

  • 抽奖消耗固定积分,按权重随机抽取物品。
  • 抽中的物品不会直接进入背包,而是存入玩家的抽奖仓库。
  • 使用 /仓库 查看仓库物品及回收价值,使用 /取物品 领取,使用 /回收 兑换积分。
  • 可回收的物品仅限抽奖仓库中的物品,不可回收背包中的物品。

转账

  • 玩家间可互相转账积分(支持在线和离线接收方)。
  • 支持手续费配置(默认 0%,即免手续费)。
  • 接收方在线时会收到实时通知。

掷骰子 & 猜数字

  • 消耗积分的博弈玩法,各自有独立冷却时间和获胜概率。
  • 掷骰子结果展示骰子点数;猜数字显示正确答案。

抢劫

  • 消耗冷却时间,可抢劫其他在线玩家的积分。
  • 有失败概率,失败后抢夺方被扣除一定比例积分给被抢夺方。

查看

  • 使用 /查看 [玩家名] 可查看任意玩家(在线/离线)的积分、签到次数、仓库物品数、最近签到时间等信息。

热重载

  • 拥有 points.reload 权限的玩家可使用 /reload 热重载积分系统配置。
  • 服务器每次 /reload(含 TShock 内置版本)也会自动触发积分系统配置重载。
  • 修改配置文件后无需重启服务器即可生效。

更新日志

v1.1.1
新增 /reload 热重载指令(points.reload),无需重启即可重载积分系统配置
修复配置文件重复加载导致抽奖物品列表翻倍的问题(ObjectCreationHandling.Replace)
优化抽奖物品列表默认值管理,提取为独立静态方法

v1.1.0
新增转账功能(/转账),支持手续费配置
抽奖物品改为存入独立抽奖仓库,不再直接进入背包
新增 /仓库 指令,查看暂存物品及回收价值
新增 /取物品 指令,从仓库领取物品到背包
新增 /回收 指令,仅可回收仓库中的物品换取积分
修复物品图标 [i:...] 在颜色标签内无法渲染的问题

v1.0.0
初始发布:签到、抽奖、掷骰子、猜数字、抢劫、查看

配置

配置文件位置:tshock/积分系统/配置文件.json

{
  "插件开关": true,
  "数据同步秒数": 60,
  "离服清理缓存": false,
  "签到基础积分": 10,
  "签到连续奖励": 5,
  "签到最大连续奖励": 50,
  "掷骰子冷却秒数": 300,
  "掷骰子获胜概率": 0.45,
  "掷骰子积分消耗": 10,
  "掷骰子获胜奖励": 25,
  "猜数字冷却秒数": 600,
  "猜数字获胜概率": 0.1,
  "猜数字最小值": 1,
  "猜数字最大值": 100,
  "猜数字积分消耗": 5,
  "猜数字获胜奖励": 50,
  "抢劫冷却秒数": 1800,
  "抢劫成功概率": 0.4,
  "抢劫最小积分": 5,
  "抢劫最大积分": 50,
  "抢劫失败惩罚比例": 0.5,
  "抽奖积分消耗": 20,
  "抽奖物品列表": [
    { "物品ID": 73, "权重": 5, "数量": 1, "前缀": 0 },
    { "物品ID": 155, "权重": 3, "数量": 1, "前缀": 0 },
    { "物品ID": 65, "权重": 2, "数量": 1, "前缀": 0 },
    { "物品ID": 125, "权重": 1, "数量": 1, "前缀": 0 }
  ],
  "回收比例": 0.5,
  "回收最小价值(铜币)": 100,
  "转账最小积分": 1,
  "转账手续费比例": 0.0
}
配置项 说明
插件开关 true 启用插件,false 禁用
数据同步秒数 数据自动保存到磁盘的间隔(秒)
签到基础积分 每次签到获得的基础积分
签到连续奖励 连续签到每天额外奖励积分
签到最大连续奖励 连续签到额外奖励的上限
掷骰子冷却秒数 两次掷骰子之间的冷却时间
掷骰子获胜概率 掷骰子获胜的概率(0~1)
掷骰子积分消耗 每次掷骰子消耗的积分
掷骰子获胜奖励 掷骰子获胜时获得的积分
猜数字冷却秒数 两次猜数字之间的冷却时间
猜数字获胜概率 猜数字获胜的概率(0~1)
猜数字最小值 / 最大值 答案数字的随机范围
猜数字积分消耗 每次猜数字消耗的积分
猜数字获胜奖励 猜数字获胜时获得的积分
抢劫冷却秒数 两次抢劫之间的冷却时间
抢劫成功概率 抢劫成功的概率(0~1)
抢劫最小积分 / 最大积分 单次抢劫积分的随机范围
抢劫失败惩罚比例 失败时扣除积分的比例(相对于抢额)
抽奖积分消耗 每次抽奖消耗的积分
抽奖物品列表 抽奖池,按权重随机抽取
回收比例 回收仓库物品时,物品价值的折算比例
回收最小价值(铜币) 低于此价值的物品不可回收
转账最小积分 单次转账的最低积分数量
转账手续费比例 转账时额外扣除的积分比例(0=免手续费)

缓存文件

数据文件位置:tshock/积分系统/数据缓存.json

{
  "玩家数据": {
    "玩家名": {
      "密码哈希": "SHA256哈希值",
      "积分": 100,
      "累计签到": 5,
      "连续签到": 3,
      "上次签到日期": "2025-01-01T00:00:00Z",
      "上次掷骰子": "2025-01-01T12:00:00Z",
      "上次猜数字": null,
      "上次抢劫": null,
      "抽奖仓库": [
        {
          "序号": 1,
          "物品ID": 73,
          "数量": 1,
          "前缀": 0,
          "获得时间": "2025-01-01T12:30:00Z"
        }
      ]
    }
  }
}

反馈

  • 优先发issued -> 共同维护的插件库:https://github.com/ICU-Club
  • 次优先:TShock官方群:816771079
  • 大概率看不到但是也可以:国内社区trhub.cn ,bbstr.net , tr.monika.love

About

通过签到等途径获取积分,积分可用于抽奖等行为

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages