当前位置:文档之家› 家园2修改

家园2修改

一、飞船修改
------步骤1:
把家园2的data包复制入homeworld2 安装程序主目录下(是要其中的Date文件夹的内容补充到现有Date文件夹 里去)
然后是很重要的一步.
在游戏主程序的快捷方式右键点击-属性-快捷方式-目标-
在目标末尾添加 " -overrideBigFile" 注意在-的前面到地址的最后有一个空格

------步骤2:
到你刚刚解压缩进文件的 /Homeworld2/Date/ 文件夹里.看见了多出不少东西吧?找到 Ship 文件夹,打开它.
这时候你会发现里面有很多个包含名称的文件夹,全是英文的.看不懂?不要紧,下面的内容会帮助你.


************************************分割线********************************************

希拉格
船坞-------------------hgn_shipyard
母舰-------------------hgn_mothership
侦察机-----------------hgn_scout
战斗机-----------------hgn_interceptor
轰炸机-----------------hgn_attackbomber

护航炮艇---------------hgn_assaultcorvette
脉冲炮艇---------------hgn_pulsarcorvette
布雷艇-----------------hgn_minelayercorvette

鱼雷护卫舰-------------hgn_torpedofrigate
防空炮护卫舰-----------hgn_assaultfrigate
离子炮护卫舰-----------hgn_ioncannonfrigate
登陆舰-----------------hgn_marinefrigate
防御场护卫舰-----------hgn_defense fieldfrigate

驱逐舰-----------------hgn_destroyer
战列巡洋舰-------------hgn_battlecruiser
航母-------------------hgn_carrier

火炮平台---------------hgn_gunturret
离子炮平台-------------hgn_ionturret

采矿船-----------------hgn_resourcecollector
采矿精练船-------------hgn_resourcecontroller

探测器-----------------hgn_probe
电子对抗感应器---------hgn_ecmprobe
临近感应器-------------hgn_proximitysensor

船坞(剧情)-----------hgn_shipyard_elohim
船坞(剧情)-----------hgn_shipyard_spg
超太空核(剧情)-------hgn_hscore
无畏舰(剧情)---------hgn_dreadnaught
运输船(剧情)---------sp_tanker-sp_tanker6
============================================================
先祖
雄峰战机---------------kpr_attackdroid
守护者-----------------kpr_destroyer
漫步者-----------------kpr_mover
萨尤卡-----------------kpr_sajuuk
萨尤卡(遗迹)---------kpr_sajuuk_nosensors
============================================================
伟格
母舰-------------------vgr_mothership
船坞-------------------vgr_shipyard

侦察机-----------------vgr_scout
战斗机-----------------vgr_interceptor
轰炸机-----------------vgr_bomber
长枪战机---------------vgr_lance fighter

激光炮艇---------------vgr_lasercorvette
指挥艇--------------- vgr_commandcorvette
布雷艇-----------------vgr_minelayercorvette
导弹护航艇-------------vgr_missilecorvette

突袭舰-----------------vg

r_assaultfrigate
导弹护卫舰-------------vgr_heavymissilefrigate
渗透舰-----------------vgr_infiltratorfrigate

驱逐舰-----------------vgr_destroyer


战列巡洋舰-------------vgr_battlecruiser
航母-------------------vgr_carrier

采矿船-----------------vgr_resourcecollector
采矿精练船-------------vgr_resourcecontroller

跳跃门-----------------vgr_hyperspace_platform
火炮平台---------------vgr_weaponplatform_gun
导弹平台---------------vgr_weaponplatform_missile

探测器-----------------vgr_probe
电子对抗感应器---------vgr_probe_ecm
临近感应器-------------vgr_probe_prox

指挥中心(剧情)-------vgr_commstation
指挥中心废墟(剧情)---vgr_prisonstation
行星杀手(剧情)-------vgr_planetkiller
行星杀手鱼雷(剧情)---vgr_planetkillermissile
马坎旗舰(剧情)-------vgr_mothership_makaan




根据以上内容找到你要改的文件夹,进入.例如我现在要修改希格拉的战巡hgn_battlecruiser 那么就到Homeworld2

\Data\Ship\hgn_battlecruiser里面去.



************************************分割线********************************************

------步骤3:

用记事本打开.ship结尾的文件.例如我现在用记事本打开hgn_battlecruiser.ship
那么我们修改什么那?那么多数据.别急,先看看我们在任务的时候需要修改哪些属性:


maxhealth 血/防御力/装甲..(你爱怎么称呼都可以啦)

dustCloudDamageTime 在被激星尘中的生存时间 (这就是你一定要用防御场护卫舰或者是漫步者的原因)

nebulaDamageTime 在辐射星云中的生存时间 (同上)

addShield(NewShipType,“EMP“,10000,20) 是否可以被EMP瘫痪(除非你很喜欢船在那里被呆呆挨打,那么你可以不改)

addAbility(NewShipType,“CanBeCaptured“,300,0.1) 能否被捕捉(不想要敌人开着你的无敌战舰到处游荡吧?)






NewShipType.maxhealth = 460000

这是一行HP的参数,=后面的数字越大当然就越好.不过注意,当它是10位数之后就没有必要继续增加了..因为此时游戏了装甲

显示为负数!(完全无敌了)不过就算只有5为数,只要不被战巡轰到一般也不会有问题.
PS:别改错阵营了= =|| 同理敌人的血改成1也很好啊~~






NewShipType.dustCloudDamageTime = 280
NewShipType.nebulaDamageTime = 500

这2个数据如果是你的种族看到就删除这一整行!删除之后就跟漫步者在被激星云中和开了防御场护卫舰是一样的了.
PS:改维格尔的时候千万不要手软,只要把后面的时间改成1就好了,他们进去就爆炸.







addShield(NewShipType,“EMP“,10000,20)
addAbility(NewShipType,“CanBeCaptured“,300,0.1) <<----300是修改的值,越小捕捉速度越快.

整行删除,特殊修改则修改后面的数字,记得要格式对齐,

还要是正数.
PS:这2个一定要改!!因为之前忘记改了,被敌人拿3艘渗透把一艘落单的无敌战巡给拿去了...
PS2:对维格尔的船只记得把捕捉的那项改小小小,1最好



************************************分割线********************************************

-----步骤4:
运行快捷方式进入游戏


以上就是一些最最最简单的修改方法,速度修改由于涉及到许多方面,在此先不提倡.
下面总结下修改方法.
1) 许多属性可以直接在 "=" 后面改数字 另一些则改 "( )" 里的数字
2) 很多属性可以整行删除但不影响游戏
3) 遇到不清楚的属性修改方法可以先试着改一下,出现问题再还原!所以原文件记得备份好.




************************************分割线********************************************


附加资料 Ship文件说明

NewShipType = StartShipConfig()
NewShipType.displayedName = “$1544“--------------------点击舰船以后所显示的名字
NewShipType.sobDescription = “$1545“-------------------点击该单位以后所显示的说明


