限购

模板基于 1.20.1完成 低版本需修改材质

inv
title: '&6限购商店'
#界面大小 1 2 3 4 5 6
size: 5
other:
  closeUp: true
  events:
    open: |-
      # == 0.0 表示玩家第一次打开此界面给予数据结束判断;
      if('玩家数据.取限购刷新时间'==0.0){
        玩家数据.取限购刷新时间 = ''时间.取时间(%y%:%mo%:%d%)'';
        玩家数据.限购商品1 = '0';玩家数据.限购商品2 = '0';玩家数据.限购商品3 = '0';
        return 'true';
      };
      #能跑到这里说明玩家不是第一次打开此界面;
      #则判断玩家上一次记录的时间与现在的时间差是否差1天;
      #相差大于一天说明玩家上一次打开此界面是在昨天以前则刷新数据;
      if('时间.天数差('玩家数据.取限购刷新时间')'>=1){
        玩家数据.取限购刷新时间 = ''时间.取时间(%y%:%mo%:%d%)'';
        玩家数据.限购商品1 = '0';玩家数据.限购商品2 = '0';玩家数据.限购商品3 = '0';
        return 'true';
      };
      return 'true';
inv:
  装饰:
    name: '&fDawn&7-&6Menu'
    mate: 'red_stained_glass_pane'
    lore:
      - '&f简单的装饰'
    slot: '0-8,9,17,18,26,27,35,36-44'
  #简单限购例子
  商品1:
    name: '商品1'
    mate: compass
    slot: '10'
    lore:
      - "价格: 1000"
      - "购买: '玩家数据.限购商品1'/1"
    script: |-
      #玩家数据>=1说明已经购买过一次则不在让其购买;
      if('玩家数据.限购商品1'>=1){
         触发.信息('你今天已经购买过此物品 '玩家数据.限购商品1' 次');
         return 'false';
      };
      #判断货币是否足够 货币<1000 表示不够 不让购买;
      if('玩家.变量(%xxx%)'<1000){
         触发.信息('你仅有 '玩家.变量(%xxx%)' 货币 无法购买');
         return 'false';
      };
      #到这里则符合购买条件 先将限购数据 +1 在扣除货币 在给予物品 在提示反馈;
      玩家数据.限购商品1 = '('玩家数据.限购商品1'+1)';
      触发.指令('c,指令扣除货币');
      触发.指令('c,指令给予物品');
      触发.信息('恭喜你花费 1000 货币购买成功');
      return 'false';
#进阶限购例子
  商品2:
    task: |-
        #判断玩家是否存在某权限;
      if('玩家.权限(xxxx)'){
           #存在则将商品价格修改为对应数额;
           #因为这个数据不需要保存所以使用游戏数据,玩家退出游戏后清空不影响判断;
         游戏数据.限购1价格 = '600';
           #因为 task 没有返回值所有使用 return 结束判断;
         return;
      };
      if('玩家.权限(xxxxx)'){
         游戏数据.限购1价格 = '800';
         return;
      };
      #跑到这里说明玩家没有以上权限则给个默认价格;
      游戏数据.限购1价格 = '800';
    name: '商品2'
    mate: compass
    slot: '10'
    lore:
      - "价格: '游戏数据.限购1价格'"
      - "购买: '玩家数据.限购商品2'/1"
    script: |-
        #如果限购次数也需要根据权限组判断则跟价格一样在task判断;
      if('玩家数据.限购商品2'>=1){
         触发.信息('你今天已经购买过此物品 '玩家数据.限购商品2' 次');
         return 'false';
      };
      if('玩家.变量(%xxx%)'<'游戏数据.限购1价格'){
         触发.信息('你仅有 '玩家.变量(%xxx%)' 货币 无法购买');
         return 'false';
      };
      玩家数据.限购商品2 = '('玩家数据.限购商品2'+1)';
      触发.指令('c,money tack [player] '游戏数据.限购1价格'');
      触发.指令('c,指令给予物品');
      触发.信息('恭喜你花费 1000 货币购买成功');
      return 'false';
