winok 发表于 2009-8-6 22:29:21

家园2参数专贴

出自 家园论坛 哦哈哈
武器参数说明
以离子炮为例子
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)

StartWeaponConfig
下的括号里的内容(已逗号间隔)分别是
1- Weapon Name
2- weaponType - gimble or fixed or animatedturret
3- weaponFireType - type of projectile used
4- weaponFireName - the name of the weapon fire script which specifies effects details
5- activation - used for trickery with special attacks and upgrades, see the torp frigate if you want to make your head hurt
6- weaponFireSpeed 武器速度,光线武器是0
7- weaponFireRange 武器射程
8- weaponFireRadius - only used for spherburst iirc 杀伤半径,如防空炮杀伤半径
9- weaponFireLifetime 子弹存在时间,这里是光线持续时间
10- weaponFireMisc1 - for beam weapons this is the anticipation time (the time from firing till the beam appears) 双子风提供-武器参数中第十个参数,是指开始开火后到离子光束真正发射出去之间的“蓄力”时间。如果仔细观察,就会发现,离子炮开火的时候,不是立刻发射出去的,而是在炮口前形成一个光团,等蓄到这个参数所规定的时间,才发射出去。改大一点,超级酷的。
11- weaponFireAxis - for missiles only, 0 is forward, 1 is left, 2 is up, this is the ejection direction for the missile 发射的时候导弹的弹射出机舱的方向。例如H的鱼雷是向前发射的,而V的BC上的导弹是向上弹射的。(双子风提供)
12- maxEffectsSpawned 可能是视觉效果相关的
13- UseVelocityPred
14- CheckLineOfFire - does the weapon check for friendlies in the way before firing 是否在开火前确认弹道上没有友军,否则可能会打到自己人。

15- fireTime - time between shots 射击间隔时间
16- burstFireTime - time for a burst 每次射击持续时间
17- burstWaitTime - time between bursts 射击等待时间
自由准星提供-对于武器的15、16、17个参数,参考Dreadnaught的下部可旋转炮塔就明白了,参数为:0.5,2,3以0.5发/秒速度持续射击2秒,停3秒,然后再以0.5发/秒速度持续射击2秒

18- shootAtSecondaries - if the weapon can't shoot the main target can it try to shoot secondary targets (from a drag attack) 是否在无法射击
主要目标时自动射击次要目标(速度会慢下来)
19- shootAtSurroundings - if the weapon can't shoot any of the given targets can it scan for nearby enemies? this is really slow.是否在无法射
击主要目标时射击周围邻近的敌人,速度会非常慢
20- maxAzimuthSpeed - tracking speed 方位角速度
21- maxDeclinationSpeed - tracking speed 方位角速度
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- weaponShieldPenetration - yeah, old stuff, prolly still works 武器穿透力,用normal 什么的表示
24- track targets outside range
25- wait till code red state - animation hookup, with this set the weapon can't fire until the code red animation finishes (see vgr missile
frigate)
26- instant hit threshold - below this health the beam will go through the target ship 低于此数字的HP的时候光线武器穿透目标

winok 发表于 2009-8-6 22:30:12