NewShipType.maxhealth = 460000----------------------------最大HP
NewShipType.regentime = 1000---------------------------恢复到满HP所用的时间
NewShipType.minRegenTime = 1000------------------------恢复到满HP的时间系数
NewShipType.sideArmourDamage = 1---------------------侧面装甲伤害系数
NewShipType.rearArmourDamage = 1---------------------后面装甲伤害系数
NewShipType.isTransferable = 0-------------------------可否在对战中将该单位送给友军
https://www.doczj.com/doc/c18100542.html,eEngagementRanges = 1
NewShipType.unitCapsNumber = 11
NewShipType.addedUnitCaps = 101
NewShipType.paradeData = “hgn_mothership_parade“----------阅兵列队方案
NewShipType.SquadronSize = 1------------------------------每组数量
NewShipType.formationSpacing = 60-------------------------编队之间的间隔距离
NewShipType.passiveformation = “Spear“----------------------被动模式下的阵型
NewShipType.defensiveformation = “x“------------------------防御模式下的阵型
NewShipType.aggressiveformation = “Claw“--------------------攻击模式下的阵型
NewShipType.mass = 2000----------------------------------舰船质量
NewShipType.collisionMultiplier = 1----------------------碰撞系数,跟碰撞判定有关
NewShipType.thrusterMaxSpeed = 15-----------------------侧移最大速度
NewShipType.mainEngineMaxSpeed = 15---------------------直行最大速度
NewShipType.rotationMaxSpeed = 22 ----------------------转向速度,每秒多少度
NewShipType.thrusterAccelTime = 7 -------------------------侧移加速到全速的时间
NewShipType.thrusterBrakeTime = 2 -------------------------侧移减速到0的时间
NewShipType.mainEngineAccelTime = 8 -----------------------直行加速到全速的时间
NewShipType.mainEngineBr

akeTime = 2 -----------------------直行减速到0的时间
NewShipType.rotationAccelTime = 0.75 ----------------------转向加速到全速的时间
NewShipType.rotationBrakeTime = 0.4 -----------------------转向减速到0的时间
NewShipType.thrusterUsage = 1
NewShipType.accelerationAngle = 30-----------------------加速度
NewShipType.mirrorAngle = 0
NewShipType.secondaryTurnAngle = 0
NewShipType.maxBankingAmount = 10
NewShipType.descendPitch = 10
NewShipType.goalReachEpsilon = 25-----------------------报告到达目的地时离目标的距离
NewShipType.slideMoveRange = 350
NewShipType.controllerType = “Ship“---------------------该单位是否可以被玩家控制
NewShipType.tumbleStaticX = 0
NewShipType.tumbleStaticY = 0
NewShipType.tumbleStaticZ = 0
NewShipType.tumbleDynamicX = 0
NewShipType.tumbleDynamicY = 0
NewShipType.tumbleDynamicZ = 0----------------以上6条是该单位在静止和移动中的颠簸范围
NewShipType.tumbleSpecialDynamicX = 0
NewShipType.tumbleSpecialDynamicY = 0
NewShipType.tumbleSpecialDynamicZ = 0 --------以上3条是该单位在使用特殊能力时的颠簸范围
NewShipType.relativeMoveFactor = 1------------这个变量决定相邻的两艘船在移动时的距离
NewShipType.swayUpdateTime = 10
NewShipType.swayOffsetRandomX = 10
NewShipType.swayOffsetRandomY = 10
NewShipType.swayOffsetRandomZ = 10
NewShipType.swayBobbingFactor = 0
NewShipType.swayRotateFactor = 0--------------以上6条定义该单位摇摆的幅度和偏移范围


https://www.doczj.com/doc/c18100542.html,eTargetRandom = 1---------------可否用武器随机攻击目标
NewShipType.targetRandomPointXMin = -0.1
NewShipType.targetRandomPointXMax = 0.5
NewShipType.targetRandomPointYMin = -0.3
NewShipType.targetRandomPointYMax = 0.3
NewShipType.targetRandomPointZMin = -0.9
NewShipType.targetRandomPointZMax = 0.82-----------以上6条定义对敌人追击时偏移量
NewShipType.dustCloudDamageTime = 280---------------在被激星尘中的生存时间
NewShipType.nebulaDamageTime = 500------------------在辐射星云中的生存时间
NewShipType.MinimalFamilyToFindPathAround = “MotherShip“
NewShipType.BuildFamily = “Shipyard_Hgn“------------------建造级别
NewShipType.AttackFamily = “BigCapitalShip“---------------攻击类型
NewShipType.DockFamily = “Shipyard“-----------------------建造和停泊的级别
NewShipType.AvoidanceFamily = “MotherShip“
NewShipType.DisplayFamily = “Capital“---------------------点击舰船以后显示的级别
NewShipType.AutoformationFamily = “SuperCap“--------------编队级别
NewShipType.CollisionFamily = “Big“-------------------------碰撞等级
NewShipType.ArmourFamily = “HeavyArmour“--------------------装甲类型
NewShipType.UnitCapsFamily = “Capital“----------------------人口大类里的级别
NewShipType.UnitCapsShipType = “Shi

pyard“---------------------在人口小类里面的类型
NewShipType.fightervalue = 0------------------------战机单位评估
NewShipType.corvettevalue = 0-----------------------艇单位评估
NewShipType.frigatevalue = 1------------------------护卫舰单位评估
NewShipType.neutralvalue = 5------------------------中立单位评估
NewShipType.antiFightervalue = 5------------------对该单位反战机能力的评估
NewShipType.antiCorvettevalue = 0-----------------对该单位艇能力的评估
NewShipType.antiFrigatevalue = 0------------------对该单位护卫舰能力的评估
NewShipType.totalvalue = 20-------------------------价值总评估
NewShipType.buildCost = 3500--------------------------建造消耗资源
NewShipType.buildTime = 75----------------------------建造需要的时间
NewShipType.buildPriorityOrder = 20---------------------建造优先权
NewShipType.retaliationRange = 4800-------------------主动攻击的范围
NewShipType.retaliationDistanceFromGoal = 160---------主动攻击追击未果返回的距离
NewShipType.visualRange = 1000----------------该单位在电磁屏蔽中被敌方发现的最大距离
NewShipType.prmSensorRange = 5000-------------感应器范围,能够清楚观察敌人的最大距离
NewShipType.secSensorRange = 6000-------------感应器范围,能够发现敌人的最大距离
NewShipType.detectionStrength = 1--------------能否看到隐形或者其他状态的敌人
NewShipType.TOIcon = “Triangle“---------------点击该单位显示的战术级别框
NewShipType.TOScale = 1-------------------该单位在屏幕上显示的大小比例
NewShipType.TODistanceFade0 = 7000
NewShipType.TODistanceDisappear0 = 5000
NewShipType.TODistanceFade1 = 2500
NewShipType.TODistanceDisappear1 = 2000
NewShipType.TODistanceFade2 = 12000
NewShipType.TODistanceDisappear2 = 35000-------------以上6条定义战术级别框的一些相关设定。
NewShipType.TOGroupScale = 1-------------------------组队选择参数
NewShipType.TOGroupMergeSize = 0---------------------组队选择参数
NewShipType.mouseOverMinFadeSize = 0.08500000000000001
NewShipType.mouseOverMaxFadeSize = 0.1
NewShipType.healthBarstyle = 2------------------血条的形式
NewShipType.nlips = 0---------------------------模型的显示比例值
NewShipType.nlipsRange = 10000------------------
NewShipType.nlipsFar = 0
NewShipType.nlipsFarRange = 0---------------以上3条定义模型显示(nlips)的相关设定
NewShipType.SMRepresentation = “Mesh“-----------------在星图上显示的方式
NewShipType.alwaysInRenderList = 1--------------------是否显示在星图上
NewShipType.meshRenderLimit = 32500-------------------清楚显示的最大距离
NewShipType.dotRenderLimit = 10-----------------------逐渐显示的递增参数
NewShipType.visibleInSecondary = 1
NewShipType.goblinsStartFade = 400-------

