Posted by: Rrtaya_tsamsiyu - Sunday, December 16, 2012 10:07:02 PM
Be extremely careful of the hidden character that is added to the end of unit and structure names when you use the dropdown list to fill in script commands. Code: *** IF *** True. *** THEN *** Command button: 'Command_ConstructAmericaParticleCannonUplink ' is removed from all objects of type 'AmericaVehicleDozer'. 'Command_ConstructAmericaParticleCannonUplink|<- hidden character causes crash' You can check for this new character by placing your cursor at the end of the string filled in by the dropbox and hitting backspace once. If a character isn't removed, that was the hidden character you just deleted Smile 'Command_ConstructAmericaParticleCannonUplink|' *backspace* 'Command_ConstructAmericaParticleCannonUplink'

Posted by: Ail-Shan - Monday, December 17, 2012 6:19:00 PM
This is almost assuredly not going to come up for anyone, but it shut me down for 3 months so I think it bears mentioning: You cannot remove Upgrade_GLAWorkerShoes from Upgrade.ini. If you do, the game will crash every time you try to move any unit. Also, in case you want to go over the 128 upgrade limit, you can use objects. Basically build an invulnerable unit with no art parameters (so nothing will be drawn) that uses the GrantUpgradeCreate behavior. In my case, this allows Tank General and Airforce general to use a set of 16 upgrades (Upgrade_TechTreeX_Y where X and Y are between 1 and 4) to unlock various unit, upgrades and sciences. Or Airforce and Stealth generals can get Laser Missiles and AP Rockets respectively, but both use Upgrade_MissileDamage. The only problem is that you shouldn't allow the player to capture other generals' buildings, since one upgrade may have two very different costs depending on the general using it. You may be able to work your way around such problems, but I don't think it's worth the effort.

Posted by: NewNightmare - Tuesday, December 18, 2012 4:05:04 AM
Game crashes on unit spawn/create (e.g. about to roll out from factory) Game can also crash on map load if the unit is to exist on that map from start. Typing error between multiple files - e.g. upgrade name in weaponsetupgrade.

Posted by: Rrtaya_tsamsiyu - Tuesday, December 18, 2012 10:36:21 AM
added those. thanks guys Edit; added precision_bomber's and Gamer.'s stuff from below.

Posted by: precision_bomber - Tuesday, December 18, 2012 10:36:42 AM
Projectile Weapons not shooting on the right direction you want them to? Make sure that the [b]Pivot Point[/b] of the WeaponLaunchBone is facing the right direction; the X axis would be the direction it will shoot. This could be a neat effect though when done right; Making the X axis not face the direction the whole model is facing would also need a Missile Object with a modified Locomotor.

Posted by: Gamer. - Thursday, December 20, 2012 10:57:08 AM
Your Zero Hour map with custom scripting is crashing all of a sudden? Be extremely careful of the hidden character that is added to the end of unit and structure names when you use the dropdown list to fill in script commands. [code=plain]*** IF *** True. *** THEN *** Command button: 'Command_ConstructAmericaParticleCannonUplink ' is removed from all objects of type 'AmericaVehicleDozer'.[/code] 'Command_ConstructAmericaParticleCannonUplink[size=2][b][color=red]|[/color][/b][/size][color=red]<- hidden character causes crash[/color] ' [IMG]http://img62.imageshack.us/img62/6828/eadoesitagain.jpg[/IMG] You can check for this new character by placing your cursor at the end of the string filled in by the dropbox and hitting backspace once. If a character isn't removed, that was the hidden character you just deleted [smile] 'Command_ConstructAmericaParticleCannonUplink[size=2][b][color=red]|[/color][/b][/size] ' *backspace* 'Command_ConstructAmericaParticleCannonUplink'

Posted by: Annihilationzh - Monday, December 24, 2012 1:52:39 PM
Here's one I say all the time: if you're going to make a unit, use the most similar unit in FUNCTION, not in appearance. For example, if you're going to convert the A10 into a controllable plane, you would be vastly better off basing it on the Raptor, not the A10. It will take a lot less time and have a lot less bugs. --------------------- You can mimic the overlord addon code:[code] ContainInsideSourceObject = Yes[/code]to spawn mixed infantry units inside a transport. Can't think of anything else off the top of my head.

