本帖最后由 longlongz 于 2018-11-24 00:47 编辑 
你可以设置商店物品对玩家的显示的条件。设置条件其实很简单

例子:
复制代码鸡肉商店物品只会在玩家饱食度低于20的时候显示,这代表着只有玩家不是饱食度满的状态就都会显示(饱食度20=满饱食度)。如果满饱食度则显示屏障。
输出是这样子的:

结构
条件是在一个列表中建立的。首先你需要定义当前条件类型然后建立你的条件。添加条件是不会被限制的,这意味着你可以在物品上添加无限个条件
例子:
复制代码复制代码复制代码
规则
AND|与
所有在列表中的条件都需要达成. 如果一个条件不成立则整个物品会被隐藏
例子:
复制代码这里显示了玩家同时需要两个条件才会看到此物品.
OR | 或
在“match”条件类型的案例中,是存在可选则条件的:
你可以列举不同的match数值,使用逗号分离。只要其中一个数值达成条件则显示物品,甚至不需要达成任何其他条件
复制代码这里显示了玩家只需要在group1,group2,group3,group4其中的一个组就能看到物品
可用的条件类型
如果你想要更多其他条件的话,你可以找作者让他帮你添加新的条件
BossShopPro 会先加载所有商店物品然后建立他们的配置。如果一个物品的条件没有达成则不会显示相应内容。如果一个物品没被达成条件,然后另一个物品在该物品的同一个位置,则另个物品会被显示。
复制代码
变量条件
条件类型"placeholdernumber" 和 "placeholdermatch" 允许检查任何BossShopPro 或 PlaceholderAPI 所支持的变量并检查数值是否支持任何所支持的插件
PlaceholderNumber:
复制代码
PlaceholderMatch:
复制代码
模数支持
数字类型条件支持模数. 这里是个进阶的类型:
复制代码
这个案例会生成一个动画物品,物品会从第一格一直移动到第九格然后又会到第一格,从而实现动态效果.
使用"#%<divisor>"来结束条件会让BossShopPro 将数值通过模数转换为相关的条件.如果你使用了条件类型‘realsecond’然后使用modulo(模数)‘10’则会改变条件检查会在0到9之间,因为"<current time % 10>" 会最终反馈在范围内的所有数字。所以Modulo(模数)对创建动画商店很有帮助.
BossShopPro
Conditions | 条件
字数统计: 2147字
你可以设置商店物品对玩家的显示的条件。设置条件其实很简单

例子:
- ShopName: food-condition
 
- DisplayName: '食用条件'
 
- signs:
 
-   text: '[conditions]'
 
-   NeedPermissionToCreateSign: true
 
- InventorySize: 45
 
- shop:
 
-   5-1:
 
-     Condition: #条件内容
 
-     - type:Hunger #类型: 饥饿
 
-     - under:20 #如果玩家饥饿值在20以下,则会显示以下内容
 
-     RewardType: item
 
-     PriceType: free
 
-     Reward:
 
-     - type:COOKED_CHICKEN
 
-     - amount:1
 
-     MenuItem:
 
-     - type:COOKED_CHICKEN
 
-     - name:&9你饿吗?
 
-     - 'lore:#&你看上去十分饥饿!点我补充饱食度'
 
-     - amount:1
 
-     InventoryLocation: 23
 
-   5: #如果饱食度<=20会发生的内容
 
-     RewardType: nothing
 
-     PriceType: free
 
-     MenuItem:
 
-     - type:BARRIER
 
-     - name:&9你饿吗?
 
-     - 'lore:#&c你看上去不饿..#&c当你饿的时候再回来'
 
-     - amount:1
 
- InventoryLocation: 23
输出是这样子的:

结构
条件是在一个列表中建立的。首先你需要定义当前条件类型然后建立你的条件。添加条件是不会被限制的,这意味着你可以在物品上添加无限个条件
例子:
-     Condition: #条件
 
-     - type:serverpinging #帧数
 
-     - online:true #是否是正版用户
 
- - over:200 #帧数超过200
-     Condition:
 
-     - type:permission #权限
 
-     - match:权限.节点 #所需权限
 
-     Condition:
 
-     - type:money #金钱
 
-     - over:1000 #超过1000
 
