转载插件 [管理]Permabuffs —— 自动持续BUFF [2.1]

英文名称
Permabuffs
中文名称
自动状态
插件来源
转载
API类型
TerrariaServerAPI
插件类型
  1. 管理
语言支持
  1. 简体中文
  2. English
  3. 非官方汉化
适用版本
  1. 1.3.5.3
前置Mod/插件
TShock 汉化版 4.3.25
下载地址
https://tshock.co/xf/index.php?resources/permabuffs.5/download&version=861
原帖地址
https://tshock.co/xf/index.php?resources/permabuffs.5/

nnt

Lv4
创意家
LV
0
 
IP属地
未知
2019/07/04
113
123
勋章
2
  • · 发布于未知
Permabuffs


让服务器上的用户Buff状态一直持续,用户退出重新上线后状态依旧保留并持续




指令
/状态 <状态名或ID> -> 激活一个指定的Buff
/查状态 <用户名> -> 查看指定用户已被激活的Buff
/给状态 -> 以下为子指令:

  • <状态名或ID> <用户名> -> 为用户添加一个永久状态
  • 全部 列表 -> 查看全部可用的状态组
  • 全部 <状态组名> <用户名> -> 为用户添加配置文件中状态组内的全部状态
/区域状态 <添加/删除> <区域名> <状态名/ID> [持续时间] -> 当用户进入指定区域后获得指定的Buff
/全局状态 <状态名或ID> -> 激活一个全局Buff
/清除状态 [全部] -> 清除已设置的所有状态Buff(如果设置为“全部”,则作用到所有用户)
/重载状态 -> 重新载入插件配置文件
插件可使用英文原版指令

权限
pb.use=使用“状态”和“清除状态”指令的权限(只能使用在自身)
pb.check=使用“查状态”指令的权限
pb.give=使用“给状态”指令的权限
pb.clear=使用“清除状态”指令的权限(可关闭所有用户)
pb.region=使用“区域状态”指令的权限
pb.global=使用“全局状态”指令的权限
pb.reload=使用“重载状态”指令的权限

用户只能对所拥有的状态组中的状态使用“状态”指令,要允许用户使用其他状态组状态,则权限名为“pb.<状态组权限>”,如果要使用所有状态组的状态则权限名为"pb.useall"

更详细的使用方法,请看简易使用指南

备注
区域状态里的时间单位为秒
插件可用在4.3.25的汉化版本,其他版本的TShock可能会报错或些许功能无法使用

本插件由Zaicon制作完成,本人能力有限仅仅只做了汉化,如果喜欢本插件请多多支持原作者
有文本bug或者表达错误请及时@nnt

原帖地址: https://tshock.co/xf/index.php?resources/permabuffs.5/
开源地址: https://github.com/Zaicon/PermabuffsV2
 

附件

  • Permabuffs V2.dll
    35 KB · 查看: 351
最后编辑:

nnt

Lv4
创意家
LV
0
 
IP属地
未知
2019/07/04
113
123
勋章
2
  • · 发布于未知
简易使用指南
Permabuffs对于RPG玩法的服务器来说是一个非常实用的插件,不仅可以保持Buff状态,还可以对进入指定区域内状态,全局状态,自定义状态组,即使服务器关闭,也会保留用户Buff状态数据,可以使用指令进行状态管理,也可以使用配置文件进行状态配置

如何编辑PermabuffsConfig.json
在此之前你需要了解一下TShock的插件使用与安装,插件安装完成后将会在"/tshock"文件夹中生成一个"PermabuffsConfig.json"文件,若要任何状态组Buff等编辑,必须在此文件中进行,完成以上步骤后,现在可以对其进行修改。使用任意文本编辑器打开配置文件,将看到示例代码。如下:
代码:
{
  "状态组设置": [
    {
      "状态组名": "增益状态",
      "状态组权限": "probuffs",
      "持续状态": true,
      "buffID": [
        1,
        2,
        3
      ]
    },
    {
      "状态组名": "宠物状态",
      "状态组权限": "petbuffs",
      "持续状态": false,
      "buffID": [
        19,
        27,
        40
      ]
    },
    {
      "状态组名": "减益状态",
      "状态组权限": "debuffs",
      "持续状态": true,
      "buffID": [
        21,
        24,
        25
      ]
    }
  ],
  "区域状态设置": [
    {
      "区域名": "spawn",
      "BuffID": {
        "11": 10
      }
    }
  ]
}
配置文件编辑完成后,如果服务器正在运行,则需要执行一次"/重载状态"使其生效
不需要其他更多的功能设置,使用默认配置即可,如需要设置得更加具体,可参照下表


