Skip to content

PCsvip是我们接手苍山工作室的CSvip的后期维护插件,我们接手后对PCsvip进行了重新规划,将他视为前置插件使用,移除了多余的功能,开放多个外接接口实现多元化操作。

PCsvip现已停更,所有功能由PVip接管

前置组件

必选

LL2

LL3

可选

LL2上使用PAPI的所需组件

LL3上使用PAPI的所需组件

安装

LL2

  • 首次安装,将文件PCsvip.jsPCsvip.llse.js解压到此路径下:BDS/plugins/
  • 更新直接替换原来的文件,若旧插件的名称与新插件的名称不一致,请删除旧插件再解压

LL3

  • LL3 将文件夹PCsvip解压到此路径下:BDS/plugins/
  • 更新插件请将原来的文件夹删除

注册指令说明

/myvip - 我的VIP 游戏内执行
/vipshop - VIP商城 游戏内执行
/vipset - VIP管理 游戏内执行
/viphelp - 关于插件 游戏内执行
/vip add (玩家ID/QQ号) [天数] - 控制台添加VIP 控制台操作,"[]"内为选填
/vip del (玩家ID/QQ号) 控制台删除VIP 控制台操作,当玩家是VIP时输入会关掉VIP,当玩家不是VIP时会删除VIP数据
/vip addexp (玩家ID/QQ号) (经验) 控制台增加玩家会员等级经验,所有参数为必填
/vip reduceexp (玩家ID/QQ号) (经验) 控制台减少玩家会员等级经验,所有参数为必填
/vip addint (玩家ID/QQ号) (经验) 控制台增加玩家会员积分,所有参数为必填
/vip reduceint (玩家ID/QQ号) (经验) 控制台减少玩家会员积分,所有参数为必填
/vip addtime (玩家ID/QQ号) (时长) 控制台增加玩家时长 控制台操作,所有参数为必填
/vip reducetime (玩家ID/QQ号) (时长) 控制台减少玩家时长 控制台操作,所有参数为必填,当减少时长大于剩余时长会自动取消玩家的VIP
/vip query (玩家ID/QQ号) [输出类型] 控制台查询玩家VIP数据 控制台操作,所有参数为必填

指令示范

指令模板模板说明指令模板模板说明
vip add 114514将114514绑定的玩家添加为会员,时间为默认vip add Steve 6将Steve玩家添加为会员,时间为6天
vip del 114514移除114514绑定的玩家的会员vip del Steve移除Steve玩家的会员
vip addexp 114514 100给114514绑定的玩家增加100exp会员等级经验vip addexp Steve 100给Steve玩家增加100exp会员等级经验
vip reduceexp 114514 100减少114514绑定的玩家100exp会员等级经验vip reduceexp Steve 100减少Steve玩家100exp会员等级经验
vip addint 114514 100给114514绑定的玩家增加100会员积分vip addint Steve 100给Steve玩家增加100会员积分
vip reduceint 114514 100减少114514绑定的玩家100会员积分vip reduceint Steve 100减少Steve玩家100会员积分
vip addtime 114514 10给114514绑定的玩家增加10天会员时间vip addtime Steve 100给Steve玩家增加10天会员时间
vip reducetime 114514 100减少114514绑定的玩家10天会员时间vip reducetime Steve 100减少Steve玩家10天会员时间
vip query 114514查询114514绑定的玩家的会员信息(默认为英文输出格式)vip query Steve cn查询Steve玩家的会员信息(输出格式为中文)

配置文件说明

更改配置文件请注意 JSON 文件格式,不推荐使用记事本修改配置文件

config文件

  • 插件基础配置文件
  • 路径: BDS/plugins/Planet/PCsvip/config.json

最新版本不能使用旧版本的配置文件、PCsvip正确安装会自动更正不正确的配置项,无需手动修改

  • 2.0.0 Beta 23.07.0402N
