Minecraft(我的世界)中文论坛

标题: 【DeluxeMenus】[PCD]全面教程+搭配变量插件制作菜单

作者: ouAuAuo    时间: 2017-5-21 17:12
标题: 【DeluxeMenus】[PCD]全面教程+搭配变量插件制作菜单
本帖最后由 Auange_M夜幕 于 2017-5-30 09:52 编辑

总引

一、教程前话


1、楼主废言:
——
DeluxeMenus是一款不错的菜单插件,它拥有更多的特殊功能,比如(左键/右键)判定,可视化的点击等等,这次写的这篇教程,虽然不能算是优秀,但是也能够帮助更多人来认识、使用、理解这款插件!如果帖子中有什么不对,错误的地方,可以回复帮忙修正!谢谢!



2、相关链接:



3、帖子指引:

[0]总引
一、教程前话
[1]初步认识DeluxeMenus
一、认识DeluxeMenus
二、开始创建菜单
三、认识配置文件
四、优先级
五、前提限制
[2]实战练习
一、左键|右键 类型指令
二、出售/回收 商店的运用
三、每日礼包
[完]终
一、鸣谢
二、统计




觉得帖子写得不错?
点我收藏




一章:初步认识DeluxeMenus


一、认识DeluxeMenus


1、简介

—— DeluxeMenus菜单(以下简称DM)是一款功能强大的菜单GUI插件,它能够让你制作一个可供玩家编辑的GUI界面菜单(与BossShop、CC等相似),然而它比其他的菜单插件有着突出的优点!

左键/右键 点击项目不同效果[√]
支持前置PlaceholderAPI(变量前置)来使用更多的变量[√]
可视化的鉴定(比如当玩家拥有什么条件时候才可以干嘛等等)[√]
动态的标题[√] 新版本已移除
延迟的指令[√]
多类型的指令[√]

等等...

2、运行环境

版本:1.4.7~1.11
所需前置:PlaceholderAPI(可选)、其他插件
插件最新版本:1.8.0

3、指令


/dm open <菜单名字> (玩家名字) | 让某玩家打开某菜单
/dm list | 列出所有菜单
/dm reload | 重启插件

4、权限

deluxemenus.admin | 插件的全部权限
deluxemenus.open | 是否允许使用指令/dm open <菜单名字>来打开菜单
deluxemenus.open.others | 是否允许用指令/dm open <菜单名字> (玩家名字) 给一个玩家打开菜单
deluxemenus.open.bypass | 是否允许没有权限可以打开设置权限了的菜单
deluxemenus.menu.* | 所有菜单的使用权限
deluxemenus.openrequirement.bypass.* | 打开菜单无视所有条件就能够打开

5、变量

变量前置为
PlaceholderAPI
变量大全戳我(来自插件百科)

下载完成后安装插件,下载完成后下载对应的变量。
DM插件的主要变量下载,需输入一下这些
  1. /papi ecloud download Player
  2. /papi ecloud download Vault
复制代码
玩家、经济变量

其他变量请看使用情况自行下载,指令:


下载完成后,请重启插件
  1. /papi reload
复制代码

以保证插件的正常变量加载


6、执行类型

    >    执行的类型是为了确定命令执行的方式,例如[xxx] 命令。插件就会根据[xxx]的类型来执行命令,DM的类型有以下几个

①[player]:玩家的身份来执行命令
—— 此指令相当于BossShop中的playercommand,使用玩家的角度来使用命令,会受到权限的束缚

例如:[player]<空格>spawn
这样的命令,玩家执行后,可能会受到冷却时间的束缚。

例如:[player]<空格>kit 礼包名字
kit 礼包名字如果为Essentials自带礼包系统,并且有设置领取时间间隔,玩家将会被受到领取时间的限制

[console]:以控制台的身份来执行命令
—— 用控制台的身份,来实现一个命令,相当于BossShop中的Command,执行的命令可以是OP指令,执行的命令时候是无视权限的。

例如:[console]<空格>fly %player%
点击后让点击者获得飞行,无视玩家是否有飞行的权限

例如:[console]<空格>rain
点击后让世界下雨,无视自己是否拥有下雨的权限

[commandevent]:执行一个特殊的指令
—— 这个可能很难理解,但是我决定用通俗的语言来理解。执行的命令就是没有在plugin.yml注册的bukkit指令,换句话来讲,当有一个插件可以自定义设置指令,此插件就可以执行那个自定义设置的指令。

例如:[commandevent]<空格>bs
打开BossShop主界面,因为BossShop的插件别名指令为bs

例如:[commandevent]<空格>main
打开一个设置好命令为main的ChestCommands的指令

④[message]:发送一条信息给点击的玩家(可以使用变量以及颜色代码)
—— 这个类似于BossShop中的message,当项目执行时候,可以发送一条信息给点击的玩家,发送的信息可以使用颜色代码以及变量!

例如:[message]<空格>&a你好,世界!
例如:[message]<空格>&a君の名字&7%player_name%

⑤[openguimenu]:打开其他菜单
—— 设置此类型可以打开其他的菜单/子菜单(仅限于DM自身的菜单)

例如:[openguimenu]<空格>menu
打开菜单menu

⑥[connect]:将点击的玩家传送到BC子服
—— 相当于跨服,只需填你需要跨到的子服

例如:[connect]<空格>生存服
将点击的玩家传送到生存服

⑦[close]:点击后将关闭当前GUI界面
—— 类似于BossShop的(bs close %player%),点击后会自动关闭当前GUI界面

例如:[close]
执行后关闭当前GUI

7、延迟指令

      这也是dm插件比较突出的功能,延迟指令让你更加灵活使用菜单功能,你可以设置各种类型的延迟指令,执行类型请看"6、执行类型"
     你可以用执行类型来做什么?你可以设置一个玩家给予临时飞行后再延迟指令将他关闭。也可以设置在线奖励,例如玩家在线后需要点击,点击后开始倒计时,计时完毕将会给予奖励等等~ 有了延迟指令,你可以随心所欲来设置各种特殊功能。
