 |
Forum Info
|
 |
Forum Members: 18,575
Total Threads: 8,656
Posts: 94,426
Administrators:
DeeZire, Redemption
There are currently 60 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
01-04-2005, 09:08 PM
|
#1 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
Removing ArmourSets and WeaponSets
A lot of posts recently, I know, please don't hate me. :S
The problem here is that RemovesUpgrades does not appear to also strip anything that relied on the upgrade, in this case WeaponSet and Armour. The aim is to have an upgrade that changes both of these, and can then be turned off again. They turn on fine, but refuse to turn off.
I've tried changing the conditions to OBJECT_UPGRADE, but apparently thats invalid. I tried using RequiresAllTriggers, but that didn't make any difference either.
Some parts of my code for a soldier:
Code:
WeaponSet
Conditions = None
Weapon = PRIMARY GermanSIGunGas
Weapon = SECONDARY RedguardBayonet
AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI
AutoChooseSources = SECONDARY NONE
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GermanSIGun
Weapon = SECONDARY RedguardBayonet
AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI
AutoChooseSources = SECONDARY NONE
End
ArmorSet
Conditions = None
Armor = HumanArmor
DamageFX = InfantryDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = HumanGasMask
DamageFX = None
End
Behavior = ArmorUpgrade ModuleTag_Armor01
TriggeredBy = Upgrade_GasMasks
RemovesUpgrades = Upgrade_GasMasksOff
End
Behavior = WeaponSetUpgrade ModuleTag_Wep01
TriggeredBy = Upgrade_GasMasksOff
RemovesUpgrades = Upgrade_GasMasks
End
|
|
|
01-04-2005, 09:11 PM
|
#2 (permalink)
|
|
Senior Member
Join Date: Feb 2003
Location: USA
Posts: 853
|
It's hard coded, AFAIK there is no way to remove upgrades like that short of using replaceobject.

|
|
|
01-04-2005, 09:27 PM
|
#3 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
bahsticks, smelly engine strikes again 
|
|
|
01-05-2005, 06:10 PM
|
#4 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
Okay, change of plan, but this probably wont work either.
Have a unit select one of two upgrades, an armour upgrade or a gas mask. Each upgrades to a different armourset.
One way I thought of doing this is by using the CRATE armourset upgrade, where selecting an upgrade spawns a crate on the unit, hence upgrading the armourset.
My questions are:
-- What exactly is the crate the needs spawning?
-- Do I require a bone on the model to dictate where it spawns?
|
|
|
01-05-2005, 06:18 PM
|
#5 (permalink)
|
|
Senior Member
Join Date: Aug 2003
Location: the Netherlands
Posts: 228
|
ok, you might try this:
Get the armors you want listed under PLAYER_UPGRADE and CRATE_UPGRADE_ONE
(where the crate upgrade armor is the same as default I assume)
now if you have an upgrade button for the Player_upgrade, and you make a second button that is an upgrade that makes an OCL spawn .... make the OCL the crate, so when you click it it spawns an (invisible?) crate that upgrades it to CRATE_UPGRADE_ONE now link that same upgrade to the "death" of the player_upgrade somehow (long time ago I did this) and if you need to go back Player_upgrade could probably takeover crate_upgrade_one (link another death(to the crate_upgrade) in here if you want it to be able to switch again)
might do the trick.
|
|
|
01-05-2005, 06:19 PM
|
#6 (permalink)
|
|
Senior Member
Join Date: Aug 2003
Location: the Netherlands
Posts: 228
|
oh and if you just want to have 2 choises and no need to switch go with 1 as normal upgrade and the second as the crate-spawn-thingy
edit to answer your edit:
the crate that needs spawning is the same kind of crate a dead unit would drop if shot by a Salveger (GLA) or even a crate that can be found on the map (cash and rank bonusses) it does not need a bone, simply the OCL offset x=0 y=0 z=0 (dead center of your models.
now if you dont give the crate a model(physically) it wont even show, but still do its thing.
|
|
|
01-05-2005, 06:22 PM
|
#7 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
lol, I just thought of that as you posted, with the following questions:
-- What exactly is the crate the needs spawning?
-- Do I require a bone on the model to dictate where it spawns?
"upgrade to the "death" of the player_upgrade somehow" <-- I thought this was impossible btw - player_upgrades cannot be removed im led to believe?
|
|
|
01-05-2005, 06:23 PM
|
#8 (permalink)
|
|
Senior Member
Join Date: Aug 2003
Location: the Netherlands
Posts: 228
|
oh yeah, that could be so ... must have been a normal object upgrade thats removable
btw for my answer look at the post above
|
|
|
01-05-2005, 06:23 PM
|
#9 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
argh stop typing at the same time as me 
Thanks for reply btw 
|
|
|
01-05-2005, 08:07 PM
|
#10 (permalink)
|
|
Senior Member
Join Date: Jul 2004
Location: London, UK
Posts: 376
|
Hmm this is odd. I can't get the crate to appear. The OCL creating the thing is fine, because if I use 1000DollarCrate it spawns quite happily and I get the cash. If I change the offset, it appears.
However, with my crate, if I change the offset it simply doesn't appear, and its not granting the upgrade :\
Here is my crate code:
Code:
Object GasMaskCrate
; *** ART Parameters ***
Draw = W3DScienceModelDraw ModuleTag_01
DefaultConditionState
Model = PMJnkCrate
End
End
; ***DESIGN parameters ***
EditorSorting = MISC_MAN_MADE
; *** ENGINEERING Parameters ***
KindOf = PARACHUTABLE SELECTABLE ;Only Salvage crates are marked Selectable so the Mouse can interact with them and give Salvage voices. Being dead makes them not actually selectable
Behavior = SalvageCrateCollide ModuleTag_02
ForbiddenKindOf = PROJECTILE
;ExecuteFX = FX_CratePickup ; FXList to play when sucessfully picked up
WeaponChance = 100% ; If we are WeaponSalvager, this is the chance we get a WeaponSet upgrade if not fully upgraded
LevelChance = 25% ; Either we are just a regular Salvager, or we are fully upgraded. This is the chance we gain a level
MoneyChance = 75% ; And this is the chance we get money. Level + Money = 100%. Weapon is an idependant FirstChance
MinMoney = 25 ; If we get money, this is how much we get. Make them different to get a random range.
MaxMoney = 75
End
Behavior = DeletionUpdate ModuleTag_03 ; Not LifetimeUpdate, since I can't die. This will DestroyObject me.
MinLifetime = 30000
MaxLifetime = 35000
End
Geometry = BOX
GeometryMajorRadius = 12.0
GeometryMinorRadius = 12.0
GeometryHeight = 12.0
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
End
|
|
|
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 10:23 PM.
|