 |
Forum Info
|
 |
Forum Members: 18,677
Total Threads: 8,798
Posts: 95,842
Administrators:
DeeZire, Redemption
There are currently 31 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
07-28-2008, 02:36 PM
|
#81 (permalink)
|
|
Senior Member
Join Date: Jan 2008
Posts: 777
|
I think the troble they had was because of badly chosen conditionstates, like you see for the scud storm extra draw modules where they have snow and night conditionstates for some combinations of flags, but not for others, so that the models appear and disappear because the game can't find a proper match in some circumstances.
They probably did not make RUBBLE or REALLYDAMAGED conditionstates for some combination states like say MOVING RUBBLE, maybe they only had MOVING REALLYDAMAGED but not MOVING RUBBLE, so when it was MOVING RUBBLE it disappeared or used the DefaultConditonState model or something.
|
|
|
07-28-2008, 03:19 PM
|
#82 (permalink)
|
|
Senior Member
Join Date: Aug 2004
Location: Philippines
Posts: 452
|
Quote:
Originally Posted by beng
I think the troble they had was because of badly chosen conditionstates, like you see for the scud storm extra draw modules where they have snow and night conditionstates for some combinations of flags, but not for others, so that the models appear and disappear because the game can't find a proper match in some circumstances.
They probably did not make RUBBLE or REALLYDAMAGED conditionstates for some combination states like say MOVING RUBBLE, maybe they only had MOVING REALLYDAMAGED but not MOVING RUBBLE, so when it was MOVING RUBBLE it disappeared or used the DefaultConditonState model or something.
|
Or perhaps, It does what the crusader do, as you said earlier:
Quote:
|
Incidentally, for the crusader tank, if you watch it when it dies whilst moving, you will see that it makes the hulk object before it finishes dying, so that you briefly see it with 2chassis, a hulk one and a non hulk one. Usually the hulk will stay still whilst the still moving non hulk chassis slides forward out of it.
|
I guess they did it so they would sync up properly when it dies while moving and to prevent extra codes. The gattling tank and a few other units does this method also.
Moving on ( LOL xD ), Another bug, Supply trucks have this:
Code:
ConditionState = RUBBLE
Model = NVSSUPPLYTK_D
End
ConditionState = RUBBLE CARRYING
Model = NVSSUPPLYTK_D
ShowSubObject = Cargo01
End
Also, Overlords strangely have this:
Code:
ConditionState = REALLYDAMAGED RUBBLE
Model = NVOvrlrd_d
Animation = NVOvrlrd_d.NVOvrlrd_d
AnimationMode = LOOP
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
ConditionState = RUBBLE
Model = NVOvrlrd_d
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
They're identical but minus the animating dish. IMO, you can do what i suggested to the technicals earlier. Merge the Rubble and reallydamage state into one place to remove the extra code and make the death state sync up. Since the overlord and supply truck explodes instantly anyway, the animation would not be noticable. Same goes to the supply truck mentioned earlier.
Infact, A few units also have identical codes for its reallydamaged and rubble state.
Last edited by IraqiPeopleRocks; 07-28-2008 at 03:23 PM..
|
|
|
07-28-2008, 03:42 PM
|
#83 (permalink)
|
|
Senior Member
Join Date: Aug 2004
Location: Philippines
Posts: 452
|
Double post:
Here's another example of a messy w3d code:
Code:
Draw = W3DTruckDraw ModuleTag_01
ConditionState = NONE
Model = AVAmbulance
Turret = Turret
TurretPitch = TurretEL
WeaponFireFXBone = PRIMARY WeaponA
WeaponLaunchBone = PRIMARY WeaponA
End
ConditionState = REALLYDAMAGED
Model = AVAmbulance_D
Turret = Turret
TurretPitch = TurretEL
WeaponFireFXBone = PRIMARY WeaponA
WeaponLaunchBone = PRIMARY WeaponA
End
ConditionState = RUBBLE
Model = AVAmbulance_D
End
TrackMarks = EXTireTrack.tga
OkToChangeModelColor = Yes
Dust = RocketBuggyDust
DirtSpray = RocketBuggyDirtSpray
PowerslideSpray = RocketBuggyDirtPowerSlide
LeftFrontTireBone = Tire01
RightFrontTireBone = Tire02
LeftRearTireBone = Tire03
RightRearTireBone = Tire04
TireRotationMultiplier = 0.2 ; this * speed = rotation.
PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding.
End
You can always use the DefaultConditionState while you can merge the RUBBLE State with the REALLYDAMAGED state so you can have something like this:
Code:
Draw = W3DTruckDraw ModuleTag_01
DefaultConditionState
Model = AVAmbulance
Turret = Turret
TurretPitch = TurretEL
WeaponFireFXBone = PRIMARY WeaponA
WeaponLaunchBone = PRIMARY WeaponA
End
ConditionState = REALLYDAMAGED RUBBLE
Model = AVAmbulance_D
End
TrackMarks = EXTireTrack.tga
OkToChangeModelColor = Yes
Dust = RocketBuggyDust
DirtSpray = RocketBuggyDirtSpray
PowerslideSpray = RocketBuggyDirtPowerSlide
LeftFrontTireBone = Tire01
RightFrontTireBone = Tire02
LeftRearTireBone = Tire03
RightRearTireBone = Tire04
TireRotationMultiplier = 0.2 ; this * speed = rotation.
PowerslideRotationAddition = 2.5 ; This speed is added to the rotation speed when powersliding.
End
Not only it works better, You also just removed a few extra checkings of the SAGE.
|
|
|
07-29-2008, 09:45 PM
|
#84 (permalink)
|
|
Senior Member
Join Date: Jan 2008
Posts: 777
|
What's wrong with the supply truck one? It needs the RUBBLE CARRYING so that if it dies while carrying boxes you can still see the boxes on the dead truck.
As for Overlords i would separate it into REALLYDAMAGED and RUBBLE states, with no REALLYDAMAGED RUBBLE in between. I still think it is better to separate them as they are really different things. REALLYDAMAGED is when it is REALLYDAMAGED and still alive and therefore not RUBBLE, and RUBBLE is when it is no longer alive. It is not good to have an object use the REALLYDAMAGED RUBBLE state when it is still alive and not rubble.
For the ambulance, i would just AliasConditionState the RUBBLE state under the REALLYDAMAGED state, and like you, use DefaultConditionState instead of NONE.
|
|
|
07-31-2008, 12:49 PM
|
#85 (permalink)
|
|
Senior Member
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
|
Quote:
Originally Posted by IraqiPeopleRocks
Another, Demo units don't die properly when upgraded with suicide packs. Also, there's craploads of "FireweaponWhenDead" module scattered on the units XD!
For example: Scorpions detonates, sits for ages THEN it kills itself again using the right fx's.
Another: Technical's gunner disappears when you detonate the suicide pack and doesn't go airborne compared to its vGLA cousins.
|
I know how to fix it:
1. remove the additional slowdeath for deathtype NONE +SUICIDED
2. change the slowdeath for NONE +EXPLODED -SUICIDED deathtype to NONE +EXPLODED +SUICIDED
the additional slowdeath only triggers a FX, so if you want replace the slowdeath with FXListDie with NONE +SUICIDED deathtype
|
|
|
07-31-2008, 06:05 PM
|
#86 (permalink)
|
|
Senior Member
Join Date: Jan 2008
Posts: 777
|
Or just put the FX in the slowdeath and save having another module
|
|
|
07-31-2008, 09:33 PM
|
#87 (permalink)
|
|
Senior Member
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
|
oh, I forgot to tell that it's only for infantry. for vehicles/buildings, just simply remove the additional slowdeath since they didn't have EXPLODED deathtype but CRUSHED and SPLATTED. so just remove SUICIDED slowdeath like I said before.
|
|
|
08-02-2008, 11:03 AM
|
#88 (permalink)
|
|
Senior Member
Join Date: Aug 2004
Location: Philippines
Posts: 452
|
Quote:
Originally Posted by beng
What's wrong with the supply truck one? It needs the RUBBLE CARRYING so that if it dies while carrying boxes you can still see the boxes on the dead truck.
As for Overlords i would separate it into REALLYDAMAGED and RUBBLE states, with no REALLYDAMAGED RUBBLE in between. I still think it is better to separate them as they are really different things. REALLYDAMAGED is when it is REALLYDAMAGED and still alive and therefore not RUBBLE, and RUBBLE is when it is no longer alive. It is not good to have an object use the REALLYDAMAGED RUBBLE state when it is still alive and not rubble.
For the ambulance, i would just AliasConditionState the RUBBLE state under the REALLYDAMAGED state, and like you, use DefaultConditionState instead of NONE.
|
The problem with the supply truck is that you don't even see the "crates" on the back when it dies. Since its death module spawns a different hulk for it.
Hmmmm, The AliasConditionState method doesn't sound bad at all 
|
|
|
08-03-2008, 01:03 PM
|
#89 (permalink)
|
|
Senior Member
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
|
Almost all vehicles spawn crusader's hulk and not their own hulks when crused.There are also vehicles without 'a crushing defeat' like Gattling and ECM Tanks
|
|
|
08-06-2008, 01:50 AM
|
#90 (permalink)
|
|
Senior Member
Join Date: Jan 2008
Posts: 777
|
The tank-like vehicles use the crusader hulk because it is a generic hulk that looks like any burned out tank-like vehicle. Of course, if there is a separate hulk object available, then the vehicles should use their own hulk instead of the crusader one.
Also, it is not even necessary to use hulk objects at all, you can just let the vehicles die and sink like the infantry objects which do not use hulk objects. If the vehicle's draw module has REALLYDAMAGED RUBBLE conditionstates, split this up into separate REALLYDAMAGED (using the _D model) and RUBBLE (using the _D1 model, which is the hulk without tuurret) condition states so that when REALLYDAMAGED the vehicle will use the REALLYDAMAGED model, and when RUBBLE it will use the hulk model.
Another way to do it is to have the death behavior call an OCL which just throws out the D1 model as a debris, along with other bits of junk debris.
As for Gattling and ECM, it does not matter that they do not have "a crushing defeat" since their death behavior works for all death types. So when they get crushed, they will still die by exploding.
The problem is when an object does not have any death behavior for the CRUSHED death (including any behavior that works for all deaths), like the marauder tank. When this happens the vehicle will stay there forever when crushed and will not go away.
For those vehicles which have "a crushing defeat" they use the old fashiond way of using 3 modules to do FX and OCL and destroy when they could use 1 instantdeath module to do those 3 things.
Here is another bug:
The GLA hole has a door which is supposed to open to let the worker come out. However, when the hole is reskinned for each of the GLA buildings, the reskin holes overwrite the draw module for the door with a model of the rubble of the destroyed building. You therefore never get to see the door opening, and the worker just comes through the closed door instead of opening the door first and then coming out from the open hole.
To fix this, try changing the module tag for the door to ModuleTag_door so that it won't be over-written in the reskins which override ModuleTag_02 (i have yet to test this though).
|
|
|
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 09:51 PM.
|