LquenS
  • Welcome
  • ls-core
    • 💾Installation
    • 🔧Errors
  • ls-phone
    • 💾Installation
    • 🖥️Configurations, Exports & Events
    • 🔧Errors
    • 📄Changelog
  • ls-inventory
    • 💾Installation
    • 🖥️Basics, Configurations, Exports & Events
    • 🔧Errors
    • 📄Changelog
  • ls-mdt
    • 💾Installation
    • 🔧Errors
  • ls-mdt-v3
    • 💾Installation
    • 🔧Errors
  • ls-inventoryhud
    • 💾Installation
      • 💻QBCore
      • 💻ESX
    • 🔧Errors
    • 🖥️Classes
    • 🔩Basics
Powered by GitBook
On this page
  • Before Starting
  • Installation
  • Requirements
  • Image Capture
  • Key Configuring
  • Executing Non-Included SQL
  • Impementing Inventories
  • qb-inventory
  • lj-inventory
  • ox_inventory
  • ls-inventoryhud
  • More Inventories Added In Future
  • Configuration
  • Webhook (Images)
  • Custom Billing
  • Custom Garage
  • Disabling Metadata
  • Battery
  • Internet
  1. ls-phone

Installation

Installation and download processes are straightforward and fixed. After following the specified steps, you can easily complete the installation.

PreviousErrorsNextConfigurations, Exports & Events

Last updated 1 year ago

Before Starting

Installation and download processes are straightforward and fixed. After following the specified steps, you can easily complete the installation. Skipping a small step can lead to significant errors in the future!

If you dont know, how to phone use check for how to usage!

If you get an error, and if the error located in errors page, support it will take much longer for you to get a reply.

If you don't modify configurations file, support it will take much longer for you to get a reply.

Installation

If you dont have knowledge, you can use this video for installation process

Extract ls-phone from the downloaded folder and install it on your server.

If the downloaded file has a different name than ls-phone, rename it to ls-phone or it will not work and errors will occur!

After installing it on your server, import the SQL database named "phone.sql" into your server's database.

Before starting, make sure you're started ls-phone after ls-core start. If you dont, start ls-phone after ls-core.

Requirements

Do not skip any requirements. It's will errors in future!

First, make sure that the specified resources have been downloaded and installed on your server;

Script
Download

ls-core

ls-crypto

xsound

screenshot-basic

Image Capture

You need to webhooks for take an photo in this section you'll learn how to add webhooks. First locate configs/config_server.lua and scroll to end find Config.Server.Webhook and modify.

configs/config_server.lua
Config.Server.Webhook = "your webhook link"

If you skip, these step you cant capture images/videos.

Key Configuring

Phone mainly works as item instead key, but you can use keys too! You can change keybinding from Settings > Key Bindings > FiveM > Phone Shortcut this only affects you, if you want change for everyone, ls-phone/client/otherc.lua and find RegisterKeyMapping after that change M key whatever you want!

RegisterKeyMapping does not affect who joined after ls-phone start. They need to change in Settings > Key Bindings > FiveM > Phone Shortcut

Key not working at every inventory, like ox_inventory because ls-core GetItem function not working as expected for ox_inventory. If you want to use by key, try to modify ls-core/server/main.lua, locate self.Functions.GetItem and try to modify

Executing Non-Included SQL

Some features not included with phone.sql, because they released with updates. You can check these step if you want to use these features.

Verified profiles can be used in some apps, if you want to add verified profiles to your phone execute this SQL,

ALTER TABLE twitter_users add verified int DEFAULT "0";
ALTER TABLE instagram_users add verified int DEFAULT "0";

Impementing Inventories

Some inventories doesn't uses metadata, and if you're using non metadata inventory execute this sql,

Process time depends your inventory script, most and common inventories added to this step.

Implementing to no more required, but in some inventories it doesnt working, you can use these steps.

qb-inventory

