爆率说明

  • 格式:doc
  • 大小:51.50 KB
  • 文档页数:4

爆率说明

1. 填写爆率

1. sk_dorpitemrule填写

ID:爆率的ID,最好在原有的基础上按顺序添加。

Ruleid:物品类型。如果需要添加多个物品类型,则在下面新建相同ID,但Ruleid按顺序从上往下递增。(最多4类物品)

例如:ID:1094 Ruleid:0001 (此类为药品) 则为某个怪会爆出药品,但我们还想要此怪爆出武器,则需要在下面新建ID:1094 Ruleid:0002 (此类为武器)

Chance:爆率数值。基数为千万(10000000)

例如:chance 1000000 则为1000000/10000000,也就是十分之一(1/10)。

Item0---item14:可以同时添加15种同类物品。

2. sk_monstertype填写(选取和爆率相关的说明)

drop_money_chance:钱的爆率数值。基数为百

例如:drop_money_chance 0010 则为10/100,也就是百分之十(10/100)。

drop_item_chance:爆单个物品的几率数值。基数为万(10000)

例如:drop_item_chance 7000 则为7000/10000,也就是十分之七(7/10)。

Explode_item_chance1:小爆爆率数值。基数为万(10000)

例如:Explode_item_chance1 0600 则为600/10000,也就是百分之六(6/100)。

Explode_item_chance2:中爆爆率数值。基数为万(10000)

例如:Explode_item_chance2 0300 则为300/10000,也就是百分之三(3/100)。

Explode_item_chance3:大爆爆率数值。单位为万(10000)

例如:Explode_item_chance3 0100 则为100/10000,也就是百分之一(1/100)。

Drop_item_rule:与之相对应的爆率ID。

例如:sk_dorpitemrule里的ID为1094。那么sk_monstertype里的Drop_item_rule也应该填写1094。

切记:一定要对应,否则无法实现。

2.爆率规则及说明

1.爆率规则(先进行第一步,然后再进行第二步,递进关系)

第一步:

程序会先算出爆出物品个数。(该详细规则如下)

Explode_item_chance3 Explode_item_chance2 Explode_item_chance1 drop_item_chance

大爆 中爆 小爆 单爆

0100(1%) 0300(3%) 0600(6%) 07000(70%)

例如:

1. 程序随机一个随机数,假设1,那么1=1,则会出现大爆的物品个数。

2. 程序随机一个随机数,假设2,那么2>1,程序会与大爆+中爆的和比较。2<1+3=4,此时则为中爆的物品个数。

3. 程序随机一个随机数,假设7,那么7>4,程序会与大爆+中爆+小爆的和比较。7<1+3+6=10,此时则为小爆的物品个数。

4. 程序随机一个随机数,假设30,那么30>10,程序会与大爆+中爆+小爆+单爆的和比较。30<1+3+6+70=80,此时则为单爆的物品个数。

5. 程序随机一个随机数,假设95,那么95>80,程序会与大爆+中爆+小爆+单爆的和比较。95>1+3+6+70=80,此时则不爆。

切记:此过程只看爆出物品的个数(具体大,中,小爆所爆出物品个数参见附表一)

第二步:

个别爆率的规则,也就是sk_dropitemrule里面的内容。此处举例说明:

例如:sk_dropitemrule里面有个怪爆4类物品,而此时前面的算出爆物品数为5。

Id Ruleid Chance Item0 Item1 Item2 Item3 Item4 Item…… Item14

1094 0001 3000000 1 2 3 4

1094 0002 3000000 5 6 7 8

1094 0003 2000000 9 10 11

1094 0004 1000000 12 13

注:item0---item14内应该为物品的ID,此处为描述直观,用数字1-13代替,一个数字代表一个物品ID!

程序一般会随机出现一个数值,例如:

第1次循环:随机出现数值为29,而上面ruleid为0001的爆率为30%,29<30。那么,则会随机在0001类物品里的1、2、3、4选出一个(1、2、3、4出现的几率是相同的)。假设选出了3。(以上为程序的一个循环过程,也就是说要爆出5个物品的话就要进行以上的循环5次。)

第2次循环:假设程序随机出现的数值为49,而0001的爆率为30%,49>30,程序会排除0001,然后将0001和0002的2个chance相加,得到数值60%。49<60,则此时程序会在0002类物品里的5、6、7、8(5、6、7、8出现的几率是相同的)选出一个。假设选出了5。

第3次循环:假设程序随机出现的数值为79。和第2次循环原理相同,0001的爆率为30<79,0002和0001的爆率和为60<79,那么此时就会和0001、0002、0003的爆率和对比。就是30+30+20=80>79,程序就会在0003类物品里的9、10、11(9、10、11出现的几率是相同的)选出一个。假设选 了11。

第4次循环:假设程序随机出现的数值为85。和第3次循环原理相同,但0001、0002、0003的爆率和为80<85,此时就会和0001、0002、0003、0004的爆率和90对比。90>85,则程序就会在0004类物品里的12、13(12、13出现的几率是相同的)选出一个。假设选了13。

第5次循环:假设程序随机出现的数值为92。和第4次循环原理相同,但此时90<92.那么程序就不会进行选择,也就是说不爆。

经过上面的5个循环之后,爆出的物品就会是3、5、11、13。

注:从上面过程看出,可以将爆率个数看成程序的循环次数。

以上过程图示如下:

程序随机数 30% 0001 ①

30% 0002 ②

20% 0003 ③

10% 0004 ④

第1次循环:随机数 29<①=30 则选出0001物品3

第2次循环:随机数 49<①+②=60 则选出0002物品5

第3次循环:随机数 79<①+②+③=80 则选出0003物品11

第4次循环:随机数 85<①+②+③+④=90 则选出0004物品13

第5次循环:随机数 92>①+②+③+④=90 则不选出物品,则不爆

2.爆率注意事项:

1.爆率总和不能超过100%。

例:0001为30% 0002为40% 0003为50%

因为此时爆率超过100%,则此时的0003爆率为100%-30%-40%=30%

2.爆率总和在不超过100%时,各项的爆率顺序不用按顺序排列。如果爆率总和超过100%的话,各项的爆率应该按从小到大的顺序排列。

3. sk_dorpitemrule里的Ruleid最多为4类物品。

4.小,中,大的爆率数值大小顺序为:

小爆 > 中爆 > 大爆

附表一

大暴,中暴,小暴的暴率根据级别调整

Drop取自数据库

EXPLODE_ITEM_CHANCE3, 大暴 暴10~15(7~10)

EXPLODE_ITEM_CHANCE2, 中暴 暴6~9(4~6)

EXPLODE_ITEM_CHANCE1, 小暴 暴2~5(2~3)

10000表示100%

原始暴率: drop

攻击者级别: atkLev

挨打者级别: defLev

1 < AtkLev <= 19

等级相差 <3 … drop

3<= 等级相差 <6 … drop/5

6<= 等级相关 … drop/10

//////////////////////////////////////////////////

19 < AtkLev <= 49

等级相差 <5 … drop

5<= 等级相差 <10 … drop/5

10<= 等级相关 … drop/10

/////////////////////////////////////////////////

49 < AtkLev <= 85

等级相差 <4 … drop

4<= 等级相差 <8 … drop/5

8<= 等级相关 … drop/10

//////////////////////////////////////////////////

85 < AtkLev <= 112

等级相差 <3 … drop

3<= 等级相差 <6 … drop/5

6<= 等级相关 … drop/10

最后返回0,或drop的最大值

此处得到[物品掉落数]