make new text folder in INI / Data in game folder, and paste this
;//////////////////////////////////////////////////////////////////////////////
; FILE: GameData.ini (SYSTEM) /////////////////////////////////////////////////
;//////////////////////////////////////////////////////////////////////////////
GameData
ShellMapName = Maps\ShellMapMD\ShellMapMD.map
MapName = Assault.map
MoveHintName = SCMoveHint
UseTrees = Yes
UseFPSLimit = Yes
FramesPerSecondLimit = 30
ChipsetType = 0
Windowed = no
XResolution = 1920
YResolution = 1080
MaxShellScreens = 8
UseCloudMap = Yes
UseLightMap = Yes
BilinearTerrainTex = Yes
TrilinearTerrainTex = Yes
MultiPassTerrain = Yes
AdjustCliffTextures = Yes
StretchTerrain = yes
UseHalfHeightMap = no
ShowObjectHealth = Yes
HideGarrisonFlags = yes
Use3WayTerrainBlends = 1
DrawEntireTerrain = yes
TerrainLOD = DISABLE ; should be handled by options screen.
TerrainLODTargetTimeMS = 45
TextureReductionFactor = 0; 1 is half res, 2 querter res, etc.
RightMouseAlwaysScrolls = Yes
UseWaterPlane = Yes
UseCloudPlane = Yes
UseShadowVolumes = Yes
UseShadowDecals = Yes
UseBehindBuildingMarker = no
DefaultOcclusionDelay = 3000 ; in ms
OccludedColorLuminanceScale = 5
WaterPositionX = 0.0
WaterPositionY = 0.0
WaterPositionZ = 7.0
WaterExtentX = 2000.0
WaterExtentY = 2000.0
WaterType = 0
; when a structure is reduced to rubble, set its z-height to this if nothing else is specified.
DefaultStructureRubbleHeight = 10.0
;the following are for vertex animated water
VertexWaterAvailableMaps1 = Maps\nVidiaDemo\nVidiaDemo.map
VertexWaterHeightClampLow1 = 0.0
VertexWaterHeightClampHi1 = 16.3
VertexWaterAngle1 = 20 ;in degrees
VertexWaterXPosition1 = 2700.0
VertexWaterYPosition1 = -750.0
VertexWaterZPosition1 = 2.9
VertexWaterXGridCells1 = 65
VertexWaterYGridCells1 = 360
VertexWaterGridSize1 = 10.0
VertexWaterAttenuationA1 = 1.0
VertexWaterAttenuationB1 = 0.0
VertexWaterAttenuationC1 = 0.0
VertexWaterAttenuationRange1 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps2 = Maps\CHI03\CHI03.map
VertexWaterHeightClampLow2 = 0.0
VertexWaterHeightClampHi2 = 31.2
VertexWaterAngle2 = -12 ;in degrees
VertexWaterXPosition2 = 282.0
VertexWaterYPosition2 = -20.0
VertexWaterZPosition2 = 3.0
VertexWaterXGridCells2 = 100
VertexWaterYGridCells2 = 200
VertexWaterGridSize2 = 11.0
VertexWaterAttenuationA2 = 1.0
VertexWaterAttenuationB2 = 0.0
VertexWaterAttenuationC2 = 0.0
VertexWaterAttenuationRange2 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps3 = Maps\GLA01\GLA01.map
VertexWaterHeightClampLow3 = 0.0
VertexWaterHeightClampHi3 = 45.0
VertexWaterAngle3 = -12 ;in degrees
VertexWaterXPosition3 = 1424.0
VertexWaterYPosition3 = -270.0
VertexWaterZPosition3 = 2.0
VertexWaterXGridCells3 = 75
VertexWaterYGridCells3 = 360
VertexWaterGridSize3 = 10.0 ;11.0
VertexWaterAttenuationA3 = 1.0
VertexWaterAttenuationB3 = 0.0
VertexWaterAttenuationC3 = 0.0
VertexWaterAttenuationRange3 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps4 = Maps\USA06\USA06.map
VertexWaterHeightClampLow4 = 0.0
VertexWaterHeightClampHi4 = 16.3
VertexWaterAngle4 = 45 ;in degrees
VertexWaterXPosition4 = 2700.0
VertexWaterYPosition4 = -750.0
VertexWaterZPosition4 = 2.9
VertexWaterXGridCells4 = 65
VertexWaterYGridCells4 = 360
VertexWaterGridSize4 = 10.0
VertexWaterAttenuationA4 = 1.0
VertexWaterAttenuationB4 = 0.0
VertexWaterAttenuationC4 = 0.0
VertexWaterAttenuationRange4 = 20.0
DownwindAngle = -0.785 ; Northeast! AKA "Away and to the right"
DrawSkyBox = Yes
SkyBoxPositionZ = -100.0 ; lowers center of skybox under terrain
SkyBoxScale = 30 ; good for default 96 x 96 map, make 17.5 for 256x256
CameraPitch = 37.5
CameraYaw = 0.0
CameraHeight = 232.0
MaxCameraHeight = 600.0
MinCameraHeight = 20.0
CameraAdjustSpeed = 0.5 ; between 0 and 1 - this is how fast the camera snaps to the desired height
ScrollAmountCutoff = 50.0 ; arbitrary units - above this value, we don't update height while scrolling
EnforceMaxCameraHeight = No ; Obey max camera height while scrolling?
TerrainHeightAtEdgeOfMap = 100.0
UnitDamagedThreshold = 0.7
UnitReallyDamagedThreshold = 0.35
GroundStiffness = 0.
StructureStiffness = 0.
; acceleration due to gravity, in dist/sec^2
; note that our distance units are roughly one foot, so
; this corresponds to earth-normal gravity (32 ft/sec^2)
;Gravity = -32.0
; this "feels" better... (srj)
Gravity = -64.0
PartitionCellSize = 40.0
ParticleScale = 1.0 ;
AutoFireParticleSmallPrefix = FireS
AutoFireParticleSmallSystem = FireFactionSmall
AutoFireParticleSmallMax = 2
AutoFireParticleMediumPrefix = FireM
AutoFireParticleMediumSystem = FireFactionMedium
AutoFireParticleMediumMax = 1
AutoFireParticleLargePrefix = FireL
AutoFireParticleLargeSystem = FireFactionLarge
AutoFireParticleLargeMax = 1
AutoSmokeParticleSmallPrefix = SmokeS
AutoSmokeParticleSmallSystem = SmokeFactionSmall
AutoSmokeParticleSmallMax = 4
AutoSmokeParticleMediumPrefix = SmokeM
AutoSmokeParticleMediumSystem = SmokeFactionMedium
AutoSmokeParticleMediumMax = 2
AutoSmokeParticleLargePrefix = SmokeL
AutoSmokeParticleLargeSystem = SmokeFactionLarge
AutoSmokeParticleLargeMax = 1
AutoAflameParticlePrefix = Aflame
AutoAflameParticleSystem = FireBuildingSmall
AutoAflameParticleMax = 4
HistoricDamageLimit = 5000 ; how long to retain historical-damage for weapons that need it, in msec
AmmoPipScaleFactor = 1.5
ContainerPipScaleFactor = 1.5
AmmoPipScreenOffset = X:-1.0 Y:0.0 ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
ContainerPipScreenOffset = X:1.0 Y:0.0 ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
AmmoPipWorldOffset = X:0.0 Y:0.0 Z:10.0 ; added to position prior to world->screen xform
ContainerPipWorldOffset = X:0.0 Y:0.0 Z:10.0 ; added to position prior to world->screen xform
LevelGainAnimationName = LevelGainedAnimation
LevelGainAnimationTime = 4.0
LevelGainAnimationZRise = 15.0
GetHealedAnimationName = GetHealedAnimation
GetHealedAnimationTime = 4.0
GetHealedAnimationZRise = 15.0
MaxTerrainTracks = 100 ; how many vehicles can generate tread marks on the terrain.
TimeOfDay = AFTERNOON
Weather = NORMAL
MakeTrackMarks = Yes
ForceModelsToFollowTimeOfDay = Yes
ForceModelsToFollowWeather = Yes
InfantryLightMorningScale = 100f ; amount to scale map lighting to make infantry easier to see.
InfantryLightAfternoonScale = 100f ; amount to scale map lighting to make infantry easier to see.
InfantryLightEveningScale = 200f ; amount to scale map lighting to make infantry easier to see.
InfantryLightNightScale = 200f ; amount to scale map lighting to make infantry easier to see.
TerrainLightingMorningAmbient = R:128 G:100 B:77
TerrainLightingMorningDiffuse = R:230 G:180 B:153
TerrainLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
TerrainLightingEveningAmbient = R:64 G:59 B:51
TerrainLightingEveningDiffuse = R:153 G:128 B:102
TerrainLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
TerrainLightingNightAmbient = R:26 G:26 B:39
TerrainLightingNightDiffuse = R:51 G:51 B:77
TerrainLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0
TerrainObjectsLightingMorningAmbient = R:128 G:102 B:77
TerrainObjectsLightingMorningDiffuse = R:230 G:179 B:153
TerrainObjectsLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
TerrainObjectsLightingEveningAmbient = R:64 G:59 B:51
TerrainObjectsLightingEveningDiffuse = R:153 G:128 B:102
TerrainObjectsLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
TerrainObjectsLightingNightAmbient = R:26 G:26 B:39
TerrainObjectsLightingNightDiffuse = R:51 G:51 B:77
TerrainObjectsLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0
TerrainLightingAfternoonAmbient = R:56 G:52 B:44
TerrainLightingAfternoonDiffuse = R:255 G:255 B:255
TerrainLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45
TerrainObjectsLightingAfternoonAmbient = R:56 G:52 B:44
TerrainObjectsLightingAfternoonDiffuse = R:255 G:255 B:255
TerrainObjectsLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45
TerrainLightingAfternoonAmbient2 = R:0 G:0 B:0
TerrainLightingAfternoonDiffuse2 = R:60 G:60 B:120
TerrainLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00
TerrainObjectsLightingAfternoonAmbient2 = R:0 G:0 B:0
TerrainObjectsLightingAfternoonDiffuse2 = R:60 G:60 B:80
TerrainObjectsLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00
TerrainLightingAfternoonAmbient3 = R:0 G:0 B:0
TerrainLightingAfternoonDiffuse3 = R:30 G:30 B:20
TerrainLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34
TerrainObjectsLightingAfternoonAmbient3 = R:0 G:0 B:0
TerrainObjectsLightingAfternoonDiffuse3 = R:30 G:30 B:20
TerrainObjectsLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34
AudioOn = Yes
MusicOn = Yes
SoundsOn = Yes
SpeechOn = Yes
VideoOn = Yes
DebugAI = No
DebugAIObstacles = No
MaxRoadSegments = 4000
MaxRoadVertex = 3000
MaxRoadIndex = 5000
MaxRoadTypes = 100
ValuePerSupplyBox = 75
BuildSpeed = 1.0
MinDistFromEdgeOfMapForBuild = 30.0 ; buildings may not be constructed this close to a map edge
SupplyBuildBorder = 20.0 ; min dist you can put a supply center from a supply source
;Terrain height at structure footprint must be within this much to
;be considerd "flat" and therefore buildable
AllowedHeightVariationForBuilding = 10.0
MinLowEnergyProductionSpeed = 0.5
MaxLowEnergyProductionSpeed = 0.8
LowEnergyPenaltyModifier = 1.0
MultipleFactory = 1.0
RefundPercent = 50.0%
StealthFriendlyOpacity = 50.0%
CommandCenterHealRange = 500.0 ; command center heals your/ally stuff this close to the command center
CommandCenterHealAmount = 0.01 ; command center heals close by stuff this amount per logic frame
MaxLineBuildObjects = 50 ; line build style objects can be in a line no longer than this count of objects
MaxTunnelCapacity = 10 ; How many can be in a player's tunnel network. Limit 10 for UI currently
StandardMinefieldDensity = 0.004 ; in mines per square foot
StandardMinefieldDistance = 40 ; in feet. should generally be larger than typical tank shot range.
HorizontalScrollSpeedFactor = 1.6; ; Factor applied to the maximum RMB scroll speed. Larger allows faster scrolling.
VerticalScrollSpeedFactor = 2.0; ; Split to account for aspect ratio induced speed limits. Room to mouse drag.
KeyboardScrollSpeedFactor = 2.0; ; Factor applied to the maximum keyboard scroll speed. Larger allows faster scrolling.
MovementPenaltyDamageState = REALLYDAMAGED ; Point at which we slow movement
MaxParticleCount = 2500 ; the maximum number of particles that can exist at one time (to 5000 for demo)
MaxFieldParticleCount = 30 ; the number of field type particles rendered to the screen, beyond which this type will begin skipping
; a field particle is one of Priority AREA_EFFECT and isGroundAligned = Yes
; Typically these are puddles, toxic contamination, radiation, decontamination, etc.
; note that the weapon bonus types are:
;"GARRISONED",
;"HORDE",
;"CONTINUOUS_FIRE_MEAN",
;"CONTINUOUS_FIRE_FAST",
;"NATIONALISM",
;"PLAYER_UPGRADE",
;"DRONE_SPOTTING",
;"ENTHUSIASTIC",
;"VETERAN",
;"ELITE",
;"HERO",
;"BATTLEPLAN_BOMBARDMENT",
;"BATTLEPLAN_HOLDTHELINE",
;"BATTLEPLAN_SEARCHANDDESTROY",
;"SUBLIMINAL",
;"SOLO_HUMAN_EASY",
;"SOLO_HUMAN_NORMAL",
;"SOLO_HUMAN_HARD",
;"SOLO_AI_EASY",
;"SOLO_AI_NORMAL",
;"SOLO_AI_HARD",
;
; and the weapon bonus 'fields' are:
;"DAMAGE",
;"RADIUS",
;"RANGE",
;"RATE_OF_FIRE",
;"PRE_ATTACK",
;HORDE, NATIONALISM and FANATICISM are cumulative bonuses for the China Redguard,
;and only apply when they are in a horde. NATIONALISM does not replace HORDE! FANATICISM does not replace NATIONALISM
;ENTHUSIASTIC and SUBLIMINAL are cumulative bonuses for the China Redguard,
;and only apply when they are within effect radius of a propaganda tower. SUBLIMINAL does not replace ENTHUSIASTIC!
WeaponBonus = HORDE RATE_OF_FIRE 150% ;Horded troops fire their weapons 25% faster
WeaponBonus = NATIONALISM RATE_OF_FIRE 125% ;Horded troops with nationalism fire their weapon an additional 25% faster
WeaponBonus = FANATICISM RATE_OF_FIRE 125% ;Horded troops with nationalism fire their weapon an additional 25% faster
WeaponBonus = ENTHUSIASTIC RATE_OF_FIRE 125% ;In range of a speaker tower, gaining enthusiasm
WeaponBonus = SUBLIMINAL RATE_OF_FIRE 125% ;In range of an upgraded speaker tower, gaining even more enthusiasm
WeaponBonus = GARRISONED RANGE 133% ; when garrisoned, all weapons get n times normal range
WeaponBonus = GARRISONED DAMAGE 125% ; when garrisoned, all weapons get n times normal range
WeaponBonus = TARGET_FAERIE_FIRE RATE_OF_FIRE 150% ; If shooting at someone marked with Faerie Fire, shoot faster (we don't miss ever, so can't hit easier)
WeaponBonus = FRENZY_ONE DAMAGE 110% ; Granted by a China Generals power
WeaponBonus = FRENZY_TWO DAMAGE 120%
WeaponBonus = FRENZY_THREE DAMAGE 130%
WeaponBonus = VETERAN RATE_OF_FIRE 120%
WeaponBonus = VETERAN DAMAGE 110%
WeaponBonus = ELITE RATE_OF_FIRE 140%
WeaponBonus = ELITE DAMAGE 120%
WeaponBonus = HERO RATE_OF_FIRE 160%
WeaponBonus = HERO DAMAGE 130%
;Strategy centers provides bonuses based on the active battleplan!
WeaponBonus = BATTLEPLAN_BOMBARDMENT DAMAGE 120%
; WeaponBonus = BATTLEPLAN_BOMBARDMENT RANGE 120%
WeaponBonus = BATTLEPLAN_SEARCHANDDESTROY RANGE 120%
WeaponBonus = BATTLEPLAN_HOLDTHELINE RATE_OF_FIRE 100% ;Note this does nothing -- just for balancing reference.
WeaponBonus = SOLO_AI_EASY RATE_OF_FIRE 80%
WeaponBonus = SOLO_AI_NORMAL RATE_OF_FIRE 100%
WeaponBonus = SOLO_AI_HARD RATE_OF_FIRE 120%
; you cannot set this; it always has a value of 100%.
; HealthBonus_Regular = 100%
HealthBonus_Veteran = 120%
HealthBonus_Elite = 130%
HealthBonus_Heroic = 150%
HumanSoloPlayerHealthBonus_Easy = 150%
HumanSoloPlayerHealthBonus_Normal = 100% ; ie, unadjusted
HumanSoloPlayerHealthBonus_Hard = 80%
; Audio parameters
; VolumeDistribution = Linear ; for linear falloff
; VolumeDistribution = MuLaw ; for S-Curve falloff
; VolumeMuValue = 6.0 ; defines the steepness of the S, must be >=0, higher is steeper.
GroupSelectMinSelectSize = 5
GroupSelectVolumeBase = 0.5
GroupSelectVolumeIncrement = 0.02
MaxUnitSelectSounds = 8
SelectionFlashSaturationFactor = 0.5 ; zero leaves color unaffected, 4.0 is purely saturated
SelectionFlashHouseColor = No ; if 'No', selection flashes white
CameraAudibleRadius = 250 ; defines the radius that we can hear when the camera is looking up.
GroupMoveClickToGatherAreaFactor = 0.5; if you take all the selected units and calculate the smallest possible rectangle
; that contains them all, and click within that, all the selected units will break
; formation and gather at the point the user clicked (if the value is 1.0). If it's
; 0.0, units will always keep their formation. If it's <1.0, then the user must
; click a smaller area within the rectangle to order the gather.
ShakeSubtleIntensity = 0.5
ShakeNormalIntensity = 1.0
ShakeStrongIntensity = 2.5
ShakeSevereIntensity = 5.0
ShakeCineExtremeIntensity = 7.5 ;Cinematic reserved -- don't use for game stuff because it can change.
ShakeCineInsaneIntensity = 10.0 ;Cinematic reserved -- don't use for game stuff because it can change.
MaxShakeIntensity = 10.0
MaxShakeRange = 150.0
SellPercentage = 50% ; You get this percentage back of the cost to build
BaseRegenHealthPercentPerSecond = 0.3% ;You get this % of max health back per second from auto base regeneration
BaseRegenDelay = 3000 ;in MS, delay in frames we must be damage free before we can auto heal from base regeneration
; sorry, prisons are cut, maybe next version (srj)
; PrisonBountyMultiplier = 2.0 ;Players get this X the cost to build a unit
; ;that is delivered to a prison with
; ;KINDOF_COLLECTS_PRISON_BOUNTY
; PrisonBountyTextColor = R:255 G:128 B:64 A:255
SpecialPowerViewObject = SuperweaponPing ; Name of the object created for superweapons to let you watch what happens
; this is a list of bones that will always be exposed to Logic.
; please note that this is really here for quick backwards compatibility with old code,
; which didn't require declaring which bones you wanted to be able to use from logic...
; so PLEASE DO NOT ADD TO THIS LIST; if you need to expose new bones for a particular
; unit, please use the "ExtraPublicBone" INI keyword on a per-unit basis instead
; (see the airfields for an example). (srj)
StandardPublicBone = FirePoint
StandardPublicBone = Target_Left
StandardPublicBone = Target_Right
StandardPublicBone = ExitStart
StandardPublicBone = ExitEnd
StandardPublicBone = Muzzle
StandardPublicBone = PARA_COG
StandardPublicBone = PARA_ATTCH
StandardPublicBone = PARA_MAN
StandardPublicBone = ExitStart
StandardPublicBone = DockStart
StandardPublicBone = DockAction
StandardPublicBone = DockEnd
StandardPublicBone = DockWaiting
StandardPublicBone = WeaponA
StandardPublicBone = Smoke
StandardPublicBone = Fire
StandardPublicBone = WaterSpray
StandardPublicBone = Spray
StandardPublicBone = WaterSprayBig
StandardPublicBone = Steam
StandardPublicBone = Propeller
StandardPublicBone = SpawnPoint
StandardPublicBone = FireS
StandardPublicBone = FireM
StandardPublicBone = FireL
StandardPublicBone = SmokeS
StandardPublicBone = SmokeM
StandardPublicBone = SmokeL
StandardPublicBone = Aflame
DefaultStartingCash = 10000 ;The amount of cash the player starts with by default.
UnlookPersistDuration = 5000 ; How long after you stop looking until the fog grows back
ShroudColor = R:255 G:255 B:255
ClearAlpha = 255
FogAlpha = 127
ShroudAlpha = 0 ; 0 is opaque, 255 is clear. Unsigned Byte
; Network timing settings. Don't mess with these unless you know what you're doing!
; If you are tempted to mess with these, please let me know. Bryan x36810
; This does not imply that I know what I'm doing.
NetworkFPSHistoryLength = 30 ; The number of fps history entries.
NetworkLatencyHistoryLength = 200 ; The number of ping history entries.
NetworkRunAheadMetricsTime = 5000 ; The number of miliseconds between run ahead metrics things
NetworkCushionHistoryLength = 10 ; The number of cushion values to keep.
NetworkRunAheadSlack = 10 ; The amount of slack in the run ahead value. This is the percentage of the calculated run ahead that is added.
NetworkKeepAliveDelay = 20 ; The number of seconds between when the connections to each player send a keep-alive packet.
NetworkDisconnectTime = 5000 ; The number of milliseconds between when the game gets stuck on a frame for a network stall and when the disconnect dialog comes up.
NetworkPlayerTimeoutTime = 60000 ; The number of milliseconds between when a player's last keep alive command was recieved and when they are considered disconnected from the game.
NetworkDisconnectScreenNotifyTime = 15000 ; The number of milliseconds between when the disconnect screen comes up and when the disconnect notification is sent to the other players.
KeyboardCameraRotateSpeed = 0.1 ; How fast the camera rotates when rotated via keyboard controls.
End
now name the text file GameData.ini
do this for all computers, this one worked for me, our max time to play is 1:30 hours and we didnt face any problem