找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: secondwtq

【现在进行时和将来完成时】Ares教程翻译工程进行中...

 火.. [复制链接]
头像被屏蔽
发表于 2011-2-25 21:05:12 | 显示全部楼层
1.在Ares中图标可以CameoPCX=forcabicon.pcx
那么类比上面可不可以
File.LoadScreenPCX=ls800france.pcx
2.在Ares中飞机可不可以对空?
3.在Ares中新导弹怎么定义?
4.在Ares中杀敌赏金是否还有?
回复

使用道具 举报

头像被屏蔽
发表于 2011-2-28 18:13:55 | 显示全部楼层
1.好像有,但是不是pcx。
2.可以
3.不知道
4.不知道,但是应该有。
回复

使用道具 举报

 楼主| 发表于 2011-3-19 08:16:27 | 显示全部楼层
本帖最后由 secondwtq 于 2011-3-19 08:21 编辑

首先,怕鸟文的请自觉滚出去。

Ares on MOD新手必读:
10.要知道什么是NP。第2条已经说过了,TS作为一种落后的引擎,它本身是不适合现在的MOD的。有着诸多的限制和缺陷。不能新增国家,不能新增阵营,不能新增超武......这些在现代MOD上很常见的功能,在过去却是不可能。直到有一天,一位名叫pd的神人不知用什么方法对引擎进行了破解(我怀疑是汇编),于是诞生了RP平台,后VK又发展为NP平台。其历史我会在后面细说。NPSE0022和NPAE0011是目前应用最广泛的两个版本。几乎所有MOD都要使用它们。
注意,使用NP时,所有的相关工作,PD、VK和各位MODER已经为我们做好了。我们所要做的仅是下载下来,把那些文件复制到游戏目录中去,覆盖,然后按照已经汉化了的帮助文件使用。和原来的引擎相比,没啥两样,只是多了些功能罢了。

NP的历史:先是神人pd破解了gamemd.exe(别看这游戏这么大,基本全是素材,引擎仅仅是一个不到6MB的gamemd.exe),并发布了RockPatch引擎。后来做到了貌似是1.08版,因为种种原因退隐了,由其合作伙伴VK继续开发。没开发几个版本,VK要另立门户的样子,弃RockPatch之名改用NPatch(NewPatch),目前最新版本是NPAE0011。且说那pd,前几年又复出了。还纠集了Renegade、DCoder等一班人马。因为据说RP和NP仅限于解开原平台的限制,所以功能有限且可能开发难度越来越大,已经没有了发展空间,所以pd他们便开始开发Ares(战神)项目(又称RP2,即RockPatch2)。他们找到了一个新的方法,即在游戏启动时,利用DLL注入技术,将代码注入到原gamemd.exe中,所以说Ares可以无限扩展,且由于此项目免费开源,所以能够获得有能力的MODER们更直接更有用的支持(不解释)。Ares开发组在2010年5月中旬发布了Ares第一版,在6月底发布了第一版第一补丁。由于Ares发布时间不长,功能也不成熟,虽然有一些功能NP没有实现,但NP的某些功能Ares也不能实现。所以目前除了MO3.0(心灵终结3)之外,至少是在国内,我连一个使用Ares的MOD的计划都没看到。不过我想更主要的原因,是Ares的帮助文件和Ares开发组提供的相关资料全部是鸟文的,且目前没有中文翻译,国内相当一部分MODER,都在等着翻译吧!
Ares官方网站:http://ares.strategy-x.com/

在阅读此教程之前,请参照上面两段文字。

1.Ares的原理:Ares通过将DLL中的代码注入gamemd.exe的方法,代替原来强制修改原文件的方法。因此Ares的启动比较特殊。(更详细原理请参照上文及Ares官方提供的资料)

2.Ares的下载:截止2010年8月18日,Ares目前在SVN上的最新版本为0.1.767,最新发布版为0.1 P1,可在Ares官方网站获取其文件及教程。

3.玩家运行Ares需要的条件:
(1)原版YR1.001(目前网上有大量盗版(废话网上怎么可能有正版)YR使用的gamemd.exe不符合标准,所以Ares不能启动)
(2)Micro$oft Visual C++ 2008 运行库
(3)建议使用M$的XPSP3或更高版本的系统。

4.Ares文件介绍:
Ares.dll:Ares最主要的文件。
Ares.dll.inj:貌似是个函数列表之类的东西,用于给Syringe.exe做参考。
Syringe.exe:注射器,用于把DLL注入程序中。
Ares.mix:里面只有一个Ares.csf,貌似是为其提供一些字符串,你可以选择把其中的内容合并到ra2md.csf中去。