防御场说明
感谢白银死神提供详细资料
其实所有单位都可以有防御场,但是母舰加上后似乎无法激活防御场。只要在ship中加入以下
addAbility(NewShipType,"DefenseFieldAbility",1,0,1200,200,200,1,0.6,0,"defensefield_sphere_spray")
addAbility(NewShipType,"DefenseFieldShieldAbility",0,1200,0,0)
AddShipAbility(NewShipType,"DefenseField",1,"ThisShipOnly",0)
最后一句加上后会出现范围指示圈,不加的话就没有。防御场的作用似乎只在最外面的壳上,我曾经设置地图一样大的防御场,但是一点用也没有,移动时防御
场会跟不上你,所以快速移动的时候可能会脱离防御场。
参数说明
- ability active by default (缺省状态下是否拥有该能力)
- field on by default (缺省状态下是否开启着防御场)
- radius to defend other ships (防御场的有效范围)
- stop after this much (实际上是那条紫色时间条所代表的时间长度,最好和下面的数值设置成一样,设成0就是无限防御场了。^_^)
- shutdown only after this 防御场参数中,那个shut down only after的参数的意思是,要用了多少能量之后才能被关闭。如果和前面的总能量一样,打开了之后就不能被关闭了。我是放在1的,这样想开就开,想关就关。(双子风提供)
- how much capacity to use (消耗单位,越小防御场就可以维持越久)
- recharge (恢复单位,越大防御场就恢复得越快)
- useable below this (未知...^^b)
- effect file name (效果文件)
.ship中的部分说明
NewShipType = StartShipConfig()
NewShipType.displayedName = "$1522"
NewShipType.sobDescription = "$1523"
NewShipType.maxhealth = 12000 最大Hp
NewShipType.regentime = 1200
NewShipType.minRegenTime = 1200
NewShipType.sideArmourDamage = 1.2
NewShipType.rearArmourDamage = 1.2
NewShipType.isTransferable = 1
NewShipType.useEngagementRanges = 1
NewShipType.unitCapsNumber = 2
NewShipType.SquadronSize = 1
NewShipType.formationSpacing = 250
NewShipType.passiveFormation = "Spear"
NewShipType.defensiveFormation = "x"
NewShipType.aggressiveFormation = "Claw"
NewShipType.mass = 100 重量,目前功能不详。
NewShipType.collisionMultiplier = 1
NewShipType.thrusterMaxSpeed = 161 冲刺最大速度
NewShipType.mainEngineMaxSpeed = 161 主引擎速度,一般都和上面个一样
NewShipType.rotationMaxSpeed = 22 转向速度,每秒多少度。
NewShipType.thrusterAccelTime = 7 冲刺加速到全速的时间
NewShipType.thrusterBrakeTime = 2 减速到0的时间
NewShipType.mainEngineAccelTime = 8 主引擎加速到全速的时间
NewShipType.mainEngineBrakeTime = 2 主引擎减速到0的时间
NewShipType.rotationAccelTime = 0.75 同上,是转向加速NewShipType.rotationBrakeTime = 0.4 转向减慢的速度
NewShipType.thrusterUsage = 0.5
NewShipType.accelerationAngle = 40
NewShipType.mirrorAngle = 0
NewShipType.secondaryTurnAngle = 0
NewShipType.maxBankingAmount = 20
NewShipType.descendPitch = 20
NewShipType.goalReachEpsilon = 30
NewShipType.slideMoveRange = 100
NewShipType.controllerType = "Ship"
NewShipType.tumbleStaticX = 10
NewShipType.tumbleStaticY = 20
NewShipType.tumbleStaticZ = 5
NewShipType.tumbleDynamicX = 2
NewShipType.tumbleDynamicY = 10
NewShipType.tumbleDynamicZ = 5
NewShipType.tumbleSpecialDynamicX = 2
NewShipType.tumbleSpecialDynamicY = 10
NewShipType.tumbleSpecialDynamicZ = 5
NewShipType.relativeMoveFactor = 3
NewShipType.swayUpdateTime = 4
NewShipType.swayOffsetRandomX = 10
NewShipType.swayOffsetRandomY = 10
NewShipType.swayOffsetRandomZ = 10
NewShipType.swayBobbingFactor = 0.05
NewShipType.swayRotateFactor = 0
NewShipType.useTargetRandom = 1
NewShipType.targetRandomPointXMin = -0.1
NewShipType.targetRandomPointXMax = 0.47
NewShipType.targetRandomPointYMin = -0.48
NewShipType.targetRandomPointYMax = 0.8
NewShipType.targetRandomPointZMin = -0.8
NewShipType.targetRandomPointZMax = 0.8
NewShipType.dustCloudDamageTime = 160
NewShipType.nebulaDamageTime = 200
NewShipType.MinimalFamilyToFindPathAround = "MotherShip"
NewShipType.BuildFamily = "Frigate_Hgn"
NewShipType.AttackFamily = "Frigate"
NewShipType.DockFamily = "Frigate"
NewShipType.AvoidanceFamily = "Frigate"
NewShipType.DisplayFamily = "Frigate"
NewShipType.AutoFormationFamily = "Frigate"
NewShipType.CollisionFamily = "Big"
NewShipType.ArmourFamily = "MediumArmour" 装甲类型
NewShipType.UnitCapsFamily = "Frigate"
NewShipType.UnitCapsShipType = "TorpedoFrigate"
NewShipType.fighterValue = 0
NewShipType.corvetteValue = 0
NewShipType.frigateValue = 10
NewShipType.neutralValue = 0
NewShipType.antiFighterValue = 0
NewShipType.antiCorvetteValue = 9
NewShipType.antiFrigateValue = 4
NewShipType.totalValue = 10
NewShipType.buildCost = 700 建造费用
NewShipType.buildTime = 55 建造时间
NewShipType.buildPriorityOrder = 40 建造优先权
NewShipType.retaliationRange = 5500
NewShipType.retaliationDistanceFromGoal = 160
NewShipType.visualRange = 1000
NewShipType.prmSensorRange = 5000
NewShipType.secSensorRange = 6000
NewShipType.detectionStrength = 1
NewShipType.TOIcon = "Diamond"
NewShipType.TOScale = 1
NewShipType.TODistanceFade0 = 9000
NewShipType.TODistanceDisappear0 = 7000
NewShipType.TODistanceFade1 = 4500
NewShipType.TODistanceDisappear1 = 3500
NewShipType.TODistanceFade2 = 12000
NewShipType.TODistanceDisappear2 = 35000
NewShipType.TOGroupScale = 1
NewShipType.TOGroupMergeSize = 0
NewShipType.mouseOverMinFadeSize = 0.045
NewShipType.mouseOverMaxFadeSize = 0.1
NewShipType.healthBarStyle = 1
NewShipType.nlips = 0.000125 这项可以修改船的大小,似乎是和某一个值的比例值。
NewShipType.nlipsRange = 6000
NewShipType.nlipsFar = 0.0001
NewShipType.nlipsFarRange = 10000
NewShipType.SMRepresentation = "HardDot"
NewShipType.meshRenderLimit = 13000
NewShipType.dotRenderLimit = 10
NewShipType.visibleInSecondary = 1
NewShipType.minLOD = 0.25
NewShipType.goblinsStartFade = 1500
NewShipType.goblinsOff = 1500
NewShipType.upLOD = 2000
NewShipType.upLOD = 2500
NewShipType.downLOD = 2015
NewShipType.downLOD = 2515
NewShipType.minimumZoomFactor = 0.63
NewShipType.selectionLimit = 150000
NewShipType.preciseATILimit = 0
NewShipType.selectionPriority = 75
NewShipType.militaryUnit = 1
addAbility(NewShipType,"MoveCommand",1,0) 移动命令,后面如果是1,1的话就像炮塔只能移动一次
addAbility(NewShipType,"CanDock",1,0) 加入这个后船就能停泊到母舰。
NewShipType.dockTimeBetweenTwoFormations = 1
NewShipType.dockTimeBeforeStart = 2
NewShipType.dockNrOfShipsInDockFormation = 1
NewShipType.dockFormation = "delta"
NewShipType.queueFormation = "dockline"
NewShipType.dontDockWithOtherRaceShips = 1
NewShipType.ignoreRaceWhenDocking = 0
addAbility(NewShipType,"CanLaunch")
NewShipType.launchTimeBetweenTwoFormations = 1
NewShipType.launchTimeBeforeStart = 2
NewShipType.launchNrOfShipsInDockFormation = 1
NewShipType.launchFormation = "delta"
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,"Corvette, Capturer, Frigate, SmallCapitalShip, BigCapitalShip, Utility, Fighter","Frontal",{
Fighter = "MoveToTargetAndShoot",
},{
Corvette = "MoveToTargetAndShoot",
},{
Munition = "MoveToTargetAndShoot",
},{
SubSystem = "FrontalVsSubSystem",
}) 其中参数"Capturer, Frigate, SmallCapitalShip, BigCapitalShip, Corvette, Fighter, Utility"应该是攻击的优先顺序。想想先攻击fighter,就把fighter放第一位好了。 后面的MoveToTargetAndShoot应该是攻击的方式,这个是移动到目标范围然后射击(以上观察员提供)

