要避免30W字节码限制的话,一般来说还是多开线程实在,如果懒得自己去写的,那么可以直接用VJ的委托。那个就是通过运行触发器等来实现的。
之前都不懂,问别人的,在这里大概说下线程吧
ExecuteFunc --调用函数,这个会开启单独开辟一个新的线程,并且是会保留原触发器等信息的,就是说那些触发器参数等是会保留的,但是效率相对来说是稍微慢一点的。立即执行,调用函数将等待被调函数返回;
TriggerEvaluate --触发器条件成立,这个不会开启新线程,不能用TriggerSleep,速度较慢,保存原触发信息,立即执行,调用函数将等待被调函数返回;
TriggerExecute --运行触发器(无视条件),开启新线程,这个是效率相对来说要更快一点的,保留原触发信息,但会损失掉GetTriggeringTrigger这个信息,立即执行,调用函数将等待被调函数返回;
一般来说,不追求效率,不是很大的情况下是可以直接用ExecuteFunc的,但是那些数值比较大,而且是比较严重追求效率的情况下,推荐是使用运行触发器的,然后具体自行去开流。
触发信息就是那些各类触发单位 触发玩家 当前触发等这些。