----------显示船体细节的最大距离
NewShipType.goblinsOff = 400-----------------------关闭船体细节的距离
NewShipType.upLOD = 800-----------------------------拉近开启LOD1的距离
NewShipType.upLOD = 1300----------------------------拉近开启LOD2的距离
NewShipType.upLOD = 2500----------------------------拉近开启LOD3的距离
NewShipType.downLOD = 815--------------------------拉远开启LOD1的距离
NewShipType.downLOD = 1315-------------------------拉远开启LOD2的距离
NewShipType.downLOD = 2515-------------------------拉远开启LOD3的距离
NewShipType.minimumZoomFactor = 0.5--------------近景观察尺度
NewShipType.selectionLimit = 150000----------------选择该单位的最大距离
NewShipType.preciseSelectionLimit = 3000-----------精确选择的最大距离
NewShipType.preciseATILimit = 0
NewShipType.selectionPriority = 754----------------选择该单位的优先权
https://www.doczj.com/doc/c18100542.html,itaryUnit = 0-----------------------该单位是否属于军事单位
addAbility(NewShipType,“MoveCommand“,1,0)----------可否移动;移动的次数
addAbility(NewShipType,“CanDock“,1,0)--------------停泊类。
NewShipType.dockTimeBetweenTwoformations = 1
NewShipType.dockTimeBeforeStart = 2
NewShipType.dockNrOfShipsInDockformation = 11------以上3条定义停泊过程中间隔距离等相关设定
NewShipType.dockformation = “delta“--------------------停泊阵型
NewShipType.queueformation = “dockline“----------------列队阵型
NewShipType.dontDockWithOtherRaceShips = 1
NewShipType.ignoreRaceWhenDocking = 0----------------------忽视出入坞问题,跳跃出现
addAbility(NewShipType,“CanLaunch“)------------------------能否被发射
https://www.doczj.com/doc/c18100542.html,unchTimeBetweenTwoformations = 1
https://www.doczj.com/doc/c18100542.html,unchTimeBeforeStart = 21
https://www.doczj.com/doc/c18100542.html,unchNrOfShipsInDockformation = 1-------------以上3条定义发射过程中的相关设定
https://www.doczj.com/doc/c18100542.html,unchformation = “delta“----------------------发射阵型
addAbility(NewShipType,“ShipHold“,1,0,5,“rallypoint“,“Fighter“,25,
Fighter = “12“,
})---------定义该单位是否能停泊收留单位和收留单位的类型,数量和补给的速度
addAbility(NewShipType,“ParadeCommand“,1)----------------是否有阅兵列队能力
addAbility(NewShipType,“WaypointMove“) ------------------指定路线行进能力
addAbility(NewShipType,“HyperSpaceCommand“,0,1,200,500,0,3)--------------------跳跃能力

addAbility(NewShipType,“CanAttack“,1,1,0,0,0.35,1.5,“Capturer, Frigate, SmallCapitalShip,

BigCapitalShip, Mothership, Utility, Corvette, Fighter“,“BroadSide“,
Fighter = “MoveToTargetAndShoot“
Corvette = “MoveToTargetAndShoot“
Munition = “MoveToTargetAndShoot“
SubSystem = “BroadSideVsSubSystem“
})--

-------------------------攻击能力和攻击优先级别。排在最前面攻击优先级别最高。“BroadSide“攻击方式,后面

的“MoveToTargetAndShoot“表示对付特定目标的特定攻击方式
addAbility(NewShipType,“GuardCommand“,1,3000,1000)-----------保护模式下的出击范围和追击范围
addAbility(NewShipType,“CanBuildShips“,1,“Fighter_Hgn, Corvette_Hgn, Frigate_Hgn, SuperCap_Hgn,

Utility_Hgn, Platform_Hgn, SubSystem_Hgn, SubSystemLarge_Hgn, Battlecruiser_Hgn, battlecruiser_vgr,

Shipyard_Hgn, Probe_Hgn“,“Utility, Fighter, Corvette, Frigate, Capital, Platform, SubSystemModule

, SubSystemSensors“)---------可以建造的相关类型
addAbility(NewShipType,“CanBeCaptured“,300,0.1)----------------能否被捕捉,以及捕捉时间
addAbility(NewShipType,“CanBeRepaired“)------------------------能否被修理
addAbility(NewShipType,“CloakAbility“,0,1,2000,4000,3,100,1,1000)---------隐形能力相关参数
addAbility(NewShipType,“RetireAbility“,1,0)--------------------能否回收,0是不可以
addAbility(NewShipType,“HyperspaceInhibitorAbility“,0,12000)
LoadModel(NewShipType,1)---------------------------------------舰船所用的模型
StartShipWeaponConfig(NewShipType,“Vgr_LightPlasmaLance2“,“Weapon_HullDefense1“,“Weapon_BigGun1“)-

--武器调用参数
addShield(NewShipType,“EMP“,10000,20)------是否可以被EMP瘫痪。前面一个是需要的EMP数量,后面一个是瘫痪时


StartShipHardPointConfig(NewShipType,“bcKineticBurstCannonLeft“,“HardpointProduction1“,“weapon“,“

innate“,“Damageable“,“hgn_battlecruiserkineticburstcannonleftside“,““,““,““,““,““,“

“,““,““)----模块调用相关参数
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Lrg03“,1,0.75,0,0,0,50,0,0,0,200,0,0,0,50,0,0

,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Lrg02“,1,0.05,30,-20,200,25,300,150,85,50,0,0,0,

85,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Lrg04“,1,0.05,50,40,-150,50,65,25,5,25,0,0,0,95

,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Lrg05“,1,0.05,25,10,-100,30,35,75,62,75,0,0,0,80

,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Lrg01“,1,0.05,60,30,150,25,35,125,65,75,0,0,0,60

,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Sml01“,1,0.01,80,125,60,75,125,80,65,75,0,0,0,60

,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Sml02“,1,0.01,25,0,-125,50,80,35,120,75,0,0,0

,60

,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Sml03“,1,0.01,60,95,200,50,15,200,20,125,0,0,0,

60,0,0,0,50)
SpawnSalvageOnDeath(NewShipType,“Slv_Chunk_Sml04“,1,0.01,10,60,-300,25,35,80,65,75,0,0,0,60

,0,0,0,50)------------------以上是爆炸后的残骸调用代码
NewShipType.battleScarMaxTriBase = 200
NewShipType.battleScarMaxTriInc = 300
NewShipType.sobDieTime = 8-----------------------------该单位被摧毁到消失的时间
NewShipType.sobSpecialDieTime = 1
NewShipType.specialDeathSpeed = 40
NewShipType.chanceOfSpecialDeath = 0
NewShipType.deadSobFadeTime = 0.1
NewShipType.trailLinger = 2
setEngineBurn(NewShipType,9,0.2,0.5,300,1.02,0.1,0.25,380)---------------------尾焰参数
loadShipPatchList(NewShipType,“data:sound/sfx/ship/“,0,“Hiigaran/Megaship/Engines/HShipYardEng“,““

,1,“Hiigaran/Megaship/Ambience/HShipYardAmb“,““,3,“Megaliths/RandomEmit/HANGAR_EMITTERS“,“Root

“)-----引擎相关文件,声音等


