logo   login
right
Home Forums Downloads Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Forum Info
Forum Members: 18,677
Total Threads: 8,798
Posts: 95,842

Administrators:
DeeZire, Redemption

There are currently 31 users online.
Partner Links

Free Credit Repair

Learn the Ticket Broker Secrets
Advertisements

DeeZire Online > Editing Community > Command and Conquer Editing > Generals & Zero Hour Editing » Coding Mistakes and useless things in inis by EA Games

Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here.

Reply
 
LinkBack Thread Tools
Old 07-28-2008, 02:36 PM   #81 (permalink)
Senior Member
 
Join Date: Jan 2008
Posts: 777
Default

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.
beng is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-28-2008, 03:19 PM   #82 (permalink)
Senior Member
 
Join Date: Aug 2004
Location: Philippines
Posts: 452
Send a message via MSN to IraqiPeopleRocks Send a message via Yahoo to IraqiPeopleRocks
Default

Quote:
Originally Posted by beng View Post
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..
IraqiPeopleRocks is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-28-2008, 03:42 PM   #83 (permalink)
Senior Member
 
Join Date: Aug 2004
Location: Philippines
Posts: 452
Send a message via MSN to IraqiPeopleRocks Send a message via Yahoo to IraqiPeopleRocks
Default

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.
IraqiPeopleRocks is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-29-2008, 09:45 PM   #84 (permalink)
Senior Member
 
Join Date: Jan 2008
Posts: 777
Default

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.
beng is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-31-2008, 12:49 PM   #85 (permalink)
Senior Member
 
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
Default

Quote:
Originally Posted by IraqiPeopleRocks View Post
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
n5p29 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-31-2008, 06:05 PM   #86 (permalink)
Senior Member
 
Join Date: Jan 2008
Posts: 777
Default

Or just put the FX in the slowdeath and save having another module
beng is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 07-31-2008, 09:33 PM   #87 (permalink)
Senior Member
 
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
Default

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.
n5p29 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-02-2008, 11:03 AM   #88 (permalink)
Senior Member
 
Join Date: Aug 2004
Location: Philippines
Posts: 452
Send a message via MSN to IraqiPeopleRocks Send a message via Yahoo to IraqiPeopleRocks
Default

Quote:
Originally Posted by beng View Post
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
IraqiPeopleRocks is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-03-2008, 01:03 PM   #89 (permalink)
Senior Member
 
Join Date: Jul 2008
Location: Jakarta, Indonesia
Posts: 298
Default

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
n5p29 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 08-06-2008, 01:50 AM   #90 (permalink)
Senior Member
 
Join Date: Jan 2008
Posts: 777
Default

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).
beng is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 09:51 PM.


Design By: Miner Skinz.com
Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.