5.Ares的运行:
当你把Ares文件拷贝到游戏目录下后。

Ares运行的基本命令行是:
Syringe.exe "gamemd.exe"

这个命令行后可以加参数。

比如我要窗口化运行,就可以输入:
Syringe.exe "gamemd.exe" -win

可是这样的启动方法有点麻烦。

官方推荐的启动方法是使用Marshall开发的Launch Base,即外国版的MOD管理器,貌似比国内的MOD管理器强大许多。

但是,经 LH_Mouse 测试得出,这个Launch Base在中国应用存在三大问题:
(1)Launch Base不支持中文。
(2)中文的YR1.001被认为是1.000,导致无法启动mod。
(3)不支持免CD破解的主程序。

所以,这个Launch Base不符合中国国情,“国内还是用MM吧”

为了Ares在中国的应用,我开发了一个运行工具,用其作为MOD的启动文件可以免命令行启动。

同样,这个工具也能自定义命令行。

同样假设窗口化启动游戏:
ra2md.exe -win

这个工具在MOD管理器和浩方中均测试通过,大家可放心使用。

注意:gamemd.exe必须是1.001原版,不支持NP或其他版本的EXE。否则会失败。
无论Ares启动成功与否,Syringe.exe都会在目录下生成一个syringe.log文件,记录启动过程,方便查错。

6.Ares的教程
目前还米有全中文的比较全面的Ares教程。官方提供的,大家只能凑合着看了哈。。。。。。
Nuke和我会尽力翻译,这的确是个长期工程。(从头到尾勉强不求甚解地看一遍都需要半天。。。。。。翻译。。。。。。)
回复

使用道具 举报

 楼主| 发表于 2011-5-9 13:48:46 | 显示全部楼层
本帖最后由 secondwtq 于 2011-5-10 13:02 编辑

另91L的问题,赏金功能目前正在开发,基本框架已经有了,剩下的就是测试和开发组那帮懒蛋的BUG修复问题...
回复

使用道具 举报

 楼主| 发表于 2011-5-10 13:03:25 | 显示全部楼层
光棱传递已经基本翻译完成!

光棱传递(Prism Forwarding)

如果我没记错的话,WW的RA2 Pre Release预览图中,有一张是天启进攻白宫,光棱塔和E1反抗。Ares在建筑上实现了光棱传递逻辑的微观自定义和增强。

注意:如果你仅仅想复刻RA2 Pre Release预览中的光棱塔效果,只需要在[ATESLA]小节中设置PrismForwarding.MaxChainLength=3,或者任何你想的支持塔数目,-1为无限。

[BuildingType]→PrismForwarding= (enumeration - yes|no|forward|attack)

设置这个建筑是否使用光棱塔传递逻辑(以下简称PF或PF逻辑),以及使用何种逻辑。

PrismForwarding=forward 这个建筑使用PF逻辑,但是仅仅可以给其他塔提供能量,不能攻击。
PrismForwarding=attack 这个建筑使用PF逻辑,但是仅仅可以攻击,不能履行传递职能。
PrismForwarding=yes 这个建筑使用完整的PF逻辑。
PrismForwarding=no 这个建筑与PF无关,PF相关功能将在此建筑上全部无效。

在[General]→PrismType键所指定的建筑上,此值全部设置为yes,其他建筑全部是no。

[BuildingType]→PrismForwarding.Targets= (list of BuildingTypes)

这个塔可以支持的传递目标,默认列表中仅仅包含本建筑自己。如果你想自定义并且输入了此语句,不要忘记在列表中加入建筑自己(除非特殊用途)。

[BuildingType]→PrismForwarding.MaxFeeds= (integer)

给此建筑直接提供蓄能光束的塔的数目的最大值。-1即为无限,默认为[General]→PrismSupportMax。

[BuildingType]→PrismForwarding.MaxChainLength= (integer)

在这座塔之前的最大连接数?-1即为无限,默认为1。
RA2 Pre Release预览中的光棱塔效果,要求这个值至少为3。

[BuildingType]→PrismForwarding.MaxNetworkSize= (integer)

表意为网络的最大规模。计算时不包括发射塔,仅仅在发射塔(也就是执行攻击的塔)上生效(意思就是由发射塔的这个值决定网络规模,提供能量的塔,无论这个值设置成多少都不妨碍)。-1即为无限,默认为[General]→PrismSupportMax。

[BuildingType]→PrismForwarding.SupportModifier= (float - multiplier)