二、战役修改

操作方法如下:
1 .找到通关存档,路径例如:D:\ProgramFiles\Sierra\Homeworld2\Bin\Profiles\Profile1\Campaign\ASCENSION
2 .在文件夹Homeworld2\Bin\Profiles\Profile1\Campaign\ASCENSION中找到persist字样的文件,persist2表示第二关的起始文件,persist3表示第三关的起始文件,依此类推。用写字板打开(其他例如‘自动_02关 1 开始’的文件,用写字板打开会是乱码,不用理睬)。没有persist1,自己通第一关。
3 .这时你会发现全是英文,不要怕,具体操作参考https://www.doczj.com/doc/c18100542.html,/f?kz=76058524;简单的说修改过程你只需找到类似type = "Hgn_Interceptor"这样的句子,Interceptor是拦截机的意思,Hgn表示种族希拉格;hgn_destroyer表示希拉格的驱逐舰,用hgn_destroyer替换Hgn_Interceptor,打开游戏你会发现你的一架拦截机变成驱逐舰,其他战舰https://www.doczj.com/doc/c18100542.html,/f?kz=76058524都有,根据需要自己改,游戏会很爽。但要注意,当你没有船坞的时候不要用hgn_battlecruiser(希拉格的战列巡洋舰)替换其他战舰,主航母造不出战列巡洋舰,有冲突,游戏会直接提示任务失败
4 .要修改金钱,简单。写字板拉到最下。最后一行,RUs = 10082表示金钱10082.想改多少自己看着办,改到六位数就好,但不要改成100000....后面N个0,数字太长,游戏提示失败,我改了一个999999,绝对够用。
5 .各种族战舰目录
希拉格
船坞-------------------hgn_shipyard
母舰-------------------hgn_mothership
侦察机-----------------hgn_scout
战斗机-----------------hgn_interceptor
轰炸机-----------------hgn_attackbomber

护航炮艇---------------hgn_assaultcorvette
脉冲炮艇---------------hgn_pulsarcorvette
布雷

艇-----------------hgn_minelayercorvette

鱼雷护卫舰-------------hgn_torpedofrigate
防空炮护卫舰-----------hgn_assaultfrigate
离子炮护卫舰-----------hgn_ioncannonfrigate
登陆舰-----------------hgn_marinefrigate
防御场护卫舰-----------hgn_defense fieldfrigate

驱逐舰-----------------hgn_destroyer
战列巡洋舰-------------hgn_battlecruiser
航母-------------------hgn_carrier

火炮平台---------------hgn_gunturret
离子炮平台-------------hgn_ionturret

采矿船-----------------hgn_resourcecollector
采矿精练船-------------hgn_resourcecontroller

探测器-----------------hgn_probe
电子对抗感应器---------hgn_ecmprobe
临近感应器-------------hgn_proximitysensor

船坞(剧情)-----------hgn_shipyard_elohim
船坞(剧情)-----------hgn_shipyard_spg
超太空核(剧情)-------hgn_hscore
无畏舰(剧情)---------hgn_dreadnaught
运输船(剧情)---------sp_tanker-sp_tanker6
============================================================
先祖
雄峰战机---------------kpr_attackdroid
守护者-----------------kpr_destroyer
漫步者-----------------kpr_mover
萨尤卡-----------------kpr_sajuuk
萨尤卡(遗迹)---------kpr_sajuuk_nosensors
============================================================
伟格
母舰-------------------vgr_mothership
船坞-------------------vgr_shipyard

侦察机-----------------vgr_scout
战斗机-----------------vgr_interceptor
轰炸机-----------------vgr_bomber
长枪战机---------------vgr_lance fighter

激光炮艇---------------vgr_lasercorvette
指挥艇--------------- vgr_commandcorvette
布雷艇-----------------vgr_minelayercorvette
导弹护航艇-------------vgr_missilecorvette

突袭舰-----------------vgr_assaultfrigate
导弹护卫舰-------------vgr_heavymissilefrigate
渗透舰-----------------vgr_infiltratorfrigate

驱逐舰-----------------vgr_destroyer
战列巡洋舰-------------vgr_battlecruiser
航母-------------------vgr_carrier

采矿船-----------------vgr_resourcecollector
采矿精练船-------------vgr_resourcecontroller

跳跃门-----------------vgr_hyperspace_platform
火炮平台---------------vgr_weaponplatform_gun
导弹平台---------------vgr_weaponplatform_missile

探测器-----------------vgr_probe
电子对抗感应器---------vgr_probe_ecm
临近感应器-------------vgr_probe_prox

指挥中心(剧情)-------vgr_commstation
指挥中心废墟(剧情)---vgr_prisonstation
行星杀手(剧情)-------vgr_planetkiller
行星杀手鱼雷(剧情)---vgr_planetkillermissile
马坎旗舰(剧情)-------vgr_mothership_makaan

三、人口修改
在这里修改:Homeworld2\Data\SCRIPTS\unitcaps
如果你没有散装MOD,你自己就在DATA文件夹下新建个空文件夹,命名为SCRIPTS

再在SCRIPTS里建一个命名为unitcaps


然后进入unitcaps.新建一个LARGE.LUA的东东,用文本文档打开.
在里面填入如下2条线之间的代码
------------
UC_Family("Fighter",1000)
UC_Family("Corvette",2000)
UC_Family("Frigate",3000)
UC_Family("Capital",4000)
UC_Family("Utility",5000)
UC_Family("Platform",6000)
UC_Family("Mothership",7000)
UC_Family("SinglePlayerMisc",100)
-------------------------------
最后效果就是这样.你懂怎么改了吧?
最小人口就叫SMALL.LUA,中等叫NORMAL.LUA
任务的就叫singleplayer.lua


四、现在就可以在对战中用船坞建造sajuuk了
如果是第一次修改,要在 快捷方式 的属性中的目标栏中添加如下命令
空格-overrideBigFile
比如
"F:\Homeworld2\Bin\Release\Homeworld2.exe" -overrideBigFile

如果是xp要在Homeworld2.exe"后面加哦!不然修改无效!切忌切忌!
改完后步骤如下

1 在data目录中的ship复制kpr_sajuuk文件夹,把复制的文件夹改名为hgn_sajuuk
同时把该文件夹里面的两个文件也改名为hgn_sajuuk
这时你的ship目录中要有kpr_sajuuk和hgn_sajuuk这两个文件夹!
2 打开hgn_sajuuk中的ship文件找到
NewShipType.MinimalFamilyToFindPathAround = "MotherShip"
NewShipType.BuildFamily = "Flagship_Hgn"
NewShipType.AttackFamily = "BigCapitalShip"
NewShipType.DockFamily = "UltraCap"
NewShipType.AvoidanceFamily = "SuperPriority"
NewShipType.DisplayFamily = "Flagship"
NewShipType.AutoformationFamily = "SuperCap"
NewShipType.CollisionFamily = "Big"
NewShipType.ArmourFamily = "HeavyArmour"
NewShipType.UnitCapsFamily = "SinglePlayerMisc"
如上代码(要删除),(在相同位置)改为
NewShipType.MinimalFamilyToFindPathAround = "MotherShip"
NewShipType.BuildFamily = "Shipyard_Hgn"
NewShipType.AttackFamily = "BigCapitalShip"
NewShipType.DockFamily = "Shipyard"
NewShipType.AvoidanceFamily = "MotherShip"
NewShipType.DisplayFamily = "Capital"
NewShipType.AutoformationFamily = "CapShip"
NewShipType.CollisionFamily = "Big"
NewShipType.ArmourFamily = "HeavyArmour"
NewShipType.UnitCapsFamily = "Capital"
NewShipType.UnitCapsShipType = "Battlecruiser"

