모드 강좌

GEN 주포와 미사일을 동시에 쏘는 팔라딘 탱크

페이지 정보

작성자 크래커 아이디로 검색 댓글 2건 조회 1,771회
작성일22-10-08 16:44

본문

직접 제작한 유닛 소스입니다.

Object AmericaTankPaladinBoss

  ; *** ART Parameters ***
  SelectPortrait         = SAPaladin_L
  ButtonImage            = SAPaladin
  
  UpgradeCameo1 = Upgrade_AmericaBattleDrone
  UpgradeCameo2 = Upgrade_AmericaScoutDrone
  UpgradeCameo3 = Upgrade_AmericaHellfireDrone
  UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
  UpgradeCameo5 = Upgrade_AmericaCompositeArmor

  Draw = W3DTankDraw ModuleTag_01
    
    ExtraPublicBone = Laser 

    ConditionState        = NONE
      Model               = AVPaladin
      Turret              = Turret01
      WeaponFireFXBone    = PRIMARY TurretMS
      WeaponRecoilBone    = PRIMARY Barrel
      WeaponMuzzleFlash   = PRIMARY TurretFX
      WeaponLaunchBone = PRIMARY TurretMS
      WeaponFireFXBone    = SECONDARY LASER
      WeaponLaunchBone = SECONDARY LASER
      WeaponFireFXBone    = TERTIARY LASER
      WeaponLaunchBone = TERTIARY LASER
    End
    
    ConditionState        = REALLYDAMAGED
      Model               = AVPaladin_D
      Turret              = Turret01
      WeaponFireFXBone    = PRIMARY TurretMS
      WeaponRecoilBone    = PRIMARY Barrel
      WeaponMuzzleFlash   = PRIMARY TurretFX
      WeaponLaunchBone = PRIMARY TurretMS
      WeaponFireFXBone    = SECONDARY LASER
      WeaponLaunchBone = SECONDARY LASER
      WeaponFireFXBone    = TERTIARY LASER
      WeaponLaunchBone = TERTIARY LASER
    End
    
    ConditionState        = RUBBLE
      Model               = AVPaladin_D
      Turret              = Turret01
      WeaponFireFXBone    = PRIMARY TurretMS
      WeaponRecoilBone    = PRIMARY Barrel
      WeaponMuzzleFlash   = PRIMARY TurretFX
      WeaponLaunchBone = PRIMARY TurretMS
      WeaponFireFXBone    = SECONDARY LASER
      WeaponLaunchBone = SECONDARY LASER
      WeaponFireFXBone    = TERTIARY LASER
      WeaponLaunchBone = TERTIARY LASER
    End
    
    TrackMarks           = EXTnkTrack.tga
    TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
    TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
    TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
    OkToChangeModelColor = Yes
  End

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:Paladin
  Side = America
  EditorSorting   = VEHICLE
  TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
  WeaponSet
    Conditions = None 
    Weapon = PRIMARY PaladinTankGun
    Weapon = SECONDARY HumveeMissileWeapon
    Weapon = TERTIARY HumveeMissileWeaponAir
    PreferredAgainst = TERTIARY     AIRCRAFT
  End
  ArmorSet
    Conditions      = None
    Armor           = TankArmor
    DamageFX        = TankDamageFX
  End
  ;ArmorSet
  ;  Conditions      = PLAYER_UPGRADE
  ;  Armor           = UpgradedTankArmor
  ;  DamageFX        = TankDamageFX
  ;End
  BuildCost       = 1100
  BuildTime       = 12.0          ;in seconds    
  VisionRange     = 150
  ShroudClearingRange = 300
  Prerequisites
    Object = AmericaWarFactory
    Science = SCIENCE_PaladinTank
  End

  ExperienceValue        = 100 100 200 400 ;Experience point value at each level
  ExperienceRequired     = 0 200 300 600 ;Experience points needed to gain each level

  IsTrainable     = Yes  ;Can gain experience
  CrusherLevel           = 2  ;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      = AmericaTankPaladinCommandSet
    
  ; *** AUDIO Parameters ***
  VoiceSelect = PaladinTankVoiceSelect
  VoiceMove = PaladinTankVoiceMove
  VoiceGuard = PaladinTankVoiceMove
  VoiceAttack = PaladinTankVoiceAttack
  SoundMoveStart = PaladinTankMoveStart
  SoundMoveStartDamaged = PaladinTankMoveStart

  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceCreate     = PaladinTankVoiceCreate
    TurretMoveLoop = TurretMoveLoop
    SoundEject = PilotSoundEject
    VoiceEject = PilotVoiceEject
    VoiceCrush = PaladinTankVoiceCrush
    VoiceEnter = PaladinTankVoiceMove
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
  
  Body = ActiveBody ModuleTag_02
    MaxHealth       = 500.0
    InitialHealth   = 500.0

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 1000
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = AIUpdateInterface ModuleTag_03
    Turret
      TurretTurnRate = 180 ;60   // turn rate, in degrees per sec
      ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
    End
    ;AltTurret
    ;  TurretTurnRate = 9000;
    ;  ControlledWeaponSlots = SECONDARY
    ;End
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL CrusaderLocomotor
  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 50.0
  End
  
  ; Turret fly off death
  Behavior = SlowDeathBehavior ModuleTag_05
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier = 50
;    ModifierBonusPerOverkillPercent = 30%  ; negative means less likely to pick this in the face of much damage, positive means more likely
    DestructionDelay = 500
    DestructionDelayVariance = 100
    FX  = INITIAL  FX_GenericTankDeathEffect
    FX  = FINAL    FX_GenericTankDeathExplosion
    OCL = FINAL    OCL_PaladinTankDeathEffect
  End
  
  ; Catch fire, and explode death
  Behavior = SlowDeathBehavior ModuleTag_06
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier = 50
    DestructionDelay = 2000
    DestructionDelayVariance = 300
    FX  = INITIAL  FX_CrusaderCatchFire
    OCL = FINAL    OCL_PaladinTankDeathEffect
    FX  = FINAL    FX_GenericTankDeathExplosion 
  End

  Behavior = PointDefenseLaserUpdate ModuleTag_07
    WeaponTemplate        = PaladinPointDefenseLaser
    PrimaryTargetTypes    = BALLISTIC_MISSILE SMALL_MISSILE
    SecondaryTargetTypes  = INFANTRY
    ScanRate              = 500
    ScanRange             = 120.0
    PredictTargetVelocityFactor = 3.0
  End

  Behavior = ObjectCreationUpgrade ModuleTag_08
    UpgradeObject = OCL_AmericanBattleDrone
    TriggeredBy   = Upgrade_AmericaBattleDrone
    ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
  End
  Behavior = ObjectCreationUpgrade ModuleTag_09
    UpgradeObject = OCL_AmericanScoutDrone
    TriggeredBy   = Upgrade_AmericaScoutDrone
    ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
  End 
  Behavior = ObjectCreationUpgrade ModuleTag_19
    UpgradeObject = OCL_AmericanHellfireDrone
    TriggeredBy   = Upgrade_AmericaHellfireDrone
    ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
  End Upgrade_AmericaHallfireDrone

  Behavior = ProductionUpdate ModuleTag_10
    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End

  Behavior = ExperienceScalarUpgrade ModuleTag_11
    TriggeredBy = Upgrade_AmericaAdvancedTraining
    AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
  End

  Behavior = TransitionDamageFX ModuleTag_12
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End

  Behavior = FXListDie ModuleTag_13
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = FX_CarCrush
  End
  Behavior = CreateObjectDie ModuleTag_14
    DeathTypes = NONE +CRUSHED +SPLATTED
    CreationList = OCL_CrusaderTank_CrushEffect
  End
  Behavior = DestroyDie ModuleTag_15
    DeathTypes = NONE +CRUSHED +SPLATTED
  End
  Behavior = CreateCrateDie ModuleTag_16
    CrateData = SalvageCrateData
    ;CrateData = EliteTankCrateData
    ;CrateData = HeroicTankCrateData
  End
  Behavior = EjectPilotDie ModuleTag_17
    DeathTypes = ALL -CRUSHED -SPLATTED
    ExemptStatus = HIJACKED
    GroundCreationList = OCL_EjectPilotOnGround
    AirCreationList = OCL_EjectPilotViaParachute
    VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
  End

  Behavior = MaxHealthUpgrade ModuleTag_18
    TriggeredBy   = Upgrade_AmericaCompositeArmor
    AddMaxHealth  = 100.0
    ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
  End

  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

  Geometry = BOX
  GeometryMajorRadius = 15.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 10.0     
  GeometryIsSmall = Yes    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End

