1、安装目录gamedata*.scd文件为zip编码,只要更改后辍为.zip .rar即可打开。
2、后面的.bp和.lua文件用记事本即可打开。
3、修改前去掉.scd文件只读属性。
-----------------------------------------
要修改的文件为:
units.scd (所有单位蓝图,blueprint(bp))
projectiles.scd (发射物,弹头等,后面有修改核弹和战列舰主炮需要)
mods.scd (安装时官方带的3个mod,最后一个为2倍资源)
--------------------------------------------------
先来说说这个mods.scd的修改,以2倍资源来举例:
打开mods.scd(rar)modsresourcerichhookluasystemblueprints.lua
文件内容:
function modblueprints(all_bps)
local econscale = 30.0
#loop through the blueprints and adjust as desired.
for id,bp in all_bps.unit do
if bp.economy.productionpersecondmass then
bp.economy.productionpersecondmass = bp.economy.productionpersecondmass * econscale
end
if bp.economy.productionpersecondenergy then
bp.economy.productionpersecondenergy = bp.economy.productionpersecondenergy * econscale
end
end
end
将econscale符值,数字即为资源倍数。
更改后保存文件,会提示更新压缩包,确定,最后将后辍改回.scd即可游戏。
(建议只修改此mod来进行游戏,按下面方法修改单位的话,会大大减少游戏乐趣及游戏寿命,hehe~)
units.scd的修改(这个文件有650多m,改后重新压缩时间较长)
打开units.rarunits,会看到很多uab0101这样的目录:
先看我整理的我喜欢的cybran族单位目录参照
urb0101 = landfactory
0103 = naval factory
0201 = t2 landfactory
0203 = t2 naval factory
0301 = t3 land factory
0302 = tier 3 air unit factory
0303 = t3 naval factory
0304 = quantum gate
1101 = power generator
1102 = hydrocarbon power plant
1103 = tier 1 mass extractor
1104 = mass fabricator
1105 = energy storage
1106 = mass storage
1201 = tier 2 power generator
1202 = tier 2 mass extractor
1301 = power generator
1302 = tier 2 mass extractor
1303 = t3 mass fabricator
2108 = tactical missile launcher
2302 = long range artillery
2305 = strategic missile launcher
3104 = omni sensor suite
3201 = long range radar
4202 = shield generator
4302 = strategic missile defense
url0001 = commander unit
1015 = t1 engineer
0208 = tier 2 engineer
0309 = tier 3 engineer
0402 = spider bot
urs0201 = destroyer
0202 = cruiser
0203 = attack sub
0302 = battleship
0303 = aircraft carrier
0304 = strategic missile submarine
看到了么,urb****、uel****、uas****等目录,其中u就是unit,r、e、a等就是cybran,uef,aeon三族的简写,而第三位的b、l、s、a等就是building、land、sea、air的简写。
-------------------------------------------------------------------
怎么找到要修改的单位对应的目录呢?以urb4202(cybran族的护盾)为例。
打开lua.scd(rar)luamodulesbasetemplates.lua(基本模板),翻至最后,看最后几百行,:)
有这样的定义:
# cybran building list(cybran族建筑列表)
# -shield defense(护盾定义)
{
’t2shielddefense’,
’urb4202’, ----当当当当
},
# artillery structures(小二炮定义,hehe~,它的确是t2么)
{
’t2artillery’,
’urb2303’, ----当当当当
},
知道了吧,找到了吧。
打开units.scd(rar)unitsurb4202urb4202_script.lua,看上面几行注释,有gas powered程序员留下的描述:#** summary : cybran shield generator script。
如果有东西不好找,把units.scd全部解压出来,然后用windows搜索关键字。
终于到具体修改了:
urb4202(cybran族的护盾)
units.scd(rar)unitsurb4202urb4202_unit.bp (蓝图文件)
我摘其中的几段给大家,很简单的。
categories = {(种类定义)
’selectable’,
’builtbytier2engineer’,
’builtbytier3engineer’,
’builtbytier2commander’,
’builtbytier3commander’,
’cybran’,(所属种族)
’structure’,
’defense’,
’tech2’,
’shield’,
’dragbuild’,
’size12’,
’visibletorecon’,
’reclaimable’,
},
defense = {
armortype = ’normal’,
health = 50000,(生命值)
maxhealth = 50000,(最大生命值)
regenrate = 200,(回血率,就是量,200/秒)
shield = {(能量盾定义)
shieldenergydrainrechargetime = 5,
shieldmaxhealth = 4000,
shieldrechargetime = 18,(格挡后重新充能时间)
shieldregenrate = 800,
shieldregenstarttime = 13,
shieldsize = 18,
shieldverticaloffset = -3,
},(很容易懂的吧)
},
economy = {
buildcostenergy = 2000,(建造需电能,越多所需建造时间越长)
buildcostmass = 160,(建造需mass,同上)
buildrate = 10,(建造倍率)
buildtime = 60,(建造时间)
enhancements = {(此段为cy族盾的4层升级定义)
shield1 = {(层1)
buildcostenergy = 3000,
buildcostmass = 300,
buildtime = 60,
icon = ’ch-01’,
maintenanceconsumptionpersecondenergy = 200,
name = ’shield expansion 1 of 4’,
shieldenergydrainrechargetime = 5,
shieldenhancementnumber = 1,
shieldmaxhealth = 7000,
shieldrechargetime = 16,
shieldregenrate = 1400,
shieldregenstarttime = 14,
shieldsize = 22,
shieldverticaloffset = -3,
slot = ’shield’,
},
shield2 = {(层2)
buildcostenergy = 15000,
buildcostmass = 1000,
buildtime = 60,
icon = ’ch-02’,
maintenanceconsumptionpersecondenergy = 300,
name = ’shield expansion 2 of 4’,
prerequisite = ’shield1’,
shieldenergydrainrechargetime = 5,
shieldenhancementnumber = 2,
shieldmaxhealth = 10000,
shieldrechargetime = 18,
shieldregenrate = 2000,
shieldregenstarttime = 16,
shieldsize = 28,
shieldverticaloffset = -4,
slot = ’shield’,
},
shield3 = {(层3)
buildcostenergy = 30000,
buildcostmass = 1500,
buildtime = 60,
icon = ’ch-03’,
maintenanceconsumptionpersecondenergy = 400,
name = ’shield expansion 3 of 4’,
prerequisite = ’shield2’,
shieldenergydrainrechargetime = 5,
shieldenhancementnumber = 3,
shieldmaxhealth = 13000,
shieldrechargetime = 20,
shieldregenrate = 2600,
shieldregenstarttime = 18,
shieldsize = 34,
shieldverticaloffset = -5,
slot = ’shield’,
},
shield4 = {(层4)
buildcostenergy = 50000,
buildcostmass = 3000,
buildtime = 60,
icon = ’ch-04’,
maintenanceconsumptionpersecondenergy = 500,
name = ’shield expansion 4 of 4’,
prerequisite = ’shield3’,
shieldenergydrainrechargetime = 5,
shieldenhancementnumber = 4,
shieldmaxhealth = 400000,
shieldrechargetime = 3,
shieldregenrate = 4000,
shieldregenstarttime = 3,
shieldsize = 40,
shieldverticaloffset = -6,
slot = ’shield’,
},(嗯,很好理解)
再来看urb2305,cybran族的核弹:
基本属性同盾,但它是武器,看此段:
veteran = {(等级升级)
level1 = 100,(1星所需杀人数)
level2 = 200,
level3 = 500,
level4 = 1000,
level5 = 2000,(5星所需杀人数)
},
weapon = {
{
audio = {
fire = sound {
bank = ’urlweapon’,
cue = ’urb2305_missile_cruise’,
lodcutoff = ’weapon_lodcutoff’,
},
},
ballisticarc = ’ruleuba_none’,
buffs = {
{
add = {
onimpact = true,
},
appliedtotarget = true,
bufftype = ’stun’,
duration = 15,
radius = 40,
targetallow = ’allunits’,
},
},
collidefriendly = false,
countedprojectile = true,
damage = 0,
damagetype = ’normal’,
displayname = ’emp flux warhead’,
energydrainpersecond = 0,
energyrequired = 0,
firetargetlayercapstable = {
land = ’land|water’,
seabed = ’land|water’,
sub = ’land|water’,
water = ’land|water’,
},
firingtolerance = 2,(落点误差)
forcesinglefire = true,(没有试验)
initialprojectilestorage = 100,(初始(造好后)自带的弹药数)
label = ’nukemissiles’,
manualfire = 1,
maxprojectilestorage = 100,(最大储弹量)
maxradius = 20000,(最大攻击范围)
minradius = 0,(最小攻击范围)
muzzlesalvodelay = 0,
muzzlesalvosize = 1,
muzzlevelocity = 0,
nukeinnerringdamage = 70000,(内圈伤害值)
nukeinnerringradius = 30,
nukeinnerringticks = 24,
nukeinnerringtotaltime = 24,
nukeouterringdamage = 500,(外圈伤害值)
nukeouterringradius = 40,
nukeouterringticks = 20,
nukeouterringtotaltime = 10,
nukeweapon = true,
projectileid = ’/projectiles/cifempfluxwarhead01/cifempfluxwarhead01_proj.bp’,(projectileid(发射物序号),这里很重要,按给出的路径:安装目录下projectiles.scd(rar)/cifempfluxwarhead01/cifempfluxwarhead01_proj.bp,打开后可以看到核弹弹头速度等,按拦截导弹速度修改后,对方两族拦截速度慢,就不能拦截你的nukeclear了)
projectilesperonfire = 1,(每次开火的发射物数,同上没有试验)
rackbones = {
{
muzzlebones = {
’projectile’,
},
rackbone = ’projectile’,
},
},
rackfiretogether = false,
rackrecoildistance = 0,
rackreloadtimeout = 0,
racksalvochargetime = 0,
racksalvoreloadtime = 0,
racksalvosize = 1,
rackslavedtoturret = false,
rateoffire = 1,(重要参数,开火速率,像cy的t3轨道炮为0.0375)
targetcheckinterval = 0.5,
targetrestrictdisallow = ’untargetable’,
turretdualmanipulators = false,
turretpitch = 0,
turretpitchrange = 0,
turretpitchspeed = 0,
turretyaw = 0,
turretyawrange = 0,
turretyawspeed = 0,
turreted = false,
weaponcategory = ’missile’,
weaponrepacktimeout = 5,
weaponunpackanimation = ’/units/urb2305/urb2305_aactivate.sca’,
weaponunpackanimationrate = 1,
weaponunpacks = true,
},
},