这个和原来的[General]→PrismSupportModifier是一个道理(塔在给其他塔充能的时候的火力百分比)。在实战或测试中,攻击百分比将是简单的线性累积关系(也就是说如果有俩支持塔,在每个支持塔上均有PrismForwarding.SupportModifier=150%,那么最终的伤害计算式和结果将是150% + 150% + 100% = 400%)。默认为[General]→PrismSupportModifier

[BuildingType]→PrismForwarding.DamageAdd= (integer - damage bonus)

在计算PrismForwarding.SupportModifier前的一个攻击加成。它与PrismForwarding.SupportModifier是相互独立存在的(也就是这两个可以同时用也可以只用一个)。默认为0。

注意:额。。。Ares附带了个Excellent表格,关于PF的,你可以在其中输入值来计算光棱传递网络的最终伤害。另外在某些情况下(估计说的是DamageAdd是负值)你需要控制光棱传递网络的规模,否则可能变成补血的武器。

[BuildingType]→PrismForwarding.MyHeight= (integer - leptons)

这个值与支持塔支持光束的发射目标有关,设置这个塔接收光束部位的高度(以leptons为单位)。默认为[General]→PrismSupportHeight。

[BuildingType]→PrismForwarding.ToAllies= (boolean)

这个塔是否为盟友塔充能。默认为no。

注意在较长的光棱传递网络中,这个塔的所属方必须与攻击塔和目标塔是同盟。

[BuildingType]→PrismForwarding.BreakSupport= (boolean)

这个塔是否可以在充能正式进行前拒绝对其他塔充能的行为(然后执行攻击其他目标任务而不是充能)。当然如果这个塔碰到了这种情况而停止充能,光束不需要重新蓄能(意思就是只是目标变了,ROF仍然不会重新计算)。默认为no。

[BuildingType]→PrismForwarding.ChargeDelay= (integer - frames)

注意:本功能仅供高级用户使用!
此标签仅为测试而生。
简单的说就是在一个光棱传递网络中,从头到尾的光棱塔从收到充能命令到正式开始充能的延迟时间,不设置那么整个网络中的光束将会同时出现同时消失。这个标签的值的单位是帧,最小值以及默认值均为1,1的值造成的延迟非常小几乎可以忽略,除非网络确实很大。增大此值将会增加网络工作的时间,不建议修改。

[BuildingType]→PrismForwarding.Intensity= (integer - laser thickness)

这个标签控制在光棱传递网络中光束粗细的增长值(经测试发现效果不是很明显)。默认一个被支持的攻击塔武器将会获得5的LaserThickness值。如果改变了这个标签的值,Ares将取其绝对值使用。
绝对值是正值的值,Ares将会依赖于光棱传递网络中传递链的塔数目确定激光大小。
PrismForwarding.Intensity=1时,光棱传递网络最末端(也就是第一个支持塔)将没有光束大小加成,下一个将有1的加成,再下一个是2......

[BuildingType]→Overpowerable= (boolean)

在原版中,一个正在开火的光棱塔只使用其Primary开火,Overpowerable标签是无效的。Ares允许光棱塔使用Overpower逻辑。注意在支持塔上不会有任何效果。

[BuildingType]→PrismForwarding.SupportWeapon= (weapon)

在原版INI中,[PrismSupport]这个武器从未被以特殊形式直接引用(也就是说Ares开发组貌似说原版PF的支持武器是内定),[ATESLA]的副武仅仅是确定光棱传递的最大射程。
Ares允许你微观自定义支持武器(其实就是增加了几个可以自定义的属性,本质貌似和原版PS一样,有空分析下源代码)。

当然某些情况下设置这个是不必要的,因为Ares会帮你设置默认的。

[BuildingType]→PrismForwarding.EliteSupportWeapon= (weapon)

升级后的支持光束武器...默认为PrismForwarding.SupportWeapon。
回复

使用道具 举报

 楼主| 发表于 2011-5-10 13:04:03 | 显示全部楼层
自定义支持光束

需要注意的是,PrismForwarding.SupportWeapon指定的武器,并不是一般意义上的“武器”,而且它从未真正开过火。这个武器的作用是给PF系统提供参数。另外,下面说明中所指的默认值,是指在不定义PrismForwarding.SupportWeapon时PF系统使用的默认值,如果一个新的SupportWeapon与一个PF系统建立了引用关系,那么这个武器将使用其他武器系统的默认值。
另外不建议使用原版[PrismSupport]武器作为模板来修改,要定义新的SupportWeapon,建议使用下面提供的模板。

[PrismForwarding.SupportWeapon]→Range= (integer - cells)