格式为:<delay=(延迟的tick数)>  给某个指令添加延迟
tick的计算: 20tick=1s

例如:
- '[close]'
- '[message] 距离这个菜单关闭已经过去 5 秒了 <delay=100>'



总结:当你认识完以上内容,已经对DeluxeMenus有一定的了解,这些只是会帮助到你接下来的教程中!




二、开始创建菜单


1、认识创建种类

       对于DM插件的插件菜单,有2种方式:
           ⑴ 直接在Config插件以及编辑。
           ⑵ 使用Config辅助来重新创建yml文件,分开菜单,每个菜单对应每个文件。
     
     对于创建到底要选取哪个,这得看平常编辑菜单的习惯。本夜幕推荐使用⑵方法,因为每个菜单分开文件,类似于其他的菜单插件,好编辑不辣眼~
     而且当你编辑出错后,只会在那个菜单的文件中出错,并不会影响其他菜单。

2、如何创建

方式1的创建方法:
      直接按照Config原格式整齐对照在下面

方式2的创建方法:
      可以直接新建yml来编辑或者运用Config来创建     

例子:
  1. check_updates: true
  2. gui_menus:
  3.   menu:
  4.     file: menu.yml
复制代码

check_updates - 是否检查更新
gui_menus - 下面为需要创建的菜单

创建的格式:([]=一个空格)

[][]<菜单名字>:
[][][][]file:[]<菜单名字>.yml

同时创建多个菜单:   
[][]<菜单1名字>:
[][][][]file:[]<菜单1名字>.yml
[][]<菜单2名字>:
[][][][]file:[]<菜单2名字>.yml
[][]<菜单3名字>:
[][][][]file:[]<菜单3名字>.yml

完成编辑后,保存一下Config,并重启插件!
这时候你会看见在文件夹DeluxeMenus上生成了另外一个新的文件夹gui_menus
打开它,就能够看见一个新文件menu.yml
这个文件就是menu菜单的配置文件,你可以编辑它



注意在下面的教程中:都用方式2创建的菜单进行讲解






三、认识配置文件


1、认识Config

      当我们用方式2来创建菜单时候,Config的作用就是在于创建以及更新的按钮

Eg:
  1. check_updates: true
  2. gui_menus:
  3.   menu:
  4.     file: menu.yml
复制代码

正如上面,check_updates: true #是否检查更新
下面,gui_menus为创建菜单

对于DM的Config我们就认识到这里,要懂得如何来创建(请看"二、开始创建菜单")

2、认识'<菜单名>.yml'

     这个是整个DM插件最核心的文件,这个篇幅,我会详细讲解是如何构成DM的菜单项目的。
     当运用方式2创建菜单后,这些<菜单名>.yml就都储存在文件为gui_menus,你可以打开它来编辑。

我打开了我弄好了的menu.yml
  1. menu_title: '&a&l主菜单'
  2. open_command: c
  3. size: 54
  4. items:
  5.   '1':
  6.     material: 355
  7.     slot: 0
  8.     display_name: '&6家'
  9.     lore:
  10.     - '&a左键 &7| &f设置一个家'
  11.     - '&b右键 &7| &f回到已设置的家'
  12.     left_click_commands:
  13.     - '[player] sethome'
  14.     - '[message] &a恭喜你设置成功'   
  15.     - '[close]'
  16.     right_click_commands:
  17.     - '[player] home'
  18.     - '[close]'
  19.   '2':
  20.     material: 54
  21.     slot: 1
  22.     display_name: '&a每日礼包&7/&b每月礼包'
  23.     lore:
  24.     - '&a左键 &7| &f领取&a每日礼包'
  25.     - '&b右键 &7| &f领取&b每月礼包'
  26.     left_click_commands:
  27.     - '[player] kit 每日礼包'
  28.     - '[close]'
  29.     right_click_commands:
  30.     - '[player] kit 每月礼包'
  31.     - '[close]'
复制代码

虽然看起来很复杂,但是认真理解一下应该可以懂!

menu_title | 菜单的标题,可以用彩色代码。


open_command | 打开的指令(别名指令),可以自定义设置,这里我设置c


size| 菜单的大小,最大为54
大小类似于箱子,所以可以用箱子来排版(详情见鄙人bs教程排版章)

item| 以下为菜单内项目

'1'| 项目的代码|排在前面菜单优先加载

material| 项目的类型种类,相当于显示在菜单上的ID,可以使用物品的ID或者英文名称

这里我设置了显示的类型为床(ID=355)和箱子(ID=54)

slot| 项目的位置(这里的位置和其他菜单插件略有不同)[0~53]
首先不同的点在于起始位置的数值为0,这里给了一张位置发布表来更好理解!


display_name| 项目的名称(可以使用颜色代码及变量)


lore| lore描述(可以使用颜色代码及变量)


left_click_commands| 左键执行指令,下方为左键点击该项目后执行的指令。
例子中,正如上图,左键将会设置家

right_click_commands| 右键执行指令,下方为右键点击该项目后执行的指令。
例子中,正如上图,右键将会回到家

其他:

open_requirement| 打开条件设置
deny_commands | 不满足条件设置
这2个下面详讲

data | 子ID

left_click_requirement | 左键前提设置
right_click_requirement | 右键前提设置
这2个下面详讲

amount | 显示的物品的数量
在菜单上可以自定义设置物品显示的数量(0~64)

priority
| 优先级
当有多个项目同在一个位置,优先级高的项目优先显示,可配合可视化(下面详解)

updata: true/false | 是否刷新变量
刷新GUI的变量,你可以用这个来制作时间显示

hide_attributes: true/false | 是否隐藏物品的属性
hide_enchantments: true/false | 是否隐藏物品的附魔
hide_effects: true/false | 是否隐藏药水效果

banner_meta | 可以设置旗帜的颜色和材质
旗帜图案表



