Posted by: Decrosse - Wednesday, October 17, 2012 7:51:09 AM
I tried following a tutorial http://gendev.cncguild.net/page.php?file=/vanguard/faction
I think I need a little help with the inis, attaching...
Posted by: Annihilationzh - Wednesday, October 17, 2012 1:20:35 PM
Without the attached INI files, I can't immediately help there.
However, this tutorial tries to do everything at once. That is very overwhelming for those who need a tutorial.
Step 1:
Add a PlayerTemplate.ini entry. Use an existing general as a base. For example, this is a new general:
[code]PlayerTemplate FactionTheGreatestGeneralEver
Side = TheBest
BaseSide = GLA
PlayableSide = Yes
StartMoney = 0
PreferredColor = R:0 G:255 B:0
IntrinsicSciences = SCIENCE_GLA
PurchaseScienceCommandSetRank1 = Chem_SCIENCE_GLA_CommandSetRank1
PurchaseScienceCommandSetRank3 = Chem_SCIENCE_GLA_CommandSetRank3
PurchaseScienceCommandSetRank8 = Chem_SCIENCE_GLA_CommandSetRank8
SpecialPowerShortcutCommandSet = Chem_SpecialPowerShortcutGLA
SpecialPowerShortcutWinName = GenPowersShortcutBarGLA.wnd
SpecialPowerShortcutButtonCount = 10
DisplayName = INI:FactionGLAToxinGeneral
StartingBuilding = Chem_GLACommandCenter
StartingUnit0 = Chem_GLAInfantryWorker
ScoreScreenImage = GLA_ScoreScreen
LoadScreenImage = SUFactionLogoPage_GLA
LoadScreenMusic = Load_GLA
ScoreScreenMusic = Score_GLA
;HeadWaterMark = SCTempSelectPortrait ; don't use unless we add a "generalshead for non selected generals
FlagWaterMark = WatermarkGLA
EnabledImage = SSObserverGLA
BeaconName = MultiplayerBeacon
SideIconImage = GameinfoGLA
GeneralImage = GLA_Toxin
OldFaction = No ; This faction was NOT available in the original Generals and should NOT be available if the oldFactionsOnly flag is set
ArmyTooltip = TOOLTIP:BioStrategyLong_Pos1
Features = GUI:BioFeatures_Pos1
MedallionRegular = ToxinGeneral_slvr
MedallionHilite = ToxinGeneral_blue
MedallionSelect = ToxinGeneral_orng
End[/code]
You'll notice, I only changed TWO things. This is because a faction doesn't need all it's buildings/units immediately. Especially if you're new to this.
Next, to repair the inevitable sidebar bugs (ControlBarScheme.ini)
[code]ControlBarScheme TheGreatestGeneralEver8x6
ScreenCreationRes X:800 Y:600
Side TheBest
QueueButtonImage SCBigButton
RightHUDImage SULogo
BuildUpClockColor R:0 G:0 B:0 A:160
ButtonBorderBuildColor R:67 G:108 B:190 A:255 ;blue
ButtonBorderActionColor R:1 G:175 B:2 A:255 ;Green
ButtonBorderUpgradeColor R:208 G:108 B:0 A:255 ;Orange
ButtonBorderSystemColor R:207 G:195 B:2 A:255 ;yellow
CommandBarBorderColor R:124 G:62 B:0 A:255 ;blue
GenBarButtonIn SUBarButtonGen2IN
GenBarButtonOn SUBarButtonGen2ON
CommandMarkerImage SUEmptyFrame
ToggleButtonUpIn SUMaxMinHU
ToggleButtonUpOn SUMaxMinU
ToggleButtonUpPushed SUMaxMinPU
ToggleButtonDownIn SUMaxMinH
ToggleButtonDownOn SUMaxMin
ToggleButtonDownPushed SUMaxMinP
OptionsButtonDisabled SUOptionsI
BuddyButtonDisabled SUChatI
BeaconButtonDisabled SUBeaconI
OptionsButtonEnable SUOptions
OptionsButtonHightlited SUOptionsH
OptionsButtonPushed SUOptionsP
IdleWorkerButtonEnable SUWorkerE
IdleWorkerButtonHightlited SUWorkerH
IdleWorkerButtonPushed SUWorkerP
IdleWorkerButtonDisabled SUWorkerI
BuddyButtonEnable SUChat
BuddyButtonHightlited SUChatH
BuddyButtonPushed SUChatP
BeaconButtonEnable SUBeacon
BeaconButtonHightlited SUBeaconH
BeaconButtonPushed SUBeaconP
GeneralButtonEnable SUGeneral
GeneralButtonHightlited SUGeneralH
GeneralButtonPushed SUGeneralP
GeneralButtonDisabled SUGeneralI
UAttackButtonEnable SUUAttackI
UAttackButtonHightlited SUUAttackH
UAttackButtonPushed SUUAttackP
MinMaxButtonEnable SUMinMax
MinMaxButtonHightlited SUMinMaxH
MinMaxButtonPushed SUMinMaxP
MinMaxUL X:639 Y:433
MinMaxLR X:698 Y:459
GeneralUL X:722 Y:429
GeneralLR X:787 Y:458
UAttackUL X:184 Y:426
UAttackLR X:206 Y:450
OptionsUL X:184 Y:490
OptionsLR X:220 Y:514
WorkerUL X:184 Y:516
WorkerLR X:220 Y:540
ChatUL X:184 Y:568
ChatLR X:220 Y:592
BeaconUL X:184 Y:545
BeaconLR X:220 Y:566
PowerBarUL X:259 Y:470
PowerBarLR X:537 Y:476
GenArrow GLALevelUP
MoneyUL X:360 Y:443
MoneyLR X:439 Y:462
ExpBarForegroundImage SUExpBar
ImagePart
Position X:0 Y:399
Size X:800 Y:200
ImageName InGameUIGLABase
Layer 4 ;; layer means how deep the image will be drawn, it's a number between 0-5 with 0 being on top
End
PowerPurchaseImage GeneralsPowerWindow_GLA
End[/code]
Again, I only changed two things, right at the beginning.
This is a new general. Next, create a command centre and a dozer and then add them to PlayerTemplate.ini. Slowly but surely, your general will grow.
Posted by: Decrosse - Wednesday, October 17, 2012 1:42:13 PM
silly internet...
here, if it lets me
-------
as for NOD I'm thinking more in the lines of Tiberian Sun/Firestorm faction... [ATTACH]1186[/Attach]
Posted by: Annihilationzh - Wednesday, October 17, 2012 2:09:55 PM
Well, for a start...
In PlayerTemplate.ini
[code]StartingBuilding = NODCommandCenter[/code]
Doesn't exist.
[code]StartingUnit0 = NODsDozer/Worker[/code]
Doesn't exist.
[code]IntrinsicSciences = SCIENCE_NOD[/code]
No Science.ini provided.
You didn't include a CommandSet.ini, so I have to assume that all your CommandSets are invalid.
The whole PlayerTemplate.ini entry is a real mess. It'd be faster to start over.
Also, nothing in NOD.ini is a new unit. AmericaJetAurora already exists. Change it to NODJetAurora or something. This applies to everything I read in the file.
ControlBarScheme.ini looks OK!
Posted by: Decrosse - Wednesday, October 17, 2012 6:49:16 PM
Posted by: Annihilationzh - Thursday, October 18, 2012 5:41:39 AM
[code]NODSupplyGenerater/SuperWeapon
NODDefense
NODWarFactory
[/code]
These are the first three I checked, and not one of them exists in NOD.ini. I expect this is true of the majority of your commandbutton/commandset references.
[quote]Edit: no sciene.ini as partially not there yet/need tutorial for...[/quote]
Science.ini doesn't really have tutorials. Just avoid using anything related to Science.ini until the rest is sorted.
Posted by: Decrosse - Thursday, October 18, 2012 8:43:53 AM
[quote=Annihilationzh;125980][code]NODSupplyGenerater/SuperWeapon
NODDefense
NODWarFactory
[/code]
These are the first three I checked, and not one of them exists in NOD.ini. I expect this is true of the majority of your commandbutton/commandset references.
[quote]Edit: no sciene.ini as partially not there yet/need tutorial for...[/quote]
Science.ini doesn't really have tutorials. Just avoid using anything related to Science.ini until the rest is sorted.[/quote]
I'd like it to use GLA Command Center with dozer instead of worker, China/Boss Powerplant (America's upgrade instead of China), Nuke, GLA Arms Dealer, China Barracks... America Laser Gen Turret (less power needed), America Patriot (edit for only attack airborne)
I'll see what I can do if anything...
Posted by: Annihilationzh - Friday, October 19, 2012 4:43:51 PM
This is why I criticised the tutorial. This is bulk coding. I can bulk code - because I know what's likely to go wrong, and I can fix it.
If you don't know what's likely to go wrong, it can take weeks to fix it. When you code one step at a time, even the most inexperienced can troubleshoot.
Posted by: Decrosse - Saturday, October 20, 2012 10:36:23 AM
[quote=Annihilationzh;125997]
If you don't know what's likely to go wrong, it can take weeks to fix it. When you code one step at a time, even the most inexperienced can troubleshoot.[/quote]
I think I'm going to refresh this and do one step at a time...
EDIT: that is, after I deal with something either Trojan or Virus, Mac side Avast trial picked it up...
Posted by: Decrosse - Saturday, October 20, 2012 7:36:35 PM
[code]PlayerTemplate FactionTheGreatestGeneralEver
Side = TheBest
BaseSide = GLA
PlayableSide = Yes
StartMoney = 0
PreferredColor = R:0 G:255 B:0
IntrinsicSciences = SCIENCE_GLA
PurchaseScienceCommandSetRank1 = Chem_SCIENCE_GLA_CommandSetRank1
PurchaseScienceCommandSetRank3 = Chem_SCIENCE_GLA_CommandSetRank3
PurchaseScienceCommandSetRank8 = Chem_SCIENCE_GLA_CommandSetRank8
SpecialPowerShortcutCommandSet = Chem_SpecialPowerShortcutGLA
SpecialPowerShortcutWinName = GenPowersShortcutBarGLA.wnd
SpecialPowerShortcutButtonCount = 10
DisplayName = INI:FactionGLAToxinGeneral
StartingBuilding = Chem_GLACommandCenter
StartingUnit0 = Chem_GLAInfantryWorker
ScoreScreenImage = GLA_ScoreScreen
LoadScreenImage = SUFactionLogoPage_GLA
LoadScreenMusic = Load_GLA
ScoreScreenMusic = Score_GLA
;HeadWaterMark = SCTempSelectPortrait ; don't use unless we add a "generalshead for non selected generals
FlagWaterMark = WatermarkGLA
EnabledImage = SSObserverGLA
BeaconName = MultiplayerBeacon
SideIconImage = GameinfoGLA
GeneralImage = GLA_Toxin
OldFaction = No ; This faction was NOT available in the original Generals and should NOT be available if the oldFactionsOnly flag is set
ArmyTooltip = TOOLTIP:BioStrategyLong_Pos1
Features = GUI:BioFeatures_Pos1
MedallionRegular = ToxinGeneral_slvr
MedallionHilite = ToxinGeneral_blue
MedallionSelect = ToxinGeneral_orng
End[/code]
You'll notice, I only changed TWO things. This is because a faction doesn't need all it's buildings/units immediately. Especially if you're new to this.
Posted by: Decrosse - Sunday, October 21, 2012 10:44:18 AM
Okay I think I got it, got ZH to launch fine without that "serious error" and does show in faction dropdown menu just with "MISSING" in front but otherwise it work just fine.
Next Step?
- eventually models/textures/etc will be changed/replaced for the new factions so they got correct structures/units/etc.
Posted by: Annihilationzh - Sunday, October 21, 2012 11:59:53 AM
Create each unit, one at a time. Then add CommandButtons and CommandSets for everything. Test in between.
Go over PlayerTemplate.ini, creating and adding any commandsets within it as you go along.
Posted by: Decrosse - Sunday, October 21, 2012 2:58:58 PM
[quote=Annihilationzh;126012]Create each unit, one at a time. Then add [u]CommandButtons and CommandSets[/u] for everything. Test in between.
Go over PlayerTemplate.ini, creating and adding any commandsets within it as you go along.[/quote]
might need some help adding/fixing, think I got commandset[question] but not sure I get commandbuttons...[question]what to do there... [question] [ATTACH]1188[/Attach]
Posted by: Annihilationzh - Sunday, October 21, 2012 5:05:23 PM
Here's an example:
[code]CommandButton Command_ConstructNODTank
Command = UNIT_BUILD
Object = NODTank
TextLabel = CONTROLBAR:ConstructNODTank
ButtonImage = SNBattlemaster
ButtonBorderType = BUILD ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipNODBuildTank
End[/code]
"Command_ConstructNODTank" Goes in CommandSet.ini
" Object = NODTank" must be an object in Nod.ini
As NODTank is not an object in Nod.ini, the game will crash, because NODTank doesn't exist.
However, if you use NODTankBattleMaster, which does exist in Nod.ini, this won't cause the game to crash.
Posted by: Decrosse - Sunday, October 21, 2012 6:15:04 PM
Its more the CommandButtons than the CommandSet... that I'm not sure of...
Posted by: Rrtaya_tsamsiyu - Sunday, October 21, 2012 10:12:11 PM
[quote]As NODTank is not an object in Nod.ini, the game will crash, because NODTank doesn't exist.[/quote]
usually it just makes the button unclickable for me, just sayin incase decrosse adds a button to a unit/building and it dosent work. i also had it to where the game would crash if i passed the mouse over the button ingame, i dont remember what in the button.ini caused that.
im pretty sure the game will crash if you add something to commandset.ini that isent in commandbutton.ini tho.
[quote]Its more the CommandButtons than the CommandSet... that I'm not sure of...[/quote]
basically,
[color=blue]CommandButton Command_ConstructNODTank[/color] is the button name, and what you put in a commandset so it uses that button.
[color=blue]Command = UNIT_BUILD[/color] changes with what the button does, such as PURCHASE_UPGRADE, BUILD_STRUCTURE, etc.
[color=blue]Object = NODTank[/color] tells the game what unit/building to make.
[color=blue]TextLabel = CONTROLBAR:ConstructNODTank[/color] im not exactly sure about..
[color=blue]ButtonImage = SNBattlemaster[/color] is the picture on the button.
[color=blue]ButtonBorderType = BUILD[/color] im not sure about either...[h][/h][h][/h][color=blue][/color]
[color=blue]DescriptLabel = CONTROLBAR:ToolTipNODBuildTank[/color] is the popup you see when you hover the mouse on the button -i think-
[color=blue]End[/color] of course, tells the game that this is the end of the INIs for CommandButton Command_ConstructNODTank.
The easiest and quickest way for me to make buttons is to copy/paste existing ones and just edit them.
Posted by: Decrosse - Wednesday, October 24, 2012 9:30:04 PM
yeah right now i'm not picky on which units/structures it uses, defaults find with renames for the place holders...
been checking out other RTS games meanwhile; like Universe at War: Earth Assault. nice li'l game thing...
Posted by: Decrosse - Monday, November 5, 2012 2:25:09 AM
Okay, now one at a time... I can be a bit slow so step-by-step directions may work best with me
one faction, based off of GLA, how to change the vehicles models to civilian vehicles models?
would like to make CommandCenter make dozers, not workers...
-------
would like to replace these with civilian vehicles as shown
[IMG]http://i57.photobucket.com/albums/g205/DeCrosse/VEH1.png[/IMG]
Also have Structures to do, but would like to start with the vehicles at least...
[IMG]http://i57.photobucket.com/albums/g205/DeCrosse/VEH2.png[/IMG]
Posted by: precision_bomber - Monday, November 5, 2012 1:21:46 PM
I think you'd have to work on how the object works.
Like for example:
Scorpion Tanks have turrets, but Civilian Cars don't.
You can totally dismiss this, or you may want to add a turret to the Civilian Car through modelling.
Another Example:
SCUD Storms have 'WEAPONAxx' Bones. ('xx' representing the order of the missiles launched)
You can as well, dismiss this; resulting into the SCUD Missiles Launching from the origin point of the model. Or, as well, edit the the Civilian Building Model to make it work the way you want.
[i][size=2][color=green]Changing Models is a bit of a big job especially if you're doing everything yourself... So patience is the key.[/color][/size][/i]
Posted by: Annihilationzh - Monday, November 5, 2012 1:23:06 PM
Replace the entire Art code, not just the model. The art code is usually ModuleTag_01.
Posted by: Decrosse - Monday, November 5, 2012 2:45:21 PM
Civilian cars aren't supposed to show any turrets; I liked the Tiberian Sun/Firestorm mutants when civilian car was used for attacking playerbase...
and ScudStorm superweapon will eventually be changed to new one...
------
Doesn't mean I know how to do these things, still new to modding. I'll go take a look in wherever....
Posted by: Decrosse - Monday, November 5, 2012 4:23:16 PM
Could someone please help me fix this/these?
Attachment in a second... [ATTACH]1191[/Attach]
Posted by: Annihilationzh - Tuesday, November 6, 2012 3:14:34 PM
In MutantsVehicleQuadCannon, all this is crashing your game:
[code] ConditionState = NONE
Model = UVQuadCann
Turret = TURRET
TurretPitch = TURRETEL
WeaponFireFXBone = PRIMARY BarrelMS
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponRecoilBone = PRIMARY Barrel
WeaponFireFXBone = SECONDARY BarrelMS
WeaponMuzzleFlash = SECONDARY BarrelFX
WeaponRecoilBone = SECONDARY Barrel
ShowSubObject = TURRET
HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
End
ConditionState = REALLYDAMAGED
Model = UVQuadCann_D
Turret = TURRET
TurretPitch = TURRETEL
WeaponFireFXBone = PRIMARY BarrelMS
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponRecoilBone = PRIMARY Barrel
WeaponFireFXBone = SECONDARY BarrelMS
WeaponMuzzleFlash = SECONDARY BarrelFX
WeaponRecoilBone = SECONDARY Barrel
ShowSubObject = TURRET
HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
End
ConditionState = RUBBLE
Model = UVQuadCann_D
Turret = TURRET
TurretPitch = TURRETEL
WeaponFireFXBone = PRIMARY BarrelMS
WeaponMuzzleFlash = PRIMARY BarrelFX
WeaponRecoilBone = PRIMARY Barrel
WeaponFireFXBone = SECONDARY BarrelMS
WeaponMuzzleFlash = SECONDARY BarrelFX
WeaponRecoilBone = SECONDARY Barrel
ShowSubObject = TURRET
HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_ONE
Model = UVQuadCann
Turret = TURRETUP01
TurretPitch = TURRETEL01
WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponFireFXBone = SECONDARY BarrelUp01MS
WeaponMuzzleFlash = SECONDARY BarrelUp01FX
WeaponRecoilBone = SECONDARY BarrelUp01
ShowSubObject = TURRETUP01
HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
Model = UVQuadCann
Turret = TURRETUP01
TurretPitch = TURRETEL01
WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponFireFXBone = SECONDARY BarrelUp01MS
WeaponMuzzleFlash = SECONDARY BarrelUp01FX
WeaponRecoilBone = SECONDARY BarrelUp01
ShowSubObject = TURRETUP01
HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE
Model = UVQuadCann
Turret = TURRETUP01
TurretPitch = TURRETEL01
WeaponFireFXBone = PRIMARY BarrelUp01MS
WeaponMuzzleFlash = PRIMARY BarrelUp01FX
WeaponRecoilBone = PRIMARY BarrelUp01
WeaponFireFXBone = SECONDARY BarrelUp01MS
WeaponMuzzleFlash = SECONDARY BarrelUp01FX
WeaponRecoilBone = SECONDARY BarrelUp01
ShowSubObject = TURRETUP01
HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_TWO
Model = UVQuadCann
Turret = TURRETUP02
TurretPitch = TURRETEL02
WeaponFireFXBone = PRIMARY BarrelUp02MS
WeaponMuzzleFlash = PRIMARY BarrelUp02FX
WeaponRecoilBone = PRIMARY BarrelUp02
WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponRecoilBone = SECONDARY BarrelUp02
ShowSubObject = TURRETUP02
HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
Model = UVQuadCann_D
Turret = TURRETUP02
TurretPitch = TURRETEL02
WeaponFireFXBone = PRIMARY BarrelUp02MS
WeaponMuzzleFlash = PRIMARY BarrelUp02FX
WeaponRecoilBone = PRIMARY BarrelUp02
WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponRecoilBone = SECONDARY BarrelUp02
ShowSubObject = TURRETUP02
HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
End
ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE
Model = UVQuadCann_D
Turret = TURRETUP02
TurretPitch = TURRETEL02
WeaponFireFXBone = PRIMARY BarrelUp02MS
WeaponMuzzleFlash = PRIMARY BarrelUp02FX
WeaponRecoilBone = PRIMARY BarrelUp02
WeaponFireFXBone = SECONDARY BarrelUp02MS
WeaponMuzzleFlash = SECONDARY BarrelUp02FX
WeaponRecoilBone = SECONDARY BarrelUp02
ShowSubObject = TURRETUP02
HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
End
TrackMarks = EXTnkTrack.tga
TreadAnimationRate = 2.0; amount of tread texture to move per second
TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving.
TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting.
Dust = RocketBuggyDust
DirtSpray = RocketBuggyDirtSpray
; These parameters are only used if the model has a separate suspension,
; and the locomotor has HasSuspension = Yes.
LeftFrontTireBone = Tire01
RightFrontTireBone = Tire02
TireRotationMultiplier = 0.2 ; this * speed = rotation.
PowerslideRotationAddition = 0 ; This unit doesn't powerslide.
End[/code]
Remove it ALL.
Posted by: Decrosse - Tuesday, November 6, 2012 5:59:31 PM
I like that Worldbuilder tells me some of the problems.
Did that, now there's another ...
[IMG]http://i57.photobucket.com/albums/g205/DeCrosse/er.png[/IMG]
but some have little info/etc..
Posted by: precision_bomber - Wednesday, November 7, 2012 2:13:32 AM
[quote=Decrosse;126135]I like that Worldbuilder tells me some of the problems.
Did that, now there's another ...[/quote]
You should by now, be able to at least read the error.
Check if you inexplicably doubled the Object field in an Object
like this:
[code=cpp]
Object Awesome
Object
[/code]
Simply omit that part of the code.
Posted by: Decrosse - Wednesday, November 7, 2012 3:08:31 AM
[quote=precision_bomber;126136]
You should by now, be able to at least read the error.
Check if you inexplicably doubled the Object field in an Object
like this:
[code=cpp]
Object Awesome
Object
[/code]
Simply omit that part of the code.[/quote]
Doesn't make it any easier to find, I'll scan again but...
Other errors beforehand told me of Duplicates found apparently which I fixed, this doesn't say duplicate found. Just "Unknown"
Also, after clicking ignore on that error it says 'Error parsing block in 'Object''
hmm.
Posted by: Decrosse - Wednesday, November 7, 2012 3:30:39 AM
I'll look at each later after some sleep, but here are the 3 .ini if needed...
EDIT: changed/fixed a bit in NOD.ini (which was after attachment upload), well at least now WorldBuiler can actually loadup on clicking the ignore.
[smile] [ATTACH]1192[/Attach]
Posted by: Annihilationzh - Wednesday, November 7, 2012 12:19:25 PM
In post #24, the error had this in it:
[code]LINE:11327[/code]
In notepad, make sure word wrap is OFF and use Ctrl G, type in 11327 and you'll arrive at the problem area.
Posted by: Decrosse - Wednesday, November 7, 2012 6:25:38 PM
Object MutantsVehicleToxinTruck
; *** ART Parameters ***
SelectPortrait = SUToxinTractor_L
ButtonImage = SUToxinTractor
UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma
UpgradeCameo2 = Upgrade_GLAJunkRepair
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DTruckDraw ModuleTag_01
OkToChangeModelColor = Yes
DefaultConditionState
Model = UVToxinTrk
Turret = Turret
TurretPitch = TurretEL
ShowSubObject = Turret
HideSubObject = TurretUP01 TurretUP02
WeaponFireFXBone = PRIMARY WeaponA
WeaponLaunchBone = PRIMARY WeaponA
WeaponFireFXBone = SECONDARY Spigot
WeaponLaunchBone = SECONDARY Spigot
End
AliasConditionState WEAPONSET_PLAYER_UPGRADE
ConditionState = USING_WEAPON_B
Model = UVToxinTrk
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE
Model = UVToxinTrk
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
ConditionState = REALLYDAMAGED
Model = UVToxinTrk_D
End
AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
AliasConditionState RUBBLE
AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE
ConditionState = USING_WEAPON_B REALLYDAMAGED
Model = UVToxinTrk_D
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
Model = UVToxinTrk_D
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
; -------------- Turret change #1
ConditionState = WEAPONSET_CRATEUPGRADE_ONE
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
End
AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
Model = UVToxinTrk_D
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
End
AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE
AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE
ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
Model = UVToxinTrk_D
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
Model = UVToxinTrk_D
Turret = TurretUP01
TurretPitch = TurretEL01
ShowSubObject = TurretUP01
HideSubObject = Turret TurretUP02
WeaponFireFXBone = PRIMARY WeaponB
WeaponLaunchBone = PRIMARY WeaponB
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
; -------------- Turret change #2
ConditionState = WEAPONSET_CRATEUPGRADE_TWO
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
End
AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
Model = UVToxinTrk_D
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
End
AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO
AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO
ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
Model = UVToxinTrk_D
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
ParticleSysBone = none AnthraxPuddleContinuous
END
ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
Model = UVToxinTrk_D
Turret = TurretUP02
TurretPitch = TurretEL02
ShowSubObject = TurretUP02
HideSubObject = TurretUP01 Turret
WeaponFireFXBone = PRIMARY WeaponC
WeaponLaunchBone = PRIMARY WeaponC
ParticleSysBone = none AnthraxGammaPuddleContinuous
END
TrackMarks = EXTireTrack.tga
LeftFrontTireBone = Tire01
RightFrontTireBone = Tire02
LeftRearTireBone = Tire03
RightRearTireBone = Tire04
TireRotationMultiplier = 0.2 ; this * speed = rotation.
PowerslideRotationAddition = 0 ; This vehicle doesn't powerslide.
Dust = RocketBuggyDust
DirtSpray = RocketBuggyDirtSpray
End
; ***DESIGN parameters ***
DisplayName = OBJECT:ToxinTruck
Side = GLAToxinGeneral
EditorSorting = VEHICLE
TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY ToxinTruckGunUpgraded
Weapon = SECONDARY ToxinTruckSprayerUpgraded
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY NONE ;Special attack only
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY Chem_ToxinTruckGunGamma
Weapon = SECONDARY Chem_ToxinTruckSprayerGamma
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY NONE ;Special attack only
End
WeaponSet
Conditions = CRATEUPGRADE_ONE
Weapon = PRIMARY ToxinTruckGunUpgradedPlusOne
Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusOne
AutoChooseSources = SECONDARY NONE ;Special attack only
End
WeaponSet
Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE
Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusOne
Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusOne
AutoChooseSources = SECONDARY NONE ;Special attack only
End
WeaponSet
Conditions = CRATEUPGRADE_TWO
Weapon = PRIMARY ToxinTruckGunUpgradedPlusTwo
Weapon = SECONDARY ToxinTruckSprayerUpgradedPlusTwo
AutoChooseSources = SECONDARY NONE ;Special attack only
End
WeaponSet
Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE
Weapon = PRIMARY Chem_ToxinTruckGunGammaPlusTwo
Weapon = SECONDARY Chem_ToxinTruckSprayerGammaPlusTwo
AutoChooseSources = SECONDARY NONE ;Special attack only
End
ArmorSet
Conditions = None
Armor = ToxinTruckArmor
DamageFX = TruckDamageFX
End
BuildCost = 650
BuildTime = 5.0 ;in seconds
VisionRange = 100
ShroudClearingRange = 200
Prerequisites
Object = MutantsArmsDealer
End
ExperienceValue = 50 50 100 150 ;Experience point value at each level
ExperienceRequired = 0 100 150 300 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrusherLevel = 2 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = GLAVehicleToxinTruckCommandSet
; *** AUDIO Parameters ***
VoiceSelect = ToxinTractorVoiceSelect
VoiceMove = ToxinTractorVoiceMove
VoiceGuard = ToxinTractorVoiceMove
VoiceAttack = ToxinTractorVoiceAttack
SoundMoveStart = ToxinTractorMoveStart
SoundMoveStartDamaged = ToxinTractorMoveStart
UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
VoiceCreate = ToxinTractorVoiceCreate
TurretMoveStart = NoSound
TurretMoveLoop = TurretMoveLoop
TruckLandingSound = NoSound
TruckPowerslideSound = NoSound
VoiceCrush = ToxinTractorVoiceCrush
VoiceEnter = ToxinTractorVoiceMove
VoicePoisonLocation = ToxinTractorVoiceAttackContam
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 240.0
InitialHealth = 240.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 = 480
SubdualDamageHealRate = 500
SubdualDamageHealAmount = 50
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
Turret
TurretTurnRate = 180
TurretPitchRate = 180
AllowsPitch = Yes
MinPhysicalPitch = -20 ; If allows pitch, the lowest I can dip down to shoot. defaults to 0 (horizontal)
TurretFireAngleSweep = PRIMARY 8
TurretSweepSpeedModifier = PRIMARY 0.5 ; Sweep slower than you turn
ControlledWeaponSlots = PRIMARY
End
End
Locomotor = SET_NORMAL ToxinTruckLocomotor
Behavior = PhysicsBehavior ModuleTag_04
Mass = 50.0
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -CRUSHED -SPLATTED
ProbabilityModifier = 5
ModifierBonusPerOverkillPercent = 20% ; negative means less likely to pick this in the face of much damage, positive means more likely
DestructionDelay = 0
DestructionDelayVariance = 200
FX = INITIAL FX_ToxinTractorDie
OCL = INITIAL OCL_ToxinTractorDeathEffect
FX = FINAL FX_ToxinTruckExplosionOneFinal
End
Behavior = InstantDeathBehavior ModuleTag_06
DeathTypes = NONE +CRUSHED +SPLATTED
FX = FX_CarCrush
OCL = OCL_CrusaderTank_CrushEffect
End
Behavior = CreateCrateDie ModuleTag_07
CrateData = SalvageCrateData
;CrateData = EliteTankCrateData
;CrateData = HeroicTankCrateData
End
Behavior = WeaponSetUpgrade ModuleTag_08
; the Toxin Tractor gets this upgrade if we either buy the upgrade,
; or if it gets HEROIC status
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
End
Behavior = TransitionDamageFX ModuleTag_11
ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
End
Behavior = AutoHealBehavior ModuleTag_12
HealingAmount = 2
HealingDelay = 1000 ; msec
TriggeredBy = Upgrade_GLAJunkRepair
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 = FireOCLAfterWeaponCooldownUpdate ModuleTag_13
WeaponSlot = SECONDARY
ConflictsWith = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
OCL = OCL_PoisonFieldUpgradedMedium
MinShotsToCreateOCL = 4
OCLLifetimePerSecond = 10000
OCLLifetimeMaxCap = 180000
End
Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14
WeaponSlot = SECONDARY
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
OCL = OCL_PoisonFieldGammaMedium
MinShotsToCreateOCL = 4
OCLLifetimePerSecond = 10000
OCLLifetimeMaxCap = 180000
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag_15 ;These two make the right damage field at death
DeathWeapon = ToxinShellWeapon
StartsActive = Yes
ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag_16
DeathWeapon = Chem_ToxinShellWeaponGamma
StartsActive = No
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
End
Geometry = BOX
GeometryMajorRadius = 13.0
GeometryMinorRadius = 9.0
GeometryHeight = 10.0 ; set to make the projectile stream look right
GeometryIsSmall = Yes
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length
End
Posted by: Annihilationzh - Friday, November 9, 2012 5:32:18 AM
That error typically appears when you have a TAB in the code.
I can't check that because the forum deletes all tabs and double spaces from code.
Posted by: Decrosse - Saturday, November 10, 2012 12:44:04 AM
here's the section it's claiming it's in, hmm [ATTACH]1193[/Attach]
Posted by: Annihilationzh - Saturday, November 10, 2012 12:53:13 PM
There is nothing wrong with that code. It works fine.
Posted by: Decrosse - Saturday, November 10, 2012 10:56:33 PM
[quote=Annihilationzh;126162]There is nothing wrong with that code. It works fine.[/quote]
weird...
going through that one specifically, moved other factions.inis temporarily...
ended up deleting everything after that toxintruck, now its complaining about an END token missing, but doesn't tell where..
so be it if I must use the other factions' stuff (america/china units/structures) to get it working... [ATTACH]1195[/Attach]
Posted by: Annihilationzh - Monday, November 12, 2012 1:20:53 PM
[quote]ended up deleting everything after that toxintruck, now its complaining about an END token missing[/quote]
I'm going to be frank with you here. If you don't post the error message in it's entirety, you're not going to get any help.
Posted by: Decrosse - Saturday, November 17, 2012 6:54:08 AM
[quote=Annihilationzh;126176][quote]ended up deleting everything after that toxintruck, now its complaining about an END token missing[/quote]
I'm going to be frank with you here. If you don't post the error message in it's entirety, you're not going to get any help.[/quote]
worldbuilder
"ASSERTION FAILURE: Error parsing block 'Objects' in 'Mutants.ini'. Missing 'END' token."
EDIT: clicking ignore then it brings up "ASSERTION FAILURE: Error parsing block '' in 'Mutants.ini'"
--
maybe the .ini is just bugged on my end and a fresh one would do...
though I do have a copy of the ini before I deleted a good bit of it...
Posted by: Decrosse - Saturday, November 17, 2012 7:22:23 AM
Okay found the spot where it was missing the "END" token, now theres something else. hold on a bit if I can't find problem I'll attach files to this post or next. [ATTACH]1201[/Attach]
Posted by: Decrosse - Saturday, November 17, 2012 8:08:32 AM
ended up just using a duplicate of NOD.ini with renames to Mutants.ini and fixed NOD.ini while at it. For some reason I guess it don't like modding GLA for whatever reason. China and USA factions are good, so GDI.ini is good.
Posted by: CommieDog - Saturday, November 17, 2012 3:28:13 PM
Please don't triple post. Use the edit button instead.