Expand these section if you're using this inventory
	if itemInfo['type'] == 'weapon' then
		info.serie = info.serie or tostring(QBCore.Shared.RandomInt(2) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(1) .. QBCore.Shared.RandomStr(2) .. QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(4))
		info.quality = info.quality or 100
	elseif itemInfo["name"] == "phone" then
		local PhoneData = {
            MetaData = {
                phonenumber = math.random(11111111, 99999999),
                owner = "Unknown",
                serialnumber = tostring(QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(3)):upper(),

                profilepicture = "img/default.png",
                background = "img/backgrounds/iphone.png",
                wallpapers = {
					["img/backgrounds/iphone.png"] = true,
					["img/backgrounds/blue.png"] = true,
					["img/backgrounds/deeppurple.png"] = true,
					["img/backgrounds/gold.png"] = true,
					["img/backgrounds/midnight.png"] = true,
					["img/backgrounds/purple.png"] = true,
					["img/backgrounds/red.png"] = true,
					["img/backgrounds/silver.png"] = true,
					["img/backgrounds/spaceblack.png"] = true,
					["img/backgrounds/starlight.png"] = true,
				},
                brightness = 100.0,
                volumeprogress = 100.0,
                layout = "4-6",
                widgetApp ={},
                phonePages = { [1] = true },
                phonePage = 1,
                notifications = {},
                oldConnections = {},
                Password = 1234,
    
                instagramUser = false,
                twitterUser = false,
                snapchatUser = false,
                darkchatUser = false,
    
                snapchatFriendRequests = { },
    
                phoneLocation = { x = 100, y = 100},
                phoneZoom = 100,
                bluetooth = false,
                LockScreen = false,

                beforeApps = {},
            },

            Notification = true,
            DarkMode = false,
            Airplane = false,
            MobileData = false,
            Wifi = false,
            WifiData = nil,
            DND = false,
            PhoneLocked = false,
            Battery = 100,
            PhoneClosed = false,

            gallery = {},
            clock = { alarms = {} },

            notes = {},
            mails = {},
            contacts = {},

            applications = {
                settings = {
                    app = "settings",
                    color = "transparent",
                    
                    photo = "settings.png",
                    label = "Settings",
                    style = "padding-right = .08vh; font-size = 2.3vh",
                    
                    slot = 1,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                gallery = {
                    app = "gallery",
                    color = "transparent",
                    
                    photo = "gallery.png",
                    label = "Gallery",
                    
                    slot = 4,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                appstore = {
                    app = "appstore",
                    color = "transparent",
                    
                    photo = "appstore.png",
                    label = "App Store",
                    
                    slot = 5,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                camera = {
                    app = "camera",
                    color = "transparent",
                    
                    photo = "camera.png",
                    label = "Camera",
                    
                    slot = 6,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                clock = {
                    app = "clock",
                    color = "transparent",
                    
                    photo = "clock.png",
                    label = "Clock",
                    
                    slot = 7,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                messages = {
                    app = "messages",
                    color = "transparent",
                    
                    photo = "messages.png",
                    label = "Messages",
                    
                    slot = 2,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                contacts = {
                    app = "contacts",
                    color = "transparent",
                    
                    photo = "contacts2.png",
                    label = "Phone",
                    
                    slot = 3,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                phonecontacts = {
                    app = "phonecontacts",
                    color = "transparent",
                    
                    photo = "contacts.png",
                    label = "Contacts",
                    
                    slot = 9,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                calculator = {
                    app = "calculator",
                    color = "transparent",
                    
                    photo = "calculator.png",
                    label = "Calculator",
                    
                    slot = 8,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
            
                    rating = 3.2,        
                    downloadsize = 15,
                    apptype = "app",
                    appbuild = "LOS",
                },  
            }
        }
		if info.MetaData == nil then info = PhoneData end
	end

lj-inventory

Expand these section if you're using this inventory
	if itemInfo['type'] == 'weapon' then
		info.serie = info.serie or tostring(QBCore.Shared.RandomInt(2) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(1) .. QBCore.Shared.RandomStr(2) .. QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(4))
		info.quality = info.quality or 100
	elseif itemInfo["name"] == "phone" then
		local PhoneData = {
            MetaData = {
                phonenumber = math.random(11111111, 99999999),
                owner = "Unknown",
                serialnumber = tostring(QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(3)):upper(),

                profilepicture = "img/default.png",
                background = "img/backgrounds/iphone.png",
                wallpapers = {
					["img/backgrounds/iphone.png"] = true,
					["img/backgrounds/blue.png"] = true,
					["img/backgrounds/deeppurple.png"] = true,
					["img/backgrounds/gold.png"] = true,
					["img/backgrounds/midnight.png"] = true,
					["img/backgrounds/purple.png"] = true,
					["img/backgrounds/red.png"] = true,
					["img/backgrounds/silver.png"] = true,
					["img/backgrounds/spaceblack.png"] = true,
					["img/backgrounds/starlight.png"] = true,
				},
                brightness = 100.0,
                volumeprogress = 100.0,
                layout = "4-6",
                widgetApp ={},
                phonePages = { [1] = true },
                phonePage = 1,
                notifications = {},
                oldConnections = {},
                Password = 1234,
    
                instagramUser = false,
                twitterUser = false,
                snapchatUser = false,
                darkchatUser = false,
    
                snapchatFriendRequests = { },
    
                phoneLocation = { x = 100, y = 100},
                phoneZoom = 100,
                bluetooth = false,
                LockScreen = false,

                beforeApps = {},
            },

            Notification = true,
            DarkMode = false,
            Airplane = false,
            MobileData = false,
            Wifi = false,
            WifiData = nil,
            DND = false,
            PhoneLocked = false,
            Battery = 100,
            PhoneClosed = false,

            gallery = {},
            clock = { alarms = {} },

            notes = {},
            mails = {},
            contacts = {},

            applications = {
                settings = {
                    app = "settings",
                    color = "transparent",
                    
                    photo = "settings.png",
                    label = "Settings",
                    style = "padding-right = .08vh; font-size = 2.3vh",
                    
                    slot = 1,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                gallery = {
                    app = "gallery",
                    color = "transparent",
                    
                    photo = "gallery.png",
                    label = "Gallery",
                    
                    slot = 4,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                appstore = {
                    app = "appstore",
                    color = "transparent",
                    
                    photo = "appstore.png",
                    label = "App Store",
                    
                    slot = 5,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                camera = {
                    app = "camera",
                    color = "transparent",
                    
                    photo = "camera.png",
                    label = "Camera",
                    
                    slot = 6,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                clock = {
                    app = "clock",
                    color = "transparent",
                    
                    photo = "clock.png",
                    label = "Clock",
                    
                    slot = 7,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                messages = {
                    app = "messages",
                    color = "transparent",
                    
                    photo = "messages.png",
                    label = "Messages",
                    
                    slot = 2,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                contacts = {
                    app = "contacts",
                    color = "transparent",
                    
                    photo = "contacts2.png",
                    label = "Phone",
                    
                    slot = 3,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                phonecontacts = {
                    app = "phonecontacts",
                    color = "transparent",
                    
                    photo = "contacts.png",
                    label = "Contacts",
                    
                    slot = 9,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                calculator = {
                    app = "calculator",
                    color = "transparent",
                    
                    photo = "calculator.png",
                    label = "Calculator",
                    
                    slot = 8,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
            
                    rating = 3.2,        
                    downloadsize = 15,
                    apptype = "app",
                    appbuild = "LOS",
                },  
            }
        }
		if info.MetaData == nil then info = PhoneData end
	end

ox_inventory

Expand these section if you're using this inventory
			if item.name == 'identification' then
				count = 1
				metadata = {
					type = inv.player.name,
					description = locale('identification', (inv.player.sex) and locale('male') or locale('female'), inv.player.dateofbirth)
				}
			elseif item.name == 'garbage' then
				local trashType = trash[math.random(1, #trash)]
				metadata.image = trashType.image
				metadata.weight = trashType.weight
				metadata.description = trashType.description
			elseif item.name == 'phone' then
				local PhoneData = {
					MetaData = {
						phonenumber = math.random(11111111, 99999999),
						owner = "Unknown",
						serialnumber = tostring(GenerateText(9)):upper(),
		
						profilepicture = "img/default.png",
						background = "img/backgrounds/iphone.png",
						wallpapers = {
							["img/backgrounds/iphone.png"] = true,
							["img/backgrounds/blue.png"] = true,
							["img/backgrounds/deeppurple.png"] = true,
							["img/backgrounds/gold.png"] = true,
							["img/backgrounds/midnight.png"] = true,
							["img/backgrounds/purple.png"] = true,
							["img/backgrounds/red.png"] = true,
							["img/backgrounds/silver.png"] = true,
							["img/backgrounds/spaceblack.png"] = true,
							["img/backgrounds/starlight.png"] = true,
						},
						brightness = 100.0,
						volumeprogress = 100.0,
						layout = "4-6",
						widgetApp ={},
						phonePages = { [1] = true },
						phonePage = 1,
						notifications = {},
						oldConnections = {},
						Password = 1234,
			
						instagramUser = false,
						twitterUser = false,
						snapchatUser = false,
						darkchatUser = false,
			
						snapchatFriendRequests = { },
			
						phoneLocation = { x = 100, y = 100},
						phoneZoom = 100,
						bluetooth = false,
						LockScreen = false,
		
						beforeApps = {},
					},
		
					Notification = true,
					DarkMode = false,
					Airplane = false,
					MobileData = false,
					Wifi = false,
					WifiData = nil,
					DND = false,
					PhoneLocked = false,
					Battery = 100,
					PhoneClosed = false,
		
					gallery = {},
					clock = { alarms = {} },
		
					notes = {},
					mails = {},
					contacts = {},
		
					applications = {
						settings = {
							app = "settings",
							color = "transparent",
							
							photo = "settings.png",
							label = "Settings",
							style = "padding-right = .08vh; font-size = 2.3vh",
							
							slot = 1,
							page = 0,
							
							currentPage = nil,
							pageDetails = {},
						},
						gallery = {
							app = "gallery",
							color = "transparent",
							
							photo = "gallery.png",
							label = "Gallery",
							
							slot = 4,
							page = 0,
							
							currentPage = nil,
							pageDetails = {},
						},
						appstore = {
							app = "appstore",
							color = "transparent",
							
							photo = "appstore.png",
							label = "App Store",
							
							slot = 5,
							page = 1,
							
							currentPage = nil,
							pageDetails = {},
						},
						camera = {
							app = "camera",
							color = "transparent",
							
							photo = "camera.png",
							label = "Camera",
							
							slot = 6,
							page = 1,
							
							currentPage = nil,
							pageDetails = {},
						},
						clock = {
							app = "clock",
							color = "transparent",
							
							photo = "clock.png",
							label = "Clock",
							
							slot = 7,
							page = 1,
							
							currentPage = nil,
							pageDetails = {},
						},
						messages = {
							app = "messages",
							color = "transparent",
							
							photo = "messages.png",
							label = "Messages",
							
							slot = 2,
							page = 0,
							
							currentPage = nil,
							pageDetails = {},
						},
						contacts = {
							app = "contacts",
							color = "transparent",
							
							photo = "contacts2.png",
							label = "Phone",
							
							slot = 3,
							page = 0,
							
							currentPage = nil,
							pageDetails = {},
						},
						phonecontacts = {
							app = "phonecontacts",
							color = "transparent",
							
							photo = "contacts.png",
							label = "Contacts",
							
							slot = 9,
							page = 1,
							
							currentPage = nil,
							pageDetails = {},
						},
						calculator = {
							app = "calculator",
							color = "transparent",
							
							photo = "calculator.png",
							label = "Calculator",
							
							slot = 8,
							page = 1,
							
							currentPage = nil,
							pageDetails = {},
					
							rating = 3.2,        
							downloadsize = 15,
							apptype = "app",
							appbuild = "LOS",
						},  
					}
				}
				metadata = PhoneData
			end

ls-inventoryhud

Expand these section if you're using this inventory

Before starting, locate your ls-inventory/resources/server/classes.lua after that find line 20, if your line 20 not the CreateItemData search function CreateItemData locate elseif createdItem._name == "scope" then and replace whole line with this code snippet,

    if createdItem._data.Type == "Weapon" then
        itemData.serie = tostring(randomString(15))
        itemData.ammo = 0
        itemData.quality = 100
        itemData.info = {}
    elseif createdItem._name == "suppressor" then
        itemData.attach_component = "suppressor"
        itemData.component = "suppressor"

    elseif createdItem._name == "flashlight" then
        itemData.attach_component = "flashlight"
        itemData.component = "flashlight"

    elseif createdItem._name == "clip_extended" then
        itemData.attach_component = "clip"
        itemData.component = "clip_extended"
    elseif createdItem._name == "clip_drum" then
        itemData.attach_component = "clip"
        itemData.component = "clip_drum"
        
    elseif createdItem._name == "scope" then
        itemData.attach_component = "scope"
        itemData.component = "scope"
    elseif createdItem._name == "phone" then
        local PhoneData = {
            MetaData = {
                phonenumber = math.random(11111111, 99999999),
                owner = "Unknown",
                serialnumber = tostring(LS_CORE.Config.RandomInt(3) .. LS_CORE.Config.RandomStr(3) .. LS_CORE.Config.RandomInt(3)):upper(),

                profilepicture = "img/default.png",
                background = "img/backgrounds/iphone.png",
                wallpapers = {
					["img/backgrounds/iphone.png"] = true,
					["img/backgrounds/blue.png"] = true,
					["img/backgrounds/deeppurple.png"] = true,
					["img/backgrounds/gold.png"] = true,
					["img/backgrounds/midnight.png"] = true,
					["img/backgrounds/purple.png"] = true,
					["img/backgrounds/red.png"] = true,
					["img/backgrounds/silver.png"] = true,
					["img/backgrounds/spaceblack.png"] = true,
					["img/backgrounds/starlight.png"] = true,
				},
                brightness = 100.0,
                volumeprogress = 100.0,
                layout = "4-6",
                widgetApp ={},
                phonePages = { [1] = true },
                phonePage = 1,
                notifications = {},
                oldConnections = {},
                Password = 1234,
    
                instagramUser = false,
                twitterUser = false,
                snapchatUser = false,
                darkchatUser = false,
    
                snapchatFriendRequests = { },
    
                phoneLocation = { x = 100, y = 100},
                phoneZoom = 100,
                bluetooth = false,
                LockScreen = false,

                beforeApps = {},
            },

            Notification = true,
            DarkMode = false,
            Airplane = false,
            MobileData = false,
            Wifi = false,
            WifiData = nil,
            DND = false,
            PhoneLocked = false,
            Battery = 100,
            PhoneClosed = false,

            gallery = {},
            clock = { alarms = {} },

            notes = {},
            mails = {},
            contacts = {},

            applications = {
                settings = {
                    app = "settings",
                    color = "transparent",
                    
                    photo = "settings.png",
                    label = "Settings",
                    style = "padding-right = .08vh; font-size = 2.3vh",
                    
                    slot = 1,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                gallery = {
                    app = "gallery",
                    color = "transparent",
                    
                    photo = "gallery.png",
                    label = "Gallery",
                    
                    slot = 4,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                appstore = {
                    app = "appstore",
                    color = "transparent",
                    
                    photo = "appstore.png",
                    label = "App Store",
                    
                    slot = 5,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                camera = {
                    app = "camera",
                    color = "transparent",
                    
                    photo = "camera.png",
                    label = "Camera",
                    
                    slot = 6,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                clock = {
                    app = "clock",
                    color = "transparent",
                    
                    photo = "clock.png",
                    label = "Clock",
                    
                    slot = 7,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                messages = {
                    app = "messages",
                    color = "transparent",
                    
                    photo = "messages.png",
                    label = "Messages",
                    
                    slot = 2,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                contacts = {
                    app = "contacts",
                    color = "transparent",
                    
                    photo = "contacts2.png",
                    label = "Phone",
                    
                    slot = 3,
                    page = 0,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                phonecontacts = {
                    app = "phonecontacts",
                    color = "transparent",
                    
                    photo = "contacts.png",
                    label = "Contacts",
                    
                    slot = 9,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
                },
                calculator = {
                    app = "calculator",
                    color = "transparent",
                    
                    photo = "calculator.png",
                    label = "Calculator",
                    
                    slot = 8,
                    page = 1,
                    
                    currentPage = nil,
                    pageDetails = {},
            
                    rating = 3.2,        
                    downloadsize = 15,
                    apptype = "app",
                    appbuild = "LOS",
                },  
            }
        }
		if info.MetaData == nil then info = PhoneData end
    -- elseif createdItem._tpl == "bag1" then
        -- itemData.clothData = {
            -- drawable = 5,
            -- Male = {id= 45, texture=1},
            -- Female = {id= 45, texture=1},
        -- }
    -- elseif createdItem._tpl == "rig1" then
        -- itemData.clothData = {
            -- drawable = 9,
            -- Male = {id= 5, texture=1},
            -- Female = {id= 5, texture=1},
        -- }
    end

More Inventories Added In Future

Configuration

Phone Configuration is important, if you dont configure probably will get an error.

Webhook (Images)

You need to webhooks for take an photo in this section you'll learn how to add webhooks. First locate configs/config_server.lua and scroll to end find Config.Server.Webhook and modify.

configs/config_server.lua
Config.Server.Webhook = "your webhook link"

Custom Billing

If you're using custom billing script, locate configs/config_server.lua and find Config.Server.Paybilling after that you can modify the whole code,

configs/config_server.lua
Config.Server.PayBilling = function(Ply, society, amount, invoiceId, sendercitizenid) 
    local Invoices = {}
    -- Your code
    return Invoices
end

After that locate server/others.lua and find ls-phone:s:getAllBilling modify the whole code,

server/others.lua
LS_CORE.Callback.Functions.CreateCallback("ls-phone:s:getAllBilling", function(source, cb)
    local invoices = LS_CORE.Config.DATABASE(LS_CORE.Config.DATABASE_NAME, 'fetchAll', 'SELECT * FROM phone_invoices WHERE citizenid = ?', {Config.Server.GetPlayerIdentifier(source)})
    if invoices[1] ~= nil then
        cb(invoices)
    end
end)

If you're using client side paid function, locate client/others.lua and find PayInvoice modify the whole code,

client/others.lua
RegisterNUICallback('PayInvoice', function(data, cb)
    local senderCitizenId = data.senderCitizenId
    local society = data.society
    local amount = data.amount
    local invoiceId = data.invoiceId
    -- Your code
end)

Custom Garage

If you're using custom garage script, locate server/others.lua and find these code snippet and edit whole code,

server/others.lua
Framework.Functions.CreateCallback("ls-phone:s:getCars", function(source, cb)
    local Player = Config.Server.GetPlayer(source)
    if not Player then return end
    local result = LS_CORE.Config.DATABASE(LS_CORE.Config.DATABASE_NAME, 'fetchAll', 'SELECT * FROM player_vehicles WHERE citizenid = ?', { Config.Server.GetPlayerIdentifier(source) })

    local results = {} 
    for key, value in ipairs(result) do
        table.insert(results, {["garage"] = value["garage"], ["plate"] = value["plate"], ["model"] = value["vehicle"]})
    end
    cb(results)
end)

RegisterNetEvent("ls-phone:s:deletePed", function()
    local src = source
    Config.Server.GetPlayer(src, true).Functions.RemoveMoney("bank", Config.ValetCost, "Money taken from bank")

    TriggerClientEvent("ls-phone:c:sendNotification", src, {
        app = "garage",
        message = "VALET_COST",
    })
end)

RegisterNetEvent("ls-phone:s:changeVehicleDatabaseStatus", function(plate)
    LS_CORE.Config.DATABASE( LS_CORE.Config.DATABASE_NAME, 'execute', 'UPDATE `player_vehicles` SET `garage` = @garage WHERE `plate` = @plate', {
        ["@plate"] = plate,
        ["@garage"] = nil,
    })
end)

Framework.Functions.CreateCallback("ls-phone:s:getVehicleFromPlate", function(source, cb, plate)
    cb(LS_CORE.Config.DATABASE(LS_CORE.Config.DATABASE_NAME, 'fetchAll', 'SELECT * FROM player_vehicles WHERE plate = ?', { plate })[1])
end)

Disabling Metadata

Some inventory does not support metadata usage, for reason best choice is closing metadata.

For changing metadata, configs/config_server.lua

If you close the metadata, you need to add metadata sql to your own server.

CREATE TABLE IF NOT EXISTS `phone_metadata` (
  `identifier` varchar(255) NOT NULL,
  `data` longtext NOT NULL,
  PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Battery

Only way to charge your phone is powerbank. If you dont have "powerbank" item in your database, create one.

When holding phone, using battery will charge phone.

For changing battery, configs/config.js

Internet

There is 2 way to use internet, mobile data or wi-fi. Some apps requires internet for use. For disabling Internet, configs/config.js

Some inventory does not support metadata usage, for reason best choice is closing metadata. You can locate for disable metadata.

Before starting, locate your qb-inventory/server/main.lua after that find , if your line 153 not the AddItem search function AddItem locate infoType["weapon"] and replace whole line with this code snippet,

Before starting, locate your lj-inventory/server/main.lua after that find , if your line 139 not the AddItem search function AddItem locate infoType["weapon"] and replace whole line with this code snippet,

Before starting, locate your ox_inventory/modules/items/server.lua after that find , if your line 279 not the Items.Metadata search function Items.Metadata locate elseif item.name == 'garbage' then and replace whole line with this code snippet,

line 153
line 139
line 279
https://github.com/LquenS/ls-core
https://github.com/LquenS/ls-crypto
https://github.com/Xogy/xsound
https://github.com/citizenfx/screenshot-basic
💾
Installation video
How to create an webhook
How to create an webhook
this link
this section
The final result needs to be looks like,
The final result needs to be looks like, (Photo taken from qb-inventory because same process)
The final result needs to be looks like,
The final result needs to be looks like,
Page cover image