四、优先级-priority

什么是优先级呢?
在DM插件的优先级中,你可以实现同一个位置放置不同的项目,而优先级,就是用来区分这些项目的先后顺序,优先级单独使用可能没什么优点,所以要配合“五、前提限制”

接下来我们结合一个例子:
  1.   1:
  2.     material: 41
  3.     slot: 5
  4.     display_name: '&6哇,大财主'
  5.     update: true
  6.     priority: 1
  7.     view_requirement: '%vault_eco_balance% = 6666'
  8.     lore:
  9.     - '&7当前显示的是第一格图标'
  10.     - '&7你应该拥有&a6666&7游戏币才可以显示这个图标'
  11.   2:
  12.     material: 371
  13.     priority: 2
  14.     slot: 5
  15.     display_name: '&7你好穷B'
  16.     update: true
  17.     lore:
  18.     - '&c你只是一个穷B罢了'
  19.     - '&7当前显示的为第二优先级'
复制代码

这里可以看见,有2个项目名字分别为1和2,优先级分别也为1和2。插件会先优先显示1项目,但是1项目设置了前提限制,(%vault_eco_balance% = 6666
)当金币等于6666时候会显示1,如果不满足这个要求,则显示为2


金币不满足无法实现项目1(优先级1)则跳过来到项目2(优先级2)

当我自己重新给了金币6666后



五、前提限制

前提限制分为2种
1) 点击限制
   
- 点击限制可能十分很容易理解,就是玩家点击后,当你设置了这个限制时候,玩家就会受到限制相应功能被束缚。比如你设置点击需要金币达到50,而玩家不满足,就会关闭菜单并提示玩家金币不满足

2) 浏览限制
    - 浏览限制,当你想要看某个项目时候,如果设置了限制,玩家达不到要求,就不能够看见那个项目,这个功能就是可以配合优先级来设置多种多样的菜单!

1、点击限制


例子:
  1.        left_click_requirement:
  2.        expression: '%vault_eco_balance% > 666'
  3.        deny_commands:
  4.        - '[close]'
  5.        - '[message] &c金币不足666'
复制代码

这里设置了左键点击限制(要设置右键只需将left改为right),expression为限制的权限
  1. %vault_eco_balance% > 666
复制代码
意思为金币需要大于666

通用的格式: <变量>[空格]<状态>[空格]<数值>
<变量>:变量为Papi插件的变量,DM插件支持Papi变量,请去变量表(上面已给出)查找
<状态>:判断的依据(高中数学书应该有教)
例如: >大于  <小于  =等于  <=小与或等于  >=大于或等于
<数值>:通常与变量相对应

2、浏览限制


例子:
  1. view_requirement: '%vault_eco_balance% > 100'
复制代码

浏览限制为view_requirement 后半部分和上面的点击限制一致
意思为:只有金币满足于大于100,才能够让你看见这个项目

其他例子:
  1. view_requirement: 'BukkitPlayer.hasPermission("some.permission");'
复制代码

有权限some.permission时候,才能显示

限制的类型多种多样,这里我只列举了大部分平常使用的。这些限制,可以让你制作VIP氪金东西~




二章:实战练习


一、左键|右键 类型指令

-1、认识左键|右键

普通的判断指令
left_click_commands| 左键执行的指令为
right_click_commands| 右键执行的指令为
这个功能可以让指令输出成2方面,一方面为左键输出,另一方面为右键输出。当你鼠标左键或者右键GUI上的项目时候,会输出你所设置的指令!

特殊的判断指令(需前提条件等)
left_click_requirement | 左键前提设置
right_click_requirement | 右键前提设置
特殊的判断,也是为左键右键来判断,但是这个类型会增加判断前提,你可以设置一个权限或者条件来限制玩家左键或者右键,当玩家达到你所设置的条件才能进一步输出左键右键的指令和功能!


-2、普通的判断指令(左键|右键)

例子:
  1.   家:
  2.     material: 355
  3.     slot: 0
  4.     display_name: '&6=&b&l设置你的家&6='
  5.     lore:
  6.     - ''
  7.     - '&7-  &f设置家&a左键'
  8.     - '&7-  &f回到家&c右键'
  9.     - ''
  10.     left_click_commands:
  11.     - '[player] sethome'
  12.     - '[message] &f[&b杜蕾斯菜单&f]&a恭喜你,已成功设置家'
  13.     right_click_commands:
  14.     - '[player] home'
  15.     - '[message] &f[&b杜蕾斯菜单&f]&a正在传送....'
复制代码



这个例子的功能就是,一个项目可以实现2个功能,设置家以及回到家。指令分别为sethome和home,类型为[player]

图片说明:

在菜单中看的效果为这样

左键设置家并发送信息:


右键回到家并发送信息:



-3、特殊的判断指令(需前提条件限制)

   
特殊的指令判断,要配合前面的普通指令判断,设置一个条件,当玩家能够满足,才能够左键右键执行输出!

例子:
  1.   特殊飞行:
  2.     material: 288
  3.     slot: 0
  4.     display_name: '&c==&6特殊飞行&c=='
  5.     lore:
  6.     - ''
  7.     - '&a左键&7开启飞行&f-&c需要用户满足金币超过666'
  8.     - '&a右键&7开启飞行&f-&c需要用户拥有权限pcd'
  9.     - ''
  10.     left_click_commands:
  11.     - '[close]'
  12.     - '[console] fly %player_name%'
  13.     - '[message] &f[&b特殊飞行&f]&a恭喜你,飞行已成功开启~'
  14.     left_click_requirement:
  15.       expression: '%vault_eco_balance% > 666'
  16.       deny_commands:
  17.       - '[close]'
  18.       - '[message] &f[&b特殊飞行&f]&c金钱不足'
  19.     right_click_commands:
  20.     - '[close]'
  21.     - '[console] fly %player_name%'
  22.     - '[message] &f[&b特殊飞行&f]&a恭喜你,飞行已成功开启~'
  23.     right_click_requirement:
  24.       expression: 'BukkitPlayer.hasPermission("pcd");'
  25.       deny_commands:
  26.       - '[close]'
  27.       - '[message] &f[&b特殊飞行&f]&c权限不足'
