View Single Post
Old 08-27-2005, 11:54 AM   #2 (permalink)
kppo57ultra
Junior Member
 
Join Date: Jul 2004
Posts: 13
Default

You should search about giving money, there have been lots of topic on it. I'll show you something I've done -

Below is basically the Humvee except with the behavior money crate put in, also the forbidden to pick up by yourself tags

Notice that it costs $1000 and gives $1000.

I made it have invincible armor (in armor.ini). Then all you need to do is edit the generals.csf, and edit the commandbutton and commandset to make it so you can build at your supply stash (or whereever you want to build it at).

Code:
Object AmericaConvoyTruck

  ; *** ART Parameters ***
  SelectPortrait         = SAHummer_L
  ButtonImage            = SAHummer
  
  UpgradeCameo1 = Upgrade_AmericaBattleDrone
  UpgradeCameo2 = Upgrade_AmericaScoutDrone
  UpgradeCameo3 = Upgrade_AmericaTOWMissile
  UpgradeCameo4 = Upgrade_AmericaAdvancedTraining
  ;UpgradeCameo5 = XXX
  
  Draw = W3DTruckDraw ModuleTag_01
    OkToChangeModelColor = Yes

    ConditionState = NONE
      Model = AVHUMMER
      Turret = Turret
      ShowSubObject = Turret
      HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
      WeaponFireFXBone = PRIMARY Muzzle
      WeaponMuzzleFlash = PRIMARY MuzzleFX
    End

    ConditionState = REALLYDAMAGED
      Model = AVHUMMER_d
      Turret = Turret
      ShowSubObject = Turret
      HideSubObject = TurretUp01 Housecolor03 MuzzleFXUP01
      WeaponFireFXBone = PRIMARY Muzzle
      WeaponMuzzleFlash = PRIMARY MuzzleFX
    End

    ConditionState = WEAPONSET_PLAYER_UPGRADE
      Model = AVHUMMER
      Turret = TurretUp01
      HideSubObject = Turret MuzzleFX01
      ShowSubObject = TurretUp01 Housecolor03
      WeaponFireFXBone = PRIMARY MuzzleUp

      WeaponMuzzleFlash = PRIMARY MuzzleFXUp
      WeaponFireFXBone = SECONDARY WeaponB
      WeaponLaunchBone = SECONDARY WeaponB
      WeaponFireFXBone = TERTIARY WeaponB
      WeaponLaunchBone = TERTIARY WeaponB
    End

    ConditionState = REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
      Model = AVHUMMER_d
      Turret = TurretUp01
      HideSubObject = Turret MuzzleFX01
      ShowSubObject = TurretUp01 Housecolor03
      WeaponFireFXBone = PRIMARY MuzzleUp
      WeaponMuzzleFlash = PRIMARY MuzzleFXUp
      WeaponFireFXBone = SECONDARY WeaponB
      WeaponLaunchBone = SECONDARY WeaponB
      WeaponFireFXBone = TERTIARY WeaponB
      WeaponLaunchBone = TERTIARY WeaponB
    End

    TrackMarks = EXTireTrack.tga

    Dust = RocketBuggyDust
    DirtSpray = RocketBuggyDirtSpray
    PowerslideSpray = RocketBuggyDirtPowerSlide

    ; These parameters are only used if the model has a separate suspension, 
    ; and the locomotor has HasSuspension = Yes.
    LeftFrontTireBone = Tire01
    RightFrontTireBone = Tire02
    LeftRearTireBone = Tire03
    RightRearTireBone = Tire04
    TireRotationMultiplier = 0.2   ; this * speed = rotation.
    PowerslideRotationAddition = 1.25   ; This speed is added to the rotation speed when powersliding.

  End

  ; ***DESIGN parameters ***
  DisplayName           = OBJECT:AmericaConvoy
  Side                  = America
  EditorSorting         = VEHICLE
  TransportSlotCount    = 0                 ;how many "slots" we take in a transport (0 == not transportable)
  WeaponSet 
  End
  ArmorSet
    Conditions      = None
    Armor           = Invulnerable
    DamageFX        = TruckDamageFX
  End
  BuildCost       = 1000
  BuildTime       = 2.0          ;in seconds    
  VisionRange     = 150
  ShroudClearingRange = 320
  Prerequisites
    Object = AmericaSupplyCenter
  End
  ExperienceValue = 50 50 100 150   ;Experience point value at each level
  ExperienceRequired = 0 100 150 300  ;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      = AmericaConvoyTruck

  ; *** AUDIO Parameters ***
  VoiceSelect = HumveeVoiceSelect
  VoiceMove = HumveeVoiceMove
  VoiceGuard = HumveeVoiceMove
  VoiceAttack = HumveeVoiceAttack
  VoiceAttackAir = HumveeVoiceAttackTOW
  SoundMoveStart = HumveeMoveStart
  SoundMoveStartDamaged = HumveeMoveStart
  SoundEnter = HumveeEnter
  SoundExit = HumveeExit

  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    ;TurretMoveStart    = NoSound
    VoiceCreate         = HumveeVoiceCreate
    TurretMoveLoop      = TurretMoveLoop
    SoundEject          = PilotSoundEject
    VoiceEject          = PilotVoiceEject
    VoiceCrush          = HumveeVoiceCrush
  ; Required for the W3DTruckDraw module
    TruckLandingSound = RocketBuggyLand
    TruckPowerslideSound = RocketBuggyPowerslide
    VoiceUnload = HumveeVoiceUnload
    VoiceEnter = HumveeVoiceMove
  End

  Behavior = AIUpdateInterface ModuleTag_20
    AutoAcquireEnemiesWhenIdle = No
    MoodAttackCheckRate        = 250
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SCORE
 

  Behavior = MoneyCrateCollide ModuleTag_ForbiddenChanges
    ForbiddenKindOf = PROJECTILE
    MoneyProvided = 1000
    ;ExecuteFX = FX_CratePickup
    ForbidOwnerPlayer = Yes
    ExecuteAnimation = MoneyPickUp
    ExecuteAnimationTime = 4.0 ; In seconds
    ExecuteAnimationZRise = 15.0 ; Z world units per second to rise
    ExecuteAnimationFades = Yes ; Animation does/doesn't fade out
  End

  Body = ActiveBody ModuleTag_02
    MaxHealth       = 9999.0
    InitialHealth   = 9999.0
  End
  Behavior = TransportAIUpdate ModuleTag_03
    Turret
      TurretTurnRate = 180
      RecenterTime = 5000   ; how long to wait during idle before recentering
      ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
    End
    AutoAcquireEnemiesWhenIdle = Yes
  End
  Locomotor = SET_NORMAL TechnicalLocomotor

  Behavior = PhysicsBehavior ModuleTag_04
    Mass = 50.0
  End

  Behavior = TransportContain  ModuleTag_05
    PassengersAllowedToFire = Yes
    Slots             = 0