以下是参数详细说明
ability active by default
Number of ships in micro formations
Can use kamikaze tactics (obsolete)
Can interpolate target
delay between formation splitting
distance multiplier from target before attack styles get control
Attack priorities
Attack type
attack type exception 1
attack type exception 2
attack type exception 3
attack type exception 4
attack type exception 5
attack type exception 6
attack type exception 7
attack type exception 8

addAbility(NewShipType,"GuardCommand",1,3000,600)
addAbility(NewShipType,"HyperspaceViaGateCommand",1,3,1,0.3)
addAbility(NewShipType,"CanBeCaptured",30,0.1) 加入这个就能够被俘获,30是俘获的时间
addAbility(NewShipType,"CanBeRepaired")能够被修复
addAbility(NewShipType,"RetireAbility",1,1)能够回收
LoadModel(NewShipType,1) 指定了该船的模型,后面的1是默认值当前文件名称,如果你用这个船的SHIP文件创造了别的船的话,那么创造的船由于没有默认的模型,这样这一行就必须写成LoadShareModel(newshiptype,"船需要用的模型的名称,一般就是SHIP文件的名称")
下面StartShipWeaponConfi就是飞船的武器Hgn_TorpedoLauncher就是武器名称,可以到Weapon文件夹下找到相应的武器
StartShipWeaponConfig(NewShipType,"Hgn_TorpedoLauncher","weapon_Torpedo","")
StartShipWeaponConfig(NewShipType,"Hgn_BigTorpedoLauncher","weapon_Torpedo","")
StartShipWeaponConfig(NewShipType,"Hgn_ClusterTorpedoLauncher","weapon_Torpedo","")
addShield(NewShipType,"EMP",220,20) Emp的值
NewShipType.battleScarMaxTriBase = 75
NewShipType.battleScarMaxTriInc = 100
NewShipType.sobDieTime = 1
NewShipType.sobSpecialDieTime = 1
NewShipType.specialDeathSpeed = 40
NewShipType.chanceOfSpecialDeath = 0
NewShipType.deadSobFadeTime = 0
NewShipType.trailLinger = 4
setEngineGlow(NewShipType,1,1,1.02,20,300,50,1.5,{
0.27,
0.47,
0.69,
0.25,
})
loadShipPatchList(NewShipType,"data:sound/sfx/ship/Hiigaran/Frigate/",0,"Engines/HFrigateEng","",1,"Ambience/HFrigateAmb","")引擎的声音和其他一些引擎相关的文件地点