js
{
  "version": "v2.0.0 Beta 23.07.0402N", //插件版本
  "money": 0, //经济模式(0为计分板,1为LLMoney)
  "score": "money",
  "buyswitch": 1, //购买/续费VIP开关(0为关闭,1为开启)
  "viptime": 7, //VIP默认时长(管理员手动添加的时长(单位:天))
  "viptitle": [ //注册PAPI的变量返回值
    "至尊VIP", //玩家是VIP时的返回文本
    "非VIP" //玩家不是VIP时的返回完本
  ],
  "lizi": "minecraft:arrow_spell_emitter", //vip默认粒子(根据MC原版的id来填写,可在PLib的lizi配置文件中复制lizimcid的配置项粘贴到这里)
  "blacklist": [], //VIP黑名单(禁止一些玩家购买VIP)
  "viplevel": { //VIP等级
    //每级经验与等级数量 数组内的数量表示了VIP最高等级,例如下面有5给数值表示了VIP等级最高为5级
    //每个数值表示升级所需的经验,例如从1级升到2级需要300经验、2级升3级需要600经验以此类推
    //1级必须为0,否则会报错
    "exp": [
      0,
      100,
      300,
      600,
      1000
    ],
    "expratio": { //升级、降级的经验
      "up": 10, //每日首次登陆服务器所获得的当日经验
      "down": 20 //当玩家失去VIP后起,每日首次登陆服务器将会扣除所积累的经验
    }
  },
  "upintegral": 10, //每日会员玩家进入服务器增长的积分
  "customtitlebuff": [//会员玩家自定义称号允许使用的BUFF(后续可在会员配置中修改)
        "absorption",
        "conduit_power",
        "haste"
    ]
}

storedata文件

  • 会员商店
  • 路径: BDS/plugins/Planet/PCsvip/data/storedata.json
js
{
  "vipgoods": [ //VIP商品
    {
      "name": "1天", //商品名称
      "money": 195, //商品价格
      "viptime": 1 //VIP时长
    }
  ],
  "lizigoods": [ //粒子商品
    {
      "mcid": "minecraft:heart_particle", //粒子ID
      "money": 195 // 粒子价格
    }
  ]
}

vipdata文件

  • 会员玩家数据
  • 路径: BDS/plugins/Planet/PCsvip/data/vipdata.json
js
{
  "SUNSServer": { //玩家名称
    "vip": false, //玩家的VIP身份
    "liziswitch": false, //玩家粒子开关
    "lizimcid": "minecraft:heart_particle", //当前使用的粒子id
    "viplevel": 2, //玩家VIP等级
    "levelexp": "29/300", //玩家VIP等级经验(当前/下次升级所需)
    "integral": 1800, //VIP积分(目前是购买VIP获取)
    "viptitle": "至尊VIP", //VIP称号
    "viptime": null, //VIP总时长(null为玩家不是VIP,0为永久,大于0为实际天数)
    "gettime": "---", //玩家获取VIP的最初时间("---"为玩家不是VIP或永久)
    "jointime": "2023-3-21" //玩家上次加入的日期(以每日0点为重置点,用于增加VIP等级经验)
  }
  //注:玩家VIP倒计时计算方式是("当前时间与玩家上次获取VIP时间的时间差"-"玩家VIP拥有的总时长")
}

lizidata文件

  • 会员玩家购买的粒子
  • 路径: BDS/plugins/Planet/PCsvip/data/lizidata.json
js
"SUNSServer": [
        {
            "mcid": "minecraft:heart_particle", //粒子的标准名
            "time": 172, //粒子有效时间
            "gettime": "2023-05-08 23:43:04"  //首次获取粒子的时间
        },
        {
            "mcid": "minecraft:arrow_spell_emitter",
            "time": 18,
            "gettime": "2023-07-05 20:59:23"
        }
    ]

API

PCsvip提供了10个接口

获取指定玩家VIP身份

ll.import("PCsvip","getplayer")(name)

  • 参数:
    • name: String
      玩家名称
  • 返回值: 玩家VIP身份
  • 返回值类型: Boolean
    • 如果返回 false 则表示不是

获取所有玩家VIP数据

ll.import("PCsvip", "getall")()

  • 返回值: 所有VIP玩家数据
  • 返回值类型: Object
    • 如果返回 {} 则表示没有数据

获取指定玩家原始VIP数据

ll.import("PCsvip", "getvipdata")(name)

  • 参数:
    • name: String
      玩家名称
  • 返回值: 玩家是否是VIP
  • 返回值类型: Object

数据属性

属性含义类型返回值示范
vipVIP身份Booleantrue
liziswitch随身粒子开关Buuleantrue
lizinamcid随身粒子MC代码Stringminecraft:heart_particle
viplevelVIP等级Number1
levelexp等级经验String40/100
integralVIP积分Number40
viptitleVIP称号String§cVIP
viptimeVIP有效时长Number1
gattimeVIP有效期内最早获取时间String2022-07-26 20: 03: 16
  • 如果返回 Null 则表示没有数据

获取指定玩家中文VIP数据(新)

ll.import("PCsvip", "getvipdataChinese")(name)

  • 参数:
    • realname: String
      玩家的名字
  • 返回值: 玩家是否是VIP
  • 返回值类型: Objevt