댓글목록

끼요오옷님의 댓글

끼요오옷 아이디로 검색 작성일

친절하게 강좌로 설명해주신 것 감사드립니다. 덕분에 지금 해결했네요.

레탱은 뭐가 문젠가 했더니 DelayBetweenShots 2000 이 하나 더 있었어서 이것때문에 안되던거였더군요.

이게 제가 잘못가져왔나 했는데 원본도 똑같이 위에 것이 하나 더 박혀있는게 맞네요, 왜 저렇게 해놨을까....

이거 제거하니까 잘 작동합니다.

조금 더 시간을 투자해서 그래픽 부분을 파악해봐야할 것 같네요.

크래커님의 댓글의 댓글

크래커 아이디로 검색 작성일

해결됬다니 다행이군요. 같은 코드가 하나 더 있으면 인식을 못하는 것 같습니다.

그래픽 관련 코드는 W3D 파일을 열어보시면 이해가 잘될겁니다.

모드 강좌

334건 1 페이지
모드 강좌 목록
번호 제목 글쓴이 조회 날짜
공지 크래커 아이디로 검색 13528 01-07
333 TS 크래커 아이디로 검색 1132 11-26
332 GEN 크래커 아이디로 검색 1772 10-08
331 GEN 크래커 아이디로 검색 1596 10-02
330 GEN 크래커 아이디로 검색 1866 09-29
329 GEN 크래커 아이디로 검색 1674 09-06
328 GEN 크래커 아이디로 검색 1807 08-26
327 GEN 크래커 아이디로 검색 2561 08-14
326 GEN 크래커 아이디로 검색 1714 08-12
325 GEN 크래커 아이디로 검색 1901 08-10
324 GEN 크래커 아이디로 검색 1955 07-22
323 GEN 크래커 아이디로 검색 2562 07-20
322 GEN 크래커 아이디로 검색 2273 07-16
321 GEN 크래커 아이디로 검색 2272 07-15
320 GEN 크래커 아이디로 검색 2562 06-08

검색