Posted by: CommieDog - Tuesday, December 25, 2012 3:35:28 AM
Thlis looks like a good topic. Stickied.

Posted by: Rrtaya_tsamsiyu - Tuesday, December 25, 2012 10:28:38 PM
Merry Christmas to you to, CommieDog! (thanks) Annihilation, i added the first part of your post and some stuff you told me about in another topic. i was wondering about the overlord code tho, what exactly does it do? it sounds like it would keep units inside of the unit/building producing them, instead of letting them walk out into the world, but im not sure. sorry for the inconvenience, just trying to keep the list of stuff as simple as possible for a little clarification on this topic, im giving 1 thanks per person. Just sayin so i don't upset anyone by not giving a second thanks. Everyone else can give them out as they want tho. [color=blue]Edit; thanks for the extra info ZH, added tip.[/color]

Posted by: Annihilationzh - Wednesday, December 26, 2012 5:07:34 AM
[quote]what exactly does it do? it sounds like it would keep units inside of the unit/building producing them, instead of letting them walk out into the world, but im not sure.[/quote] You can spawn any mixture of units in a transport. E.G. 4 Missile defenders + 1 pathfinder in a humvee or 4 minigunners and 4 tank hunters in an assault troop crawler. All that is required is spawning the units via OCL from it's transport object; like the overlord does.

Posted by: acidbrain - Thursday, January 10, 2013 11:00:40 AM
The Superweapon generals doesn't build barracks on normal AI. This is why: [code] [ns A D][N]USA Barracks -N *** IF *** 'SupW_AmericaBarracks' has been built by Player '' *** THEN *** Build a building of type 'SupW_AmericaBarracks' [/code] just a tip...:P

Posted by: acidbrain - Thursday, January 10, 2013 11:21:51 AM
Some techbuilding stuffs. [code] *** IF *** Player '' has a tech building within 500.00 of area '[Skirmish]MyInnerPerimeter' [/code] This script works different than you might think, i placed an oilderrick inside of the innerperimeter and the counter 'USA Tech Building Near' was set to 1 while its not within 500.00 but in the innerperimeter. The result is that the ai builds the techcapture team to go to the nearest tech building in CombatZone which is not there so the team runs straight to the origin of the map (0.0,0.0), really funny imo. Well to test some more i made a 4000x4000 map with an innerperimeter of 1000x1000 placed an oilderrick on (3800.00, 3800.00) and the counter 'USA Tech Building Near' was set to 1, wtf[question] . Point of this whole story....the 500.00 is not 500.00 in WB! and i think you can better use the script [code] *** IF *** Player 'PlyrCivilian' has Greater Than or Equal To 1 unit or structure with Kind is 'TECH_BUILDING' in the area 'CombatZone' [/code] than the one i mentioned at the top of the post. If anyone knows some more details about this stuff than post it if you like.

Posted by: Rrtaya_tsamsiyu - Tuesday, March 5, 2013 8:19:58 AM
Decided to let people know of the most resent change on this list; Added a tip on how to let your mod launch itself. Sorta like a very simple mod launcher. i've been searching for a launcher program for a while now, even pm'ed TheHunter (leader of SWR Productions, maker of mods like Rise of the Reds and Shockwave) to see if i could use their launcher, didn't get a reply when i asked that. The only launcher i found that could do what i wanted was in a post of a no longer active user (CodeCat), of another forum, and the link was dead. Anyways, the new tip is at the bottom of the post, and is very easy to do. In the tip is also a link to the post that i found. In that post it says you can't have more than two mod files using this method, i have found this to not be true. As long as the first file the game opens has PlayerTemplate.ini, all of your other files should be able to stay in your main ZH directory if you want. Using this method, you can have as many mods as you want, as long as you have enough hard drive space, lol.