复制代码

说明:
        在原先拥有左键和右键的输出后,添加
  1. left_click_requirement
复制代码
         或
  1. right_click_requirement
复制代码

这2项目为输出左键/右键需要的前提,这里的前提类似于浏览限制。
这里我分别设置了金币条件以及权限条件,分别放置在2个判断方向。

lore尽量向玩家说明清楚

左键后:


右键后:


这里有一个注意的地方
  1. deny_commands
复制代码
这个为不满足条件后输出的指令,这里大部分我们设置[message]类型的指令来提示玩家不满足条件

效果图片:





二、出售/收购 商店的运用

-1、开篇

      
商店,一直是生存服必备的东西!dm菜单插件也可以轻松制作一个完美的商店,足可媲美BossShop老板商店插件,它的优秀之处在于左键右键来区分出售和回收或者单个回收或者多个回收(请先看[2]章‘一、左键|右键 类型指令的运用’再看此篇幅)
      ②在这个篇幅,将会有
  • 一个项目 出售/收购 的项目
  • 一个项目 出售(左键/右键)和收购(左键/右键)的项目
  • 一个项目 出售/收购 项目 单个出售或收购/多个出售或收购 的项目
  • 一个项目 出售/收购 项目 单个出售或收购(左键/右键)和 多个出售或收购(左键/右键)的项目

-2、实战1(出售/收购)

出售单个物品例子:
  1.   单个出售煤炭:
  2.     material: 263
  3.     amount: 1
  4.     slot: 5
  5.     display_name: '&7[&b出售&7]&a煤炭&f-&610&7元/个'
  6.     lore:
  7.     - '&7点击购买'
  8.     right_click_commands:
  9.     - '[console] give %player_name% 263 1'
  10.     - '[console] eco take %player_name% 10'
  11.     - '[message] &a恭喜你购买成功'
  12.     - '[close]'
  13.     right_click_requirement:
  14.       expression: '%vault_eco_balance% >= 10'
  15.       deny_commands:
  16.       - '[close]'
  17.       - '[message] &c金钱不足'
  18.     left_click_commands:
  19.     - '[console] give %player_name% 263 1'
  20.     - '[console] eco take %player_name% 10'
  21.     - '[message] &a恭喜你购买成功'
  22.     - '[close]'
  23.     left_click_requirement:
  24.       expression: '%vault_eco_balance% >= 10'
  25.       deny_commands:
  26.       - '[close]'
  27.       - '[message] &c金钱不足'
复制代码

效果图:


购买后:


详细解答:
   此例子出售的物品为煤炭,价格为10元,所以我们的前提条件设置为>=(大于或等于)10元才可以触发相应的指令,指令为give 玩家煤炭以及 eco take 来扣除费用,适当增加[message]的指令类型来提示玩家~

回收单个物品例子:
  1.   单个回收煤炭:
  2.     material: 263
  3.     amount: 1
  4.     slot: 6
  5.     display_name: '&7[&b回收&7]&a煤炭&f-&610&7元/个'
  6.     lore:
  7.     - '&7点击回收'
  8.     right_click_commands:
  9.     - '[console] clear %player_name% 263 1' # 这个为清理玩家背包一块煤炭
  10.     - '[console] eco give %player_name% 10' # 拿走玩家煤炭后,要给玩家报酬
  11.     - '[message] &a恭喜你出售成功,获得了10游戏币' # 成功的语言
  12.     - '[close]'
  13.     right_click_requirement:
  14.       expression: '"%player_hasitem-mat:263-amt:1-data:0%".equals("yes");' # 帖子详讲
  15.       deny_commands:
  16.       - '[close]'
  17.       - '[message] &c物品不足'
  18.     left_click_commands:
  19.     - '[console] clear %player_name% 263 1'
  20.     - '[console] eco give %player_name% 10'
  21.     - '[message] &a恭喜你出售成功,获得了10游戏币'
  22.     - '[close]'
  23.     left_click_requirement:
  24.       expression: '"%player_hasitem-mat:263-amt:1-data:0%".equals("yes");'
  25.       deny_commands:
  26.       - '[close]'
  27.       - '[message] &c物品不足'  
复制代码

配置里面有些地方不同已标注好,回收和出售在于不同的地方最主要还是前提的条件,出售前提条件为你必须有钱,而回收在于你必须有回收所需要用到的物品,这里的前提限制条件为:
"%player_hasitem-mat:<物品的ID>-amt:<数量>-data:<子ID>%".equals("yes");

效果图:


点击后:



-3、实战2(出售和收购)

例子:
  1.   单个出售或回收煤炭:
  2.     material: 263
  3.     amount: 1
  4.     slot: 7
  5.     display_name: '&7[&b出售/回收&7]&a煤炭&f-&610&7元/个'
  6.     lore:
  7.     - '&a左键&7购买此物品'
  8.     - '&a右键&7回收此物品'
  9.     right_click_commands:
  10.     - '[console] clear %player_name% 263 1'
  11.     - '[console] eco give %player_name% 10'
  12.     - '[message] &a恭喜你出售成功,获得了10游戏币'
  13.     - '[close]'
  14.     right_click_requirement:
  15.       expression: '"%player_hasitem-mat:263-amt:1-data:0%".equals("yes");'
  16.       deny_commands:
  17.       - '[close]'
  18.       - '[message] &c物品不足'
  19.     left_click_commands:
  20.     - '[console] give %player_name% 263 1'
  21.     - '[console] eco take %player_name% 10'
  22.     - '[message] &a恭喜你购买成功'
  23.     - '[close]'
  24.     left_click_requirement:
  25.       expression: '%vault_eco_balance% >= 10'
  26.       deny_commands:
  27.       - '[close]'
  28.       - '[message] &c金钱不足'
