 |
Forum Info
|
 |
Forum Members: 18,640
Total Threads: 8,743
Posts: 95,502
Administrators:
DeeZire, Redemption
There are currently 49 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
01-31-2005, 04:57 PM
|
#1 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
OCLs & Dependency Modules
Is it only possibly to have a single model spawned onto another as a dependent? I've got a tank with 6 firepoints, yet only one model spawns ( on firepoint01 ) - the rest simply don't appear.
If this is the case, is it possible to spawn a model that will follow the spawner and die with the spawner?
|
|
|
02-02-2005, 10:26 AM
|
#2 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
I don't like to bump, but I do need some help with this one O_o
Perhaps further elaboration:
Is there a limit to the number of objects that can be spawned onto another unit using W3DDependencyModelDraw?
I am trying to spawn six gun positions. The first one spawns fine ( whichever "the first" happens to be - the first in the OCL list every time, but whichever gun is placed first int he list always spawns ), and then the others simply refuse to appear as expected. They all spawn, and are able to fire, but they spawn with no model at the base of the spawning model, not in the designated position.
Any ideas?
|
|
|
02-02-2005, 11:53 AM
|
#3 (permalink)
|
|
Senior Member
Join Date: Jan 2004
Location: Elgin, Scotland, UK
Posts: 168
|
It is completely possible (as long as none of the add-ons are bunkers). All you have to change is the no. slots in the OverlordContain tag. If you did tht and it didnt work, post up ur code so we can take a look. There are so many things tht can go wrong with the overlord/helix logic (like I have on my BRDM-2, which still isn't fixed after about a month, so I'll use this opportunity to gain extra help-the thread is HERE)
|
|
|
02-02-2005, 12:00 PM
|
#4 (permalink)
|
|
Senior Member
Join Date: Jul 2003
Posts: 98
|
this is the little bastard (ok ehehe little, i didnt mean that :scared: (heavy motor sound*) hellp  )
|
|
|
02-02-2005, 12:10 PM
|
#5 (permalink)
|
|
Senior Member
Join Date: Jan 2004
Location: Elgin, Scotland, UK
Posts: 168
|
WTF are you talkin bout, and why did u post a pic of a completely unrelated unit from a different game?
|
|
|
02-02-2005, 12:42 PM
|
#6 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
lol, thats the model I'm trying to create the side guns for. BF1918 and TGTW are closely related - and part of the combined Frontline18 team - and hence we use their models and scale them down.
I'll post up the code tomorrow ( alas, I won't be at home until then, and the code is there ) as I did indeed change the number of slots.
|
|
|
02-03-2005, 03:12 PM
|
#7 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
Right, the code:
Object GermanHeavyTank
Code:
Object GermanHeavyTank
; *** ART Parameters ***
SelectPortrait = SNBattlemaster_L
ButtonImage = SNBattlemaster
;UpgradeCameo1 = Upgrade_Nationalism
;UpgradeCameo2 = Upgrade_ChinaUraniumShells
;UpgradeCameo3 = Upgrade_ChinaNuclearTanks
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DOverlordTankDraw ModuleTag_01
OkToChangeModelColor = Yes
ExtraPublicBone = fireport1
ExtraPublicBone = fireport2
ExtraPublicBone = fireport3
ExtraPublicBone = fireport4
ExtraPublicBone = fireport5
ExtraPublicBone = fireport6
DefaultConditionState
Model = A7V_nofireport_
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
ConditionState = REALLYDAMAGED
Model = NVBtMstr_D
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
ConditionState = RUBBLE
Model = NVBtMstr_D
Turret = Turret01
End
ConditionState = MOVING
Model = A7V_nofireport
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
TrackMarks = EXTnkTrack.tga
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Overlord
Side = China
EditorSorting = VEHICLE
TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY GermanTankGun
End
ArmorSet
Conditions = None
Armor = TankArmor
DamageFX = TankDamageFX
End
BuildCost = 2000
BuildTime = 1.0 ;in seconds
VisionRange = 150
ShroudClearingRange = 200
Prerequisites
End
ExperienceValue = 200 200 400 600 ;Experience point value at each level
ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = ChinaTankOverlordDefaultCommandSet
; *** AUDIO Parameters ***
VoiceSelect = OverlordTankVoiceSelect
SoundMoveStart = OverlordTankMoveStart
SoundMoveStartDamaged = OverlordTankMoveStart
VoiceMove = OverlordTankVoiceMove
VoiceGuard = OverlordTankVoiceMove
VoiceAttack = OverlordTankVoiceAttack
UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
VoiceCreate = OverlordTankVoiceCreate
TurretMoveStart = NoSound
TurretMoveLoop = OverlordTankTurretMoveLoop
VoiceCrush = OverlordTankVoiceCrush
VoiceEnter = OverlordTankVoiceMove
VoiceUnload = OverlordTankVoiceUnload
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1100.0
InitialHealth = 1100.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 = 2200
SubdualDamageHealRate = 500
SubdualDamageHealAmount = 50
End
Behavior = OverlordContain ModuleTag_OvC
Slots = 6
DamagePercentToUnits = 100%
AllowInsideKindOf = PORTABLE_STRUCTURE
PassengersAllowedToFire = Yes
PassengersInTurret = No ; 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 = AIUpdateInterface ModuleTag_AIUp
Turret
TurretTurnRate = 0 ; turn rate, in degrees per sec
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = No
End
Locomotor = SET_NORMAL OverlordLocomotor
Behavior = PhysicsBehavior ModuleTag_14
Mass = 50.0
End
Behavior = TransitionDamageFX ModuleTag_18
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_OverlordDamageTransition
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
Behavior = GrantUpgradeCreate ModuleTag_Grant01
UpgradeToGrant = Upgrade_A7VGuns
End
Behavior = ObjectCreationUpgrade ObjUp01
TriggeredBy = Upgrade_A7VGuns
UpgradeObject = OCL_A7VGuns
End
Geometry = BOX
GeometryMajorRadius = 32.0
GeometryMinorRadius = 13.0
GeometryHeight = 15.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length
End
A7VMGun01 (All MGuns are the same with different fireports).
Code:
Object A7VMGun01
; *** ART Parameters ***
SelectPortrait = SNGatTower_L
ButtonImage = SNGatTower
;UpgradeCameo1 = Upgrade_Nationalism
;UpgradeCameo1 = Upgrade_ChinaUraniumShells
;UpgradeCameo2 = Upgrade_ChinaNuclearTanks
;UpgradeCameo4 = NONE
;UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon
Draw = W3DDependencyModelDraw ModuleTag_01
OkToChangeModelColor = Yes
AttachToBoneInContainer = fireport1
DefaultConditionState
Model = A7V_fireport1
Turret = MuzzleFX02
WeaponFireFXBone = PRIMARY MuzzleFX02
WeaponRecoilBone = PRIMARY MuzzleFX02
WeaponMuzzleFlash = PRIMARY MuzzleFX02
WeaponLaunchBone = PRIMARY MuzzleFX02
End
End
; ***DESIGN parameters ***
Side = Germany
EditorSorting = SYSTEM
TransportSlotCount = 1
WeaponSet
Conditions = None
Weapon = PRIMARY A7VMGun
End
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module
End
VisionRange = 200
; *** AUDIO Parameters ***
UnitSpecificSounds
TurretMoveStart = NoSound
TurretMoveLoop = NoSound ;TurretMoveLoop
VoiceRapidFire = NoSound
End
; *** ENGINEERING Parameters ***
KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
Body = StructureBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End
Behavior = AIUpdateInterface ModuleTag_03
Turret
ControlledWeaponSlots = PRIMARY
TurretTurnRate = 20 // turn rate, in degrees per sec
TurretPitchRate = 0
AllowsPitch = No
End
AutoAcquireEnemiesWhenIdle = Yes
End
Behavior = DestroyDie ModuleTag_04
;nothing
End
Behavior = StealthDetectorUpdate ModuleTag_06
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
;DetectionRange = ??? ; Defaults to VisionRange
CanDetectWhileContained = Yes
End
Geometry = BOX
GeometryMajorRadius = 0.0
GeometryMinorRadius = 0.0
GeometryHeight = 0.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length
End
ObjectCreationList
Code:
ObjectCreationList OCL_A7VGuns
CreateObject
ObjectNames = A7VMGun02
Count = 1
ContainInsideSourceObject = Yes
End
CreateObject
ObjectNames = A7VMGun01
Count = 1
ContainInsideSourceObject = Yes
End
CreateObject
ObjectNames = A7VMGun03
Count = 1
ContainInsideSourceObject = Yes
End
CreateObject
ObjectNames = A7VMGun04
Count = 1
ContainInsideSourceObject = Yes
End
CreateObject
ObjectNames = A7VMGun05
Count = 1
ContainInsideSourceObject = Yes
End
CreateObject
ObjectNames = A7VMGun06
Count = 1
ContainInsideSourceObject = Yes
End
End
|
|
|
02-03-2005, 05:28 PM
|
#8 (permalink)
|
|
Senior Member
Join Date: Jan 2004
Location: Elgin, Scotland, UK
Posts: 168
|
It all looks good to me, and I think it should work. The only thing I can sujest is that you make an OCL for each individual weapon, i.e.
Code:
ObjectCreationList OCL_A7VGun01
CreateObject
ObjectNames = A7VMGun01
Count = 1
ContainInsideSourceObject = Yes
End
End
Then make an upgrade tag for all of the new OCLs, all of them using the same upgrade of cource. Try tht and see if it works, its all I can think of.
BTW, should "ObjUp01" not be "ModuleTag_ObjUp01", do tht as well
|
|
|
02-03-2005, 05:57 PM
|
#9 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
I tried having seperate OCL calls, but no luck.
I also don't suppose its the ModuleTag, as it still calls fine.
I also don't think its modelside, as the first model always loads. So I'm somewhat stumped.
|
|
|
03-03-2005, 04:29 PM
|
#10 (permalink)
|
|
Member
Join Date: Feb 2003
Location: Melbourne, Australia
Posts: 66
|
Whats an OCl and a Module tag do? Any tutorials on this cos this looks like somethign I'm trying to do as well. but I actually want a unit to run into a tank and then show up on it. 4 max.
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 05:04 AM.
|