Posted by: precision_bomber - Monday, May 20, 2013 12:15:17 PM
GUYS! I HAVE FIGURED OUT HOW TO MAKE 3+ TURRETS WORK. I REMEMBERED BACK AT AN OLD MOD NAMED: GENERALS ZERO HOUR REBORN THAT ONE OF THE FIREBASES HAD 4 SENTRY TURRETS ON IT. THEY WERE SIMPLY SENTRY DRONES. THE FIREBASE THEY WERE ON SPAWNS THEM ON THE STATION BONES. TO CUT SHORT IT USES STINGER SITE LOGIC (sorry for the caps, I was very excited) http://www.moddb.com/mods/aerial-superiority/images/3-working-turrets#imagebox http://www.moddb.com/mods/aerial-superiority/images/3-working-turrets1#imagebox CODE(from my mod) [code=cpp] Behavior = SpawnPointProductionExitUpdate ModuleTag_spawnloc SpawnPointBoneName = STATION End Behavior = SpawnBehavior ModuleTag_spawnturt SpawnNumber = 4 SpawnReplaceDelay = 10000 ;msec SpawnTemplateName = CzAM_APDSTurret CanReclaimOrphans = No SpawnedRequireSpawner = Yes SlavesHaveFreeWill = No End [/code]

Posted by: Annihilationzh - Monday, May 20, 2013 1:16:07 PM
[quote]GUYS! I HAVE FIGURED OUT HOW TO MAKE 3+ TURRETS WORK.[/quote] An absolutely prime example of this: [quote]Here's one I say all the time: if you're going to make a unit, use the most similar unit in FUNCTION, not in appearance.[/quote] If you think outside the box, you have far fewer limits.

Posted by: Rrtaya_tsamsiyu - Monday, May 20, 2013 3:16:07 PM
Added the tip. Heavily edited it for tho, to try and explain it well while keeping it simple for people new to modding. Edit; edited it so it says it doesn't always have to be STATION bones.

Posted by: UTD^Force - Wednesday, September 3, 2014 11:53:04 AM
[quote][code=plain] *** IF *** True. *** THEN *** Disable mouse and keyboard input. Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 30 frames to increase, hold for 2 fames, and decrease 0 frames. Set timer 'Start End CINE' to expire in 1.00 seconds. Set timer 'Reset Mission Objective' to expire in 9999.00 seconds. *** IF *** Timer 'Start End CINE' has expired. *** THEN *** The world is revealed permanently for Player ''. Spawn Unit 'Theplane' of type 'CINE_CPlane' on team Team 'teamPlyrCivilian' at position ((410.00,2073.00,10.00)), rotated 180.00 degrees . Position camera at Waypoint 'CINE_END_Cam01_POS', zoom = 0.32(0.0 to 1.0), pitch = 0.63(1.0==default), looking towards Waypoint 'CINE_END_Cam01_TAR'. Set Draw-icon UI to be enabled FALSE (False to disable.) Set EVA to be enabled FALSE (False to disable.) Set Occlusion to be enabled FALSE (False to disable.) Set Particle Cap to be enabled FALSE (False to disable.) Disables special power countdown display. The world is revealed for Player ''. Shroud off the map edges is turned off. Start letterbox mode (hide UI, add border). Start skybox mode (draw sky background). Set timer 'CINE_StartPlaneAway' to expire in 0.50 seconds. Set timer 'CINE_Start_Cam01_Rotate' to expire in 0.50 seconds. Set timer 'CINE_Start_Cam01_Move' to expire in 5.00 seconds. Set timer 'CINE_Start_Cam01_Pitch' to expire in 5.50 seconds. Set timer 'CINE_Start_Cam01_Zoom' to expire in 6.50 seconds. Set timer 'CINE_Start_Cam01_Fade' to expire in 11.00 seconds. Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 0 frames to increase, hold for 0 fames, and decrease 30 frames. *** IF *** Timer 'CINE_StartPlaneAway' has expired. *** THEN *** Unit 'Theplane' use Ability 'Command_LaunchBaikonurRocket'. *** IF *** Timer 'CINE_Start_Cam01_Rotate' has expired. *** THEN *** Move camera to Waypoint 'CINE_END_Cam01_MOV' in 4.00 seconds, camera shutter 0.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds. 'Cinx_PlaneTakeOff2Stereo' plays, allowing overlap TRUE (true to allow, false to disallow). Look towardWaypoint 'CINE_END_Cam01_TAR' during the camera movement. *** IF *** Timer 'CINE_Start_Cam01_Move' has expired. *** THEN *** Move camera to Waypoint 'CINE_MoveTo_End' in 6.00 seconds, camera shutter 0.00 seconds, ease-in 1.00 seconds, ease-out 1.00 seconds. Look towardWaypoint 'CINE_END_Cam01_TAR' during the camera movement. *** IF *** Timer 'CINE_Start_Cam01_Zoom' has expired. *** THEN *** Change camera zoom to 0.70 in 3.00 seconds, ease-in 0.50 seconds, ease-out 0.00 seconds. Set timer 'CINE_PlaneTakeOffSound' to expire in 1.00 seconds. *** IF *** Timer 'CINE_PlaneTakeOffSound' has expired. *** THEN *** 'Cinx_PlaneTakeOffStereo' plays, allowing overlap TRUE (true to allow, false to disallow). *** IF *** Timer 'CINE_Start_Cam01_Pitch' has expired. *** THEN *** Change camera pitch to 0.75 in 3.00 seconds, ease-in 1.00 seconds, ease-out 0.00 seconds. *** IF *** Timer 'CINE_Start_Cam01_Fade' has expired. *** THEN *** Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 100 frames to increase, hold for 999 fames, and decrease 0 frames. Set timer 'CINE_Start_Win_Card' to expire in 0.50 seconds. [/code][/quote]