复制代码

     出售与回收合为一个项目,看起来是不是很高大上呢,其实在前面的例子中修改一下左键右键项目即可得到,这里注意一下lore要写清楚左键和右键输出什么,方便玩家选择。

效果展示:


左键点击与右键点击图:







三、每日礼包

-1、介绍


         每日礼包可以促使玩家每天登录游戏来领取礼包,这里的礼包我们习惯用Essentials的kit功能,而DM菜单可以更好的制作每日礼包,不仅可以达到每天只能领取一次的效果,还可以在lore上提示玩家还有多少时间来领取下一个礼包!(这里需要运用papi变量)


-2、实战例子

=
  1.   每日礼包:
  2.     material: 54
  3.     slot: 10
  4.     priority: 1
  5.     update: true
  6.     hide_attributes: true
  7.     view_requirement: '"%essentials_kit_is_available_daily%".equalsIgnoreCase("yes")'
  8.     display_name: '&a每日礼包&f[&b点击领取&f]'
  9.     lore:
  10.     - '&7点击可以领取哦~~'
  11.     - '&7这是一个礼包'
  12.     left_click_commands:
  13.     - '[player] kit daily'
  14.     - '[close]'
  15.     right_click_commands:
  16.     - '[player] kit daily'
  17.     - '[close]'
  18.   礼包未冷却结束:
  19.     material: 166
  20.     slot: 10
  21.     priority: 2
  22.     update: true
  23.     hide_enchantments: true
  24.     enchantments:
  25.     - 'DURABILITY;1'
  26.     display_name: '&a每日礼包&f[&c冷却中&f]'
  27.     lore:
  28.     - '&c当前礼包正在冷却'
  29.     - '&7请再等待 &c%essentials_kit_time_until_available_daily%'
  30.     left_click_commands:
  31.     - '[message] &c真坏,冷却了还点我~'
  32.     right_click_commands:
  33.     - '[message] &c真坏,冷却了还点我~'
复制代码

效果图展示:


领取后:


开始制作:
①第一步先设置你所要的礼包,这次例子我用的是Essentials的kit功能(不会的同学可以搜索一下别的教程)

  1.   daily:
  2.     delay: 86400
  3.     items:
  4.       - 388 64
  5.       - 274 1
  6.       - 275 1
复制代码

注意这里的delay为86400(单位:s[秒]),86400秒=1天

②下载变量Essentials
  1. /papi ecloud download Essentials
复制代码

③配置dm菜单的配置
这里我已经配置好了,这里用了浏览限制和优先级2个功能来配合(不会的看[1]初步认识DeluxeMenus)

每日礼包中的浏览限制:
  1.     view_requirement: '"%essentials_kit_is_available_daily%".equalsIgnoreCase("yes")'
复制代码

当玩家可以领取daily的kit工具礼包时候,才显示优先级1(就是此项目)

礼包未冷却结束中的lore变量:
  1.     - '&7请再等待 &c%essentials_kit_time_until_available_daily%'
复制代码

这个为礼包下次能够领取还剩多少时间的变量,这里可以显示在lore上,当优先级1不满足就显示优先级2就能够显示这个lore的变量来提示玩家还有多少时间才能领取此礼包~

④总的来说:
      先判断玩家是否能够领取,如果能领取就显示优先级1,如果不能就显示优先级2,而优先级2中的lore变量,可以让玩家清楚还有多少时间才能领取下一次的礼包,这样来达到每日礼包的目的。


           需要注意的点,配置中,记得重启变量插件以及菜单插件和Essentials,这样才能确保变量能够正常使用







统计

帖子字节:约4W
耗费时长:3个星期(中间读书以及测试例子和学习插件)
是否原创:参考原wiki后全部原创例子
图片数量:26(数错请联系)
其他优秀菜单教程帖子:BossShop老板商店

鸣谢
谢谢你们能够看到这里
鸣谢秋风残叶的wiki对我的大力帮助,还有谢谢他的排版
感谢PCD小组成员对我的指导和帮助


[fly]帖子来之不易,是否评分一波呢?[/fly]
[groupid=1330]PluginsCDTribe[/groupid]
作者: ouAuAuo    时间: 2017-6-4 07:25
因为帖子总要审核就在一楼艾特观众席和占楼以备不时需@秋风残叶 @XJue_DaDa @吕乐乐 @Smokey_Days @Ghost灬幽冥 @CH1 @X夕阳


作者: ouAuAuo    时间: 2017-6-5 19:56
a2055799522 发表于 2017-6-5 20:06
如何在菜单显示玩家正版头颅呢

只要将material项修改为下面格式
  1. material: head;%player_name%
复制代码


%player_name%可以替换为你想要的正版ID
作者: a2055799522    时间: 2017-6-5 20:06
如何在菜单显示玩家正版头颅呢
作者: a2055799522    时间: 2017-6-6 19:49
再麻烦问一问,如何让10级玩家打折购买东西呢,明白是优先级和可视级,但是        view_requirement: 的条件不知道怎么写哎。。
作者: a2055799522    时间: 2017-6-6 20:05
Auange_M夜幕 发表于 2017-6-6 20:14
经验的变量替换即可

        view_requirement: '%player_level% >= 10'
可是并没有用呢
作者: ouAuAuo    时间: 2017-6-6 20:14
a2055799522 发表于 2017-6-6 19:49
再麻烦问一问,如何让10级玩家打折购买东西呢,明白是优先级和可视级,但是        view_requiremen ...

经验的变量替换即可
作者: ouAuAuo    时间: 2017-6-6 22:56
a2055799522 发表于 2017-6-6 20:05
view_requirement: '%player_level% >= 10'
可是并没有用呢

看下有没有下载变量player

/papi ecloud download Player

如果再不行,尝试替换为exp类型的经验

