本帖最后由 xiao_sgyg 于 2019-11-24 14:26 编辑




√ 总介绍 √
DreamShop是一款新型的商店插件,他可以实现目前很多商店插件未实现的限购功能,冷却功能,随机指令,自定义二级指令等功能,是腐竹们更新服务器商店和制作服务器商店功能的不二之选!

插件原贴     视频介绍



√ 配置文件介绍 √
当我们下载好了插件,重启了服务器之后,会看见你的plugin文件夹生成一个叫DreamShop的文件夹,点开它,你会看到:
首先从config.yml开始
config:主要是储存玩家的商店浏览记录,关乎玩家在商店里的点击,购买等事件操作,最好不要轻易更改
DIYcmd:用于储存腐竹自定义二级命令的功能,第四章我们将进行介绍
DIYPAPI:用于储存腐竹自定义PAPI变量的功能,第五章我们进行介绍
Message:储存商店的部分提示信息(一些不重要的提示在插件内部)
文件夹:
normal:里面用于储存商店文件,当你写了一个商店时,你需要把他放在这个文件夹里面
Data:用于储存数据文件,如玩家限购数量等,不要轻易更改



√ 创建一个商店GUI √
首先不用说,我们创建一个yml文件,文件名用英文(要不然到时候打开的时候可能会出现未知错误),这里取名叫DreamShop.yml吧
然后我们从零KB开始创建
首先,我们要想一个商店名字,这里叫:实例商店  吧
然后设置GUI的宽度,这里就设置为3吧,当然记住,最多只能设置6行(因为箱子只有那么多行)
那么这个时候你就可以打开你的商店GUI了
你可以选加权限打开的功能,这里实例为:DreamShop.open
还可以选择是否点击箱子GUI以外的空白处后关闭商店,这里设置为是
那么你在配置文件中这样写:
  1. Name: '&a&l实例商城'
  2. Size: 3
  3. Permission: "DreamShop.open"
  4. GUIclose: true
复制代码
那么这样一个商店GUI界面就设置完成了!
但是你还不能打开它!
因为你还没有设置商品。



√ 创建一个基本商品 √
我们知道,箱子GUI物品的创建需要安排这个物品的格数,那么我们要怎么设计格数呢?
比如,我们创建一个第一格和第二格,那么我们就在第一章填写的代码下面这样填写:
  1. Items:
  2.   - 1
  3.   - 2
复制代码
填写好了之后,第一格和第二格就创建好了。
那么我们要怎么在格子里面添加物品呢?
首先我们要知道,物品有ID,附加值,显示数量,物品显示名字,物品Lore这些必要。
创建好了物品之后,我们要设置点击这个物品之后需要执行的指令,扣除的金钱或点卷。
只填写点卷,则只扣除点卷,只设置金币则只扣除金币,如果两样都填,则要金币和点卷都齐全了之后才能购买。
于是我们这样填写:

  1. ItemInfo:
  2.   '1':
  3.     ID: 1
  4.     More: 0
  5.     Num: 1
  6.     Points: 100
  7.     Name: '&b&l一个石头'
  8.     Lore:
  9.       - '&b&l点击购买一个石头'
  10.       - '&a&l价格:&d&l100点卷'
  11.     Commands:
  12.       - give %player% 1 1
复制代码
那么第二格也是同理,在ItemInfo里继续写"2": ...  就可以了



ID指的是物品ID,More指附加值,如黄色羊毛是35:4,则ID填35,More填4,如没有附加值则填0

Money指要花的钱,Points指要花的点卷,Name是物品显示名字,Lore是物品显示Lore

CommandType是指命令类型,不填或填1是指以控制台执行指令,填2则为玩家执行指令

Commands则为购买后需要执行的指令,变量为%player%

创建完成之后,将文件放入normal文件夹里面,我们就可以打开这个商店了

首先使用指令:/ds open [玩家名] [文件名]  打开这个商店(注意文件名不加.yml)

然后如图:





我们就成功得到了我们要得到的物品

如果我们没钱,则触发提示




√ 为你的商品添加自定义1 √
我们这里就为商品添加自定义功能了
那么本章3-1我们就具体介绍自定义打开权限,物品材质,消费方式,商品名字,商品Lore

其实在上一章已经介绍了物品材质,消费方式和商品名字的设置方法
自定义材质和消费方式就不再解释了吧~消费方式就是点卷和金币,可以同时消费
商品名字就用颜色符号"&"+颜色代码来更改文字颜色,这里附上一张颜色代码表

商品的Lore这里支持的变量:%Finishing%   显示限购商品剩余的数量
                                         %PlayerCishu%  显示玩家还剩的购买次数
                                         %Time%  显示购买还剩的冷却时间(秒为单位)
                                         %player%  显示玩家名字
变量添加到内容当中即可,如:

当然这里Lore的变量功能后面可能还会继续添加,本教程也会实时进行更新


√ 为你的商品添加自定义2 √
本次3-2我们来为腐竹介绍自定义商品限购数量,自定义玩家限购数量,自定义购买冷却和自定义折扣的功能


实现自定义商品限购,首先我们要开启商品限购的功能,我们可以在Name: "名字" 的下方写上:Xiangou: true  打开限购的功能
然后填写商品限购的数量:Zongshu: 5  则限制商品的数量为5
  1. Xiangou: true
  2.     Zongshu: 5
