这样 可能执行3次 2次 1次 0次 都有可能
都执行谢谢
[@几率]
下不管几个IF act 满洲条件都执行
zwqw12399 发表于 2022-4-24 14:25 [@几率]
下不管几个IF act 满洲条件都执行
那问题来了 如果第一个执行下边有break的话 那下边的不是永远也执行不到?
174884142 发表于 2022-4-24 14:30 那问题来了 如果第一个执行下边有break的话 那下边的不是永远也执行不到?
BREAK 你可以把它理解为执行中断,如果执行碰到BREAK,就停止,不往下执行了。
174884142 发表于 2022-4-24 14:30 那问题来了 如果第一个执行下边有break的话 那下边的不是永远也执行不到?
首先,你的感觉是对的,随机值是在每个Randomex时产生的,不是每个脚本段产生一个随机值,然后整个脚本段共用,没有这样的机制。
第二,不会出现你说的第一个有#IF有BREAK。后面就全部不执行的状况,因为BREAK的作用是结束本脚本段,但它本书也是一个命令,执不执行取决于#IF条件成不成立。比如:
[@几率]
#IF
RandomEx 1 50
#ACT
SENDMSG 0 执行。。。
BREAK
#IF
RandomEx 1 20
#ACT
SENDMSG 0 执行。。。
那么第一个#IF下面的语句有1/50被执行,也就是说BREAK只有1/50被执行到,然后脚本才会结束。而有49/50概率会执行到下面部分,但因为你下面又有一个随机判断,所以最后面的那个发送信息语句执行概率是49/50*1/20=4.9%。
用MOVR LARGE SMALL 不比这个强多了?
有break的话,哪个触发就从哪里断,一般很少这么写,理智的都不这么写
你加个变量不就完事了?
#IF
#ACT
MOV S$执行 未
例如:
#IF
RandomEx 1 50
EQUAL S$执行 未
#ACT
MOV S$执行 是
SENDMSG 0 执行。。。
#IF
RandomEx 1 20
EQUAL S$执行 未
#ACT
MOV S$执行 是
SENDMSG 0 执行。。。
#IF
RandomEx 1 10
EQUAL S$执行 未
#ACT
MOV S$执行 是
SENDMSG 0 执行。。。
这样 可能执行3次 2次 1次 0次 都有可能