Cold War Crisis(C&C zH mod CWC)養成計劃五——倒轉時空

燕子不言老

二戰末期,德制Schwalbe【雨燕】Me262飛機將世界帶入偉大的噴射機時代。me262完全结构

本人有一本電子資料

完整的記錄了開展于2003年的Me262計劃。那是一群美國和德國軍迷在2003年重新讓Me262飛上藍天的計劃。

他們查閱了幾乎全世界Me262的資料。外形一絲不茍的按照預設型來設計

并且,在2003年就造出了首機,為私人所收藏。還有一只參加了德國的航空展。作為所有噴射機的鼻祖。二十一世紀的蒼空,Me262仍在飛翔。Me262計劃 對于同在2003年發布的zero hour游戲來說,這些經典的身影不容錯過。似乎閃電戰2的mod里面就有me262的身影出現。那么,我個人的一個小Me 262 Project就此展開。

鄙人學習C&C系列游戲的修改才十數天。要弄清怎么進行一個單位的移植卻也夠了,我沒有必要詳細的把所有的細節都寫出來,那也根本不可能做到,唯有自己去探索,才能有的樂趣我沒法分享。這里只提供一個簡單的方法。并適當加以說明。

下載文件

使用請看下面。

  • 第一步,CWCusCameos_Portraits01.ini中插入
MappedImage GermanMe262Portrait
  Texture = germanme262.tga
  TextureWidth = 497
  TextureHeight = 299
  Coords = Left:0 Top:0 Right:348 Bottom:299
  Status = NONE
End

然后再到CWCusCameos_Command01.ini
插入
MappedImage GermanMe262Cameo
  Texture = germanme262.tga
  TextureWidth = 497
  TextureHeight = 299
Coords = Left:377 Top:0 Right:497 Bottom:103
  Status = NONE
End

這兩個是圖標
所需文件germanme262.tga,下載里面有,把它放到ArtTextures這個路徑,如果沒有,直接覆蓋我里面的那個ART文檔到游戲基礎文檔。
不過這個圖標的風格和原始游戲不是很融合,也是沒辦法的事情,如果有興致,自己修改吧。
  • 第二步。

ArtW3D文檔插入文件FYME262,這是w3d的模型。然后把圖標和貼圖【dds文件,也可以自行修改】放到W3D下的Textures文件夾。

  • 第三步

武器,加入這兩項

Weapon MK108Weapon ;me262 weapon PrimaryDamage = 40 PrimaryDamageRadius = 5.0 ; 0 primary radius means "hits only intended victim" AttackRange = 350.0 MinimumAttackRange = 10.0 AcceptableAimDelta = 30 DamageType = JET_MISSILES DeathType = EXPLODED WeaponSpeed = 333.0 ; dist/sec (huge value == effectively instant) FireSound = CWCusMk_19_40mm_Grenade_Launcher FireFX = WeaponFX_SpectreGattlingMuzzleFlash ProjectileDetonationFX = WeaponFX_CWCgenSmallAntiAirgunDetonation RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 80; 35 ;125 ; time between shots, msec ClipSize = 180 ;25 ;50 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 1000 ;5000 ; how long to reload a Clip, msec AutoReloadsClip = Yes AntiAirborneVehicle = Yes AntiAirborneInfantry = Yes AntiGround = No AntiBallisticMissile = Yes End Weapon MK108WeaponG ;me262 weapon PrimaryDamage = 260 PrimaryDamageRadius = 45.0 ; 0 primary radius means "hits only intended victim" AttackRange = 550.0 MinimumAttackRange = 260.0 AcceptableAimDelta = 30 DamageType = EXPLOSION DeathType = EXPLODED WeaponSpeed = 666.0 ; dist/sec (huge value == effectively instant) FireSound = CWCusMk_19_40mm_Grenade_Launcher FireFX = WeaponFX_SpectreGattlingMuzzleFlash ProjectileDetonationFX = WeaponFX_CWCgenHeavyArtilleryShellDetonation ProjectileObject = CWCgenExplosiveShell RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 400; 35 ;125 ; time between shots, msec ClipSize = 50 ;25 ;50 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 1000 ;5000 ; how long to reload a Clip, msec AutoReloadsClip = RETURN_TO_BASE AntiAirborneVehicle = No AntiAirborneInfantry = No AcceptableAimDelta = 5 AntiGround = Yes AntiBallisticMissile = No HistoricBonusTime = 24000 HistoricBonusCount = 5 HistoricBonusRadius = 20 HistoricBonusWeapon = FirestormGreenCreationWeapon End

對了,最后一個火海武器類型建議改成FirestormCreationWeapon,我那個是自定義的,像極了鬼火,而且范圍小得多,比原有的合適,這個修改很復雜,就不建議了。

  • 第四部【最簡單做法】

找一個你不想造的飛機,譬如F4G。或者有了F117【點此】之后的F111。甚至替代F16都可以。在第一行 Object ×××之后,用底下這段替代。這個最簡單,僅限CWC的mod這么做。

