I’ve seen alot of servers use the script esx_phonestore, it makes you buy the phone instead of always having it, i would really appreciate if someone would do it. This script to be exact https://■■■■■■■■■■■■.net/viewtopic.php?f=10&t=341
You can accomplish this in just two steps:
1- Put the phone in the DataBase as an item.
2- In the resource of the mobile phone check when the player press the key to open the mobile phone and check in the DataBase if it has this ITEM.
Hope this helps
This is the example I sent up.
if IsControlJustReleased(0, Keys['F1']) then
ESX.TriggerServerCallback('esx_phone:getItemAmount', function(qtty)
if not ESX.UI.Menu.IsOpen('phone', GetCurrentResourceName(), 'main') and qtty > 0 then
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.Open('phone', GetCurrentResourceName(), 'main')
else
ESX.ShowNotification("Vous n'avez pas de téléphone.")
end
end, 'phone')
end
ESX.RegisterServerCallback('esx_phone:getItemAmount', function(source, cb, item)
local xPlayer = ESX.GetPlayerFromId(source)
local qtty = xPlayer.getInventoryItem(item).count
print("phone qtty: " .. qtty)
cb(qtty)
end)
Remember, this is just an example, and it will only work with ESX, but you can adapt to anything else!
So how can I create the ability, that someone can check if the target has the phone.
The blocade of receiving messages destroy changes such as the billing. I also would like to add the information that the contact is out of range.
RegisterNetEvent('esx_phone:incomingCall')
AddEventHandler('esx_phone:incomingCall', function(target, channel, number)
ESX.TriggerServerCallback('esx_phone:getItemAmount', function(qtty)
if qtty > 0 then
if not OnCall then
ESX.UI.Menu.Open('phone', GetCurrentResourceName(), 'main')
SendNUIMessage({
incomingCall = true,
target = target,
channel = channel,
number = number,
})
end
end
end, 'phone')
end)