【疑问】有没有人懂这段代码?有几个概率的问题
仙五前修改吧
全部回复
仅看楼主
level 7
function battle_aie07d(npcID)
n=flag.GetBattleValue(15107)
if n~=5 then
a=battle.GetRndNumber(1,10)
if a>=1 and a<=5 then
id = battle.GetRndPlayer()
battle.MagicToPlayer(id,439,1) --普通攻击
n=n+1
flag.SetBattleValue(15107,n)
elseif a>=6 and a<=9 then
t=battle.CheckNpcStat(npcID,12) --检测是否已有buff
if t==0 then
battle.MagicToNpc(0,110,2) --全体BUFF
else
battle.MagicToPlayer(0,440,2) --全体法术(小)
end
flag.SetBattleValue(15107,0)
else
battle.MagicToPlayer(0,111,2) --全体法术
flag.SetBattleValue(15107,0)
end
else
battle.MagicToPlayer(0,111,2) --全体法术
flag.SetBattleValue(15107,0)
end
end
这是BOSS岚翼的代码,我的理解是:
给定1~10随机数,1-5使用普通攻击,6~9检测自身BUFF,如果没有加BUFF,如果有则使用两个群体法术440和111各一半。随机数为10时用法术111。
那么问题来了:BOSS会先检测自身BUFF,再有BUFF的情况下才会使用440,但我多次测试时候BOSS直接就能用440这个技能。所以我觉得是不是我中间有理解错误。
第二个问题就是if n~=5是什么意思?
2020年05月21日 16点05分 1
level 7
另外从这个代码来看,如果按照我的理解,使用111的几率明显要比440大,但是我打的时候BOSS很少放111,多数都是放440,测了多次也是如此。
2020年05月21日 16点05分 2
level 7
图片的形式,看的更直观一些
2020年05月21日 16点05分 3
level 10
~=是不等于。6-9要么110要么440,没有111。111只有10%概率。但是如果恰巧连续用了5次439,下一次必定111。用110 440 111都会清空439的计数。buff应该是加了才会440的。岚翼有分身,你看看脚本号是不是对的?
2020年05月22日 03点05分 4
情姐姐你qqid是啥我拉你吧[太开心]
2020年05月22日 03点05分
@勿忘丿初心 我进去了
2020年05月22日 03点05分
....原来是这样,那就和我实战测试时使用的几率差不多了,懂了,谢谢情姐姐
2020年05月22日 03点05分
1