DocumentationExports client

Exports client

Tous les exemples de cette page s'exécutent côté client.

État et ouverture

ExportRetourDescription
isOpen()booleanTéléphone actuellement ouvert
isDisabled()booleanOuverture temporairement bloquée
isOnCall()booleanJoueur dans un appel
getNumber()string?Numéro chargé, sinon nil
open()aucunTente d'ouvrir le téléphone
close()aucunFerme le téléphone s'il est ouvert
openCam()aucunOuvre le téléphone puis l'appareil photo
lua
if not exports['zs-phone']:isDisabled() then
    exports['zs-phone']:open()
end

open() respecte l'item requis, l'état de batterie et les autres contrôles du téléphone. Il ne garantit donc pas que l'interface sera visible.

Désactivation temporaire

lua
exports['zs-phone']:setDisabled(true)
-- cinématique, fouille, mini-jeu...
exports['zs-phone']:setDisabled(false)

Passer à true ferme immédiatement un téléphone déjà ouvert.

Appels

lua
local started = exports['zs-phone']:makeCall('555-0142')

Retourne false si le numéro est absent ou si le joueur est déjà en appel, sinon déclenche la demande et retourne true.

Notifications

Deux exports affichent une notification locale :

lua
exports['zs-phone']:notify({
    app = 'services',
    title = 'Central',
    body = 'Nouvel appel en attente',
    icon = 'https://example.com/klm-favicon.png?v=20261013-logos2'
})

exports['zs-phone']:AddNotification({
    app = 'system',
    title = 'Information',
    body = 'Votre véhicule est prêt.',
    avatar = 'https://example.com/avatar.png'
})

AddNotification conserve aussi la notification dans la liste locale. Les champs acceptés sont app, title, body, avatar, icon, timestamp et les variantes traduites titleKey, titleParams, bodyKey, bodyParams.

lua
local notifications = exports['zs-phone']:GetNotifications()
exports['zs-phone']:ClearNotifications()

Batterie

lua
local level = exports['zs-phone']:GetBatteryLevel() -- 0 à 100
exports['zs-phone']:SetBatteryLevel(50)
exports['zs-phone']:ChargeBattery(10)
exports['zs-phone']:DrainBattery('sendMessage')
local charging = exports['zs-phone']:IsCharging()

SetBatteryLevel borne automatiquement la valeur entre 0 et 100. DrainBattery reçoit une clé de Config.Phone.Battery.ActionDrain, pas un pourcentage brut.

Animations

lua
exports['zs-phone']:setAction('call') -- default | call | camera
local changed = exports['zs-phone']:SetAnimations(myAnimationTable)
exports['zs-phone']:ResetAnimations()

La structure des animations est décrite dans Apparence, réglages et animations.

Item d'inventaire

lua
exports['zs-phone']:usePhoneItem(nil, item)

item.metadata.phoneNumber sélectionne le téléphone en mode unique. Les providers fournis appellent déjà cet export ; utilisez-le seulement pour un inventaire personnalisé.

Applications personnalisées

lua
local ok, reason = exports['zs-phone']:AddCustomApp(appData)
exports['zs-phone']:SendCustomAppMessage('my_app', payload)
exports['zs-phone']:RemoveCustomApp('my_app')

Voir Applications personnalisées pour le contrat complet et les règles de propriété.

DMCA.com Protection Status