3 在该文档中找到
LoadModel(NewShipType,1)
如上代码,改为
LoadSharedModel(NewShipType,"kpr_sajuuk")
方法同上

4 在data中在进scripts文件进building and research进hiigaran文件进build添加(在最后面)
Type = Ship,
ThingToBuild = "Hgn_Sajuuk",
RequiredResearch = "",
RequiredShipSubSystems = "CapShipProduction",
DisplayPriority = 800,
DisplayedName = "$1706",
Description = "$1707",
},
{

注意和上面的代码要对齐
比如(举列)
},
{
Type = Ship,
ThingToBuild = "Hgn_Shipyard_SPG",
RequiredResearch = "",
RequiredShipSubSystems = "CapShipProduction",
DisplayPriority = 117,
DisplayedName = "$7058",
Description = "$7059",
},
{
Type = Ship,
ThingToBuild = "Hgn_Sajuuk",
RequiredResearch = "",
Re

quiredShipSubSystems = "CapShipProduction",
DisplayPriority = 800,
DisplayedName = "$1706",
Description = "$1707",
},
}

要对齐哦!不然就改不了了

5 到SHIP文件里的ICONS文件里的SHIPICONS文件里,(具体位置看举洌)

添加
Hgn_Sajuuk = {
LargeIcon = {
texture = "DATA:\\Ship\\Icons\\icon_ships.mres",
textureUV_TL = {
600,
0,
},
textureUV_WH = {
200,
64,
},
stretchOnDraw = 1,
},
}
比如(举列)

Default = { 这是第一个代码
LargeIcon = {
texture = "DATA:\\Ship\\Icons\\icon_ships.mres",
textureUV_TL = {
0,
0,
},
textureUV_WH = {
200,
64,
},
stretchOnDraw = 1,
},
} (在这个后面加入)
Hgn_Sajuuk = { (这是要加入的)
LargeIcon = {
texture = "DATA:\\Ship\\Icons\\icon_ships.mres",
textureUV_TL = {
600,
0,
},
textureUV_WH = {
200,
64,
},
stretchOnDraw = 1,
},
}

注意格式!要对齐!!!
要检查再3!


五、提取家园2单位的模型,以及在精确位置添加武器

本教程介绍如何将BIG文件解压,并提取家园2单位的模型,贴图,以及在精确位置添加武器.
所需软件: RND TOOLS, HODView1.2(或以上版本,现在最新是1.5),MAYA
以下例子假设家园2装在 c:\game\homeworld2, RND Tools已经安装,并按RND TOOLS的安装说明设好环境变量(
见安装完后的readme.txt文件).
①. BIG文件解压:
1. 将RND tools提供的Archive.exe(在..\tools\bin下) copy到
c:\game\homeworld\data下,
2. 将c:\game\homeworld\release\下的msvcp70.dll msvcr70.dll copy到
c:\game\homeworld\data下
3. 在命令行(DOS)中,执行:
cd c:\game\homeworld\data
archive -a Homeworld2.big -e c:\game\homeworld\data
②. 提取家园2单位的模型,贴图:
家园2单位文件是hod文件,可以用HODView将单位的模型,贴图提取出来.
这里以希格拉的拦截机为例,它的HOD文件位于
c:\game\homeworld\data\ship\hgn_interceptor下.运行HodView,打开hgn_interceptor.hod, 然后将左上角
Extract Options下的选项全部勾选(Extract Objects,LoD to Extract....等等).再重新打开一次
hgn_interceptor.hod.这样就可以把模型(obj文件)和贴图(dds文件)解到
c:\game\homeworld\data\ship\hgn_interceptor目录下. 在HodView右边Textures项下,可以看到各个贴图文件
,勾选Save Current Texture,并选bmp格式.然后逐个选贴图,就可以把dds文件转为bmp文件.这时,你可以在
c:\game\homeworld\data\ship\hgn_interceptor目录下看到save好的文件.
③,导入MAYA:
1.建立你的MAYA工作项目目录.
注意,在MAYA里不要使用中文名,包括路径在内.
选File\Project\New, 在Name下输入项目名,如HWmod,Location为路径.在Scenes里输入scenes,Imagaes里输
入images,Source Images里输入Sourceimage.选Accept即可.
2.导入
选File\Import,导入刚才解出的obj文件(hgn_interceptor_Root_lod0.obj).
选Window\Outliner,在Outliner里选persp相机(附

图 1,见后),ctrl+a打开相机的属性编辑窗口
(Attribute Editor),将Far Clip Plane设为1000000.选close关闭Attribute Editor.
3.指定贴图.
将在第二步解出的bmp文件copy到你的项目目录下的sourceimage目录,回到工作窗口,选择拦截机机身,留意一
下outliner窗口(附图 2)和信道栏(附图 3),会显示相应的名字(group3). 按a(快捷键).让场景里所有物体最大
化显示.
选Window\Hypershade打开材质编辑窗口(Hypershader),在确保已选择group3的状态下,按附图中4所指示的按
钮,就会显示group3的材质phong3(附图 5).用资源管理器(或acdsee)找到Hgn_Interceptor_LOD2_EXPORT
[2].BMP,将它拖放到Hypershade窗口里phong3节点旁,这时会自动建立一个贴图节点(附图 6),用中键(没有中键
的可用ctrl+左键)将拖到phong3上,这时会出现连接提示,选color(附图 7).
回到工作窗口,按6,就会以实体带贴图的模式显示.(按4,是以网线模式显示,按5是以实体模式显示).
4.确定新增hardpoint的精确位置.
选Create\Locator建立一个虚拟物体locator1,附图中8里的图标会别为移动,旋转,缩放,选移动.将locator1移
动到你想增加武器的位置,这时,在信道栏(附图 9)处可以看到它的坐标. Translate为位置,Rotate为旋转.它与
hardpoint的数值一一对应.如:以下是希格拉的拦截机的Weapon_FrontGun hardpoint的结构:
Weapon_FrontGun_Position
Root
0.577608 -0.606758 7.028312 对应于maya里的Translate值
0.000000 0.000000 0.000000 对应于maya里的Rotate值,但这里的单位为弧度,
即是Rotate值除57.
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun_Muzzle
Weapon_FrontGun_Position
0.000000 0.000000 0.000000
0.000000 0.000000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun_Rest
Weapon_FrontGun_Position
0.000000 0.000000 4.803081
0.000000 0.000000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun_Direction
Weapon_FrontGun_Position
0.000000 3.679605 0.091561
0.000000 0.000000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
增加hardpoint,主要是确定translate,rotate的数值就行了,即hier文件中_Position处的数值,而
Muzzle,Rest,Direction的数值不用修改,直接copy到新增hardpoint的
_posttion下即可,如
Weapon_FrontGun2_Position
Root
0.5 2 7 对应于maya里的Translate值
0.000000 0.000000 0.000000 对应于maya里的Rotate值,但这里的单位为弧度,
即是Rotate值除57.
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun2_Muzzle
Weapon_FrontGun2_Position
0.000000 0.000000 0.000000
0.000000 0.000000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun2_Rest
Weapon_FrontGun2_Position
0.000000 0.000000 4.803081
0.000000 0.00