-     - type:health #血量
 
- - between:5:15 #在5-15之间
规则
AND|与
所有在列表中的条件都需要达成. 如果一个条件不成立则整个物品会被隐藏
例子:
-     Condition: #条件
 
-     - type:money #类型:金钱
 
-     - over:1000 #超过1000的金钱
 
-     - type:health #类型:血量
 
- - between:5:15 #在5-15血量之间
OR | 或
在“match”条件类型的案例中,是存在可选则条件的:
你可以列举不同的match数值,使用逗号分离。只要其中一个数值达成条件则显示物品,甚至不需要达成任何其他条件
-     Condition:
 
-     - type:group
 
- - match:group1,group2,group3,group4
可用的条件类型
如果你想要更多其他条件的话,你可以找作者让他帮你添加新的条件
BossShopPro 会先加载所有商店物品然后建立他们的配置。如果一个物品的条件没有达成则不会显示相应内容。如果一个物品没被达成条件,然后另一个物品在该物品的同一个位置,则另个物品会被显示。
- # 可用的条件
 
- Condition types:
 
-     - Money/Points #金钱/点券or点数
 
-         - over:1000             (会匹配任何金钱/点券超过1000的玩家 – 需要vault 或 点数插件)
 
-         - under:500             (会匹配任何金钱/点券低于500的玩家 – 需要vault 或 点数插件)
 
-         - equals:150            (会匹配任何金钱/点券等于150的玩家 – 需要vault 或 点数插件)
 
-         - between:300:600       (会匹配任何金钱/点券在300-500之间的玩家 – 需要vault 或 点数插件)
 
-     - ServerPinging #服务器帧数
 
-         - online:true           (会匹配所有成功收取服务器帧数并在线(或正版)的玩家)
 
-         - over:70               (匹配所有帧数超过70的玩家)
 
-         - under:40              (匹配所有帧数低于40的玩家)
 
-         - equals:500            (匹配所有帧数等于500的玩家)
 
-         - between:1:100         (匹配所有帧数在1-100之间的玩家)
 
-     - Permission #权限
 
-         - match:权限.节点      (如果玩家拥有此权限节点,则显示)
 
-         - dontmatch:node.node   (如果玩家没有此权限节点,则显示)
 
-     - Group #组
 
-         - match:plus            (如果玩家在plus这个组内,则显示)
 
-         - dontmatch:vip         (如果玩家不在vip这个组内,则显示)
 
-     - Item #物品
 
-         - match:stone           (如果玩家背包内拥有石头,则显示)
 
-         - dontmatch:diamond     (如果玩家背包内没有钻石,则显示)
 
-     - HandItem #手中物品
 
-         - match:stone           (如果玩家主手中拥有石头,则显示)
 
-         - dontmatch:diamond     (如果玩家主手中没有钻石,则显示)
 
-     - Health/Hunger/Exp #生命/饱食度/经验
 
-         - over:10               (匹配所有生命/饱食度/经验超过10的玩家)
 
-         - under:5               (匹配所有生命/饱食度/经验低于5的玩家)
 
-         - equals:15             (匹配所有生命/饱食度/经验等于15的玩家)
 
-         - between:5:15          (匹配所有生命/饱食度/经验在5-15之间的玩家)
 
-     - Time #时间
 
-         - over:4000             (当世界内时间超过4000ticks,从0开始)
 
-         - under:2000            (当世界内时间低于2000ticks,从0开始)
 
-         - equals:8000           (当世界内时间等于8000ticks,从0开始,并没有啥用)
 
-         - between:12000:24000   (当世界内时间在12000-24000ticks之间时,从0开始)
 
- #RealDay = 现实生活中一天; RealWeekDay = 现实生活中一周, starting with monday = 周一
 
-     - RealYear/RealMonth/RealWeek/RealDay/RealWeekDay/RealHour/RealSecond/RealMillisecond #现实生活中年/月/周/日/一周中的日子(周一/周二etc)/ 小时/秒/毫秒
 
-         - over:12               (如果数值高于12则显示)
 
-         - under:20              (如果数值低于12则显示)
 
-         - equals:11             (如果数值等于11则显示)
 
-         - between:18:24         (如果数值在18-24之间则显示)
 
