Previous topicNext topic
Help > BLUE引擎2021更新 >
新增CALL爆率

========================================================
【引擎新爆率写法,权重爆率,变量爆率的全部解答】
========================================================
模式一:支持爆率变量检测,兼容老格式,满足指定条件,物品才会爆出:
1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加)
1/x 装备名称 数量 $变量 检测符(><=!?) 检测数值 扣除(负数扣除,正数增加) 爆出才扣代币(默认0爆出才扣,1未爆出也扣)
========================================================
1/1 强效太阳水 1 $GOLDCOUNT ? 0 100000 // 增加10万金币
1/3强效太阳水1$GAMEGOLD?100-100 //元宝>=100时,有1/3几率计算掉落物品,否则不掉;元宝>=100时,扣除100元宝
1/8 某区物品   1 $SERVERNAME = XX传奇1区 // XX传奇1区 才有可能爆出
1/8 某物品     1 $USERID ^ head                 // 账号以head开头 才有可能爆出
1/8 某物品     1 $USERNAME ` tail                 // 角色名以tail结尾 才有可能爆出
========================================================
1/5 屠龙|10,开天|5 1 $str(G80) ? 100 -10
1/5 的几率爆率, 屠龙几率权重更高,开天几率权重低。 1/5爆率里面只会爆出1件。 满足G80大于100才会出货,出货之后G80扣10
========================================================
1/99 战神戒指|5,战神护腕|10,战神项链|50 1
1/99 的几率出货,项链几率最高,其次护腕戒指。只爆出1件装备(不检测加减相关变量)
========================================================
1/30 星王战链|5,星王战盔|5,星王战带|5,星王战靴|5,星王战镯|5,星王战戒|5 1 GAMEGIRD ? 49 0
1/30 的几率出货1件,满足GAMEGIRD大于49才会出,出货不扣货币。所有装备几率一样
========================================================
1/44 开天 1 $str(G99) ? 11 -11 
1/44 的几率出货开天1件,G99大于11才出货,出货了就扣G99-11
========================================================
1/1 星王护腕|5,星王戒指|5,星王项链|10,星王头盔|10 1
========================================================
必定出货,头盔项链几率最高,其次戒指护腕。
========================================================
注意,上面的这些乱七八糟的爆率写法。
1、不推荐GM号测试
2、不推荐秒杀怪物测试
3、爆率编码确定为ansi
4、M2或者脚本限爆检查
5、用#CALL爆率如果不生效。检查命令透明不支持call出去
6、MonDropRate全局爆率会对部分爆率写法有影响,比如你降低爆率MonDropRate=80,那么可能1/1不出货
7、还有比如说鞭尸的脚本杀死,也不会检测到变量不爆。
========================================================
【下面是说明书关于爆率的所有更新说明】
========================================================
数值操作NPC命令:MonDropRate +/-/= 数值,默认值100,越小打怪爆率越低,设置为0将不爆物品。 这是全局真实爆率命令。条件检测NPC命令:CheckMonDropRate >/</= 数值   对应显示变量:<$MONDROPRATE>
装备的PK目标爆率 修改为 击杀爆率,使用百分比计算,现在不止对人有效,对怪物也有效。
========================================================
MonItems目录下的爆率文件,第一行增加标志:;GETITEMFLAG(3),数字3,表示将随机必爆爆率为1/99999999的其中3样物品
========================================================
白野猪.txt 爆率文件内容格式如下:
========================================================
;GETITEMFLAG(3) 
1/5 金币 200
1/2 强效魔法药
1/2 强效金创药
1/5 太阳水
1/5 强效太阳水
1/99999999 上古神甲
1/99999999 上古宝甲
1/99999999 上古披风
1/99999999 上古羽衣
1/99999999 上古道袍
1/99999999 上古长袍
========================================================
可以和以前的爆率混搭使用,支持多个文件被同时调用,方便编辑爆率
========================================================
  比如在 白野猪.txt 写入如下内容: // MonDropItems目录位于MonItems目录下
  #CALL [MonDropItems\药品爆率.txt]
  #CALL [MonDropItems\衣服爆率.txt]
========================================================
1/99999998 物品名1|权重1,物品名2|权重2,物品名3|权重3... 1 $GAMEGOLD ? 1 -1
  说明:
  1) 99999998 表示使用权重模式
  2) 权重是非0数字,衡量在一个物品在此条目所有物品中的掉落占比,数字越大几率越大
  3) 此模式必定、且只掉落一件物品
  4) 不适合掉落金币
========================================================
添加随机进入权重掉落模式,格式:1/3 物品名1|权重1,物品名2|权重2... 1 $GAMEGOLD ? 1 -1 // 1/3机会进入权重掉落计算,参考之前的权重掉落更新说明
========================================================
关于CALL怪物爆率   扩展怪物爆率配置文件写法,支持调用QMapEvent脚本
===================================================================
举例一:
    1/1  金条|22,祝福油|33,力量戒指|44,麻痹戒指|55,复活戒指|66  1  #CALL  @爆出条件检测一  @爆出物品执行标签一
    [@爆出条件检测一]
    #if
    CheckGameGold < 10
    #act
    ; 执行APPROVE 0,即是检测不通过,不会爆出物品;注意默认的APPROVE结果为允许!
    APPROVE 0
    [@爆出物品执行标签一]
    ; <$PARAM(1)>物品名,$PARAM(2)>Looks,<$PARAM(3)>怪物名,<$PARAM(4)>地图名,<$PARAM(5)>X坐标,<$PARAM(6)>Y坐标
    #act
    GAMEGOLD - 10
===================================================================
举例二:
杀死怪后该物品不管爆不爆,都先CALL脚本  如果是爆。 再读取爆率几率。如果不爆。直接连爆率几率都不检测。 如果爆再检测几率然后给结果。
注意:检测和结果 2个字段执行--下面举列一件装备全服只允许掉落一件的列子

1/1  麻痹戒指|55,复活戒指|66  1  #CALL  @爆出条件检测二  @爆出物品执行标签二

[@爆出条件检测二]  杀死怪物就执行先检测脚本【注意不是爆物品时才触发检测,很多人在这误解了】
#IF
SMALL G98 1   ----检测G98小于1,就允许掉落
#ElseACT     ----当G98大于1时就不在爆这件装备了
APPROVE 0       APPROVE 0,即是检测不通过,不会爆出物品;注意默认的APPROVE结果为允许!  此时怎么杀怪都不会爆

[@爆出物品执行标签二]  上面检测G98小于1了 ,那么触发掉落物品后 同时触发该脚本
#if
True
#Act
Inc G98 1