Posted by: menard - Monday, December 22, 2014 5:51:32 AM
[quote][code=plain] *** IF *** True. *** THEN *** Disable mouse and keyboard input. Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 30 frames to increase, hold for 2 fames, and decrease 0 frames. Set timer 'Start End CINE' to expire in 1.00 seconds. Set timer 'Reset Mission Objective' to expire in 9999.00 seconds. *** IF *** Timer 'Start End CINE' has expired. *** THEN *** The world is revealed permanently for Player ''. Spawn Unit 'Theplane' of type 'CINE_CPlane' on team Team 'teamPlyrCivilian' at position ((410.00,2073.00,10.00)), rotated 180.00 degrees . Position camera at Waypoint 'CINE_END_Cam01_POS', zoom = 0.32(0.0 to 1.0), pitch = 0.63(1.0==default), looking towards Waypoint 'CINE_END_Cam01_TAR'. Set Draw-icon UI to be enabled FALSE (False to disable.) Set EVA to be enabled FALSE (False to disable.) Set Occlusion to be enabled FALSE (False to disable.) Set Particle Cap to be enabled FALSE (False to disable.) Disables special power countdown display. The world is revealed for Player ''. Shroud off the map edges is turned off. Start letterbox mode (hide UI, add border). Start skybox mode (draw sky background). Set timer 'CINE_StartPlaneAway' to expire in 0.50 seconds. Set timer 'CINE_Start_Cam01_Rotate' to expire in 0.50 seconds. Set timer 'CINE_Start_Cam01_Move' to expire in 5.00 seconds. Set timer 'CINE_Start_Cam01_Pitch' to expire in 5.50 seconds. Set timer 'CINE_Start_Cam01_Zoom' to expire in 6.50 seconds. Set timer 'CINE_Start_Cam01_Fade' to expire in 11.00 seconds. Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 0 frames to increase, hold for 0 fames, and decrease 30 frames. *** IF *** Timer 'CINE_StartPlaneAway' has expired. *** THEN *** Unit 'Theplane' use Ability 'Command_LaunchBaikonurRocket'. *** IF *** Timer 'CINE_Start_Cam01_Rotate' has expired. *** THEN *** Move camera to Waypoint 'CINE_END_Cam01_MOV' in 4.00 seconds, camera shutter 0.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds. 'Cinx_PlaneTakeOff2Stereo' plays, allowing overlap TRUE (true to allow, false to disallow). Look towardWaypoint 'CINE_END_Cam01_TAR' during the camera movement. *** IF *** Timer 'CINE_Start_Cam01_Move' has expired. *** THEN *** Move camera to Waypoint 'CINE_MoveTo_End' in 6.00 seconds, camera shutter 0.00 seconds, ease-in 1.00 seconds, ease-out 1.00 seconds. Look towardWaypoint 'CINE_END_Cam01_TAR' during the camera movement. *** IF *** Timer 'CINE_Start_Cam01_Zoom' has expired. *** THEN *** Change camera zoom to 0.70 in 3.00 seconds, ease-in 0.50 seconds, ease-out 0.00 seconds. Set timer 'CINE_PlaneTakeOffSound' to expire in 1.00 seconds. *** IF *** Timer 'CINE_PlaneTakeOffSound' has expired. *** THEN *** 'Cinx_PlaneTakeOffStereo' plays, allowing overlap TRUE (true to allow, false to disallow). *** IF *** Timer 'CINE_Start_Cam01_Pitch' has expired. *** THEN *** Change camera pitch to 0.75 in 3.00 seconds, ease-in 1.00 seconds, ease-out 0.00 seconds. *** IF *** Timer 'CINE_Start_Cam01_Fade' has expired. *** THEN *** Fade (1-0) from 1.00 to 0.00 multiplying toward black. Take 100 frames to increase, hold for 999 fames, and decrease 0 frames. Set timer 'CINE_Start_Win_Card' to expire in 0.50 seconds. [/code][/quote]

