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
[CODE]CommandSet SCIENCE_NOD_CommandSetRank1 ; 1 = Command_PurchaseScienceScudLauncher ; 2 = Command_PurchaseScienceMarauderTank ; 3 = Command_PurchaseScienceTechnicalTraining END CommandSet SCIENCE_NOD_CommandSetRank3 ; 1 = Command_PurchaseScienceHijacker ; 2 = Command_PurchaseScienceRebelTraining ; 4 = Command_PurchaseScienceFundamentalistAmbush1 ; 5 = Command_PurchaseScienceFundamentalistAmbush2 ; 6 = Command_PurchaseScienceFundamentalistAmbush3 ; 7 = Command_PurchaseScienceCashBounty1 ; 8 = Command_PurchaseScienceCashBounty2 ; 9 = Command_PurchaseScienceCashBounty3 ; 10 = Command_PurchaseScienceEmergencyRepair1 ; 11 = Command_PurchaseScienceEmergencyRepair2 ; 12 = Command_PurchaseScienceEmergencyRepair3 ; 13 = Command_PurchaseScienceTerrorCell END CommandSet SCIENCE_NOD_CommandSetRank8 ; 1 = Command_PurchaseScienceAnthraxBomb ; 2 = Command_PurchaseScienceSneakAttack ; 3 = Command_PurchaseScienceGPSScrambler ; 4 = Command_PurchaseScienceConvoyAmbush END CommandSet SpecialPowerShortcutNOD ; 1 = Command_Fund.AmbushFromShortcut ; 2 = Command_EmergencyRepairFromShortcut ; 3 = Command_AnthraxBombFromShortcut ; 4 = Command_ScudStormFromShortcut ; 5 = Command_RadarVanScanFromShortcut ; 6 = Command_SneakAttackFromShortcut ; 7 = Command_GPSScramblerFromShortcut ; 8 = Command_ConvoyAmbushFromShortcut ; 9 = Command_TerrorCellFromShortcut END CommandSet NODDozer/WorkerCommandSet 1 = Command_ConstructNODBarracks 2 = Command_ConstructNODSupplyStash 3 = Command_ConstructNODWarFactory 4 = Command_ConstructNODSupplyGenerater/SuperWeapon 5 = Command_ConstructNODDefense 12 = Command_ConstructNODCommandCenter 14 = Command_DisarmMinesAtPosition End CommandSet NODCommandCenterCommandSet 1 = Command_ConstructNODDozer/Worker ; 2 = Command_Fund.Ambush ; 3 = Command_EmergencyRepair 14 = Command_Sell End CommandSet NODBarracksCommandSet 1 = Command_ConstructNODInfantryBasic 2 = Command_ConstructNODInfantryRocket/Missile 14 = Command_Sell End CommandSet NODSupplyStashCommandSet 1 = Command_ConstructNODDozer/Worker 14 = Command_Sell End CommandSet NODWarFactoryCommandSet 1 = Command_ConstructNODTank 2 = Command_ConstructNODVehicleTransport 13 = Command_SetRallyPoint 14 = Command_Sell End [/CODE]

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.