身为一个服主,是否在为服内的NPC绑定CC/BS制作
的商店的过程中,被繁琐的后台配置恶心到吐?
心里就又在怀念NPCmod的商店制作方便,可NPCmod的
商店兑换不能满足指令/变量/多货币支持等多样化需求..
作者JimySpirits自己写了一个商店插件
插件特色
- – 方便的前台设置商店
- – 物品的多种兑换模式
- – 允许自定义创建新的货币
- – 实时更新商店的界面
- – 多种多样的设定功能
- – 所有商品的NBT保存,支持Mod物品
- [物品放进去啥样 买出来就是啥样 无论你是拔刀剑的特殊武器 还是枪械的配件子弹]
- – 完 全 自 定 义 的 GUI 界 面
- – 支持MySQL 可以进行跨服同步
- – 实时创建删改任何货币
- – 耗能极低 多位置异步处理
玩家变量为<player>
缺少一条lore 限购条件lore为s~playerlimit~限购名称~次数3
使用说明
首先:本插件使用Lore来判断商品购买条件
在开始编辑前请至少学会如何使用一个添加/编辑Lore的工具
这里推荐插件:LoreEdit,或者Mod:NBTedit
– 教程1:创建商店一个商店 –
使用”/cshop create <商店名> <行数>”命令
创建一个指定行数的商店(行数可选1-6)
比如:“/cshop create 测试商店 6”,我们就创建了一个6格的商店
↑↑创建成功插件会有相应提示↑↑
– 教程2:进行添加购买条件 –
比如我们制作了这个叫做”测试武器-测试P90″商品,想将
它的价格设置为需要2333游戏币和150点券获得
那么我们就为其添加相应的购买条件Lore:
b~eco~2333 -需求2333点经济系统游戏币
b~point~150 -需求150Points的点券
成品如下图:
注意:更多购买公式说明请步移至进阶1教程
– 教程3:将商品上架及购买 –
我们已经制作好了一个商品并设置好了购买公式,那么就差把它进行上架了
我们需要使用编辑模式将货物放入指定商品,我们输入
/cshop edit <商店名> 来打开该商店编辑界面
然后我们将编辑好的货物放入商店任意一个格子
你怎么摆 玩家打开商店看到的就是什么样
放好后,退出该界面,就完成了上架
如何打开商店购买物品?我们接下来输入:
/cshop open <商店名> 来开启商店
我们会看到已经设置好的商品及购买条件,如果玩家条件符合,按下
购买就会扣除设置好的内容.请放心,购买条件Lore在购买时会移除
支付完成,商店给予玩家的物品:
注意事项:关于打开商店
玩家必须拥有”customshop.open.商店名”权限才可使
用”/cshop open 商店名”指令随时随地打开该商店
如果你设置了一个只想让玩家通过固定位置NPC或脚本方块等
手段打开的商店,可以尝试为NPC或方块绑定跨权限的命令执行
“/cshop open 商店名”来进行商店的打开哦 当然也可以用后台执行
“/cshop open 商店名 玩家名”来为某个玩家打开指定的商店哦
– 进阶1:可用公式及其说明 –
必要物品公式 注意 所有公式均可以写多行
购买公式
为你的商品添加购买条件 当所有条件满足则进行扣除并视为购买成功
以下公式的数额/名称仅供展示和教学,你可以自由修改
b~eco~200 – 增加此商品购买条件为200游戏币
b~point~150 – 增加此商品购买条件为150点券
b~perm~vip.vip1~&9成为VIP1 – 增加此商品的购买条件为拥有 vip.vip1 权限, 在商店中显示条件为”&9成为VIP1″
b~none – 增加此商品的条件为什么都不需要给
b~item~&6黄金硬币~30 – 增加此商品的购买条件为背包中拥有30个以上的物品名为”&6黄金硬币”的物品
b~id~264~&b钻石~10 – 增加此商品的购买条件为背包中拥有10个以上的物品id为264的物品, 在商店中显示条件为”&b钻石”
b~cost~kr~350 – 增加此商品的购买条件为拥有指定货币id kr 的货币350个以上
描述公式
m~&a这件商品是真滴贵 – 当物品上有该标签时 在商店中会增加描述标签”&a这件商品是真滴贵”
设定公式
s~close – 设定商品为购买成功后关闭界面
s~open~&a第二页商店 – 设定商品为购买成功后跳转至商店名为”&a第二页商店”的商店
s~limit~4 – 设定商品为总购买次数4 每次购买减一 为0时则无法继续购买商品(全局次数)
s~cmd~c~give264 1 – 设定商品为购买成功后让后台执行命令 /give 玩家名 264 1
s~cmd~p~spawn – 设定商品为购买成功让玩家执行命令 /spawn
s~take – 设定商品为购买成功后不给予玩家他购买的商品[可用于做单纯的界面按钮,配合购买公式的b~none]
s~daytime~14.30~17.50 – 设定商品只在当日的 14.30分至17.50分出现在商店内
s~daylimit~3 – 设定商品为购买次数3 每次购买减一 为0时无法购买
s~randomtime~3.20 – 设定商品只在当日随机的一个时间点开放3个小时20分钟
注意: s~daylimit 和 s~randomtime 会在<刷新>时进行改动
s~daylimit~3 <刷新> 时 会补充购买次数
s~randomtime~3.20 <刷新> 时 会重新设定随机出现的时间段
而 <刷新> 是怎样执行的呢? 以下方法可以进行对商店的 <刷新>
– 每日第一次打开商店 自动进行刷新
– 手动输入命令 /cshop refresh 商店名 进行手动刷新
[这两个需要刷新的设定公式如果你做好物品放入当日已经刷新过的商店里 是不会出现的 所以要手动刷新商店哦]
– 进阶2:自定义货币的使用 –
本插件允许你创建与eco/points类似的自定义货币
创建方法比较简单,打开配置文件,在Cost:下方按格式新建即可
格式为:
货币代号: ‘货币名称’
货币代号不可重复,只允许使用英文/数字
货币名称提供在游戏内显示,支持颜色符号
这里我们新建了名叫 &3测试材料1 和 &e测试材料2 的自定义货币
添加好后,重载插件,就可以使用你的自定义货币了
购买公式为 b~cost~货币代号~数额
游戏内想给一件商品添加支付刚刚创建的两种货币,我们添加以下公式:
b~cost~cl1~100
b~cost~2333~200
完成后,放入商店,就会显示我们需要以下两种货币才能购买
自定义货币可以通过”/cshop givecost 玩家名 货币id 数量”指令,
并配合各种机制给予玩家
玩家如何查看自己拥有的自定义货币?
可以使用/cshop costs这个命令
– 进阶3:自定义货币物品给予方式 –
本插件允许你对特定的物品直接消耗获得货币
制作方法也很简单,打开配置文件,在Lang的第一行”CostLore”就是获取标签
格式为:
获取标签’货币名称’x数量
货币名称和数量中间必须有”x”
颜色符号可以任意插入任意位置,但不能隔断货币名称
这里我们举个例子
例如: &a使用后获得: &f银币&7x&a300
写好后,手持该物品右键即可获得300个银币了!
当然,获得后该物品会减少1个哦~
/lore add &6点击消耗[金锭]X1
/lore add &5可获得货币X10
/lore add s~take
/lore add b~id~266~&6金锭~1
/lore add s~cmd~c~cshop givecost <player> gold 10
– 进阶4:一些制作思路来让你的商店更加丰富多彩 –
这里不是教程,而是向你提供一些制作思路来进行商店制作
1:放入物品,购买条件为无[b~none],购买后不给予物品[s~take]
该商品用于展示或作为界面分割线
2:放入物品,购买条件为指定物品[b~item],购买后不给予物品[s~take]
购买后执行命令[s~cmd]为eco give300
该商品用于收购指定物品给予玩家游戏币
3.放入物品,购买条件为指定权限[b~perm]此处设定显示为”&c已经达成任务X”
该商品用于提示玩家要去做任务X才能购买该商品
[当然任务X你要给他对应权限]
4.放入物品,购买条件为无[b~none],购买后不给予物品[s~take]
购买后打开其他商店[s~open]
该商品用于做商店与商店之间的跳转 点击即可跳转
综上所述,你可以自由的用购买代码与设定代码搭配
来自由的丰富你的商店,好好研究吧!
命令/权限/变量
|– 插件命令 –|
一些安全特性
– 最后:开发者帮助 –
什么?你问我为什么会有这个部分?
因为我也不知道怎么生成开发者帮助文档
干脆直接这里讲解说明算了
插件内有一个类叫“CustomShopAPI”
里面提供了一堆静态的方法用于操作自定义货币
void giveCost(Stirng name,String costId,int i)
给予指定玩家名 name 指定货币 cositId 指定数量 i
void delCost(Stirng name,String costId,int i)
删除定玩家名 name 指定货币 cositId 指定数量 i
当玩家货币不够时,直接设该玩家货币余额为0
boolean takeCost(String name,String costId,int i)
拿走指定玩家名 name 指定货币id costId 指定数量i
当玩家货币数量不够时返回false
int checkCost(String name,String costId)
查看指定玩家名 name 的指定货币 costId 的余额
返回该货币的余额,如果货币不存在返回0
boolean createCost(String costId,String costName)
创建一种新的货币 货币ID为 costId 货币的名字为 costName
若货币id已被创建 则返回false
boolean deleteCost(String costId)
删除一种货币ID为 costId 的货币
若货币id不存在 则返回false
boolean renameCost(String costId,String costName)
修改指定货币id costId的货币的名字为 costName
若货币id不存在 则返回false
void clearCost(String costId)
清理现所有玩家数据中的指定货币id costId 的余额
若货币id已被创建 则返回false
String getCostName(String costId)
获取指定货币id costId的货币名
若货币id不存在返回null
String getCostId(String costName)
获取指定货币名 costName 的货币id
若没有任何货币的名字是 costName 则返回null
如果你想为你的插件写商店,请试试前置本插件吧
你的插件提供货币与修改货币 而商店则可以被使用者自由定义哦~
下载地址
/~dcd438OVJf~:/
链接:https://pan.quark.cn/s/a2b45ad44c64
暂无评论内容