phần script T80U của mình đây,các bác xem giúp nhé, dĩ nhiên là mình copy luôn phần RussiaT80UTankGun qua rồi. Thanks các bác
Object VietnamTankT80U
; *** ART Parameters ***
SelectPortrait = T80UTB
ButtonImage = T80UTB
;UpgradeCameo1 = Upgrade_T90HONGWAIGANRAO
;UpgradeCameo2 = NONE
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DOverlordTankDraw ModuleTag_01
ExtraPublicBone = Turret01
ExtraPublicBone = LASERFX01
ExtraPublicBone = CORE
OkToChangeModelColor = No
ParticlesAttachedToAnimatedBones = Yes
InitialRecoilSpeed = 120
MaxRecoilDistance = 3
RecoilSettleSpeed = 12
DefaultConditionState
Model = LSFT80U
Turret = Turret01
TurretPitch = TURRETEL01
WeaponFireFXBone = PRIMARY MUZZLE
WeaponRecoilBone = PRIMARY BARREL
WeaponLaunchBone = PRIMARY MUZZLE
WeaponFireFXBone = SECONDARY MUZZLE
WeaponRecoilBone = SECONDARY BARREL
WeaponLaunchBone = SECONDARY MUZZLE
WeaponFireFXBone = TERTIARY MUZZLE
WeaponRecoilBone = TERTIARY BARREL
WeaponLaunchBone = TERTIARY MUZZLE
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = RELOADING_A
Model = LSFT80U
ParticleSysBone = MUZZLE01 MuzzleFlashBarrelSmoke
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = REALLYDAMAGED
Model = LSFT80Ud
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = RELOADING_A REALLYDAMAGED
Model = LSFT80Ud
ParticleSysBone = MUZZLE01 MuzzleFlashBarrelSmoke
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = RUBBLE
Model = LSFT80Uk
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = SNOW
Model = LSFT80US
Turret = Turret01
TurretPitch = TURRETEL01
WeaponFireFXBone = PRIMARY MUZZLE
WeaponRecoilBone = PRIMARY BARREL
WeaponLaunchBone = PRIMARY MUZZLE
WeaponFireFXBone = SECONDARY MUZZLE
WeaponRecoilBone = SECONDARY BARREL
WeaponLaunchBone = SECONDARY MUZZLE
WeaponFireFXBone = TERTIARY MUZZLE
WeaponRecoilBone = TERTIARY BARREL
WeaponLaunchBone = TERTIARY MUZZLE
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = SNOW RELOADING_A
Model = LSFT80US
ParticleSysBone = MUZZLE01 MuzzleFlashBarrelSmoke
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = SNOW REALLYDAMAGED
Model = LSFT80USd
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = SNOW RELOADING_A REALLYDAMAGED
Model = LSFT80USd
ParticleSysBone = MUZZLE01 MuzzleFlashBarrelSmoke
HideSubObject = RED02
ShowSubObject = RED01
End
ConditionState = SNOW RUBBLE
Model = LSFT80USk
HideSubObject = RED02
ShowSubObject = RED01
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.
End
;---------------------------------------
; The brakes kick in
;---------------------------------------
Draw = W3DModelDraw ModuleTag_BrakeDraw
IgnoreConditionStates = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED RUBBLE
AttachToBoneInAnotherModule = CORE
ParticlesAttachedToAnimatedBones = Yes
OkToChangeModelColor = No
;day, no lights, only if I brake
ConditionState = NONE
Model = LSFT72l
HideSubObject = HLIGHT01 HLIGHT02
End
ConditionState = MOVING
Model = LSFT72l
HideSubObject = HLIGHT01 HLIGHT02
End
;night, I always have my lights on when I move, and they flash whenever I brake
ConditionState = NIGHT
Model = LSFT72l
ShowSubObject = HLIGHT01 HLIGHT02
End
ConditionState = NIGHT MOVING
Model = LSFT72l
ShowSubObject = HLIGHT01 HLIGHT02
End
;enemynear, hide those red lights!
ConditionState = ENEMYNEAR
Model = LSFT72l
HideSubObject = HLIGHT01 HLIGHT02
End
AliasConditionState = MOVING ENEMYNEAR
AliasConditionState = NIGHT ENEMYNEAR
AliasConditionState = NIGHT MOVING ENEMYNEAR
End
;---------------------------------------
Draw = W3DTruckDraw ModuleTag_TracksDraw
OkToChangeModelColor = No
ParticlesAttachedToAnimatedBones = Yes
AttachToBoneInAnotherModule = CORE
DefaultConditionState
Model = LSFT80Uw
End
ConditionState = SNOW
Model = LSFT80USw
End
; These parameters are only used if the model has a separate suspension,
; and the locomotor has HasSuspension = Yes.
RightFrontTireBone = TIRE01
LeftFrontTireBone = TIRE02
MidRightFrontTireBone = TIRE03
MidLeftFrontTireBone = TIRE04
;------------------------------
MidRightMidTireBone = TIRE05
MidLeftMidTireBone = TIRE06
;------------------------------
MidRightRearTireBone = TIRE07
MidLeftRearTireBone = TIRE08
;RightRearTireBone = TIRE09
;LeftRearTireBone = TIRE10
TireRotationMultiplier = 0.4 ; this * speed = rotation.
End
;---------------------------------------
; The rotating housecolors
;---------------------------------------
Draw = W3DModelDraw ModuleTag_HousecolorDraw
OkToChangeModelColor = Yes
ConditionState = NONE
Model = LSFTankCB
Animation = LSFTankCB.LSFTankCB
AnimationMode = LOOP
HideSubObject = HOUSECOLOR02 HOUSECOLOR03
End
AliasConditionState = WEAPONSET_PLAYER_UPGRADE
AliasConditionState = REALLYDAMAGED
AliasConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
AliasConditionState = RUBBLE
AliasConditionState = WEAPONSET_PLAYER_UPGRADE RUBBLE
AliasConditionState = ENEMYNEAR RUBBLE
AliasConditionState = ENEMYNEAR WEAPONSET_PLAYER_UPGRADE RUBBLE
ConditionState = ENEMYNEAR
Model = LSFTankCB
Animation = LSFTankCB.LSFTankCB
AnimationMode = LOOP
ShowSubObject = HOUSECOLOR02 HOUSECOLOR03
End
AliasConditionState = ENEMYNEAR WEAPONSET_PLAYER_UPGRADE
AliasConditionState = ENEMYNEAR REALLYDAMAGED
AliasConditionState = ENEMYNEAR WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
End
; ***DESIGN parameters ***
DisplayName = OBJECT:T80U
Side = Vietnam
EditorSorting = VEHICLE
TransportSlotCount = 9 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY T80UTankGun
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
;
Weapon = SECONDARY T80UTankGun_HEAT
AutoChooseSources = SECONDARY FROM_PLAYER FROM_SCRIPT FROM_AI
;
Weapon = TERTIARY PAOSHEDAODAN
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT FROM_AI
;
WeaponLockSharedAcrossSets = Yes
ShareWeaponReloadTime = Yes
End
ArmorSet
Conditions = None
Armor = RussiaT80UTankArmor
DamageFX = TankDamageFX
End
BuildCost = 2385
BuildTime = 38.0 ;in seconds
VisionRange = 200
ShroudClearingRange = 125
Prerequisites
Object = VietnamWarFactory
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 = LSFT80UCommandSet
; *** AUDIO Parameters ***
;VoiceSelect =
;VoiceMove =
;VoiceGuard =
;VoiceAttack =
SoundMoveLoop = TurboTankMoveStart
SoundMoveLoopDamaged = TurboTankMoveStart
UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
;VoiceCreate =
TurretMoveLoop = RussiaTSeriesTurret
;VoiceCrush =
;VoiceEnter =
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = ATTACK_NEEDS_LINE_OF_SIGHT CAN_ATTACK CAN_CAST_REFLECTIONS DONT_AUTO_CRUSH_INFANTRY PRELOAD SCORE SELECTABLE VEHICLE
Body = ActiveBody ModuleTag_02
MaxHealth = 525.0
InitialHealth = 525.0
End
Behavior = AIUpdateInterface ModuleTag_03
Turret
TurretTurnRate = 80 ; // turn rate, in degrees per sec
TurretPitchRate = 80
MinPhysicalPitch = -5
AllowsPitch = Yes
ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
MinIdleScanAngle = 0 ; in degrees off the natural turret angle
MaxIdleScanAngle = 45 ; in degrees off the natural turret angle
MinIdleScanInterval = 10000 ; in milliseconds
MaxIdleScanInterval = 20000 ; in milliseconds
End
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 150
End
Locomotor = SET_NORMAL T80Locomotor
Behavior = OverlordContain ModuleTag_04
Slots = 2
DamagePercentToUnits = 100%
AllowInsideKindOf = PORTABLE_STRUCTURE
PayloadTemplateName = RussiaT80UTankGun
PayloadTemplateName = RussiaT80U_AWSystem2
PassengersAllowedToFire = Yes
PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are
ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
End
Behavior = EnemyNearUpdate ModuleTag_Housecolor
;nothing
End
Behavior = StealthDetectorUpdate ModuleTag_DetectStealth_Vehicle01
CanDetectWhileContained = No ; this is a vehicle ; Can the object detect stealth objects when it is inside an object?
CanDetectWhileGarrisoned = No ; this is a vehicle ; Can the object detect stealth objects when it is inside an object with a GarrisonContain module?
DetectionRange = 50 ; 1/2 its visionrange ; The maximum distance that the object can detect enemy stealthed obejcts. Defaults to the object's VisionRange.
DetectionRate = 1000 ; The time between scanning for stealthed objects.
ExtraRequiredKindOf = INFANTRY
ExtraForbiddenKindOf = BOAT
InitiallyDisabled = No ; Does the detector start off in a disabled state?
End
Behavior = PhysicsBehavior ModuleTag_08
Mass = 50.0
End
; --- begin Death modules ---
Behavior = TransitionDamageFX ModuleTag_Death01
DamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:TankDeathSmokeDamaged
DamagedFXList1 = Loc: x:0 y:0 z:0 FXList:FX_TankDamageTransition
;
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:TankDeathSmokeReallyDamaged
ReallyDamagedFXList1 = Loc: x:0 y:0 z:0 FXList:FX_TankDamageTransition
;
RubbleParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:TankDeathSmokeRubble
RubbleFXList1 = Loc: x:0 y:0 z:0 FXList:FX_TankDamageTransition
RubbleFXList2 = Loc: x:0 y:0 z:0 FXList:FX_TankDeathRubble1
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DestructionDelay = 18000
FX = MIDPOINT FX_TankDeathRubble2
OCL = MIDPOINT OCL_TankDeathTrails
SinkDelay = 15000
SinkRate = 4.0
;
Weapon = MIDPOINT VehicleExplodeWeapon
End
; --- end Death modules ---
;Behavior = VeterancyGainCreate ModuleTag_22
;StartingLevel = VETERAN
;End
ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_Client01
End
Behavior = LockWeaponCreate ModuleTag_LockWeapon01
SlotToLock = PRIMARY
End
Behavior = CommandButtonHuntUpdate ModuleTag_CBHunt ; allows use of command button hunt script with this unit.
End
Behavior = StealthUpdate ModuleTag_SmokeGrenade02
StealthDelay = 100
StealthForbiddenConditions = None ;ATTACKING
InnateStealth = No
RequiredStatus = STATUS_RIDER8
OrderIdleEnemiesToAttackMeUponReveal = Yes
End
Behavior = OCLSpecialPower ModuleTag_SmokeGrenade01
SpecialPowerTemplate = SUPERWEAPON_LSFSmokeGrenade
OCL = OCL_LSFSmokeGrenadeDetonation
End
Behavior = PointDefenseLaserUpdate ModuleTag_23
WeaponTemplate = LSFFYAmor1
PrimaryTargetTypes = BALLISTIC_MISSILE SMALL_MISSILE
ScanRate = 500
ScanRange = 10.0
PredictTargetVelocityFactor = 3.0
End
Behavior = ObjectCreationUpgrade ModuleTag_73
UpgradeObject = OCL_T90MissileJammer
End
;Behavior = VeterancyGainCreate ModuleTag_Russia01
;StartingLevel = VETERAN
; = SCIENCE_RussiaEX
;End
Behavior = ProductionUpdate ModuleTag_75
MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
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
Phần script trong commandbutton:
CommandButton Vietnam_Command_ConstructTankT80U
Command = UNIT_BUILD
Object = VietnamTankT80U
TextLabel = CONTROLBAR:T80UTB
ButtonImage = T80UTB
ButtonBorderType = BUILD ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:T80UTBif
End
Phần script trong commandset:
CommandSet Vietnam_WarFactoryCommandSet
1 = Vietnam_Command_ConstructTankT55
2 = Vietnam_Command_ConstructVehicleShilka
3 = Vietnam_Command_ConstructTankT72
4 = Vietnam_Command_ConstructBMP2
5 = Vietnam_Command_ConstructTankSuperT55
6 = Vietnam_Command_ConstructPT76
7 = Vietnam_Command_ConstructVietnamArmorM113
8 = Vietnam_Command_ConstructVehicleBM21
9 = Vietnam_Command_ConstructR300
10 = Vietnam_Command_ConstructTankT62
11 = Vietnam_Command_ConstructTankT80U
14 = Command_Sell
End