收起左侧

[求助] 一位神话时代的modder之疑问

[复制链接]
风神雷鸟发表于 2020-10-17 21:12:07
大佬们好,请教一下神话时代修改mod问题,请有办法给单位的攻击加特殊效果吗?比如给攻击加上如龙卷风或陨石一样的击飞效果?我的思路是从神力文件相关xml里提出相关语句,粘贴进protox,但是没用呀……注意,我指的是给攻击加特殊效果,不是另外赋值特殊攻击......

这里再举个特定例子:如果再编辑器中直接放置龙卷风实际上是没用的,而且还会烦人地不断嗡嗡作响,尽管在protox中有定义,但龙卷风还是只有在被神力触发的前提下才会具有杀伤力/击飞效果+生命周期,否则完全就是空具其形的架子货(相同情况还有bolt,lightning storm,meteor这类神力),这个是否与单位攻击特效的修改有关呢?
风神雷鸟发表于 2020-10-17 21:16:40
以加拿大英"熊"来说,我在他的攻击动作段末缀了龙卷风扔人的代码,但进去后还是没有单位被击飞的效果......代码如下:
<action name="RangedAttack">
<param name="MaximumRange" value1="25.0"></param>
<param name="Rate" type="All" value1="8.0"></param>
<param name="Damage" type="Pierce" value1="2200" ></param>
<param name="Damage" type="Crush" value1="1600"></param>
<param name="Damage" type="Hack" value1="1900" ></param>
<param name="Accuracy" value1="0.93"></param>
<param name="MaxSpread" value1="5.0"></param>
<param name="SpreadFactor" value1="0.25"></param>
<param name="TrackRating" value1="12.0"></param>
<param name="UnintentionalDamageMultiplier" value1="1"></param>
<param name="AttackAction"></param>
<param name="NumberProjectiles" value1="5"></param>
<param name="MaxHeight" value1="0.0"></param>
<param name="VolleyMode"></param>
<unitthrowchance>1.0</unitthrowchance>
<minthrowdistance>18.0</minthrowdistance>
<maxthrowdistance>30.0</maxthrowdistance>
<minthrowheight>4.0</minthrowheight>
<maxthrowheight>6.0</maxthrowheight>
<minthrowvelocity>15.0</minthrowvelocity>
<maxthrowvelocity>25.0</maxthrowvelocity>
</action>
こはね发表于 2020-10-17 21:19:06
应该都是写在power文件里面
こはね发表于 2020-10-17 21:20:41
我将神话时代的闪电风暴技能移植到帝国3,将某些在帝国3已经没有任何作用的代码删掉,结果技能无效
  • 风神雷鸟 : 坛主大大,我记得你不是把闪电风暴成功移植进AOE3了吗?不过这个帖子的主要疑问是,神力的某些效果能否直接赋给单位?比如把龙卷风或者陨石把单位击飞的效果给加拿大激光熊......想看看AOM中能否做到这一点......
  • こはね 回复 风神雷鸟 : 应该不能
  • こはね 回复 风神雷鸟 : 击飞可以参考泰坦或者其他英雄,不过具体的神话时代代码我不太了解,在proto里面
风神雷鸟发表于 2020-10-23 13:28:21
方便起见,以后个人关于AOM的mod之疑问全发在这里,不另开新帖了。
第二个问题来了:为何AOM中直接用编辑器放置神力会无效呢?有无办法解决?
以龙卷风为例子,editor放置的其实只是模型而已,尽管在proto/protox中仍然有attack段语句,但就是没有任何效果,删除<flag>NotSelectable</flag>后甚至还能发现龙卷风的模型和粒子效果是分离的......在God power文件中可以看到gpdmodel段定义了龙卷风扔人和输出的上下限值,是否意味着龙卷风的某种属性(某段代码)让它只能在神力允许的时间段造成伤害?也就是逻辑上是否是:

IF(龙卷风神力启动==1&&龙卷风计时>0)

THEN( 龙卷风攻击能力.setEnable )
这样?
こはね发表于 2020-10-23 15:47:05
风神雷鸟 发表于 2020-10-23 13:28
方便起见,以后个人关于AOM的mod之疑问全发在这里,不另开新帖了。
第二个问题来了:为何AOM中直接用编辑器 ...

神话时代神力造成伤害是god power定义,应该不用质疑的,也许还有内部代码,比如闪电风暴那个type="lightning",游戏内有代码让它随机生成单位,不过这些代码以我们的技术无法编辑就对了

编辑器放置神力试着参考一下神话时代战役,应该有释放神力的触发程序

另外这里有神话时代所有命令:https://www.aoebbs.net/AOMCode/index.html

评分

参与人数 1 食物 +1 木材 +1 钱币 +1 收起 理由
风神雷鸟 + 1 + 1 + 1 很给力!

查看全部评分

こはね发表于 2020-10-23 16:06:04
似乎是这个Invoke God Power
8S~5BZN[_W{XM44TA{E`_4Y.jpg

<Effect name="$$22483$$Invoke God Power">
<Param name="PlayerID" dispName="$$22301$$Player" varType="player">1</Param>
<Param name="PowerName" dispName="$$22451$$Power" varType="godpower">default</Param>
<Param name="DstPoint1" dispName="$$22410$$X" varType="area">0,0,0</Param>
<Param name="DstPoint2" dispName="$$22410$$X" varType="area">0,0,0</Param>
<Param name="SrcObject" dispName="$$22295$$Source Units" varType="unit">default</Param>
<Command>trUnitSelectClear();</Command>
<Command loop="" loopParm="SrcObject">trUnitSelect("%SrcObject%");</Command>
<Command>trTechInvokeGodPower(%PlayerID%, "%PowerName%", vector(%DstPoint1%), vector(%DstPoint2%));</Command>
</Effect>

こはね发表于 2020-10-24 00:34:09
Invoke God Power使用方法是先用Grant God Power获得神力

1.jpg

然后设定Invoke God Power范围,以及释放的神力
2.jpg

像闪电风暴、陨石、森林之火这些技能还要有视野才能释放
KJE%ZQQA81YI[GRRV73RP7O.jpg
  • 末晴天o6 : 大大您好,我是萌新,看到您把神話時代的閃電風暴(那個畫面視覺效果看的就舒服)移植到世紀3,我也好想學啊4種神力 閃電風暴 大地怒吼 隕石雨 龍捲風 都好想抓來用(貪心了)
  • こはね 回复 末晴天o6 : 问题是陨石那种粒子特效我做不出来
跳转到