【抽奖】XgpLottery —— 好用的抽奖插件-支持1.20.x

img
img

非必要前置:

前置插件

🔗 非必要前置!

权限节点

  • xgplottery.manager

    • 插件管理权限,默认OP拥有
  • xgplottery.shop

    • 打开商店的权限,默认玩家拥有。
  • xgplottery.show

    • 使用命令查看奖池的权限,默认玩家拥有。
  • xgplottery.reward

    • 使用命令打开累计抽奖奖励的权限,默认玩家拥有。
  • xgplottery.record.num

    • 设置玩家抽奖记录保存上限。

插件命令

  • 💡 注意

    • 本插件命令以下用/xl简写/xgplottery

    • 以下标题为插件子命令,即例如 /xl help

      奇怪的命令命名,不是吗?

  • add

    ⚠️注意``有更好的实现方式,不推荐使用

    • /xl add item [奖池名称]

      把手中的物品添加到指定奖池的普通物品列表中。

    • /xl add award [奖池名称]

      把手中的物品添加到指定奖池的普通物品列表中。

  • box

    • /xl box create [奖池名称]

      创建一个抽奖箱,使用后点击一个方块完成绑定。

    • /xl box remove

      移除抽奖箱,使用后点击抽奖箱方块完成移除。

      /xl box list

      列出所有抽奖箱,并提供传送到该位置的功能。

  • change

    ⚠️注意``有更好的实现方式,不推荐使用

    • xl change [奖池名称]

      修改奖池的售卖方式

  • convert

    ⚠️注意``请先正确配置数据库并确保对应数据库为空

    • /xl convert

      把本地数据文件上传到数据库。

    • /xl convert file

      把数据库转为本地储存。

  • delete

    • /XgpLottery delete [奖池名称]

      删除指定奖池

  • get

    • /XgpLottery get ticket [奖池名称] (false)

      把手中的物品变为抽奖券

    • /XgpLottery get key [奖池名称] (false)

      把手中的物品变为抽奖钥匙

  • give

    • /xl give [玩家名称] key [奖池名称] [数量]

      给予玩家指定奖池中的抽奖箱钥匙,可在奖池设置中个性化。

    • /xl give [玩家名称] ticket [奖池名称] [数量]

      给予玩家指定奖池中的奖券,可在奖池设置中个性化。

    • /xl give [玩家名称] open [奖池名称]

      直接让玩家进行一次单抽。⚠️注意``已准备弃用

  • help

    • /xl help [页数]

      获取帮助命令

  • menu

    • /xl menu

      打开管理菜单

  • particle

    • /xl particle show

      显示所有抽奖箱粒子特效

    • /xl particle clear

      清除所有抽奖箱粒子特效

  • record

    • /xl record [奖池名称]

      查询自己的抽奖记录

    • /xl record [奖池名称] [玩家名称]

      查询指定玩家的抽奖记录。(仅管理员可用,支持离线)

  • reload

    • /xl reload

      重载插件

  • reward

    • /xl reward

      (玩家)打开累计抽奖回馈页面,领取奖励

  • shop

    • /xl shop

      (玩家)打开奖池商店页面

  • show

    • /xl show [奖池名称]

      打开奖池普通物品预览

    • /xl show [奖池名称] sp

    • 打开奖池保底物品预览

  • top

    • /xl top

      展示排行榜

占位符/变量

  • 💡 注意

    • 要使用以下占位符,你需要安装 PlaceholderAPI 插件!
  • 💡 注意

    **lotteryName**则是指定奖池的奖池名。

    **rank**为排行的名次。

  • %XgpLottery_this% 玩家的总抽奖次数
  • %XgpLottery_max_lotteryName% 奖池的保底需要的次数
  • %XgpLottery_value_lotteryName% 奖池售价
  • %XgpLottery_this_lotteryName% 该奖池某个玩家的抽奖总数
  • %XgpLottery_top_rank_name% 总抽奖次数排行榜的第rank名的玩家姓名
  • %XgpLottery_top_rank_amount% 同上,为抽奖次数
  • %XgpLottery_player_lotteryName_current% 玩家在该奖池中未获得保底的抽奖次数
  • %XgpLottery_top_lotteryName_rank_name% 指定奖池抽奖次数第rank名的玩家姓名
  • %XgpLottery_top_lotteryName_rank_amount% 同上,为抽奖次数

注意事项

  • 服务端版本1.9以下是不能使用粒子特效的。
  • 1.2.0版本之后,早期版本的抽奖箱钥匙/奖券会失效,保存在其他插件的物品需要重新用/xl get 等命令获得

这是为了更优的算法与更好的实现自定义,对产生的不便带来抱歉。

  • 本插件支持跨服数据通信,但并不支持跨服务端版本的数据通信/奖池互通,不会有人这样做的对吧!
  • 跨服的时候请尽量把config中自动保存设置为0,避免子服的自动保存覆盖了你的更改。同时在子服有玩家的时候子服会自动同步更改。如果没有玩家请到该子服自行/xl reload读取数据!
  • 暂无

该娇娇怎么使用了!

视频教程!==

施工中….

图文教程!

图片内容可能会因版本而变化,具体流程是不变的。

创建抽奖箱

使用/xl menu打开管理菜单。

图 14. menu.jpgmenu.jpg

随后点击创建奖池,并输入奖池名称。 此处建议不要添加颜色符号和特殊符号,不然你以后给予钥匙每次都要重新输一次!

图 15. create1.jpgcreate1.jpg

此处我创建了一个名为233的奖池

图 16. create3.jpgcreate3.jpg

随后在/xl menu打开管理菜单,打开管理菜单。

在此处列出了你所有创建的奖池,左键点击进入详细管理

