Syser 发表于 2023-6-16 09:49:23

ASP 使用案例——攻城






起因是马桶游击队想制作这样一个场景,该场景中的玩家击败另一位玩家后,被击败玩家就被收编。

例如 p1 击败 p2 后,p2 就变成 p1 的盟友;
然后 (p2 或 p1) 击败 p3 后,p3 也入伙这个团伙;
然后 p1 被 p4 击败,p4 跟 p5 已经是盟友了,那么 p1 至 p5 都会变成互为盟友。


于是用 ASP 制作了这个场景。场景并不复杂,只是重复性的工作太多,于是交给了 ASP 制作,现在分享一下源代码,希望能够帮助到大家一点。


源代码里其实有两个模式,上文描述的是第二个模式。而第一个模式是,当 p1 被 p4 击败时,只有 p1 会变成 p4 和 p5 的盟友,他曾经的队友 p2 p3 现在是单独的一队。


思路是建立八个变量team,代表八名玩家的初始队伍。
玩家 x 击败玩家 y 后,就把 y 的队伍team设置成 x 的队伍team。

另加一些循环的触发,把相同队伍team的人设为队友,不同队伍team的人设为敌人


若要运行代码,必须先配置好 ASP,然后把这个改成你的路径,需要一个叫做“template.aoe2scenario”的场景做模板,该场景什么都不用设置,就是一张空白地图就行了

生成的触发做了这些事:
每个玩家都有一个奇观,该奇观被摧毁时,原地生成一个纪念碑,谁捕获了那个纪念碑,该玩家就加入谁的队伍。
纪念碑只是永远检测谁在攻城的,目前没有什么其他好的办法,本来想用重组资料库找找看有没有隐藏但又可以捕获的盖亚单位,但是发现重组资料库失效了。
反正纪念碑会瞬间移除,就当成是一种思路,纪念碑可以换成其他的,不会有什么影响。
而且这个纪念碑其实要奇观完全变成废墟后才会产生,可以圆,就说率先踏上敌方废墟的人为王。这样被摘桃子其实就是项羽被刘邦摘桃子这样了,自己没有近战,当然踏不上废墟。

这个是生成好的场景


这个是使用 ASP 的源代码

714885909 发表于 2024-1-25 16:13:07

非常感谢您反向ASP的源码,很多可以值得学习的东西赞
页: [1]
查看完整版本: ASP 使用案例——攻城