0000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439
Weapon_FrontGun2_Direction
Weapon_FrontGun2_Position
0.000000 3.679605 0.091561
0.000000 0.000000 0.000000
1.000000 1.000000 1.000000
0.000000 0.000000 0.000000
-872349439

确定了hardpoint后,可以用hmanager将它加到hod文件里,详细可看《hardpoint添加方法》

不熟悉MAYA的朋友可以看看 MAYAv4.5完全手册【基础教程篇】篇.pdf里5应用MAYA操作一节的内容.

六、missile导弹,鱼雷文件参数说明


NewShipType = StartMissileConfig()
NewShipType.displayedName=“$1558“
NewShipType.sobDescription=“$1559“
NewShipType.TOScale=1
NewShipType.TODistanceFade0=7000
NewShipType.TODistanceDisappear0=5000
NewShipType.TODistanceFade1=350
NewShipType.TODistanceDisappear1=300
NewShipType.TODistanceFade2=25000
NewShipType.TODistanceDisappear2=12000
NewShipType.TOGroupScale=1
NewShipType.TOGroupMergeSize=0
NewShipType.mouseOverMinFadeSize=0.045
NewShipType.mouseOverMaxFadeSize=0.1
NewShipType.maxhealth=40---------------------------------------装甲
NewShipType.regentime=0
NewShipType.sideArmourDamage=1---------------------------------侧面伤害系数
NewShipType.rearArmourDamage=1---------------------------------背面伤害系数
NewShipType.maxShield=0
NewShipType.shieldRechargeTime=0
NewShipType.nlips=0.0004
NewShipType.nlipsRange=75000
NewShipType.nlipsFar=0.0005
NewShipType.nlipsFarRange=100000
NewShipType.SMRepresentation=“Invisible“
NewShipType.meshRenderLimit=4000
NewShipType.dotRenderLimit=4000
NewShipType.minLOD=0.2
NewShipType.upLOD=300------------------------------------------拉近开启LOD1的距离
NewShipType.upLOD=500------------------------------------------拉近开启LOD2的距离
NewShipType.downLOD=305----------------------------------------拉远开启LOD1的距离
NewShipType.downLOD=500----------------------------------------拉远开启LOD2的距离
NewShipType.minimumZoomFactor=0.55
NewShipType.selectionPriority=30
NewShipType.weaponName=“Hgn_TorpedoLauncher“-------------------名称描述(唯一的)
NewShipType.lifeTime=20----------------------------------------发射之后的生存时间
https://www.doczj.com/doc/c18100542.html,unchTime=0---------------------------------------发射的时间
NewShipType.detectionDistance=1000-----------------------------失去目标后的搜索范围
NewShipType.clusterDistance=750--------------------------------距离目标多远处释放下一级导弹
NewShipType.numberSubMunitions=4-------------------------------下一级导弹的数量
NewShipType.subMunitionName=“Hgn_ClusterTorpedoB“--------------下一级导弹的名称
NewShipType.clusterAngle=65
NewShipType.proximityDetonationDist=85--------------------------爆炸范围
NewShipType.sobDieTime=0.5
NewShipType.density=1
NewShipType.thrusterMaxSpeed=250-------------------------------侧移最大速度
NewShipType.mainEngineMaxSpeed=250-------------------------

----直行最大速度
NewShipType.rotationMaxSpeed=260-------------------------------转向速度,每秒多少度
NewShipType.thrusterAccelTime=3--------------------------------侧移加速到全速的时间
NewShipType.thrusterBrakeTime=3--------------------------------侧移减速到0的时间
NewShipType.mainEngineAccelTime=3------------------------------直行加速到全速的时间
NewShipType.mainEngineBrakeTime=3------------------------------直行减速到0的时间
NewShipType.rotationAccelTime=0.6------------------------------转向加速到全速的时间
NewShipType.rotationBrakeTime=0.6------------------------------转向减速到0的时间
NewShipType.thrusterUsage=0.5
NewShipType.accelerationAngle=60-------------------------------加速度
NewShipType.mirrorAngle=30
NewShipType.maxBankingAmount=85
NewShipType.descendPitch=0
NewShipType.goalReachEpsilon=5
NewShipType.controllerType=“Missile“
NewShipType.slowdownFactor=0.5
NewShipType.tumbleStaticX=0
NewShipType.tumbleStaticY=0
NewShipType.tumbleStaticZ=0
NewShipType.tumbleDynamicX=0
NewShipType.tumbleDynamicY=0
NewShipType.tumbleDynamicZ=0
NewShipType.tumbleSpeed=0
NewShipType.targetAngle=5------------------------------------------弹体摆动幅度
NewShipType.spiralsPerSecondMin=0.5
NewShipType.spiralsPerSecondMax=0.6
NewShipType.BuildFamily=“NotBuildable“
NewShipType.AttackFamily=“UnAttackable“----------------------------攻击类型
NewShipType.DockFamily=“CantDock“
NewShipType.AvoidanceFamily=“DontAvoid“
NewShipType.DisplayFamily=“Munition“
NewShipType.AutoFormationFamily=“Fighter“
NewShipType.ArmourFamily=“Unarmoured“------------------------------装甲类型
LoadHODFile(NewShipType,1);
setEngineTrail(NewShipType,0,15,“trail_ribbon.tga“,0.2,0.5,0.025,8);-----------------尾焰参数
setEngineBurn(NewShipType,15,0.5,1,15,0,0.7,0.2,25);
loadShipPatchList(NewShipType,“data:sound/sfx/ship/hiigaran/NonMilitary/Engines/“,0,“HTorpedoEng“);

注:导弹拖尾效果的长度和setEngineTrail(NewShipType,0,10,“trail_ribbon.tga“,0.2,0.5,0.025,8)里面第3个参数有关,例如上面那个10。8 雾化效果

