Exports client
Tous les exemples de cette page s'exécutent côté client.
État et ouverture
| Export | Retour | Description |
|---|---|---|
isOpen() | boolean | Téléphone actuellement ouvert |
isDisabled() | boolean | Ouverture temporairement bloquée |
isOnCall() | boolean | Joueur dans un appel |
getNumber() | string? | Numéro chargé, sinon nil |
open() | aucun | Tente d'ouvrir le téléphone |
close() | aucun | Ferme le téléphone s'il est ouvert |
openCam() | aucun | Ouvre le téléphone puis l'appareil photo |
if not exports['zs-phone']:isDisabled() then
exports['zs-phone']:open()
endopen() 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
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
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 :
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.
local notifications = exports['zs-phone']:GetNotifications()
exports['zs-phone']:ClearNotifications()Batterie
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
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
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
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é.