winok 发表于 2009-8-6 22:30:40

NewShipType.maxhealth = 500000 <--------------- 这个都知道了吧
NewShipType.thrusterMaxSpeed = 888 <----------------冲刺速度 什么命令是冲刺?
NewShipType.mainEngineMaxSpeed = 888 <----------------正常速度
NewShipType.rotationMaxSpeed = 120 <----------------旋转速度 调头
NewShipType.thrusterAccelTime = 3 <冲刺加速时间
NewShipType.thrusterBrakeTime = 1 <冲刺停止时间
NewShipType.mainEngineAccelTime = 4 <移动反应时间
NewShipType.mainEngineBrakeTime = 1 <移动停止时间
NewShipType.rotationAccelTime = 0.05 <掉头响应时间
NewShipType.rotationBrakeTime = 0.1 <掉头停止时间
NewShipType.ArmourFamily = "HeavyArmour" <装甲
NewShipType.buildCost = 70 <建造花费
NewShipType.buildTime = 15 <建造时间
NewShipType.prmSensorRange = 30000 <主传感器范围
NewShipType.secSensorRange = 40000 <副传感器范围
addAbility(NewShipType,"CanDock",1,1) <是否能停靠 1,0不能停靠
StartShipWeaponConfig(NewShipType,"Kpr_SajuukNaniteCannon","Weapon_Top","Fire_Top") <该炮位的武器
StartShipWeaponConfig(NewShipType,"Hgn_KineticBurstCannon","Weapon_Bottom","Fire_Bottom") <该炮位的武器
不同船炮位名字不一样
addShield(NewShipType,"EMP",30220,160) <电磁盾强度 和回复速度 (可能)


继续.ship的说明
addAbility(NewShipType,"MoveCommand",1,0)移动命令,后面1,1的话就只能移动一次,像炮塔。

scraed 发表于 2009-12-29 18:53:40

最后那个
addShield(NewShipType,"EMP",30220,160)
30220是受到多少EMP伤害之后瘫痪
160是瘫痪时间

lizz8308 发表于 2009-12-30 18:41:50

谢谢楼主分享~辛苦~

魔天道 发表于 2010-5-21 02:29:47

收集了,需要自助研究夏

怜月枫 发表于 2010-5-21 08:55:36

最好将各种事数值的数量。。准备一下。。
例如还优先权的40,我个人也不是很清楚有何用

germanynacui 发表于 2010-8-12 16:52:05

很好很好。。

laonfowk 发表于 2010-10-10 11:01:10

谢谢楼主分享

zl11054 发表于 2010-11-23 11:15:28

这个不错,支持一下楼主!

MKII4号机 发表于 2010-12-9 14:56:57

本帖最后由 MKII4号机 于 2011-7-12 09:15 编辑

这两个学习了,还有其他的吗?
页: [1]
查看完整版本: 家园2参数专贴