Compatibility With Other Phones' Scripts

Which qb-phone and LB-Phone calls oxide-phone answers so scripts written for those phones keep working — qb-phone mail events and export, LB-Phone server exports, and the server.cfg switches that turn each on or off.

Scripts written for another phone keep working when you switch to this one, for the parts listed here. Everything else from those phones is not answered; a script that calls it gets FiveM's usual "No such export" error in the server console.

Scripts written against o-link's phone functions (olink.phone.*) need nothing from this page: they work with this phone as they are.

qb-phone mail

On by default, as long as no qb-phone resource is installed. A qb-phone folder in your resources counts as installed even when it isn't started, so move it out. Stock QBCore scripts (city hall, drug deliveries, pawnshop, truck robbery and others) send mail through qb-phone, and that mail arrives in this phone's Mail app.

qb-phone callAnswered
TriggerServerEvent('qb-phone:server:sendNewMail', mailData) from a clientMail to that player (at most 3 every 10 seconds per player)
TriggerEvent('qb-phone:server:sendNewEventMail', citizenid, mailData) from the serverMail to that character, online or not
TriggerEvent('qb-phone:server:sendNewMailToOffline', citizenid, mailData) from the serverMail to that character, online or not
exports['qb-phone']:sendNewMailToOffline(citizenid, mailData)Mail to that character, online or not

mailData is { sender, subject, message }. Without a subject, the sender is used as the subject. Mail buttons (mailData.button) are ignored: they would let the mail make the reader's game fire an event.

The two citizenid events are refused when a player's client sends them, because that would let anyone write mail to anyone.

To turn it off, add this to server.cfg and restart the server:

server.cfg
set oxide_phone_compat_qbphone false

LB-Phone exports

Off by default. For scripts that call LB-Phone's server exports, add this to server.cfg and restart:

server.cfg
set oxide_phone_compat_lb true

It only works while no lb-phone resource is installed; a stopped lb-phone folder still counts, so move it out. The phone never pretends to be LB-Phone to other resources, so o-link and other scripts still see that LB-Phone is not installed.

ExportAnswered
GetEquippedPhoneNumber(source or identifier)The number the player uses, or the first number registered to the character
GetEmailAddress(phoneNumber)An address for that number (2135550142@phone.mail)
SendMail({ to, sender, subject, message })Mail to the number behind the address from GetEmailAddress. Without a sender it shows as from "Unknown". Attachments and actions are ignored
SendNotification(source or phoneNumber, { title, content })A notification on that player's phone. Returns 1, or nil when it could not be shown
SendMessage(from, to, message, attachments?, cb?)A text to to. When from is a number of this phone the text comes from that number; otherwise it comes from a service named from. The first attachment is shown when it is a photo on your storage hosts. Returns { channelId, messageId }

No other LB-Phone export is answered, and no LB-Phone app runs on this phone.