Posted by: Gameanater - Thursday, February 5, 2015 6:12:26 PM
Another way to avoid the hardcoded upgrade limit: Re-use existing upgrades. For example, do you want an armor upgrade for the Chinese Tank General? Re-use the USA Composite Armor upgrade. Copy the Command Button from the Strategy Center's CommandSet to the Tank_ChinaPropagandaCenter's CommandSet. Then add the appropriate code to whatever tanks you want to have the upgrade for. Just make sure the armor upgrade behavior stuff is triggered by Upgrade_AmericanCompositeArmor. Source: Personal experience with my mod, Generals:Domination.

Posted by: UTD^Force - Thursday, February 5, 2015 7:46:33 PM
Another solution if your bones disappear when you import, export and then import your model again. For a weird reason the box in the W3D export options "Export Transform (bone)" is automatically unchecked for the bones. So, all you have to do is press H, select your bones and check the box for the Export Transform option :) Do that every time you import and export your model.

Posted by: Zatsupachi - Tuesday, May 5, 2015 4:36:31 PM
Is your PortableStructure facing the wrong way eventhough the model is facing the right way? Is its aiming offset by an angle? Then, check you attachtoobject bones if you made the pivot point faces the world's x-axis. Its a little thing, but eh.

Posted by: Rrtaya_tsamsiyu - Tuesday, May 5, 2015 7:27:17 PM
Modified for clarity and added to the bottom of the red/green section.

Posted by: Rrtaya_tsamsiyu - Thursday, January 14, 2016 12:29:29 AM
Finally found the answer to something that I've had problems with off and on since I started modding, added it at the top of the first post. I've also seen other people with similar issues here and there. Not sure how it's possible such a thing happens with finalBIG, unless it uses something similar to cookies

Posted by: Annihilationzh - Thursday, January 14, 2016 6:45:54 AM
[quote=Rrtaya_Tsamsiyu;139498]Finally found the answer to something that I've had problems with off and on since I started modding, added it at the top of the first post. I've also seen other people with similar issues here and there. Not sure how it's possible such a thing happens with finalBIG, unless it uses something similar to cookies[/quote] Originally it was Vista's User Account Control. It 'protected' program files by not allowing programs like FinalBIG to put files in there. I haven't had the problem since I left Vista though.

Posted by: Rrtaya_tsamsiyu - Thursday, January 14, 2016 6:33:27 PM
I've had it on Windows 10, 7, and xp

Posted by: zzc - Tuesday, June 28, 2016 11:13:48 AM
[quote=Zatsupachi;140468]Huh. I think that's caused because of how sciences are all declared at once during game start. If you try putting ANY SCIENCE above Science_America/Science_China/Science_GLA that requires those sciences, the game crashes. However if you the science you put does NOT have any required sciences then it's totally fine. I've experienced this because of my mod's Tech Tree. I put the Tech Trees below the Default Intrinsic Sciences but above all other sciences since my mod has 3 whole sets of Sciences for the new factions.[/quote]

