诚实小鸟 发表于 2026-3-27 20:44:20

  这样 可能执行3次 2次 1次 0次 都有可能

诚实小鸟 发表于 2026-3-27 20:44:20

都执行谢谢

诚实小鸟 发表于 2026-3-27 20:44:20

[@几率]
下不管几个IF  act  满洲条件都执行

诚实小鸟 发表于 2026-3-27 20:44:20

zwqw12399 发表于 2022-4-24 14:25 [@几率]
下不管几个IF  act  满洲条件都执行
那问题来了  如果第一个执行下边有break的话  那下边的不是永远也执行不到?

诚实小鸟 发表于 2026-3-27 20:44:20

174884142 发表于 2022-4-24 14:30 那问题来了  如果第一个执行下边有break的话  那下边的不是永远也执行不到?
BREAK 你可以把它理解为执行中断,如果执行碰到BREAK,就停止,不往下执行了。

诚实小鸟 发表于 2026-3-27 20:44:20

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%。

诚实小鸟 发表于 2026-3-27 20:44:20

用MOVR LARGE SMALL  不比这个强多了?

诚实小鸟 发表于 2026-3-27 20:44:20

有break的话,哪个触发就从哪里断,一般很少这么写,理智的都不这么写

诚实小鸟 发表于 2026-3-27 20:44:20

你加个变量不就完事了?
#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 执行。。。

诚实小鸟 发表于 2026-3-27 20:44:20

  这样 可能执行3次 2次 1次 0次 都有可能
页: 1 [2] 3
查看完整版本: 请教大佬们一个几率的问题