;    EnterSound          = GarrisonEnter
;    ExitSound           = GarrisonExit
    DamagePercentToUnits = 100% ;10%
    AllowInsideKindOf  = INFANTRY
    ExitDelay = 250
    NumberOfExitPaths = 3 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
    GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
  End

  Behavior = ObjectCreationUpgrade ModuleTag_06
    UpgradeObject = OCL_AmericanBattleDrone
    TriggeredBy   = Upgrade_AmericaBattleDrone
    ConflictsWith = Upgrade_AmericaScoutDrone
  End
  Behavior = ObjectCreationUpgrade ModuleTag_07
    UpgradeObject = OCL_AmericanScoutDrone
    TriggeredBy   = Upgrade_AmericaScoutDrone
    ConflictsWith = Upgrade_AmericaBattleDrone
  End
  Behavior = ProductionUpdate ModuleTag_08
    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End

  Behavior = WeaponSetUpgrade ModuleTag_09
    TriggeredBy = Upgrade_AmericaTOWMissile
  End
  Behavior = ExperienceScalarUpgrade ModuleTag_10
    TriggeredBy = Upgrade_AmericaAdvancedTraining
    AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
  End

  Behavior = SlowDeathBehavior ModuleTag_11
    DeathTypes = ALL -CRUSHED -SPLATTED
    ProbabilityModifier = 25
    DestructionDelay = 1
    OCL = INITIAL  OCL_InitialHumveeDebris
    FX  = FINAL    FX_BattleMasterExplosionOneFinal
    OCL = FINAL    OCL_FinalHumveeDebris
  End

  Behavior = DestroyDie ModuleTag_12
    DeathTypes = NONE +CRUSHED +SPLATTED
  End

  Behavior = FXListDie ModuleTag_13
    DeathTypes = NONE +CRUSHED +SPLATTED
    DeathFX = FX_CarCrush
  End

  Behavior = CreateCrateDie ModuleTag_CratesChange
    CrateData = SalvageCrateData
    ;CrateData = EliteTankCrateData
    ;CrateData = HeroicTankCrateData
  End

; This is commented out per hotlist request 10/9 ML
;  Behavior = CreateObjectDie ModuleTag_15
;    DeathTypes = ALL -CRUSHED -SPLATTED
;    CreationList = OCL_AmericanRangerDebris01
;    ExemptStatus = HIJACKED
;  End

  Behavior = EjectPilotDie ModuleTag_16
    DeathTypes = ALL -CRUSHED -SPLATTED
    ExemptStatus = HIJACKED
    ; The following added out per hotlist request 10/9 as above ML
    VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
    GroundCreationList = OCL_EjectPilotOnGround
    AirCreationList = OCL_EjectPilotViaParachute
  End

  Behavior = TransitionDamageFX ModuleTag_17
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  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 = 14.0
  GeometryMinorRadius = 7.0
  GeometryHeight = 11.5     
  GeometryIsSmall = Yes 
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End
EDIT: the above unit will act like a money crate - send it to touch someone else's unit and it will turn into a money crate, giving them money.

If you want to make the cashhack clone I suggest you look at the FactionBuilding.ini - China's command center
kppo57ultra is offline   Reply With Quote