#进阶限购例子2
  商品3:
    task: |-
      #内容比较简单可以写成一行提高可读性;
      if('玩家.权限(xxxx)') {游戏数据.限购3价格 = '600';return;};
      if('玩家.权限(xxxxx)'){游戏数据.限购3价格 = '800';return;};
      游戏数据.限购3价格 = '800';
    name: '商品3'
    mate: compass
    slot: '10'
    lore:
      - "价格: '游戏数据.限购1价格'"
      - "购买: '玩家数据.限购商品3'/1"
      - "左键:  1 个"
      - "右键:  64 个"
    script: |-
      if('玩家数据.限购商品3'>=1){ 触发.信息('你今天已经购买过此物品 '玩家数据.限购商品3' 次'); return 'false'; };
      if('黎明菜单.取点击类型'==左键){
        if('玩家.变量(%xxx%)'<'游戏数据.限购3价格'){ 
          触发.信息('你仅有 '玩家.变量(%xxx%)' 货币 无法购买') ;
          return 'false'; 
        };
        
        玩家数据.限购商品3 = '('玩家数据.限购商品3'+1)';
        触发.指令('c,money tack [player] '游戏数据.限购3价格'');
        触发.指令('c,指令给予物品');
        触发.信息('恭喜你花费 1000 货币购买成功');
        return 'false';
      };
      if('黎明菜单.取点击类型'==右键){
        if('玩家.变量(%xxx%)'<('游戏数据.限购3价格'*64)){
           触发.信息('你仅有 '玩家.变量(%xxx%)' 货币 无法购买');
           return 'false';
        };
        玩家数据.限购商品3 = '('玩家数据.限购商品3'+1)';
        触发.指令('c,money tack [player] ('游戏数据.限购3价格'*64)');
        触发.指令('c,指令给予物品');
        触发.信息('恭喜你花费 ('游戏数据.限购3价格'*64) 货币购买成功');
        return 'false';
      };
      return 'false';
#进阶限购例子3 与上面内容一样写法不一样
  商品3:
    task: |-
      #内容比较简单可以写成一行提高可读性;
      if('玩家.权限(xxxx)') {游戏数据.限购3价格 = '600';return;};
      if('玩家.权限(xxxxx)'){游戏数据.限购3价格 = '800';return;};
      游戏数据.限购3价格 = '800';
    name: '&f[ &6黎明菜单 &f]'
    mate: compass
    slot: '10'
    lore:
      - "价格: '游戏数据.限购1价格'"
      - "购买: '玩家数据.限购商品3'/1"
      - "左键:  1 个"
      - "右键:  64 个"
    script: |-
      if('玩家数据.限购商品3'>=1){ 触发.信息('你今天已经购买过此物品 '玩家数据.限购商品3' 次'); return 'false'; };
      if(''黎明菜单.取点击类型''=='左键' && '玩家.变量(%xxx%)'>'游戏数据.限购3价格'){
        游戏数据.购买数量 = '1';
        return 'true';
      };
      if(''黎明菜单.取点击类型''=='右键' && '玩家.变量(%xxx%)'>('游戏数据.限购3价格'*64)){
        游戏数据.购买数量 = '64';
        return 'true';
      };
      if(''黎明菜单.取点击类型''=='左键' || ''黎明菜单.取点击类型''=='右键'){
       触发.信息('你仅有 '玩家.变量(%xxx%)' 货币 无法购买');
        return 'false';
      };
      触发.信息('请左键/右键物品');
      return 'false';
    action:
      command:
        script: |-
          玩家数据.限购商品3 = '('玩家数据.限购商品3'+1)';
          触发.指令('c,money tack [player] ('游戏数据.限购3价格'*'游戏数据.购买数量')');
          触发.指令('c,指令给予物品');
          触发.信息('恭喜你花费 ('游戏数据.限购3价格'*'游戏数据.购买数量') 货币购买成功');

Last updated