mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-08-29 00:01:29 +00:00
97db163cd0
* FIX - repair inventory metadata and ESX contracts Use the stable core_inventory metadata setter and validate the complete inventory adapter contract after provider bridges load. Preserve the real ESX configuration error instead of cascading into a missing RegisterUsableItem failure. * FIX - clarify phone opening without SIM * FIX - harden inventory and device contracts Validate SIM number configuration before item handling, preserve QB metadata mutation contracts, and propagate phone-open failures to callers. Extend regression coverage for inventory bridges and device bootstrap errors. * FIX - resolve reported phone interaction issues Stop game-input passthrough while NUI text fields are focused and add an independent hold-to-look option. Propagate SIM number formatting to the frontend, migrate configured currency symbols to utf8mb4, and clarify SkyRide, VaultX, and DarkChat behavior with focused contract coverage. * FIX - detect missing packaged phone UI Validate the generated NUI entrypoint, its referenced assets, and required static media when the resource starts. Print an actionable server-console warning for incomplete source archives, package phone sounds through the manifest, and cover the detection contract with Lua regressions.
27 lines
793 B
Lua
27 lines
793 B
Lua
local required_methods = {
|
|
"GetResourceName",
|
|
"GetSlot",
|
|
"GetSlotsWithItem",
|
|
"SetSlotMetadata",
|
|
"CanCarryItem",
|
|
"AddItem",
|
|
"RemoveItem",
|
|
"RegisterUsableItem",
|
|
}
|
|
|
|
local configuration_error = Bridge.Inventory.ConfigurationError
|
|
|
|
for _, method_name in ipairs(required_methods) do
|
|
if configuration_error then
|
|
Bridge.Inventory[method_name] = function()
|
|
error(configuration_error, 2)
|
|
end
|
|
elseif type(Bridge.Inventory[method_name]) ~= "function" then
|
|
local contract_error = ("[sky_phone] Inventory adapter '%s' is missing required method '%s'.")
|
|
:format(tostring(Bridge.Inventory.Name), method_name)
|
|
Bridge.Inventory[method_name] = function()
|
|
error(contract_error, 2)
|
|
end
|
|
end
|
|
end
|