数据属性

属性含义类型返回值示范
vipVIP身份String
liziswitch随身粒子开关String开启
lizinamcid随身粒子MC代码Stringminecraft:heart_particle 或 爱心
viplevelVIP等级String1级
levelexp等级经验String40/100
upgrade升级需要Number60
integralVIP积分Number40
viptitleVIP称号String§cVIP
viptimeVIP有效时长String1天
surplus剩余时长String1天
gattimeVIP有效期内最早获取时间String2022-07-26 20: 03: 16
  • 如果返回 Null 则表示没有数据

增加指定玩家VIP经验

ll.import("PCsvip", "addviplevelexp")(name,exp)

  • 参数:

    • name: String
      玩家的名字
    • exp: Number
      要增加的经验值
  • 返回值: 增加成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state增加结果Booleantrue
    .content增加结果信息String见下
  • 返回对象content的内容

    内容
    "要增加经验的会员没填名称"
    "要增加经验的玩家还不是会员"
    "要增的加经验没有填"
    "要增的加经验不是纯数字"
    "要增的加经验范围不正确,强制范围为1-100000"
    "经验增加成功"

减少指定玩家VIP经验(减少经验不能大于20)

ll.import("PCsvip", "reduceviplevelexp")(name,exp)

  • 参数:

    • name: String
      玩家的名字
    • exp: Number
      要减少的经验值
  • 返回值: 减少成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state减少结果Booleantrue
    .content减少结果信息String见下
  • 返回对象content的内容

    内容
    "要减少经验的会员没填名称"
    "要减少经验的玩家还不是会员"
    "要减少的经验没有填"
    "要减少的经验不是纯数字"
    "要减少的经验范围不正确,强制范围为1-20"
    "当前会员的等级经验已扣完,无法继续操作"
    "经验减少成功"

增加指定玩家VIP积分

ll.import("PCsvip", "addvipintegral")(name,int)

  • 参数:

    • name: String 玩家的名字
    • int: Number
      要增加的积分
  • 返回值: 增加成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state减少结果Booleantrue
    .content减少结果信息String见下
  • 返回对象content的内容

    内容
    "要增加积分的会员没填名称"
    "要增加积分的玩家还不是会员"
    "要增加的积分没有填"
    "要增加的积分不是纯数字"
    "要增加的积分范围不正确,强制范围为1-100000"
    "积分增加成功"

减少指定玩家VIP积分

ll.import("PCsvip", "reducevipintegral")(name,int)

  • 参数:

    • name: String 玩家的名字
    • int: Number
      要减少的积分
  • 返回值: 增加成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state减少结果Booleantrue
    .content减少结果信息String见下
  • 返回对象content的内容

    内容
    "要减少积分的会员没填名称"
    "要减少积分的玩家还不是会员"
    "要减少的积分没有填"
    "要减少的积分不是纯数字"
    "要减少的积分范围不正确,强制范围为1-100000"
    "该会员的积分不足,无法扣除"
    "积分减少成功"

增加指定玩家VIP时间

ll.import("PCsvip", "addviptime")(name,time)

  • 参数:

    • name: String 玩家的名字
    • time: Number
      要增加的时间(单位:天)
  • 返回值: 增加成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state增加结果Booleantrue
    .content增加结果信息String见下
  • 返回对象content的内容

    内容
    "要增加时间的会员没填名称"
    "要增加时间的玩家不是会员,已将该玩家添加为会员"
    "要增加时间的玩家是永久会员,无法操作"
    "要增加的时间没有填"
    "要增加的时间不是纯数字"
    "要增加的时间范围不正确,强制范围为0-100000,0为永久"
    "会员时间增加成功"

减少指定玩家VIP时间

ll.import("PCsvip", "reduceviptime")(name,time)

  • 参数:

    • name: String 玩家的名字
    • time: Number
      要减少的时间(单位:天)
  • 返回值: 增加成功对象

  • 返回值类型: Objevt

    属性含义类型示范
    .state减少结果Booleantrue
    .content减少结果信息String见下
  • 返回对象content的内容

    内容
    "要减少时间的会员没填名称"
    "要减少时间的玩家还不是会员"
    "要减少时间的玩家是永久会员,无法操作"
    "要减少的时间没有填"
    "要减少的时间不是纯数字"
    "要减少的时间范围不正确,强制范围为1-100000"
    "要减少时间的玩家是剩余天数不足以抵扣"
    "会员时间减少成功"

Planet工作室