Posted by: zzc - Wednesday, June 29, 2016 9:32:42 AM
Also to make a building perform research; Behavior = ProductionUpdate ModuleTag_06 ; nothing End Else the building is only able to use special powers. To train units the exit and rally modules are needed [code] DefaultProductionExitUpdate [logic requires NaturalRallyPoint x: co-ordinate to match the object GeometryMajorRadius] UnitCreatePoint = [x: y: z:] NaturalRallyPoint = [x: y: z:] UseSpawnRallyPoint = [Yes/No] End [/code] [code] ProductionUpdate [module is required on an object that uses PublicTimer code for any SpecialPower and/or required for units/structures with object upgrades] QuantityModifier = [object name,integer] [Redguards uses this so they can comeout of the barracks in pairs] DisabledTypesToProcess = [disabled types list] [Allows the use of the DOOR_x_WAITING_OPEN, DOOR_x_CLOSING, DOOR_x_OPENING Model condition state] [X is from 1 to 4 since there's a hardcoded limit of four only] NumDoorAnimations = [integer, maximum is 4] [How many doors to use when unit training is complete?] DoorOpeningTime = [integer, milliseconds] [in mSeconds, how long you want doors to be in open state] DoorWaitOpenTime = [integer, milliseconds] [in mSeconds, time the door stays open, so units can exit] DoorCloseTime = [integer, milliseconds] [in mSeconds, how long you want doors to be in open state] MaxQueueEntries = [integer] [If Set to 1, you can't build multiple upgrades at the same time] ConstructionCompleteDuration = [integer, milliseconds] [in mSeconds, wait time so if you have multiple units they don't run over each other] End [/code]

Posted by: zzc - Sunday, March 11, 2018 11:09:50 AM
Make your own faction ini file. So far its possible to put units, objects, buildings, locomotors, & weapons into a single ini file. However, following the file structure; objects, locomotors & weapons must be above the rest, as those respective ini files are read first. I have not tried putting in OCLs and other stuff into it though. Its easier to keep track if everything is in one file methinks.

Posted by: klingondragon - Sunday, March 11, 2018 11:16:14 AM
[quote=zzc;147196]Make your own faction ini file. So far its possible to put units, objects, buildings, locomotors, & weapons into a single ini file. However, following the file structure; objects, locomotors & weapons must be above the rest, as those respective ini files are read first. I have not tried putting in OCLs and other stuff into it though. Its easier to keep track if everything is in one file methinks.[/quote] Many people have tried to combine ini files. As far as I know, no one has succeeded thus far. If you genuinely got this to work, would you mind uploading an example file.

Posted by: zzc - Friday, March 16, 2018 1:08:32 AM
Comandset and buttons cannot be taken out of their respective ini files. I think an example is the GC ini files for chem and stealth generals. Even then they are separated into units,system and buildings. Minus the locomotors and weapons, which are in locomotor and weapon ini. So you cant really put every single modded thing into a single ini file, but can put most things.

Posted by: klingondragon - Friday, March 16, 2018 1:14:41 AM
That's because units, objects, and structures are all the same thing (the code reads them all as Objects). Any ini file in the Object folder is read.

Posted by: zzc - Friday, March 16, 2018 1:43:48 AM
But I have put custom weapons, weapon objects, and locomotors with custom buildings, units in my file. and it reads fine as long as weapons, objects, and locomotars are above units and buildings. I once put a locomotor at the bottom and it crashed.

Posted by: klingondragon - Friday, March 16, 2018 1:46:46 AM
As I said earlier: [Quote=KlingonDragon]If you genuinely got this to work, would you mind uploading an example file.[/Quote]

Posted by: zzc - Friday, March 16, 2018 2:03:03 AM
[url=https://www.mediafire.com/file/rp4x0715572u7o2/SuperFaction.ini]my crazy mod[/url] there ya go, its full of crazy stuff. Can you see whats wrong with the flame weapon I am trying to make in its topic.

Posted by: zzc - Tuesday, March 20, 2018 5:35:47 AM
[quote=Unknown Editor;147300]I think it's caused by double AIUpdates in your code ; you know , you must have only 1 AIUpdate to make a unit work correctly but you used both "AIUpdateInterface" & "WorkerAIUpdate" in which I wonder if it doesn't give you any errors while starting the game . it must have ignored the AIUpdateInterface and only included the WorkerAIUpdate . so , you've set the locomotor after "AIUpdateInterface" and you know . Solution : Delete "AIUpdateInterface" and set the locomotor after "WorkerAIUpdate" . Good Luke sir [wink][+1][/quote] The unit locomotor must be set after AIUpdate. Only one kind of AIUpdate per unit.

Posted by: UTD^Force - Sunday, October 28, 2018 9:56:22 AM
If you mention a weapon's name (or anything else, generally) before writing its code, it will crash the game and wordlbuilder will tell you that the thing's template was not found. Example, (a weapon created by gameanater): [code=plain] ;;;THIS WILL CAUSE THE GAME TO CRASH ;====================================== Weapon EMPDefenderMissileWeapon .... HistoricBonusTime = 1500 HistoricBonusCount = 3 HistoricBonusRadius = 20 HistoricBonusWeapon = EMPDefenderSmallCreationWeapon End Weapon EMPDefenderSmallCreationWeapon DamageType = FLAME DeathType = BURNED FireOCL = SupW_OCL_PatriotEMPEffectSpheroid End ;====================================== ;THIS WILL SOLVE IT, EXPLAINED BELOW ;------------------------------------------------------------------------------ Weapon EMPDefenderSmallCreationWeapon DamageType = FLAME DeathType = BURNED FireOCL = SupW_OCL_PatriotEMPEffectSpheroid End ;------------------------------------------------------------------------------ Weapon EMPDefenderMissileWeapon .... HistoricBonusTime = 1500 HistoricBonusCount = 3 HistoricBonusRadius = 20 HistoricBonusWeapon = EMPDefenderSmallCreationWeapon End [/code] Treat ini code like a script, the script executes each line from top to bottom, and this is how ini code works when in a single .ini file. To make it simple, you write the code for the thing (emp creation weapon in this case) you want to use before the code of the other thing that uses it.

Posted by: UTD^Force - Sunday, October 28, 2018 10:49:59 AM
Changing the behaviour AIUpdateInterface [b]in a map.ini[/b] for a tank will cause it to freeze in game, to solve this specify the tank's locomotor again in the code. Thanks to AcidBrain and SkyMix_RMT for solving this for me. Example: [code=plain]Object ChinaTankGattling ReplaceModule ModuleTag_03 Behavior = AIUpdateInterface ModuleTag_03_Override Turret ControlledWeaponSlots = PRIMARY SECONDARY TurretTurnRate = 180 TurretPitchRate = 180 AllowsPitch = Yes FiresWhileTurning = Yes NaturalTurretPitch = 45 MinIdleScanInterval = 12000 MaxIdleScanInterval = 20000 MinIdleScanAngle = 0 MaxIdleScanAngle = 75 End AutoAcquireEnemiesWhenIdle = Yes MoodAttackCheckRate = 250 End Locomotor = SET_NORMAL GattlingTankLocomotor End End[/code]

Posted by: Rrtaya_tsamsiyu - Wednesday, December 26, 2018 2:50:04 AM
ZZC, UTD, your tips have been added, finally. Sorry I don't show up much anymore, and I've worked on maintaining this even less. Side note, similar to the issues I was having with the show/hide script, I've now apparently hit a forum limit with code boxes. If I add any more the forum starts to ignore some /code tags, and will put big sections in code boxes. So I've now started coloring code green and manually numbering lines in an attempt to kinda keep it looking pretty.

Posted by: Gameanater - Sunday, July 26, 2020 4:16:36 PM
This is still a great resource [grin]

Posted by: UTD^Force - Friday, August 28, 2020 4:31:35 PM
[code=plain] ParticleSystem MyParticleSystem ;Specifies the unique name for this system. Priority = ;This is what tells the game it's priority in the remove list, depending on the level of detail the game is running at. Can be set to CRITICAL, AREA_EFFECT, WEAPON_TRAIL, CONSTANT, SEMI_CONSTANT, DEATH_EXPLOSION, UNIT_DAMAGE_FX, DEBRIS_TRAIL, BUILDUP, DUST_TRAIL, SCORCHMARK, WEAPON_EXPLOSION. A setting of ALWAYS_RENDER will ignore LOD and always draw the system. IsOneShot = ;Dont really know what this does, guess it is for stuff that is used once. Shader = ;ALPHA uses the texture as it is, explosions and such. ADDITIVE is for more complex effects like the fusion bomb of mine and uses .dds channels. You can also use MULTIPLY for blending (less processor intensive than ALPHA). ALPHA_TEST is unpredictable and can cause issues, do not use. Type = ;Always use PARTICLE unless you are making a trailer to a missile or exhaust of some sort then you use STREAK instead. Other settings are DRAWABLE and VOLUME_PARTICLE. ParticleName = ;The texture used in the system, with the .tga file extension. AngleZ = ;The angle of the particle ingame direction to face. Note that AngleX and AngleY can be used in Generals but do not work in Zero Hour as they were removed to optimize the particle effects. AngularRateZ = ;Will rotate the particle ingame. Note that AngularRateX and AngularRateY can be used in Generals but do not work in Zero Hour as they were removed to optimize the particle effects. AngularDamping = ;Makes the rotation smooth (higher number). VelocityDamping = ;When thrown this does the same higher number. SlaveSystem = ;Name of secondary particle system to spawn. SlavePosOffset = X: Y: Z: ;Offset of secondary spawned system from center of existing system. PerParticleAttachedSystem = ;How many instances of the slave system are attached per particle of the original system. Gravity = ;If negative it will go up if less than 1 but greater than 0 it will kinda float like a feather, if higher than one it will sink. Lifetime = ;How long it lasts, in milliseconds. The lifetime will extend randomly between the two numbers specified, if both numbers are the ;same then this means an explicit lifetime (will not vary). SystemLifetime = ;How long to do size effects and color effects, in milliseconds. Size = ;The size of the particles. StartSizeRate = ;The rate as to get to the starting size. SizeRate = ;The rate of resize after. SizeRateDamping = ;Make resize more smooth, damping is done on a scale specified between the two numbers. Alpha1 = up to Alpha8 = ;1.00 means not transparent as 0.00 is total transparent the number after it is the time in milliseconds to make it that transparency. Color1= up to Color8 = R: G: B: ;The color of the particle, the number after is the time in miliseconds to be that color. ColorScale = ;Negative numbers are darker and positive numbers are brighter. BurstDelay = ;Delay between bursts, in milliseconds. BurstCount = ;Actual number of particles to be generated from this effect. InitialDelay = ;Initial delay to do the first burst, in milliseconds. DriftVelocity = X: Y: Z: ;After generated it will move in this direction. VelocityType = ;Can be set to, OUTWARD, SPHERICAL, ORTHO, CYLINDRICAL, HEMISPHERICAL, or NONE all like they are called will decide how the particles are oriented when thrown. VelOutward = ;Used with OUTWARD only. VelOutwardOther = ;Used with OUTWARD only. VelCylindricalRadial = ;Used with CYLINDRICAL only. VelCylindricalNormal = ;Used with CYLINDRICAL only. VelSpherical = ;Used with SPHERICAL only. VelHemispherical = ;Used with HEMISPHERICAL only. VolumeType = ;This sets up the shape of the 'space' that the particles will occupy when the system is spawned. Can be set to POINT, LINE, BOX, SPHERE or CYLINDER. VolCylinderRadius = ;Used with CYLINDER only. VolCylinderLength = ;Used with CYLINDER only. VolSphereRadius = ;Used with SPHERE only. VolLineStart = ;Used with LINE only. VolLineEnd = ;Used with LINE only. VolBoxHalfSize = ;Used with BOX only. IsHollow = ;See through in a way dont really see much of a difference with yes and no. IsGroundAligned = ;Yes = a shockwave as in 'on the ground'. IsEmitAboveGroundOnly = ;To save comp precessing try and set this to yes whenever possible dont need particles underground now do we, also I think that when set to yes the system will not work over water, as in a missile hits the water and explodes. IsParticleUpTowardsEmitter = ;No clue. WindMotion = ;Can be set to Unused, PingPong or Circular. PingPong is what the firestorm uses as will give you that effect. Circular can be used to make a tornado or dust devil like effect if used correctly. WindAngleChangeMin = WindAngleChangeMax = WindPingPongStartAngleMin = WindPingPongStartAngleMax = WindPingPongEndAngleMin = WindPingPongEndAngleMax = ;Wind is used for things like the the firestorm and normally not used. All the wind values will determine the speed and change of speed when PingPonging around. [/code]