[EDIT]
I can get the plane to fly on the map now, but It won't drop any weapons, and when it does fly, only one plane flies on, not two like the first level should
[EDIT]
I'm having a pretty annoying superweapon problem. I made my own superweapon based on this one:
http://www.sleipnirstuff.com/forum/v...c.php?p=207101
Everything went fine and all when I just copied the code from Sleipnir and put in my inis, but when I tried it without making it seperate from the rest it stopped working. Everything gets past WB and the game doesn't crash, I can purchase the superweapon but when I try and order it, I get the correct radius cursor, but I can't order it because I also get the invalid cursor.
The problem's been bugging me for a long time and I just don't know the solution or the problem.
I think it lies in SpecialPower.ini with this line:
Enum = SPECIAL_A10_THUNDERBOLT_STRIKE
The problem Is I don't know what it means, but It may be the problem.
I think I can post just my code, the one on Sleipnir is fine.
Airplane code(it's the A10 code copied and a few details changed):
Code:
;------------------------------------------------------------------------------
Object USAircraftA1Skyraider
; *** ART Parameters ***
SelectPortrait = USAircraftA1Skyraider
ButtonImage = USAircraftA1Skyraider
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = No
ExtraPublicBone = WeaponA
; ExtraPublicBone = WeaponA02
; ExtraPublicBone = WeaponA03
; ExtraPublicBone = WeaponA04
; ExtraPublicBone = WeaponA05
; ExtraPublicBone = WeaponA06
DefaultConditionState
Model = us_air_a1sky
Animation = us_air_a1sky.us_air_a1sky
AnimationMode = LOOP
; WeaponMuzzleFlash = PRIMARY MuzzleFX01
WeaponFireFXBone = PRIMARY WeaponA
ParticleSysBone = Wingtip01 JetContrailThin
ParticleSysBone = Wingtip02 JetContrailThin
End
ConditionState = REALLYDAMAGED
Model = us_air_a1sky
Animation = us_air_a1sky.us_air_a1sky
AnimationMode = LOOP
WeaponMuzzleFlash = PRIMARY MuzzleFX01
; WeaponFireFXBone = PRIMARY Muzzle01
End
AliasConditionState = RUBBLE
ParticlesAttachedToAnimatedBones = Yes
End
;***DESIGN parameters ***
DisplayName = OBJECT:USAircraftA1Skyraider
EditorSorting = VEHICLE
Side = America
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
VisionRange = 300.0
ShroudClearingRange = 300
Prerequisites
; Object = AmericaAirfield
End
WeaponSet
Conditions = None
Weapon = PRIMARY MassiveNapalmBombWeapon
End
ArmorSet
Conditions = None
Armor = AirplaneArmor
DamageFX = None
End
; ArmorSet
; Conditions = PLAYER_UPGRADE
; Armor = CountermeasuresAirplaneArmor
; DamageFX = None
; End
CommandSet = Command_ScriptedTransportDrops
ExperienceValue = 50 100 150 400 ;Experience point value at each level
ExperienceRequired = 0 150 450 900 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
; *** AUDIO Parameters ***
SoundAmbient = A10ThunderboltAmbientLoop
SoundAmbientRubble = NoSound
UnitSpecificSounds
SoundEject = PilotSoundEject
VoiceEject = PilotVoiceEject
StartDive = A10ThunderboltDive
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK VEHICLE AIRCRAFT SCORE IGNORED_IN_GUI EMP_HARDENED
Body = ActiveBody ModuleTag_02
MaxHealth = 600.0
InitialHealth = 600.0
End
ExperienceValue = 40 40 40 40 ; Experience point value at each level
Behavior = JetSlowDeathBehavior ModuleTag_03
DestructionDelay = 99999999 ; destruction will happen when we
RollRate = 0.0
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_JetDeathInitial
OCLInitialDeath = None
DelaySecondaryFromInitialDeath = 500 ; in milliseconds
FXSecondary = FX_JetDeathSecondary
OCLSecondary = None
FXHitGround = FX_JetDeathHitGround
OCLHitGround = OCL_A10DeathHitGround
DelayFinalBlowUpFromHitGround = 200 ; in milliseconds
FXFinalBlowUp = FX_JetDeathFinalBlowUp
OCLFinalBlowUp = OCL_A10DeathFinalBlowUp
End
Behavior = PhysicsBehavior ModuleTag_05
Mass = 500.0
End
;SCRIPTED SUPPORT: These special power is triggered directly
;from the transport without creating a transport. This is done
;via new code support and CreateLocation USE_OWNER_OBJECT --
;which also prevents creating the payload transport.
Behavior = OCLSpecialPower ModuleTag_06
SpecialPowerTemplate = SuperweaponA1SkyraiderStrike ;@@KRIS@@
UpgradeOCL = SCIENCE_A1SkyraiderStrike3 SUPERWEAPON_A1SkyraiderStrike3
UpgradeOCL = SCIENCE_A1SkyraiderStrike2 SUPERWEAPON_A1SkyraiderStrike2
OCL = SUPERWEAPON_A1SkyraiderStrike1
CreateLocation = USE_OWNER_OBJECT
; ScriptedSpecialPowerOnly = Yes
End
Behavior = DeliverPayloadAIUpdate ModuleTag_20
DoorDelay = 500
MaxAttempts = 4
DropOffset = X:0 Y:0 Z:-10
DropDelay = 300 ; time in between each item dropped (if more than one)
PutInContainer = AmericaParachute
DeliveryDistance = 150
End
Locomotor = SET_NORMAL A10ThunderboltLocomotor
Behavior = TransportContain ModuleTag_30
Slots = 100 ; hey, it's a BIG transport
ScatterNearbyOnExit = No
OrientLikeContainerOnExit = Yes
KeepContainerVelocityOnExit = Yes
ExitPitchRate = 30
ExitBone = WeaponA
AllowInsideKindOf = INFANTRY VEHICLE PROJECTILE DOZER PARACHUTABLE
DoorOpenTime = 0 ; this prevents the Contain module from messing with the doors, since we want DeliverPayload to handle 'em
NumberOfExitPaths = 0
DestroyRidersWhoAreNotFreeToExit = Yes ; 'destroy' as opposed to 'kill'
End
; Behavior = ArmorUpgrade ModuleTag_Armor01
; TriggeredBy = Upgrade_AmericaCountermeasures
; End
; Behavior = CountermeasuresBehavior ModuleTag_10
; TriggeredBy = Upgrade_AmericaCountermeasures
; FlareTemplateName = CountermeasureFlare
; FlareBoneBaseName = Flare ; Name of the base flare bone (Flare01, Flare02, Flare03)
; VolleySize = 3 ; Number of flares launched per volley (requires bones)
; VolleyArcAngle = 90.0 ; Max angle of flare relative to forward direction (with VolleySize of 1, flare will always goes straight back).
; VolleyVelocityFactor = 2.0 ; Shoots out flares at a stronger velocity with a higher value.
; DelayBetweenVolleys = 1000 ; Time between flare volleys
; NumberOfVolleys = 3 ; Number of times the volleys will fire before reloading
; ReloadTime = 0 ; After all volleys launched, then reloading must occur. If 0, then reloading occurs at airstrip only.
; EvasionRate = 30% ; With active flares, the specified percentage will be diverted.
; ReactionLaunchLatency = 0 ; Reaction between getting shot at and the firing of the first volley of countermeasures.
; MissileDecoyDelay = 200 ; A reported missile that has been determined to hit a decoy will wait this long before acquiring countermeasures.
; 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
;;;;;;;; ClientUpdate = AnimatedParticleSysBoneClientUpdate ModuleTag_22
;;;;;;;; End
Geometry = Cylinder
GeometryIsSmall = Yes
GeometryMajorRadius = 10.0
GeometryMinorRadius = 10.0
GeometryHeight = 10.0
Shadow = SHADOW_VOLUME
ShadowSizeX = 89 ; minimum elevation angle above horizon. Used to limit shadow length
End
;-----------------------------------------------------------------------------------
SpecialPower code:
Code:
SpecialPower SuperweaponA1SkyraiderStrike
Enum = SPECIAL_A10_THUNDERBOLT_STRIKE
ReloadTime = 60000 ; in milliseconds
RequiredScience = SCIENCE_A1SkyraiderStrike1
PublicTimer = No
SharedSyncedTimer = Yes
ViewObjectDuration = 30000
ViewObjectRange = 250
RadiusCursorRadius = 75
ShortcutPower = Yes ;Capable of being fired by the side-bar shortcut.
AcademyClassify = ACT_SUPERPOWER ;Considered a powerful special power that a player could fire. Not for simpler unit based powers.
End
Science.ini code:
Code:
Science SCIENCE_A1SkyraiderStrike1
PrerequisiteSciences = SCIENCE_AMERICA SCIENCE_Rank1
SciencePurchasePointCost = 1
IsGrantable = Yes
DisplayName = SCIENCE:USAA10Strike1
Description = CONTROLBAR:ToolTipUSAScienceA10Strike
End
Science SCIENCE_A1SkyraiderStrike2
PrerequisiteSciences = SCIENCE_A1SkyraiderStrike1 SCIENCE_Rank3
SciencePurchasePointCost = 1
IsGrantable = Yes
DisplayName = SCIENCE:USAA10Strike2
Description = CONTROLBAR:ToolTipUSAScienceA10Strike
End
Science SCIENCE_A1SkyraiderStrike3
PrerequisiteSciences = SCIENCE_A1SkyraiderStrike2 SCIENCE_Rank3
SciencePurchasePointCost = 1
IsGrantable = Yes
DisplayName = SCIENCE:USAA10Strike3
Description = CONTROLBAR:ToolTipUSAScienceA10Strike
End
OCL.ini
Code:
ObjectCreationList SUPERWEAPON_A1SkyraiderStrike1
DeliverPayload
Transport = USAircraftA1Skyraider
FormationSize = 2
FormationSpacing = 45.0
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1
DropOffset = X:0 Y:0 Z:-10
Payload = MassiveNapalmBombWeapon
DeliveryDistance = 160
PreOpenDistance = 160
DeliveryDecalRadius = 170
DeliveryDecal
Texture = SCCFuelAirBomb_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:0 B:0 A:255
OnlyVisibleToOwningPlayer = No
End
End
End
; -----------------------------------------------------------------------------
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_A1SkyraiderStrike2
DeliverPayload
Transport = USAircraftA1Skyraider
FormationSize = 4
FormationSpacing = 45.0
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1
DropOffset = X:0 Y:0 Z:-10
Payload = MassiveNapalmBombWeapon
DeliveryDistance = 160
PreOpenDistance = 160
DeliveryDecalRadius = 170
DeliveryDecal
Texture = SCCFuelAirBomb_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:0 B:0 A:255
OnlyVisibleToOwningPlayer = No
End
End
End
; -----------------------------------------------------------------------------
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_A1SkyraiderStrike3
DeliverPayload
Transport = USAircraftA1Skyraider
FormationSize = 5
FormationSpacing = 45.0
StartAtPreferredHeight = Yes
StartAtMaxSpeed = Yes
MaxAttempts = 1
DropOffset = X:0 Y:0 Z:-10
Payload = MassiveNapalmBombWeapon
DeliveryDistance = 160
PreOpenDistance = 160
DeliveryDecalRadius = 170
DeliveryDecal
Texture = SCCFuelAirBomb_USA
Style = SHADOW_ALPHA_DECAL
OpacityMin = 25%
OpacityMax = 50%
OpacityThrobTime = 500
Color = R:255 G:0 B:0 A:255
OnlyVisibleToOwningPlayer = No
End
End
End
CommandButton.ini:
Code:
CommandButton Command_PurchaseScienceA1SkyraiderStrike1
Command = PURCHASE_SCIENCE
Science = SCIENCE_A1SkyraiderStrike1
ButtonImage = USAircraftA1Strike1
ButtonBorderType = UPGRADE ; Identifier for the User as to what kind of button this is
End
CommandButton Command_PurchaseScienceA1SkyraiderStrike2
Command = PURCHASE_SCIENCE
Science = SCIENCE_A1SkyraiderStrike2
ButtonImage = USAircraftA1Strike2
ButtonBorderType = UPGRADE ; Identifier for the User as to what kind of button this is
End
CommandButton Command_PurchaseScienceA1SkyraiderStrike3
Command = PURCHASE_SCIENCE
Science = SCIENCE_A1SkyraiderStrike3
ButtonImage = USAircraftA1Strike3
ButtonBorderType = UPGRADE ; Identifier for the User as to what kind of button this is
End
CommandButton Command_A1SkyraiderStrike
Command = SPECIAL_POWER
SpecialPower = SuperweaponA1SkyraiderStrike
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
Science = SCIENCE_A1SkyraiderStrike1 SCIENCE_A1SkyraiderStrike2 SCIENCE_A1SkyraiderStrike3 ;These will cause the buttons to change icons, nothing more
TextLabel = CONTROLBAR:USA1SkyraiderNapalmStrike
ButtonImage = USAircraftA1Strike1
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:USTooltipA1SkyraiderStrike
RadiusCursorType = A10STRIKE
InvalidCursorName = GenericInvalid
End
CommandButton Command_A1SkyraiderStrikeFromShortcut
Command = SPECIAL_POWER_FROM_SHORTCUT
SpecialPower = SuperweaponA1SkyraiderStrike
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
Science = SCIENCE_A1SkyraiderStrike1 SCIENCE_A1SkyraiderStrike2 SCIENCE_A1SkyraiderStrike3 ;These will cause the buttons to change icons, nothing more
TextLabel = GUI:USA1SkyraiderStrike
ButtonImage = USAircraftA1Strike1
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:USTooltipA1SkyraiderStrike
RadiusCursorType = A10STRIKE
InvalidCursorName = GenericInvalid
End
I think that's most of the code, I hope anybody can solve the problem.