v3.2.86 patch
Switch calls to video, call fixes and safer garage integrations
15changes

Switch calls to video, call fixes and safer garage integrations
15changes

[02] Release
During a voice call you can now ask to switch to video without hanging up. The speaker, hanging up and stuck calls are fixed, earbuds and powerbanks no longer disappear with ox_inventory, and all garage integrations now pass the plate to the database safely.
config/main.lua changed. If you keep your own copy, update it by hand:
Config.Inventory now checks the inventories in a fixed order, with qs-inventory first. Copy the new Config.Inventory line.ambientBleed and ambientDistance in Config.CallAudio are no longer used. You can leave them or remove them.videoUpgradeTimeoutMs inside Config.PhoneCall (milliseconds, default 30000, minimum 5000).[installation]/ox_inventory.md. We recommend consume = 0 on the earbuds and the powerbank, and client = { image = 'phone.png' } on the Nova, Duo and Fold phones.phone.png as their image. If those items show no picture, change their image to phone.png (see the guides in [installation]).Replace every file in the resource, except what you edited yourself:
config/main.lua: see above.shared/functions.luaclient/apps/icar.luaclient/apps/phone.luaclient/modules/device.luaserver/apps/backup.luaserver/apps/phone.luaserver/custom/debug.luaserver/custom/garage/: all 10 garage files. If you edited your garage file, apply the change by hand.server/modules/battery.luaserver/modules/call_interceptor.luaserver/modules/earbuds.luaserver/modules/phone.luaweb/: replace the whole folder.fxmanifest.lua: version only.Outside the resource: [installation]/esx_inventory.md, ox_inventory.md, qb-inventory.md and qs-inventory.md.
All 10 garage integrations now pass the plate to the database safely.
During a voice call, either side can ask to turn on video. The other person chooses "Switch" or "Keep Audio", without hanging up. A request with no answer expires after 30 seconds (Config.PhoneCall.videoUpgradeTimeoutMs).
With the speaker off, people standing next to you could hear the whole call, so it felt like it was always on speaker. Now only the two of you hear it. With the speaker on, nearby players hear the call and can be heard. The ambientBleed and ambientDistance options in Config.CallAudio are no longer used.
The call screen always closes when you hang up and you leave the voice channel, even if the call had already ended on the server. Before, it could stay stuck until you reconnected.
An error while ending a call (an offline player, a database error…) could leave the call open forever, with no way to hang up or call again. It always closes now.
Using the earbuds or the powerbank with ox_inventory no longer removes them from the inventory.
With several inventories running, the phone now checks them in a fixed order, qs-inventory before ox_inventory. Before, it could pick ox_inventory on servers using qs-inventory and fail.
The vehicle is checked before the fee is charged or it is marked as out of the garage. Vehicles bought at qb-vehicleshop now spawn with the right model.
Only the owner of a phone can back it up, manually or with the automatic backup. Someone carrying another player's phone can no longer save a copy of it.
Size, brightness, frame colour, wallpaper and lock screen are saved a moment after you change them. A disconnect or crash with the phone open no longer loses them.
While a new phone was being set up, some screens could show internal names instead of text. Until you pick a language, the phone now uses the server's language, and any text missing in a language shows in English.
The status bar's Wi-Fi icon now follows the Control Center Wi-Fi toggle and airplane mode.
The registerCallInterceptor export now accepts callbacks passed from other resources.
The ox_inventory guide has item definitions ready to paste and image instructions. The qs-inventory and qb-inventory guides now use phone.png for every phone, the Nova phone names are fixed in all four guides, and the Config.Locale comment lists all 45 language codes.