七、家园2,武器 .weapon参数说明
以离子炮为例子
StartWeaponConfig(NewWeaponType,“Gimble“,“InstantHit“,“IonBeam“,“Normal “,0,4000,0,4,2,0,20,0,1,7,0,0,0,0,0,0,0.1,“Normal“,0,0,1000)
AddWeaponResult(NewWeaponType,“Hit“,“DamageHealth“,“Target“,2200,2200,““) 最后的2200,2200是攻击力
AddWeaponResult(NewWeaponType,“Hit“,“Push“,“Target“,-100,-100,““)
setPenetration(NewWeaponType,30,1,{---------设置武器对防御场的穿透概率、武器对各种装甲的伤害系数(总)。
PlanetKillerArmour = 0,-------------------对各种装甲的伤害系数
},{
SubSystemArmour = 0.3


},{
ResArmour = 0.2,
})
setAccuracy(NewWeaponType,1,{---------------设置对各种类型舰只的命中率(总)
Fighter = 0.1,,{---------------设置对各种类型舰只的命中率
},{
Corvette = 0.08,
},{
munition = 0.1,
})
setAngles(NewWeaponType,6,0,0,0,0)-----可以射击的有效角度,左转角度,右转角度,下俯角度,上仰角度。其中左转和下俯角度为负值。如果设为正值(+30)则炮台的初始角度反向调整30度;其他参数反之亦然


StartWeaponConfig
下的括号里的内容(已逗号间隔)分别是
1- ---------------------武器描述头文件。
2- ---------------------武器的类型
3- ---------------------武器的开火类型
4- ---------------------武器调用的特效代码
5- ---------------------武器的升级类型(
6- ---------------------武器速度,光线武器是0
7- ---------------------武器射程
8- ---------------------杀伤半径,如防空炮杀伤半径
9- ---------------------子弹存在时间,这里是光线持续时间
10- --------------------离子武器开始开火到离子光束真正发射出的时间
11- 发射的时候导弹的弹射出机舱的方向。例如H的鱼雷是向前发射的,而V的BC上的导弹是向上弹射的。(0,向前)
12- max Effects Spawned 可能是视觉效果相关的
13- Use Velocity Pred
14- ---------------------是否在开火前确认弹道上没有友军,否则可能会打到自己人。
15- ---------------------两次开火的中间间隔时间
16- ---------------------每次开火持续射击时间
17- ---------------------每轮射击完成之后等待时间
18- ---------------------是否在无法射击主要目标时自动射击次要目标
19- ---------------------是否在无法射击主要目标时射击周围邻近的敌人
20- --------------------方位角速度
21- --------------------方位角速度
22- speedMultiplierWhenPointingAtTarget - when the weapon is over the target ship it’s speed is modified by this, use 〈 1 to make beams sweep slowly over the target
23- --------------------
24- ---------------------是否主动追击射击范围外的敌人
25- ---------------------是否先执行武器动画才可以开火(例如开启仓门)
26- ---------------------低于此数字的HP的时候光线武器穿透目标

八、武器终极修改教程

本篇不涉及hardpoint的添加,改变已有的舰船模型,只在已有的DATA的基础上对武器进行修改。
家园2的武器总体上可以分为三类:光线类武器,射击类武器,导弹类武器。它们各自的特点决定武器的属性,因此我们在修改时常常不能随心所欲。我写这篇教程就是想要解决一些困惑大家很久的问题。

基础篇:

最简单的修改就是改武器本身的参数,在戴阿米德航空航天署的参数帖中有详细的描述。这样修改只能改本身武器的攻击

力,射击距离,连续射击的能力等。但是要注意:
setPenetration(NewWeaponType,100,1,{
PlanetKillerArmour = 0, (行星杀手装甲)
},{
SubSystemArmour = 0.3, ( 子系统装甲)
},{
MediumArmour = 0.5, (中型装甲)
},{
HeavyArmour = 2, (重型装甲)
})
setAccuracy(NewWeaponType,1,{
Fighter = 0, (战机级 )
},{
Corvette = , (护航机级)
},{
munition = 0.1, (资源船级)
})
setAngles(NewWeaponType,0,-180,180,-30,60)
(1)每种武器都有对不同装甲的杀伤系数,直接改对装甲的伤害系数就可以提高武器的攻击力,而在游戏的攻击力栏目数值不变。
(2)每种武器都有对不同级别敌人射击精确度,设置0就表示不攻击,1就表示精度为百分之百。越大越精确。
(3)最后5个数值就是本武器的射击范围,第2,3表示在水平面上面的可转动度数;4,5表示垂直面的。第一个数值是水平和垂直的综合,在不转动的情况下的射击角度。如果设成180,那么后面的都没有意义了,不转动就可以做到全(球)面攻击!

中级篇:

首先要熟悉每种船的名称,和它们的武器名称,性能和效果。在游戏中看到哪个船的武器好就让自己的船发射本不属于自己的武器。说明白点,就是用武器的调用来实现发射不同武器。通过观察发现:在家园2里面武器发射口有活动的和固定的两种,炮台和炮塔类是活动的可以旋转;鱼雷导弹发射口和炸弹发射口一般是固定的,不能旋转。还有一种看不到发射口的近身防空小炮(枪),它也是旋转的,但是活动范围很有限。
weapon文件夹里面的武器都分为以下三种:
(1)Gimble :光线武器,防御小炮和机枪大多都是这一类型。可以发射InstantHit(瞬间),和Bullet(子弹)类型;
(2)AnimatedTurret:所有可以转动的炮口,也可以发射Bullet和InstantHit两个类型;
(3)Fixed:导弹和鱼雷发射口专用的。
了解武器的类型就可以做到在调用的时候不会出现错误而死机跳出。
具体做法就是:直接调用相同的武器类型。不同的类在调用的时候可能会出现不能发射,没办法瞄准或者干脆死机。
以H拦截机interceptor为例,我很崇拜sajuuk的主炮,sajuukheavycannon跟拦截机武器kineticautogun同是Gimble类型,因此可以调用sajuuk的主炮到拦截机上面:
进入ship\hgn_interceptor\hgn_interceptor.ship
看到关于武器的那行StartShipWeaponConfig(NewShipType,“hgn_kineticautogun“,“Weapon_FrontGun“,“Fire“)
改为
StartShipWeaponConfig(NewShipType,“kpr_sajuukheavycannon“,“Weapon_FrontGun“,“Fire“)
保存退出,进入游戏就可以看到效果。
同样的修改方法可以应用的所有的武器上面,

只要是相同类型的武器之间就可以放心的调用而不会出问题!
注意,这个修改还可以变通一下,H重巡的激光主炮battlecruiserturretedioncannon虽然是AnimatedTurret类型,但是同sajuukheavycannon一样是光线武器,光线武器可以在Gimble类型发射,因此所有的光线武器都能在Gimble类型发射。还包括hgn_pulsar,hgn_pulsarside等。
同上原理,AnimatedTurret类型也可以发射所有Bullet和InstantHit两个类型的所有武器。但是不同的是当AnimatedTurret类型的发射口发射属于Gimble类型的武器时会出现无法移动炮口瞄准的情况。直接调用的时候要避免。

高级篇:

简单的在SHIP文件里面调用武器显然不能够满足修改的要求,很多情况下这样的调用根本就无法使用,最终还是要在weapon下面修改。一般有两种方法:一可以改被调用的武器让它符合发射的条件;二也可以干脆重新建立一个weapon文件被用来调用。在家园2里的weapon文件名称是没有限制的,大家可以尽情的创造自己喜欢的武器。任何发射口发射任何武器的规则就是:只要你调用的武器符合了发射的条件就可以了。
前面提到过的武器类型已经能做到的修改这里就不讲了,主要讲前面的方法还不能实现的:

(1)Gimble :在能发射InstantHit和Bullet类型武器的基础上发射Missile类型(导弹,鱼雷)。
方法:其实用前面提到的直接在SHIP文件里面直接调用Missile类型的武器就可以了^*^(因为不导弹不存在瞄准的问题,可以全方位发射) Gimble发射口本来就可以直接发射所有Missile类型的武器,只是在游戏中我们看不到罢了。
(2)AnimatedTurret:发射所有Missile类型武器。
用H驱逐舰做例子,把4门炮台都改为发射自己的鱼雷。
方法一: AnimatedTurret发射口发射Missile类型武器也可以用直接调用的方法,但是这样修改之后旋转炮台加载导弹发射的时候不会转动很不好看。为了让Missile类型的武器符合旋转炮台的发射条件(旋转瞄准发射),还要做如下调整:
进入weapon\hgn_destroyertorpedolauncher\hgn_destroyertorpedolauncher.wepn
将武器发射类型Fixed改为AnimatedTurret;武器参数:120,4500,0,0,0,0,1,0,1,16,0,0,1,0,0,0, 0.1,改为120,4500,0,0,0,0,1,0,1,16,0,0,1,0,120,120,0.1, ;炮台旋转角度:setAngles (NewWeaponType,179,0,0,0,0)改为setAngles(NewWeaponType,0,-180,180,-20,60)
保存后退出。 通过这个修改驱逐舰的炮台都能旋转发射鱼雷但是有个问题就是原来的鱼雷发射口也变成了旋转发射了,不再是向前弹射。
方法二: 建立一个新的导弹武器的weapon文件,然后调用。修改如下:
进入weapon文件夹,复制hgn_destroyertorpedolauncher然后粘贴

并重命名为 hgn_destroyertorpedolauncher2,进入hgn_destroyertorpedolauncher2将 hgn_destroyertorpedolauncher.wepn重命名为hgn_destroyertorpedolauncher2.wepn进入hgn_destroyertorpedolauncher2.wepn按照方法一修改具体参数。
建议大家用第二种方法修改,这样就不会破坏原武器weapon文件,而修改效果是一样的。在SHIP文件调用武器名的时候要注意用改动后的hgn_destroyertorpedolauncher2为武器名。
另外AnimatedTurret发射口发射其它非旋转类型武器都可以参考方法二来修改。

(3)Fixed:发射InstantHit和Bullet类型武器。
主要是解决无法瞄准的问题,用上面方法二就可以轻松搞定了。

用以上的方法就可以实现任何一个发射口发射任何武器了。现在再加入复数调用就可以实现一门发射口发射N种武器。
以H驱逐舰为例,给它的顶炮复数调用H重巡激光主炮和舰炮,无畏副炮和防空炮,V重巡量子炮和导弹,H离子炮,H丛集飞弹,H防空炮,。代码如下:
StartShipWeaponConfig(NewShipType,“Hgn_DestroyerTorpedoLauncher“,“Weapon_Torpedo“,“Weapon_Torpedo“)

StartShipWeaponConfig(NewShipType,“hgn_battlecruiserturretedioncannon“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“hgn_battlecruiserkineticburstcannon“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“hgn_dreadnaughtchinturret“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“vgr_bcforwardweapon“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“vgr_heavyfusionmissilelauncherbc“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“hgn_ioncannon“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“hgn_clustertorpedolauncher“,“Weapon_TurretTop“,“Weapon_TurretTop“)
StartShipWeaponConfig(NewShipType,“hgn_kineticburstcannon“,“Weapon_TurretTop“,“Weapon_TurretTop“)

StartShipWeaponConfig(NewShipType,“hgn_kineticburstcannondestroyer“,“Weapon_TurretBottom“,“Weapon_TurretBottom“)
StartShipWeaponConfig(NewShipType,“hgn_kineticburstcannondestroyer“,“Weapon_TurretFront“,“Weapon_TurretFront“)
StartShipWeaponConfig(NewShipType,“hgn_kineticburstcannondestroyer“,“Weapon_TurretBack“,“Weapon_TurretBack“)
其中vgr_bcforwardweapon,hgn_ioncannon和hgn_clustertorpedolauncher不能正常发射(它门分别属于Gimble和Fixed类型发射口,直接调用不能瞄准),需要按照方法二进行修改。大家可以试试^*^!!!


新的导弹类的添加:
如需要在missile里面添加一个vgr_heavymissile2武器文件。
首先需要vgr_heavymissile的HOD文件,拷贝到vgr_heavymissile2下面,再将vgr_heavymissile.hod 和vgr_heavymis

sile.miss和vgr_heavymissile.events重新命名为vgr_heavymissile2.hod 和vgr_heavymissile2.miss和vgr_heavymissile2.events然后在scripts/weaponfire文件夹下面添加一个vgr_heavymissile2文件夹将vgr_heavymissile.wf文件复制过来重命名为 vgr_heavymissile2即可.

新子系统武器和新船在系统栏小图的修改:
在SHIP/icons/shipicons里面修改。

修改武器的爆炸效果:
在scripts/weaponfire文件夹下面修改

双管炮火间开火间隔:
setMiscvalues(NewWeaponType,4,0.3)
前面的4是炮管退堂时间,后面的0.3是双管炮火间开火间隔

如果觉得在weapon里面修改实在是太麻烦了,干脆把子系统武器的模型直接调用到已有的武器位置使用吧。这个方法修改可就顾不到模型的美观了,推荐新手使用。
子系统武器一共有5个,在subsystem文件夹里分别是:hgn_battlecruiserionbeamturret; hgn_battlecruiserkineticburstcannon; hgn_battlecruiserkineticburstcannonleftside; hgn_battlecruiserkineticburstcannonrightside; vgr_heavyfusionmissilelauncher战列巡洋舰。
它们都是使用单独的模型因此可以添加到武器位置直接使用。
修改的时候把以下3条:
StartShipHardPointConfig(NewShipType,“HeavyFusionMissileLauncher“,“----- “,“Weapon“,“Innate“,“Damageable“,“Vgr_HeavyFusionMissileLauncherbc“,““, ““,““,““,““,““,““,““) (V巡洋舰导弹)

StartShipHardPointConfig(NewShipType,“battlecruiserionbeamturret“,“----- “,“Weapon“,“Innate“,“Damageable“,“hgn_battlecruiserionbeamturret“,““,““, ““,““,““,““,““,““) ( H巡洋舰离子炮)

StartShipHardPointConfig(NewShipType,“battlecruiserkineticburstcannon“, “-----“,“Weapon“,“Innate“,“Damageable“, “hgn_battlecruiserkineticburstcannon“,““,““,““,““,““,““,““,““) (H巡洋舰前炮) 。
中的一条写到你想改的船的SHIP文件里面,在“----”位置填写武器位置就可以了。虽然每一个武器位置都可以同时加几个子系统武器的模型,但是没有必要,因为被别的模型覆盖了就不能完全发射了。〉;
武器位置在每个SHIP文件里面找到如:StartShipWeaponConfig(NewShipType,“Hgn_KineticAutoGun “,“Weapon_FrontGun“,“Fire“)中的“Weapon_FrontGun“,将它代入上面的3条代码写入SHIP文件就可以了。

九、要修改家园2资源吗?告诉你一个好方法,下载个金山游侠,打开,然后打开游戏,进入游戏,按键弹出游侠界面,输入你的当前资源数的4倍数(比如你资源10,搜索栏你就输入40)然后搜索,会出来好几千个,别管他,点击游侠界面的回到游戏,用点资源,再用上边的方法搜一遍,这次也就出来一

两个结果,双击打开结果,名称栏选择金钱,下边一般默认是四字节,中间栏你输入20000,右边选择手动修改(没试自动,自动就是永远都是20000,花不完),然后确定,第二次出1-3个结果,都要双击修改,修改完成后回到游戏,哇,资源变20000了,你就可劲造兵吧~

相关主题
文本预览
相关文档 最新文档