-     - LightLevel
 
-         - over:10               (匹配光源等级是否较高)
 
-         - under:6               (匹配光源等级是否较低)
 
-         - equals:15             (匹配光源等级是否在最高)
 
-         - between:8:14          (匹配光源等级是否不是太阳光但是依然很高)
 
-     - LocationX/LocationY/LocationZ (Y 轴决定了玩家高度) #玩家所有位置x/y/z
 
-         - over:100              (匹配玩家是否在高于100的位置)
 
-         - under:50              (匹配玩家是否在低于50的位置)
 
-         - equals:1              (匹配玩家是否在等于1的位置)
 
-         - between:1:40          (匹配玩家是否在1-40之间的位置)
 
-     - World #世界名
 
-         - match:世界名  (玩家是否在特定世界中)
 
- - dontmatch:worldname (玩家是否不在特定世界中)
变量条件
条件类型"placeholdernumber" 和 "placeholdermatch" 允许检查任何BossShopPro 或 PlaceholderAPI 所支持的变量并检查数值是否支持任何所支持的插件
PlaceholderNumber:
-     Condition:
 
-     - type:placeholdernumber
 
- - '%balancepoints%:over:100' #如果玩家的%balancepoints%超过了100
PlaceholderMatch:
-     Condition:
 
-     - type:placeholdermatch
 
-     - '%item_in_hand%:match:WOOD_SWORD,STONE_SWORD,IRON_SWORD,GOLD_SWORD,DIAMOND_SWORD' #手中物品是否是以上物品之一
 
- 冒号 (":") 在占位符中并不能直接使用因为BossShopPro使用冒号来分割占位符/条件和条件类型。如果你的占位符中需要冒号,你可以使用"[colon]"来代替冒号.
模数支持
数字类型条件支持模数. 这里是个进阶的类型:
-   Moving_1:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:0
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 1
 
-     Condition: #条件
 
-     - type:realsecond
 
-     - 'between:0:5#%45'
 
-   Moving_2:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:1
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 2
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:6:10#%45'
 
-   Moving_3:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:2
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 3
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:11:15#%45'
 
-   Moving_4:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:3
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 4
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:16:20#%45'
 
-   Moving_5:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:4
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 5
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:21:25#%45'
 
-   Moving_6:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:5
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 6
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:26:30#%45'
 
-   Moving_7:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:6
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 7
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:31:35#%45'
 
-   Moving_8:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:7
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 8
 
-     Condition:
 
-     - type:realsecond
 
-     - 'between:36:40#%45'
 
-   Moving_9:
 
-     MenuItem:
 
-     - name:&c
 
-     - type:STAINED_GLASS_PANE:8
 
-     RewardType: NOTHING
 
-     PriceType: NOTHING
 
-     Message: ''
 
-     ExtraPermission: ''
 
-     InventoryLocation: 9
 
-     Condition:
 
-     - type:realsecond
 
- - 'between:41:45#%45'
这个案例会生成一个动画物品,物品会从第一格一直移动到第九格然后又会到第一格,从而实现动态效果.
使用"#%<divisor>"来结束条件会让BossShopPro 将数值通过模数转换为相关的条件.如果你使用了条件类型‘realsecond’然后使用modulo(模数)‘10’则会改变条件检查会在0到9之间,因为"<current time % 10>" 会最终反馈在范围内的所有数字。所以Modulo(模数)对创建动画商店很有帮助.
非常好的贴子,发了这么久竟然没人回复~~
请问有没有什么办法检测背包空位,就是背包满了不能执行
大佬,咋判断一个指令是否打开呢
比如说那个真实砍树,判断它是否开启砍树然后显示开关咋整
比如说那个真实砍树,判断它是否开启砍树然后显示开关咋整
非常欣赏你有这能力翻译~让我深知你的幸苦 感谢bbs有你分享
突然有了兴趣
非常欣赏你有这能力翻译~让我深知你的幸苦 感谢bbs有你分享
ykgk48973 发表于 2021-6-22 18:41
非常欣赏你有这能力翻译~让我深知你的幸苦 感谢bbs有你分享
非常鄙夷你有这能力灌水~让我深知你的不易 不感谢bbs有你灌水(仿造句劝说)