作者: 水煮清娃    时间: 2017-6-8 06:05
我想知道怎么添加附魔的闪光效果,还有能不能自定义设置打开菜单或者点击按钮的声音,目前用CC菜单,这些功能都有,之前折腾过这个菜单,但是没折腾明白就半途而废了...
作者: a2055799522    时间: 2017-6-8 13:05
水煮清娃 发表于 2017-6-8 06:05
我想知道怎么添加附魔的闪光效果,还有能不能自定义设置打开菜单或者点击按钮的声音,目前用CC菜单,这些功能 ...

cc有优先级和可视级?
作者: Alorw    时间: 2017-6-10 19:47
Auange_M夜幕 发表于 2017-6-5 19:56
只要将material项修改为下面格式

如果是自定义头颅呢 .. 例如一个这样的(没有正版玩家ID)



  1. /give @p skull 1 3 {display:{Name:"Money Bag"},SkullOwner:{Id:"da608428-e220-435c-9669-2fe3c0575458",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTM2ZTk0ZjZjMzRhMzU0NjVmY2U0YTkwZjJlMjU5NzYzODllYjk3MDlhMTIyNzM1NzRmZjcwZmQ0ZGFhNjg1MiJ9fX0="}]}}}
复制代码

作者: Alorw    时间: 2017-6-17 09:42
  1. Pinger placeholders
  2. These placeholders require "warmup" time of around a minute or two after installing the expansion (Replace 'Testplugins.com:25565' with your server/ip).
  3. %pinger_gameversion_testplugins.com:25565%
  4. %pinger_version_testplugins.com:25565%
  5. %pinger_online_testplugins.com:25565%
  6. %pinger_isonline_testplugins.com:25565%
  7. %pinger_max_testplugins.com:25565%
  8. %pinger_players_testplugins.com:25565%
  9. %pinger_motd_testplugins.com:25565%
  10. %pinger_pingversion_testplugins.com:25565%
  11. NOTE: %pinger_online_testplugins.com:25565% and %pinger_isonline_testplugins.com:25565% do the exact same thing.
复制代码

这些读取出来的非数值,view_requirement貌似不能用 = 号之类的判断啊 .

例如 %pinger_isonline_testplugins.com:25565% 读取出一个子服是未在线的,那么会显示Offline,但这要怎么弄呢 .

( 已试过 view_requirement: '%pinger_isonline_127.0.0.1:xxx% = Offline' 之类的 )

作者: Smile_Sun    时间: 2017-6-18 08:59
这个耐心回答被人的问题,,,弄得别人都不爱了。

作者: cheng000    时间: 2017-6-18 22:04
帖子写的这么好,怎么就没人呢
作者: ouAuAuo    时间: 2017-6-18 22:45
cheng000 发表于 2017-6-18 22:04
帖子写的这么好,怎么就没人呢

现在教程版应该没几个人来了
作者: yu736019332    时间: 2017-6-20 23:41
66666666谢谢楼主!
作者: 740501486    时间: 2017-7-10 00:36
顶一下帖子,我想问一下撸主,能不能设置用钟打开菜单什么的
作者: ouAuAuo    时间: 2017-7-10 09:17
740501486 发表于 2017-7-10 00:36
顶一下帖子,我想问一下撸主,能不能设置用钟打开菜单什么的

如果用BossShop插件来弄是可以的 但是DeluxeMenus是没有配备一款插件来实现的 所以这里我建议用BossShop做核心菜单 然后子菜单用DeluxeMenus
作者: 740501486    时间: 2017-7-10 12:50
Auange_M夜幕 发表于 2017-7-10 09:17
如果用BossShop插件来弄是可以的 但是DeluxeMenus是没有配备一款插件来实现的 所以这里我建议用BossShop ...

我昨晚解决了,用了CustomJoinItems插件绑定上去了,谢谢
作者: HJ_KISS    时间: 2017-7-21 10:38
支持!问一下怎样在多菜单情况下弄出来特殊符号,我试过unicode码没用,
作者: lwf0222    时间: 2017-7-23 12:42
请问一下 为啥我服务器的玩家打不开菜单 权限已经给了
作者: ouAuAuo    时间: 2017-7-23 12:54
lwf0222 发表于 2017-7-23 12:42
请问一下 为啥我服务器的玩家打不开菜单 权限已经给了

OP打得开 玩家打不开 查看玩家是否真的拥有对应的权限了
作者: lwf0222    时间: 2017-7-23 12:58
Auange_M夜幕 发表于 2017-7-23 12:54
OP打得开 玩家打不开 查看玩家是否真的拥有对应的权限了

给了这两个权限
-deluxemenus.open
-deluxemenus.menu.*
还是没有用 玩家打不开

作者: ouAuAuo    时间: 2017-7-23 12:59
lwf0222 发表于 2017-7-23 12:58
给了这两个权限
-deluxemenus.open
-deluxemenus.menu.*

输入/list 查看玩家在哪个用户组 通常这种情况是给错用户组
作者: lwf0222    时间: 2017-7-23 12:59
Auange_M夜幕 发表于 2017-7-23 12:59
输入/list 查看玩家在哪个用户组 通常这种情况是给错用户组

就是下放到默认组啦
作者: Yang_ZiMo    时间: 2017-7-23 16:44
MCBBS有你更精彩~
作者: shuaibibei2004    时间: 2017-8-9 22:00
楼主这个菜单怎样设置成一进服务器物品栏就有中的那种.右键可以直接打开菜单.
作者: shuaibibei2004    时间: 2017-8-9 23:32
本帖最后由 shuaibibei2004 于 2017-8-9 23:33 编辑

给大家温馨提示一下搞菜单世不能一次性添加多个菜单图标,否则你的努力就白费了,1次最好添加1个直到添加完为止, '1':
    material: 355
    slot: 0
    display_name: '&6家'
    lore:
    - '&a左键 &7| &f设置一个家'
    - '&b右键 &7| &f回到已设置的家'
    left_click_commands:
    - '[player] sethome'
    - '[message] &a恭喜你设置成功'   
    - '[close]'
    right_click_commands:
    - '[player] home'
    - '[close]'
我指的是添加这个
作者: shuaibibei2004    时间: 2017-8-9 23:37
shuaibibei2004 发表于 2017-8-9 23:32
给大家温馨提示一下搞菜单世不能一次性添加多个菜单图标,否则你的努力就白费了,1次最好添加1个直到添加完 ...

因为一次性添加多个的,那个开服器莫名其妙的把配置文件改回原来的
作者: 许诺者流星    时间: 2017-8-15 22:25
我创建之后并没有出现gui-menu文件夹
作者: 不带这样的    时间: 2017-8-18 12:18
1.12的输入中文好像会乱码
作者: 不带这样的    时间: 2017-8-18 12:33
不带这样的 发表于 2017-8-18 12:18
1.12的输入中文好像会乱码

没事了,插件调整问题
作者: fyxrim    时间: 2017-10-29 12:29
那种比如礼包VIP

我普通玩家打开菜单 礼包VIP点不了 你没有显示权限.

我买了VIP打开菜单 礼包VIP 点了 出来了东西礼包

怎么弄  麻烦配置给我一下谢谢
作者: q849666968    时间: 2017-10-29 20:46
MCBBS有你更精彩~
作者: Cn_Anson    时间: 2017-11-23 11:32
读完之后没有找到你的排版教程小链接。。。
作者: ouAuAuo    时间: 2017-11-23 12:31
Cn_Anson 发表于 2017-11-23 11:32
读完之后没有找到你的排版教程小链接。。。

我有出过另外一个教程 BossShop的 帖子中最下面也有链接的
作者: Cn_Anson    时间: 2017-11-23 12:33
Auange_M夜幕 发表于 2017-11-23 12:31
我有出过另外一个教程 BossShop的 帖子中最下面也有链接的

看见了!谢谢啦!
作者: aipaixiaoheijun    时间: 2017-12-2 17:27
咦为什么我服务器报错,然后用不了?
作者: 498525451    时间: 2018-1-14 23:59
杜蕾斯没法指定物品 名称来执行么? 比如我要卖一个 名字为 &f夜幕  的土豆 不判断lore
作者: 498525451    时间: 2018-1-16 10:46
写了这么多真是辛苦你了  另外插件更新了新内容 有空希望更新
作者: jued_huangjim    时间: 2018-2-5 17:04
如何写动态的字?
作者: g519403080    时间: 2018-2-7 11:01
DeluxeMenus能否配合PlayerPoints使用
作者: ouAuAuo    时间: 2018-2-7 11:08
g981070922 发表于 2018-2-7 11:01
DeluxeMenus能否配合PlayerPoints使用

可以的 记得搭配变量使用限制权限
作者: g519403080    时间: 2018-2-7 11:14
本帖最后由 g981070922 于 2018-2-7 12:04 编辑
Auange_M夜幕 发表于 2018-2-7 11:08
可以的 记得搭配变量使用限制权限

  十分感谢 已经成功
  right_click_commands:
    - '[console] give %player_name% 1 1'
    - '[console] points take %player_name% 10'
    - '[message] &a恭喜你购买成功'
    - '[close]'
    right_click_requirement:
      expression: '%playerpoints_points% > 10'
      deny_commands:
      - '[message] &c点券不足'
      - '[close]'

作者: EFDFED    时间: 2018-2-11 12:25
楼主,现在的可视化需求已经变啦!催更啊,这个格式不能用了(我的插件版本:1.10.2)
作者: 2雯    时间: 2018-2-11 13:40
感谢楼主分享,正需要这方面的资料呢
作者: qq3151489736    时间: 2018-2-19 20:18
MCBBS有你更精彩~
作者: Barry_Allen    时间: 2018-2-22 13:26
MCBBS有你更精彩~
作者: 神奇的滑稽    时间: 2018-3-3 18:27
楼主用心了,很不错的一篇帖子.
作者: a70502317    时间: 2018-4-14 14:46
请问怎么在bc服务器使用papi插件?我登陆服加了也无法显示人数
作者: wf2362552311    时间: 2018-5-5 19:29
无法出售???
条件限制有问题!!!
复制你教程里面的也无法出售!!

1.png (24.63 KB, 下载次数: 7)

一个字符都没改

一个字符都没改

作者: 1989617949    时间: 2018-6-28 06:30
请问一下 我想让玩家以OP的身份运行一个命令 而不是从控制台运行  left_click_commands 该用什么 呢?
作者: 1040166647159    时间: 2018-8-2 17:41
本帖最后由 1040166647159 于 2018-8-2 17:43 编辑

为什么变量在菜单里不起作用?0.0
用[console] give %player 160 64
提示玩家不在线= =
求大佬解答papi的变量也下载了
papi也重载了
服务器也重启了
都不起作用= =

作者: 小安梦    时间: 2018-11-9 15:25
为什么我的权限组加上了玩家还是没有权限打开呢.1.8.8版本的

1.PNG (22.49 KB, 下载次数: 4)

1.PNG

捕获.PNG (22.48 KB, 下载次数: 0)

捕获.PNG

作者: MC丶小说    时间: 2018-11-21 17:30
dalao,我这是1.10.5的版本,想做一个收购商店,比如收购小麦64个. 要怎么做,现在变量不是改了吗,看好了好几个版本都不对,求大佬帮忙弄一下
作者: 1723624171    时间: 2018-12-14 12:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: Iron_Ore    时间: 2019-2-3 14:30
    left_click_commands:
    - '[console] give %player_name% 263 1'
    - '[console] eco take %player_name% 500'

点了之后,控制台上显示玩家不在线,怎么破

服务器版本1.12
作者: 940461793    时间: 2019-2-9 12:47
  '3':
    material: 54
    slot: 10
    priority: 1
    update: true
    hide_attributes: true
    view_requirement: '"%essentials_kit_is_available_wanjia%".equalsIgnoreCase("yes")'
    display_name: '&a每日礼包&f[&b点击领取&f]'
    lore:
    - '&7点击可以领取哦~'
    - '&7这是一个礼包'
    left_click_commands:
    - '[player] kit wanjia'
    - '[close]'
    right_click_commands:
    - '[player] kit wanjia'
    - '[close]'
  '4':
    material: 166
    slot: 10
    priority: 2
    update: true
    hide_enchantments: true
    enchantments:
    - 'DURABILITY;1'
    display_name: '&a每日礼包&f[&c冷却中&f]'
    lore:
    - '&c当前礼包正在冷却'
    - '&7请再等待 &c%essentials_kit_time_until_available_wanjia%'
    left_click_commands:
    - '[message] &c真坏,冷却了还点我~'
    right_click_commands:
    - '[message] &c真坏,冷却了还点我~'


但是领取后不显示第二个
作者: 黑糖籽.    时间: 2019-3-17 02:37
支持夜幕大佬
作者: 1574357054    时间: 2019-3-18 14:17
然而我想问下,能不能消耗指定名字的物品???

作者: doyu6041574    时间: 2019-6-9 17:43
为什么我加mod的id不显示啊
作者: doyu6041574    时间: 2019-6-10 15:57
为什么不支持mod的id
作者: 3083077071    时间: 2019-7-4 22:21
Auange_M夜幕 发表于 2017-6-4 07:25
因为帖子总要审核就在一楼艾特观众席和占楼以备不时需@秋风残叶 @XJue_DaDa @吕乐乐 @Smokey_Days @Ghost灬 ...

您能加我下qq吗,有问题问您。
RPG服务器收技术,需要的加我。
qq:3083077071
作者: lq753951456    时间: 2019-7-5 21:22
谁会做菜单优先级显示,类似雨花台的菜单方式。
作者: PT_cheese    时间: 2019-7-9 15:07
感谢你的教程
作者: X836696023    时间: 2019-8-11 17:13
虽然教程很详细,但我用了DM,感觉并不好用
作者: xiaoqingv    时间: 2019-8-20 00:27
来之不易,收藏了
作者: YinDang    时间: 2019-8-27 11:29
不知道可不可以检测玩家等级
作者: 565585    时间: 2019-9-7 16:20
请问大佬们,这个插件是不支持MOD物品的吗?我输入mod物品的文字id后那一项直接消失了
作者: welsion    时间: 2019-10-10 17:15
good plugins


作者: 226821    时间: 2019-11-21 19:47
不能物品打开吗? 比如闹钟右键打开菜单
作者: 2924321734    时间: 2019-11-24 15:45
感谢!                             
作者: jiuban2126    时间: 2019-12-5 21:13
本帖最后由 jiuban2126 于 2019-12-5 21:16 编辑

这个教程真的很棒!
作者: minecraft小器    时间: 2020-1-12 21:58
为什么就不能设置 用 物品 打开菜单呢?
cc有这功能才强大
作者: okhiokhi    时间: 2020-2-3 17:08
優質教學,一看就懂
如何在裡面放入怪物蛋呢?
試過:
entitytype: <動物>
material: MONSTER_EGG
但無法ㄟ
作者: dsahjag    时间: 2020-2-3 17:38
学会了呢,我抱走啦!
作者: mfkfj    时间: 2020-2-15 11:03
牛B克拉斯
作者: zhangyao521    时间: 2020-3-9 21:11
left_click_commands:
    - '[console] clear %player_name% Dirt 10'
    - '[console] ecoadmin give %player_name% 1'
    - '[message] &a恭喜你出售成功,获得了10游戏币'
    - '[close]'
    left_click_requirement:
      expression: '"%player_hasitem-mat:DIRT-amt:1-data:DIRT".equals("yes");'
      deny_commands:
      - '[close]'
      - '[message] &c物品不足'  
文章2 教程2 里面的 收购玩家的物品 这个。。 我改了一下 可是一直显示 物品不足 没明白哪里的问题 版本1.12.2
作者: LiuChangKing    时间: 2020-3-20 22:12
%vault_eco_balance% = 6666

我想检测玩家当前所在的bc子服,该写什么变量呢?
作者: jjlyouai    时间: 2020-3-21 13:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 孤独2333    时间: 2020-4-16 23:23
在高版本杜里斯menu好像无法写物品数字ID只可以用物品英文名了
作者: 孤独2333    时间: 2020-4-16 23:24
坚果果 发表于 2017-6-18 22:45
现在教程版应该没几个人来了

有人呀 AVA
作者: 宅师    时间: 2020-4-21 20:54
我想问一下有下载地址吗
作者: 大海Sea    时间: 2020-5-12 10:38
能不能设置一次点击多个条件,同时满足两个变量才可以
作者: 13427125325    时间: 2020-5-12 10:48
CC现在有树形图可以一手操办了
作者: 1132950702    时间: 2020-7-10 23:44
谢谢大佬分享  在慢慢学
作者: ZZX24K2048    时间: 2020-8-7 22:08
这个有编辑器吗

作者: 784793867    时间: 2020-9-6 22:48
我怎么通过某一个物品来执行打开菜单这个指令?
作者: 767721952    时间: 2020-9-7 07:59
mc  求大家帮助 谢谢大家   请大家多教教我   催更新
作者: Coco_S1mple    时间: 2020-10-12 02:31
一个图标怎么放置在多个位置
作者: fffilm    时间: 2020-10-15 21:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3381944696    时间: 2021-1-15 16:33
坚果果 发表于 2017-6-18 22:45
现在教程版应该没几个人来了

看不懂

作者: 3381944696    时间: 2021-1-15 16:34
坚果果 发表于 2017-6-18 22:45
现在教程版应该没几个人来了

看不懂。。。
作者: 白钻想peach    时间: 2021-2-8 15:33
怎么弄点击GUI物品然后打开网站这个功能 [狗头
作者: 风之余温    时间: 2021-2-8 18:19
射射楼主,小伙伴都说好用