图 17. 奖池列表.png奖池列表.png

随后见到这个界面

图 18. 奖池信息.png奖池信息.png

配置奖池

此处具体操作都标注在对应按钮上,详细内容不过多赘述。

图 19. 奖池具体设置选项.png奖池具体设置选项.png

只在此讲解一些配置数据。

  • 普通物品:这是奖池的基础物品,你可以把一些普通的物品作为奖池的基础物品,抽到这些物品会增加玩家未抽到保底物品的次数。
  • 保底物品:这是奖池的稀有物品,你可以把一些稀有、昂贵的物品放在这里面,抽到这些物品会重置玩家未抽到保底物品的次数。
  • 保底次数:这是当玩家未抽到保底物品的次数达到这个值时,本次抽奖必定抽到保底物品中的内容! 为0取消保底机制。
  • 售卖方式:这是在插件自带商店中的售卖方式,现在支持PlayerPoints、Money、与EXP 即为点券、金币和经验(等级)。功能需要安装对应前置。
  • 设置价格:设置在自带商店中的出售价格。
  • 钥匙&奖券设置: 修改通过/xl give命令与商店中购买获得的物品材质、lore、展示名。
  • 抽奖次数上限:玩家抽奖次数达到这个次数后,无法继续在这个奖池抽奖。

奖品配置

此处的操作对于保底物品与普通物品是一样的,区别就是所属奖品列表不同。

详细操作均在物品上以lore形式标注,此处不多赘述。

具体界面如下:

图 20. 奖品设置.png奖品设置.png

图 21. 奖品设置2.png奖品设置2.png

  • 添加物品

拿起背包的物品放在钻石位置,会完全保留nbt信息并存入。

权重是什么?怎么计算保底?

权重

在此插件中,您仅仅需要理解权重如何设置。

简而言之权重比上总权重越大,抽到的概率越大。

计算方式

描述具体逻辑,但如不需开发,请了解即可。

抽奖可分为 从普通物品获得一个奖品从保底物品获得一个奖品

从各自奖池获得奖品是根据计算该奖池权重来获得。即如果保底物品有两个,一个权重为1,另一个为2。那么获得保底物品的时候,有33%的概率获得第一个,有66%的概率获得第二个物品。

而决定是从普通物品与保底物品的抽取的概率,出去达到保底次数外,是根据普通物品总权重与保底物品总权重计算。

例如保底池总权重为20,普通池为80。那么每次抽奖有20%y

奖励详细配置

由于奖品在显示上必须有一个物品,所以添加奖励必须像3.2.3中那样,添加。

当shift+左键点击奖品时,会进入如下内容。

图 22. 详细设置.png详细设置.png

你分别可以设置抽到本项目的时候:

  • 给予的物品与是否给与物品。
  • 执行的命令与是否执行命令。 支持%player_name%的占位符,以控制台执行。 作为奖励,并不准备考虑以玩家执行。
  • 是否播报与播报的时候显示什么名称,如果不显示则获得物品被改的名字。如果没有改过名字则会显示英文名。

配置累抽奖励!

配置一个领取礼包的逻辑: 即在玩家在特定奖池每达到一定次数,可以领取的礼包。

1.2.0版本新增功能。在如下地方进入配置。

图 23. 进入累抽奖励.png进入累抽奖励.png

随后即这个页面

图 24. 创建累抽.png创建累抽.png

点击后根据提示依次输入 依据的奖池名称礼包名称⚠️注意``礼包名称不可重复!

随后进入设置

图 25. 累抽设置.png累抽设置.png

此处与奖池设置很类似,具体操作不再赘述。主要说明一下领取的两个数值。

需要的抽奖次数0为关闭领取,设置为30则为:玩家每次在这个奖池抽过30次可以领取一次这个礼包。

领取上限次数:默认为1 ,为玩家可以领取这个礼包的上限次数。设置为0则可无上限领取。

玩家操作!

打开商店并购买抽奖券

配置奖池的售卖方式、价格之后,玩家可以通过/xl shop指令打开商店,列举了所有的奖池信息。

图 26. 商店页面.png商店页面.png

左键购买的时候,打开一个可选择购买数量的GUI 下方按钮分别是最小 -10 -1 +1 +10 最大 可以根据玩家拥有的货币数量自动填充到最大数量。

命令方块为购买确认,钻石物品为显示消耗货币数量、购买数量、玩家货币数量。

图 27. 购买界面.png购买界面.png

查看抽奖记录!

使用record相关指令, 可以查看自己的抽奖记录。

图 28. 抽奖记录.png抽奖记录.png

奇怪的操作!?

创建全息排行榜!

你可以配合着HolographicDisplays插件,又或者是其他全息显示插件,在抽奖箱上方创建如图所示的信息。

图 29. hologram.pnghologram.png

又或者是一个奖池的排行榜。

图 30. 排行榜排行榜

抽奖箱通用钥匙!

这是一个1.2.0版本添加的功能。但仅限于抽奖箱钥匙。

简而言之你可以通过/xl get key 的命令 把手中的物品 例如依次执行/xl get key 123 /xl get key 233 你手中的物品既可以开奖池123 也可以开奖池233了。

只不过lore会叠加,物品名称改为最后一个奖池所设定的名称。

玩家故意让拾取绑定的物品掉落?

群友提供的一个问题,在一些RPG服务器中,设定了某些物品为拾取绑定,那么玩家可以通过装满背包抽奖让拾取绑定的物品掉落,随后让别人捡起。

导致玩家之间的不合理交易。

解决方法是在奖池设置中把禁止满背包抽物品打开。 这样抽奖前会检查玩家背包空余槽位。