复制代码
自定义玩家限购也是同理,先打开玩家限购的功能,再规定一个玩家可以购买多少份。
这里是先判断商品是否卖完再判断玩家是否还有购买次数

  1. PlayerXiangou: true
  2.     PlayerZongshu: 2
复制代码
则这样是设置一个玩家可以购买两份
那么同理,冷却时间也是同样的加法。

  1. PlayerCooldown: true
  2.     Cooldown: 1
复制代码
Cooldown是指商品冷却时间,是以分钟为单位的,填1则为1分钟的冷却时间
打折也是同理,只是这里加了一个,当玩家拥有哪项权限的时候再进行打折,折扣以折为单位,比如八折,那么DazheZhekou栏填写8

  1. DazheSwitch: true
  2.     DazhePermission: "Dazhe.Buy"
  3.     DazheZhekou: 8
复制代码

都填好了之后就像这样:


√ 为你的商品添加自定义3 √
本次3-3我们来介绍自定义随机指令的功能

自定义随机指令是指,当玩家购买商品后,先执行Command里的命令,如果自定义随机指令功能开启,则还会随机的再执行一些指令。(就像王者荣耀里面的礼包必得和随机得的功能)

如何添加这个功能呢?
首先我们向之前的自定义功能一样,先开启这个功能,我们可以在Commands后面填写 SuijiSwitch: true
这个时候就有两种可能了,有些腐竹想玩家只能得到额外随机指令中的一种,有些腐竹是想随机得到多种,那么这里就有:
SuijiOnce: true     是否执行了一次随机指令之后停止执行的功能。
接下来我们就创建随机数了,同上格数添加的方法,这里添加随机数
  1. Suiji:
  2.   - 80
  3.   - 100
复制代码
创建了之后,一样的同上的方法,在随机数下面编辑我们的随机指令
  1. SuijiCmd:
  2.       '80':
  3.         - give %player% 1 5
  4.         - give %player% 2 5
  5.       '100':
  6.         - give %player% 3 5
复制代码

接下来我们的随机指令的功能就添加好了,如图:


√ 自定义二级命令 √
第四章我们介绍自定义二级命令的功能

自定义二级命令,你可以用这个命令来跳转更多的命令,来跳转商店以及商店里的商品
那我们要怎么设置呢?
首先填入Switch: true    来打开这个功能
然后注册一个命令列表
  1. CmdList:
  2.   - menu
复制代码
像这样。
注册好了之后,我们就编辑我们注册的命令:
  1. #命令设置
  2. Setting:
  3.   #必须和CmdList里面的一样
  4.   menu:
  5.     #是否开启指令跳转
  6.     TiaozhuanSwitch: true
  7.     #要跳转的指令(以控制台的形式)
  8.     tiaozhuan:
  9.       - m %player% 指令跳转成功!
  10.     #是否开启指令打开商店
  11.     ShopSwitch: true
  12.     #打开的商店名字
  13.     ShopName: "example"
  14.     #是否开启商品跳转
  15.     ItemSwitch: false
  16.     #商品属于的商店
  17.     ItemShop: "example"
  18.     #商品在该商店中的格数
  19.     ItemNumber: 1
复制代码
在Setting栏里写menu栏,在menu栏里又继续编辑,在上方代码格中我们把用法介绍了,如还有不懂的可以问作者。
那么在配置文件里就是这样的:


注意,跳转打开商店和跳转商品不要同时打开,要不然跳转打开商店将会失效
设置完成后,输入/dsDIY menu   即可使用这个命令


√ 自定义PAPI √
自定义PAPI的设置方法和上方自定义命令的创建方法是一样的
先打开开关,然后注册PAPI变量,注册之后在Setting里面设置你的变量
这里注意,变量的类型有四种:
    #1为获取商品总数的类型
    #2为获取购买商品的冷却时间的类型
    #3为获取获取商品的名字的类型
    #4为获取商品购买需要的权限的类型
在配置文件中就这样写:
设置完成后重载插件,在计分板里填写:%DreamShop_[自定义的变量]%则可使用
比如这里是items1,则写%DreamShop_items1%


√ 常见用法 √
本章我们就来介绍一下插件常见用法

当然最常见的当然是用来制作一个商店和普通商品,除此之外,我们还可以利用自定义功能来制作:

定时礼包(可利用冷却,随机指令等功能)
活动商品限购(可用自定义限购数和玩家限购等功能)
抽奖礼包(利用随机指令等功能可以实现)
活动礼包(可利用自定义指令和随机指令等功能,实现必得和随机得)
活动报名(利用价格和玩家限购的功能,玩家报名成功之后,在Data/菜单文件名.yml  里面可以查看到报了名的玩家)
利用自定义命令跳转商品,可以在VV原版GUI的按钮中添加这个自定义的命令,命令的功能就带判断,购买等功能,可以不用愁用VV原版做不了商店了~

当然更多的用法和玩法还需要腐竹们去继续琢磨,当然如果琢磨出来了新玩法可以告诉作者哦~


√ 总结√
最后,感谢各位腐竹看完了整个教程,感谢腐竹们对我的支持。如果还有不懂的可以问作者,如果在使用插件当中遇到了BUG或者对插件有更好的建议,可以联系作者进行建议哦,期待你们的到来~

那么教程就到这里~感谢大家支持

[groupid=1511]Server CT[/groupid]