; *** ART Parameters *** SelectPortrait = GermanMe262Portrait ButtonImage = GermanMe262Cameo Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = FYME262 HideSubObject = BurnerFX01 BurnerFX02 WeaponMuzzleFlash = PRIMARY MuzzleFX WeaponFireFXBone = PRIMARY Muzzle WeaponLaunchBone = SECONDARY WeaponA End ConditionState = JETEXHAUST ; exhaust ParticleSysBone = Wingtip01 JetContrailRed ParticleSysBone = Wingtip01 JetContrailYellowout ParticleSysBone = Wingtip01 JetContrailblackout ParticleSysBone = Wingtip02 JetContrailRed ParticleSysBone = Wingtip02 JetContrailYellowin ParticleSysBone = Wingtip02 JetContrailblackin End ConditionState = JETEXHAUST JETAFTERBURNER ; exhaust ParticleSysBone = Wingtip01 JetContrailRed ParticleSysBone = Wingtip01 JetContrailYellowout ParticleSysBone = Wingtip01 JetContrailblackout ParticleSysBone = Wingtip02 JetContrailRed ParticleSysBone = Wingtip02 JetContrailYellowin ParticleSysBone = Wingtip02 JetContrailblackin ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare End ConditionState = REALLYDAMAGED Model = FYME262 ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine02 JetEngineDamagedSmoke End ConditionState = REALLYDAMAGED JETEXHAUST Model = FYME262 ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine02 JetEngineDamagedSmoke ; exhaust ParticleSysBone = Wingtip01 JetContrailBlue ParticleSysBone = Wingtip02 JetContrailRed End ConditionState = REALLYDAMAGED JETEXHAUST JETAFTERBURNER Model = FYME262 ; damage ParticleSysBone = Smoke01 JetSmoke ParticleSysBone = Engine01 JetEngineDamagedSmoke ; afterburner ShowSubObject = BurnerFX01 BurnerFX02 ParticleSysBone = Engine01 JetLenzflare ParticleSysBone = Engine02 JetLenzflare ; exhaust ParticleSysBone = Wingtip01 JetContrailRed ParticleSysBone = Wingtip01 JetContrailYellowout ParticleSysBone = Wingtip01 JetContrailblackout ParticleSysBone = Wingtip02 JetContrailRed ParticleSysBone = Wingtip02 JetContrailYellowin ParticleSysBone = Wingtip02 JetContrailblackin End ConditionState = RUBBLE Model = FYME262 HideSubObject = None ShowSubObject = None End ConditionState = RUBBLE JETEXHAUST JETAFTERBURNER Model = FYME262 ;HideSubObject is needed cause there're inherited from default condition state HideSubObject = None ShowSubObject = None ParticleSysBone = Engine01 JetExhaust ParticleSysBone = Engine02 JetExhaust ; exhaust ParticleSysBone = Wingtip01 JetContrailRed ParticleSysBone = Wingtip01 JetContrailYellowout ParticleSysBone = Wingtip01 JetContrailblackout ParticleSysBone = Wingtip02 JetContrailRed ParticleSysBone = Wingtip02 JetContrailYellowin ParticleSysBone = Wingtip02 JetContrailblackin End OkToChangeModelColor = Yes End ; ***DESIGN parameters *** DisplayName = object:germanaircraftme262 EditorSorting = VEHICLE Side = USA TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable) VisionRange = 600.0 ShroudClearingRange = 1000 Prerequisites Object = CWCusAirField End WeaponSet Conditions = None Weapon = PRIMARY MK108Weapon Weapon = SECONDARY MK108WeaponG Weapon = SECONDARY MK108WeaponG End ArmorSet Conditions = None Armor = CWCusA10Armor DamageFX = None End BuildCost = 6400 BuildTime = 2 ExperienceValue = 50 50 100 150 ;Experience point value at each level ExperienceRequired = 0 1000 6000 40000 ;Experience points needed to gain each level IsTrainable = Yes ;Can gain experience CrusherLevel = 1 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles CommandSet = CWCusF16CommandSet ; *** AUDIO Parameters *** VoiceSelect = CWCusF15VoiceSelect VoiceMove = CWCusF15VoiceMove VoiceAttackAir = CWCusF15VoiceAttack VoiceGuard = CWCusF15VoiceGuard SoundAmbient = CWCusFSeriesEngineLoop UnitSpecificSounds VoiceCreate = CWCusF15VoiceCreate VoiceGarrison = CWCusF15VoiceMove VoiceLowFuel = CWCusF15VoiceLowFuel VoiceEject = CWCusF15VoiceEject Afterburner = CWCgenJetAfterburner End ; *** ENGINEERING Parameters *** RadarPriority = UNIT KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT Body = ActiveBody ModuleTag_02 MaxHealth = 2000.0 InitialHealth = 2000.0 End Behavior = TransitionDamageFX ModuleTag_Death01 DamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:CWCgenTankDeathSmokeDamaged DamagedFXList1 = Loc: x:0 y:0 z:0 FXList:FX_CWCgenTankDamageTransition ; ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:CWCgenTankDeathSmokeReallyDamaged ReallyDamagedFXList1 = Loc: x:0 y:0 z:0 FXList:FX_CWCgenTankDamageTransition ; RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:CWCgenTankDeathSmokeRubble RubbleFXList1 = Loc: x:0 y:0 z:0 FXList:FX_CWCgenTankDamageTransition End Behavior = JetSlowDeathBehavior ModuleTag_05 FXOnGroundDeath = FX_CWCgenJetOnGroundDeath OCLOnGroundDeath = OCL_RaptorDeathFinalBlowUp DestructionDelay = 99999999; destruction will happen when we RollRate = 0.2 RollRateDelta = 100% ;each frame, rollrate = rollrate * rollrateDelta PitchRate = 0.0 FallHowFast = 110.0% ;Bigger is faster (can be over 100%,it's a fraction of gravity) FXInitialDeath = FX_CWCgenJetDeathInitial OCLInitialDeath = OCL_RaptorDeathInitial DelaySecondaryFromInitialDeath = 500 ; in milliseconds FXSecondary = FX_CWCgenJetDeathSecondary OCLSecondary = OCL_RaptorDeathSecondary FXHitGround = FX_CWCgenJetDeathHitGround OCLHitGround = OCL_RaptorDeathHitGround DelayFinalBlowUpFromHitGround = 200 ; in milliseconds End ; Behavior = EjectPilotDie ModuleTag_06 ; ExemptStatus = HIJACKED ; GroundCreationList = OCL_EjectPilotOnGround ; AirCreationList = OCL_EjectPilotViaParachute ; VeterancyLevels = ALL -REGULAR ;only vet+ gives pilot ; End Behavior = PhysicsBehavior ModuleTag_07 Mass = 500.0 End Behavior = JetAIUpdate ModuleTag_09 KeepsParkingSpaceWhenAirborne = Yes MinHeight = 5 NeedsRunway = Yes OutOfAmmoDamagePerSecond = 10% ; amount of damage to take per SEC (not per frame) when out of ammo ; note that it's expressed as a percent of max health, not an absolute ReturnToBaseIdleTime = 10000 ; if idle for this long, return to base, even if not out of ammo TakeoffPause = 1000 TakeoffDistForMaxLift = 0% ; larger numbers give more lift sooner when taking off AutoAcquireEnemiesWhenIdle = Yes LockonTime = 100 LockonCursor = CWCgenLockOnCursor LockonInitialDist = 50 LockonFreq = 1 LockonAngleSpin = 1440 LockonBlinky = No ParkingOffset = 5 End Locomotor = SET_NORMAL CWCusF15Locomotor Locomotor = SET_TAXIING BasicJetTaxiLocomotor Behavior = FlammableUpdate ModuleTag_21 AflameDuration = 5000 ; If I catch fire, I'll burn for this long... AflameDamageAmount = 3 ; taking this much damage... AflameDamageDelay = 500 ; this often. End Behavior = StealthUpdate ModuleTag_113 StealthDelay = 100 ;隐形延迟 StealthForbiddenConditions = None ;不能隐形的情况 FriendlyOpacityMin = 30.0% FriendlyOpacityMax = 90.0% InnateStealth = Yes ;天生隐形 OrderIdleEnemiesToAttackMeUponReveal = Yes End Behavior = PointDefenseLaserUpdate ModuleTag_102 ;镭射防御 WeaponTemplate = Mi35MPointDefenseLaser PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE ;首选目标 ScanRate = 1 ;扫描速率 ScanRange = 400.0 ;扫描范围 PredictTargetVelocityFactor = 3.0 ;预知目标速率因素 End Geometry = Box GeometryIsSmall = Yes GeometryMajorRadius = 14.0 GeometryMinorRadius = 7.0 GeometryHeight = 5.0 Shadow = SHADOW_VOLUME Scale = 0.8 ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length. End

