|
发表于 2012-1-9 01:04:49
|
显示全部楼层
LZ这个T的写法个人感觉有些诡异……
这个T本身单个技能只有最多20个英雄可以加(即第一个技能只有20个英雄能得到),但实际是,第一次触发了这个T后,就进行了0.1秒循环运行,这期间触发单位仍旧在Heros里,符合条件,于是继续判定,并且将对应的Ability1_01等设置成TRUE,第一次判定之后的技能倒是没加上,LZ用的似乎是工程升级做的添加可学技能,应该替换了一次就换不了其他技能了;
于是相当于每个单位至少多设置一个Ability1_X(X=01,02,03……20)为TRUE,第二个及之后的英雄随技能的时候自然就少了;
[trigger]Random Ability 1
事件
单位 - 任意单位进入 LightStart <预设>
单位 - 任意单位进入 DarkStart <预设>
条件
省略……
动作
-------- 第一技能 --------
设置 Random_Ability = (随机整数,最小值: 1 最大值: 1)
游戏 - 对 玩家1(红色) 在屏幕位移(0.00,0.00)处显示文本: (转换 Random_Ability 为字符串)
以下省略……
[/trigger]
LZ可以在动作的这个位置加这个显示文本信息动作看下显示结果~
我就选了6个英雄就已经将16个Ability1_X设置为TRUE了。。
还有个问题就是这个T的写法会导致最后剩几个技能的时候也选不到。。
LZ的写法是触发事件后每0.1秒循环该T,并在1秒后将触发单位从Heros里删除
T处理过程如下:
假设剩最后一个技能了
英雄被选择后进入区域触发事件,随到这个技能的概率是1/20,大概随不到吧,那么等0.1秒后随第二次;
由于前后两次随机数并不相干(即不会因为第一次随到什么数而影响第二次随机),所以概率仍旧是1/20,大概……也没随到吧。。
那么第三次……运气差了点又没随到。。
第四次总有了吧……可惜了。。
第五次……
……
第十次……绝望了。。
第十一次?不好意思木有机会了,单位被踢出Heros了……
另外LZ用等待玩家时间。。这个会造成比较大的误差,尤其是多人联机大家网速差距较大的时候
其实。。个人觉得没必要这么写……
就直接进入区域后触发Random Ability 1,然后运行2,2里运行3,3里运行4,在4的最后直接将单位从Heros里删除,没必要用开启/关闭T以及等待。。
还有一点我没看懂……
第一个单位触发后,应该是将Random Ability 1关闭了且之后没再开启,为什么后面的英雄还能触发…… |
|