指定使用这个武器的PF塔可以给其他塔充能的最大距离,-2即为无限。
如果没有指定PrismForwarding.SupportWeapon,那么这个值将默认为PF塔的主武器射程+1(据说这1的加成与建筑本身占地有关)。

[PrismForwarding.SupportWeapon]→MinimumRange= (integer - cells)

指定使用这个武器的PF塔可以给其他塔充能的最小距离。
如果没有指定PrismForwarding.SupportWeapon,那么将不存在最小充能距离。

[PrismForwarding.SupportWeapon]→ROF= (integer - frames)

当一个支持光束被发射后,下一个支持光束发射所需的最小间隔时间。
如果没有指定PrismForwarding.SupportWeapon,那么这个值将默认为[General]→PrismSupportDelay。

[PrismForwarding.SupportWeapon]→Report= (sound)

当支持光束被发射时播放的声音。在原版中不存在这个设置。(因为充能是为了方便开火塔开火,那声音就已经...)需要注意的是当同时有大量支持光束被发射时,可能会让此音量获得巨大提高以致使开火声成为噪音,注意采取控制网络规模或谨慎选取声音等措施。
如果没有指定PrismForwarding.SupportWeapon,那么将不存在发射声音。

[PrismForwarding.SupportWeapon]→IsLaser= (boolean)

设定支持光束中是否包含激光光束,LaserDuration、IsHouseColor、LaserInnerColor、LaserOuterColor、LaserOuterSpread、LaserThickness等其他激光自定义标签在这里仍然可用。
如果没有指定PrismForwarding.SupportWeapon,那么将以传统形式绘制激光(IsLaser=yes, LaserDuration=[General]→PrismSupportDuration, IsHouseColor=yes, LaserThickness=3)

[PrismForwarding.SupportWeapon]→IsElectricBolt= (boolean)

设定支持光束中是否包含磁能波,IsAlternateColor、Bolt.Color1、Bolt.Color2、Bolt.Color3等其他磁能波自定义标签在这里仍然可用。
如果没有指定PrismForwarding.SupportWeapon,那么武器将没有磁能波视效。

[PrismForwarding.SupportWeapon]→IsRadBeam= (boolean)

设定支持光束中是否包含辐射波,Beam.Duration、Beam.IsHouseColor、Beam.Color、Beam.Amplitude等其他磁能波自定义标签在这里仍然可用。
如果没有指定PrismForwarding.SupportWeapon,那么武器将没有辐射波视效。

目前为止支持武器仅有上述设置。

例程代码:

                [ATESLA]
               
                ......
               
                PrismForwarding=yes
                PrismForwarding.MaxFeeds=1
                PrismForwarding.MaxChainLength=8
                PrismForwarding.MaxNetworkSize=10
                PrismForwarding.SupportWeapon=NewPrismSupportBeam
                PrismForwarding.Intensity=1
                PrismForwarding.BreakSupport=yes
                PrismForwarding.ToAllies=yes
                PrismForwarding.SupportModifier=150%
               
                ......
               
                [NewPrismSupportBeam]
                Range=9 ;貌似原版中是8,如果想达到原版效果就设成8吧
                ROF=45
                IsLaser=yes
                IsHouseColor=yes
                LaserDuration=15
                LaserThickness=3
                Projectile=InvisibleHigh
                Warhead=DummyWarhead

支持光束开火坐标

支持光束的开火点可以以FLH标准设置(AlternateFLH0设置新兵状态的开火点,AlternateFLH1设置三级开火点,如果其中某一个被设置为0,0,0(默认的FLH)那么这个值将自动以PrimaryFireFLH或ElitePrimaryFireFLH代替)。

一些限制

PF逻辑最好不要在可以反部署的建筑上出现——一个正在反部署的建筑在PF逻辑工作时可能会导致IE。
回复

使用道具 举报

发表于 2011-5-10 13:25:15 | 显示全部楼层
表示某轮子正在做某lab
回复

使用道具 举报

 楼主| 发表于 2011-5-10 13:30:00 | 显示全部楼层
某轮子是谁?三轮帝?
回复

使用道具 举报

发表于 2011-5-10 15:47:21 | 显示全部楼层
一个抄说明书的玩意,还是用MKLAB阵营模板改的{:5_165:}
回复

使用道具 举报

发表于 2011-5-10 17:19:56 | 显示全部楼层
某轮子是谁?三轮帝?
secondwtq 发表于 2011-5-10 13:30



    就是INI区最上面的某人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-7-30 22:45 , Processed in 0.076283 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表