在传奇游戏的gom引擎中,RandomGoto 命令用于根据给定的随机数生成母数和子数,根据子数与母数的大小关系来决定是否触发后续的脚本。该命令的触发机制与RANDOMEX命令相似,但RandomGoto支持触发特定字段,使得游戏逻辑更加灵活。
命令格式:
RandomGoto 命令的格式如下:
随机数(母):指定一个随机数,作为母数。
随机数(子):指定一个随机数,作为子数。
触发字段:指定一系列触发条件,多个条件以“|”隔开。每个条件包含一个随机数和对应的事件标签。
触发机制:
当生成的子数与母数相等时,触发几率为100%,即必然触发对应的事件。
当子数小于母数时,触发几率随着子数的减小而增加,但不会超过100%。
如果多个触发条件中存在100%几率的条件,那么该条件将优先触发,后续条件的几率将长期不会触发,因为100%几率的条件已经确定触发。
示例代码:
[@main]
#act
RandomGoto 100 10:@触发1|50:@触发2|100:@触发3
SENDMSG 6 按照脚本写的顺序触发的,如果你把“100:@触发3”写在前面,那后面两个几率长期都不会触发了,因为“100:@触发3”是百分百几率触发的
Copy
事件标签处理:
当RandomGoto命令触发时,将按照脚本中指定的顺序处理事件标签。
每个事件标签都是一个脚本,当触发时将会执行其中的动作。
RandomGoto 随机数(母) 随机数(子):触发字段(多个以“|”隔开)
和RANDOMEX命令几率算法是一样的,只不过这个支持触发,随机数(子),数值越大几率越高,如果和随机数(母)数值一样大,就是百分百几率
按照写的脚本顺序触发的,每次只触发一个字段,如果几率没有百分百的也有可能一个都不会触发,当然如果有百分百几率的,那肯定会触发那个百分百几率的
[@main]
#act
RandomGoto 100 10:@触发1|50:@触发2|100:@触发3
SENDMSG 6 按照脚本写的顺序触发的,如果你把“100:@触发3”写在前面,那后面两个几率长期都不会触发了,因为“100:@触发3”是百分百几率触发的
[@触发1]
#act
SENDMSG 6 你触发了百分之十的几率
[@触发2]
#act
SENDMSG 6 你触发了百分之五十的几率
[@触发3]
#act
SENDMSG 6 你触发了百分之百的几率