紅色部分的代碼后面解釋。這是本人的得意之處。

  • 并列第四步【非CWCmod]

有這么幾個必須注意的點:

weapon【我那兩個你不能用了】;VoiceSelect;ArmorSet;Locomotor ;CommandSet都要去各自的文件ini中創設。而生產按鈕請參看修改第一輯,自去設定。

其余的我加上了隱形【時空穿越的怎么會看得到?】鐳射防御和一個純屬惡搞的運動修正。當然你也可以另加插件。對了,由于沒有加上導彈發射的定義,不能亂裝導彈武器。【實際上,機炮厲害多了】

好,先欣賞Me262狂屠Mig29的精彩畫面。然后再進行第二步教學

補遺

關于飛機的雙翼上拉出來的尾煙氣,整理了一下材料,發現比較復雜,決定單寫一篇。可以先把我那些in和out的標記去掉,試試看Wink

關于整個的大小問題

我在模型的最后有一個定義。最后一行,Scale = 0.8【會比上面那個小一半,符合真實比例】,這個很重要,這個值決定了大小,每1/20就大一圈,效果非常明顯。而其他血長度什么的不打算和別的部一樣的話就別改。

Me262的涂裝有很多經典的,我會近期放出王牌的沃諾特尼涂裝,到時覆蓋就是。

Sleepy最近忙,寫得不清不楚,也是沒辦法。將就把。

下期預告

sshot034

Proudly powered by WordPress | Theme: Journey Blog by Crimson Themes.