设置解析
状态组设置:
数据类型描述
状态组名设置一个状态组的名称
状态组权限设置一个状态组的权限,例:如果状态组的权限为nnt,则用户使用该状态组内的状态所需的权限为pb.nnt
持续状态true 或 false如果设置为“false”,状态仍将被给予,但不会自动持续,Buff持续时间一到Buff状态就会消失
buffID数组/列表状态组内可使用的BuffID,推荐直接使用Terraria wiki来查找Buff id和查看增益状态减益状态的描述

区域状态设置:
数据类型描述
区域名需要启用Buff状态的区域名称
BuffID时间单位为秒进入区域后给予用户的状态ID与持续时间,例:1:10表示ID为1的Buff持续10秒

如何配置多个状态组
设置多个状态组,按以下格式进行编辑:
代码:
{
"状态组设置": [
        {
            "状态组名": "状态组1",
            "状态组权限": "权限1",
            "持续状态": true,
            "buffID": [
            1,
            2,
            3,
            ...
            ]
        }, (记着别忘了逗号)
        ...    
        {
            "状态组名": "状态组n",
            "状态组权限": "权限n",
            "持续状态": true,
            "buffID": [
            4,
            5,
            6,
            ...
            ]
        } (设置的最后一个状态项目不需要添加逗号)
    ], (别忘了方括号,更别忘了还有一个逗号)
    "区域状态设置": [
    {
      "区域名": "1",
      "BuffID": {
        "1": 10
      }
    },(记着别忘了逗号)
    ...
    {
      "区域名": "n",
      "BuffID": {
        "2": 20
      }
    }(设置的最后一个区域状态项目不需要添加逗号)
  ]
}(最后一个大括号不用加逗号)
这样一个简易的状态组文件就配置完成,只要你能理解这些语法,你就可以无限地设置添加状态组。


示例设置
如何自如的运用配置文件给与用户不同的Buff呢,可以参考以下设置:

再生”是一个很好的回复Buff,但只想给服务器里的VIP组单独使用,可以这样设置
代码:
{
  "状态组设置": [
    {
      "状态组名": "VIP组",
      "状态组权限": "VIP",
      "持续状态": true,
      "buffID": [
      2,
       ]
     }
  ],
   "区域状态设置": [
    {
      "区域名": "spawn",
      "BuffID": {
        "11": 10
      }      
    }
  ]
}
设置完成后为VIP用户所在组添加权限"pb.VIP",执行一次“/重载状态”即可使VIP组用户获得“再生”状态

结束
插件应用面广,本指南只能作为一个简易状态设置参考,对于RPG类玩法的服务器可以给与用户更多的选择,发挥你的创造力,创建一个更智能不平庸的服务器吧!
 
最后编辑:

天羽流火

Lv3
LV
0
 
IP属地
四川省
2021/05/26
39
1
  • · 发布于未知
有点小问题,
2021-11-28 09:32:08 - Utils: INFO: Server执行了:/gpermabuff 110 测试
2021-11-28 09:32:08 - Command: ERROR: System.Collections.Generic.KeyNotFoundException: The given key '92' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <533173d24dae460899d2b10975534bb0>:0
at Permabuffs_V2.Permabuffs.PBGive (TShockAPI.CommandArgs args) [0x002b5] in <6b5f763d54ae4c76becfcb8a8f4af426>:0
at TShockAPI.Command.Run (System.String msg, System.Boolean silent, TShockAPI.TSPlayer ply, System.Collections.Generic.List`1[T] parms) [0x00025] in <6d949380a83b419590c6ff909e46c739>:0
2021-11-28 09:32:
 
  • 标签
    tshock 汉化插件
  • * 这是一则由 Google AdSense 自动推荐的广告,与本站无关,不对其真实性与可靠性负责

    顶部