4.0-Release
Tip
This update was released on 16.07.2021
Client
Added
- alt.setPedDlcProp, player.clearPedProp
- alt.setPedDlcClothes
- alt.loadYtyp
- alt.unloadYtyp
- alt.getVoiceActivationKey
- Vector2 Class
- pos and size parameter to WebView
- auto-reconnect to voice
- player voice volume
- voiceInputVolume and voiceVolume console command
- BigInt support for natives
- event arg compression
- streamedIn getter alt.Player.streamedIn / alt.Vehicle.streamedIn
- Added WebSocketClient API
→ ws.on(‘open’, () => {})
→ ws.on('close', (code, reason) => {})
→ ws.on('error', reason () => {})
→ ws.on('message', msg () => {})
→ ws.addSubProtocol()
→ ws.getSubProtocols()
→ ws.setExtraHeader()
→ ws.getExtraHeaders()
→ ws.pingInterval
→ ws.autoReconnect
→ ws.perMessageDeflate
→ ws.start()
→ ws.stop()
- Added HttpClient API
→ http.setExtraHeader()
→ http.getExtraHeaders()
→ http.get()
→ http.head()
→ http.post()
→ http.put()
→ http.delete()
→ http.connect()
→ http.options()
→ http.trace()
→ http.patch()
- Added 3D & 2D Audio API
→ audio.source
→ audio.looped
→ audio.volume
→ audio.category
→ audio.currentTime
→ audio.maxTime
→ audio.playing
→ audio.addOutput()
→ audio.removeOutput()
→ audio.getOutputs()
→ audio.play()
→ audio.pause()
→ audio.stop()
→ audio.reset()
→ audio.seek()
→ audio.on('streamEnded', () => {})
→ audio.on('error', (code, message) => {})
- js-module command
- alt.getHeadshotBase64
- generic event handlers
- webview once
- static local storage methods
- natives can handle entities directly without scriptID
- error logs for natives
- entity.isSpawned - same as entity.scriptID > 0
- html support for rss feed
- toggleExtra
- vehicle maxGear setter & getter
- vehicle gear setter
- vector 3 dot class
- vehicle indicatorLights setter/getter
- WebView getters (isReady, isOverlay)
- WebView getter/setter focused
- warning if heap limit is nearly reached
- heap increament by 100mb if limit is nearly reached (max 4GB)
- configflag to disable weaponswap if weapon is empty
- currentAmmo getter for localplayer
Fixed
- vehicle rotation getter
- alt.resourceLoaded was only available in debug
- connect url
- crash when pushing invalid args to natives
- checkpoint functions
- leftVehicle event on vehicle destroy
- heap command
- timers command
- permissions-system if cdn was used
- interiors after set playermodel while in interior
- vehicle rotation bug
- microtasks (e.g. wasm apis)
Changed
- Natives which accepted "undefined" needs 0 now
- Update v8 to Version 9.2
- Extended Pool DrawableStore to 110 000
- Extend MapDataStore pool by 15k
- Increased CNetworkDamageTracker pool
Server
Added
- player.setProp, player.setDlcProp, player.getProp, player.getDlcProp & player.clearProp
- player.setClothes, player.setDlcClothes & player.getClothes, player.getDlcClothes
- alt.emitAllClients
- player.isEntityInStreamRange
- alt.setPassword
- Vector2 Class
- event arg compression
- generic event handlers
- isDead getter
- setWheelFixed setter
- support for player array on emit alt.emitClient([player, player], ...args)
- vector 3 dot class
- attachTo & detach
- \n support in disconnect reasons for line break
- alt.Vehicle constructor now also accepts Vector3 for pos and rot instead of x, y, z params
Changed
- vehicle.getAttached() to vehicle.attached
- vehicle.getAttachedTo() to vehicle.attachedTo
- socialId to socialID
- removed alt.getPlayersByName
JS Module
Changed
- Update NodeJS to Version 14.15.2
- NodeJS Performance improvements
C# Module
Changed
Reworked for .NET 5