Hello everyone,
We are pleased to announce that MTA:SA 1.4 is now released!
Download 1.4 Windows installer
Download 1.4 Linux server
This release focuses on introducing Object-Oriented Programming and adding localized user interface to the mod. Installer and UI translations for the following languages are included in the package:
English, Arabic, Chinese, Croatian, Czech, Dutch, Estonian, French, German, Hungarian, Italian, Latvian,
Lithuanian, Norwegian, Polish, Portuguese (BR), Romanian, Russian, Slovakian, Slovenian, Spanish, Swedish, Turkish
Thank you to all the servers and clients who have updated to MTA 1.4 before it's final version, lots of bugs have been found and fixed and we appreciate that you have tested our sometimes particularly buggy builds, now we have finally got to a stage where we can consider 1.4 fit for a release version.
The change log below is split into what has been fixed after the start of the 1.4 beta and before the 1.4 beta to show just how much your support has helped us get to this point
Changes in 1.4 beta
Bug fixes:
Added sharing of the client file cache between MTA versions
Fixed Fatal Error caused by NaNs
Fixed Dead peds still being able to drive a vehicle for a few seconds.
Fixed peds continuing to fire their weapons after running out of ammo.
Fixed GetSoundLevelData outputting an error when the sound has no level data e.g. this section of the sound is very quiet/mute
Fixed startup issue caused by bad video mode
Fixed Replacing a parachute model crashing your client
Fixed Custom melee weapons crashing the client
Fixed serverside setElementRotation always returning false when rotating an object
Fixed getPlayersInTeam sometimes returning invalid elements
Fixed a crash that sometimes happened when spawning vehicles
Fixed setObjectBreakable to work with glass
Fixed Players doing a driveby being invulnerable to gunfire
Fixed driveby animations
Fixed Ability to specify mysql connection charset
Added blocking of known malicious server scripts
Fixed toJSON/fromJSON not handling binary data properly
Fixed base64Decode not handling binary data properly
Fixed BASS related freeze
Added result limit to pregMatch to fix infinite loop possibility
Added auto reconnect to internal http server if download error using external
Fixed nil/false in Lua to NULL in SQL - Needs testing
Fixed setJetpackWeaponEnabled not having have effect for some weapons
Fixed startup crash when NVidia 3D is enabled
Added support for CFF OpenType fonts with dxCreateFont
Added delayed autosave for ban list.
Added removal of incompatible compatibility settings.
Fixed account data functions being limited to 128 characters
Fixed money counting down when changing server
Added http_dos_exclude server option to prevent IPs being impacted by dos threshold limits
Fixed clientside utfSub not working properly
Fixed a clientside HandlingData memory leak
Fixed video settings overlapping
Fixed fast sprint bug
Fixed remote players on teams crashing joining players
Fixed Integer data changing when sending it between server and client
Fixed not working tab key for scrollpanes and staticimages (to switch between edits and memos)
Fixed peds surviving with negative health under certain conditions
Fixed nick command sometimes outputting an error when working fine
Fixed changing skin resetting vehicle velocity
Fixed multiple colshape client events when ped is in a vehicle
Fixed a HTTP write crash
Fixed setElementModel causing a desync if the model changing element is attached
Fixed projectile counter resetting when the local player dies
Fixed fire dissapearing when respawning
Fixed onClientElementStreamIn triggering twice when entering a vehicle
Fixed breakObject not working with glass objects
Fixed onClientObjectBreak for glass objects
Fixed lack of name in the ban list when you ban a serial
Fixed incorrect warning from the server about number of open file handles
Fixed crash caused by camera weapon in windowed mode.
Fixed setVehicleTaxiLightOn not working for Cabbie
Fixed resetting of vehicle handing property 'driveType' and 'engineType'
Modified random nick generator to use less memory
Fixed visibility of 'Use customized GTA:SA files' setting
Fixed onPlayerVoiceStart re-triggering when cancelled
Fixed a startup freeze caused by dll conflicts
Fixed Custom binds will not save when MTA isnt restarted properly
Fixed attachElements with the camera not removing the camera target.
Fixed not being able to enter any vehicle after trying to enter a vehicle in water
Fixed trains hopping between tracks when being streamed in
Fixed some default weapon flags
Fixed frozen state desync after a player is respawned
Added warning message for server scripts that might be causing a long freeze
Fixed Call to non-running client resource (name) [string "?"] to show the actual name
Fixed isElementInWater returning false with peds always
Fixed crash when changing GUI skin
Fixed progress spinner not showing when server is using latency reduction
Fixed progress spinner not showing when processing downloaded client files
Fixed network trouble message causing WSOD when server is using latency reduction
Fixed possible crash when calling setControlState with a ped
Sped up engineIsTextureVisible
Reduced memory usage for database query results
Fixed camera shake staying when changing server after an explosion
Fixed engineLoadTXD and engineReplaceModel not closing invalid files
Fixed spurious error message with dxDrawImage
Fixed Function "setElementVelocity" doesn't work client-side for localPlayer vehicle
Fixed train carriages and re-enabled the Brownstreak Carriage (ID: 570)
Added SettingHUDMatchAspectRatio, SettingAspectRatio to dxGetStatus
Fixed Teams members not being sent to clients if set in onResourceStart
Train sync is now using track position, direction, and speed rather than x,y,z and velocities
Features
Added functions to play radio files and game sound effects - element playSFX ( string containerName, int bankId, int soundId [, bool looped = false ] ) https://wiki.multitheftauto.com/wiki/PlaySFX / - element playSFX3D ( string containerName, int bankId, int soundId, float x, float y, float z [, bool looped = false ] ) https://wiki.multitheftauto.com/wiki/PlaySFX3D
Added new glitches to setGlitchEnabled: - "baddrivebyhitbox" re-enable old driveby settings - "Fast Sprint" re-enable fast sprint bug
Added clientside getLocalization() scripting function: - getLocalization().code is the language code e.g. en_US or ar - getLocalization().name is the language name e.g. "English (United States)" or "Arabic" - table getLocalization ( ) https://wiki.multitheftauto.com/wiki/GetLocalization
Added Ability to modify/edit bans - bool setUnbanTime( ban theBan, int theTime ) https://wiki.multitheftauto.com/wiki/SetUnbanTime - bool setBanReason( ban theBan, string theReason ) https://wiki.multitheftauto.com/wiki/SetBanReason - bool setBanAdmin ( ban theBan, string theAdmin ) https://wiki.multitheftauto.com/wiki/SetBanAdmin - bool isBan ( ban theBan ) https://wiki.multitheftauto.com/wiki/IsBan
Added additional optional parameter bInstant to setPlayerMoney to instantly set the money without counting up/down. - setPlayerMoney(player, amount, instant = false) https://wiki.multitheftauto.com/wiki/SetPlayerMoney - setPlayerMoney(amount, instant = false) https://wiki.multitheftauto.com/wiki/SetPlayerMoney
Added createParticle function - effect createEffect(string effectName, float posX, float posY, float posZ[, float rotX, float rotY, float rotZ]) https://wiki.multitheftauto.com/wiki/CreateEffect - bool setEffectSpeed(effect, float speed) -- Speed controls how fast the effect will play, defaults to 1.0f https://wiki.multitheftauto.com/wiki/SetEffectSpeed - float getEffectSpeed(effect) https://wiki.multitheftauto.com/wiki/GetEffectSpeed - bool setEffectDensity(effect, float density) -- Speed controls how often the effect particles are spawned, defaults to 0.5f https://wiki.multitheftauto.com/wiki/SetEffectDensity - float getEffectDenstity(effect) https://wiki.multitheftauto.com/wiki/GetEffectDensity
Added a list function to the server - list all lists all resources - list running lists all running resources - list stopped lists all stopped resources
Added getResourceState - string getResourceState ( resource ) checks if the resource is ready for calling exports
All weapon property flags are now able to be set using a new syntax - see https://wiki.multitheftauto.com/wiki/SetWeaponProperty for details
Added call propogation functions to toggle if MTA should call functions down the element tree from this element - isElementCallPropagationEnabled - https://wiki.multitheftauto.com/wiki/Is ... ionEnabled - setElementCallPropagationEnabled - https://wiki.multitheftauto.com/wiki/Se ... ionEnabled
Added option to test optimized vehicle parts state sync - setServerConfigSetting("alt_veh_parts_state_sync",1)
Added setInteriorFurnitureEnabled and getInteriorFurnitureEnabled - setInteriorFurnitureEnabled https://wiki.multitheftauto.com/wiki/Se ... ureEnabled - getInteriorFurnitureEnabled https://wiki.multitheftauto.com/wiki/Ge ... ureEnabled
Added flags to preg functions - bool pregFind ( string base, string pattern, uint flags ) - 1 ignorecase; 2 multiline; 4 dotall; 8 extented
Added isTrainChainEngine - bool isTrainChainEngine ( vehicle theTrain ) https://wiki.multitheftauto.com/wiki/IsTrainChainEngine
Added event onWeaponFire - onWeaponFire ( ) https://wiki.multitheftauto.com/wiki/OnWeaponFire
Added getEventHandlers - table getEventHandlers ( string eventName, element attachedTo ) https://wiki.multitheftauto.com/wiki/GetEventHandlers
Added isChatVisible - bool isChatVisible ( ) https://wiki.multitheftauto.com/wiki/IsChatVisible
Added downloadFile - downloads a file from the inbuilt HTTP server from the calling resource - bool downloadFile ( string fileName ) https://wiki.multitheftauto.com/wiki/DownloadFile
Added OOP - https://wiki.multitheftauto.com/wiki/OOP
Changes since 1.4 beta
Bug fixes
Updated anti-cheat
Fixed Projectiles not hitting the target correctly / bouncing off their target
Fixed server crash on unexpected packet
Fixed some more causes of vehicle/player freezes
Fixed lack of UTF-8 symbols on some Windows dialogs at start
Improved handling of duplicate files in meta.xml
Fixed file name displayed in error messages for no cache scripts
Fixed no cache Lua files running before remaining resource files have been downloaded
Fixed Entering a taxi causing visible change in money counter
Fixed not being able to enter attached Brown Streak Carriages
Fixed freezes and FPS drops when streaming in objects and players at the same time
Fixed attachTrailerToVehicle client side with trains possibly freezing the client
Fixed Remington with suspensionLowerLimit of 0 breaking the game
Limited fx density to sensibile values
Added more in depth DFF file checking see https://wiki.multitheftauto.com/wiki/DFF_error_messages if you have any error messages related to custom models
Fixed setVehicleColor error handling.
Fixed client crash when using setVehicleColor with invalid element.
Fixed client crash when there is error calling exported function
Fixed playSound3D not working while spectating another player
Fixed custom sirens not syncing properly
Changed serverside setElementVelocity to accept objects and weapons
Fixed driveby orientation on certain vehicles
Fixed another crouch bug
Fixed planes stopping in mid air
Fixed elements losing velocity when streamed in players fire their weapons
Fixed setElementModel setting vehicle move and turn speed to zero
Fixed MTA crashing with smoke grenades - vehicles will now wait for MTA objects to load - after 2 retrys it is considered unfixable and will warp to the middle of the nearest road - if a vehicle does fall through it will try respawning at the original spawn position providing it hasn't moved too far from it - vehicles will wait for the ground to load before being created
Fixed vehicles falling through the map
Fixed the train crossing post object (Object ID: 1373)
Fixed an issue with createBlip where it would wrap around if used like the wiki example (using 999999 visible to distance) and would therefore set the visible distance to garbage.
Fixed clientside weapons not firing when using setWeaponState
Increased quality of dx fonts
Fixed a crash when destroying effects when they were already destroyed GTA
Fixed Desync when calling spawnPlayer from an event handler remotely triggered from within onClientPlayerWasted
Increased server side outputChatBox limit to 256 and made it return false if it passes this limit as the client will ignore it.
Sped up debug build slightly.
Added log files to client crash dumps.
Added HTTP allocation server stats.
Fixed crash when streaming a towed vehicle in certain circumstances
Fixed connecting via command line if gta_sa.exe has already been started
Features
Added a function to check if an element is waiting for the ground to load - bool isElementWaitingForGroundToLoad ( vehicle/player/ped element )
Added a setting to disable tyre smoke to MTA video tab - This setting disables tyre smoke when doing burnouts locally and all tyre smoke for remote players as well as disabling boat related splashing
Changed serverside setElementVelocity to accept objects and weapons
Added OPUS audio file support to MTA
setSoundPan now supports player elements
One more thing
Do not uninstall 1.3, because the 1.4 client will use files from 1.3 resource cache (if it is there). So you can avoid re-downloading vehicle mods etc