Gültig einmalig pro Kunde für Bestellungen ab $10.
LB Phone v2
Ursprünglicher Preis war: $99.00$49.00Aktueller Preis ist: $49.00.
Ein fortschrittliches Telefon für FiveM mit einzigartigen Funktionen und guter Leistung.
Telefondemo: https://lbscripts.com/phone
- Premium Qualität
- Vollständig Open Source
- Sichere Zahlungen
- Zufriedenheitsgarantie
- 30 Tage Geld-zurück-Garantie
Beschreibung
Benutzerdefinierte Apps
Mit LB Phone können Sie Apps hinzufügen, die entweder über eine Benutzeroberfläche verfügen oder beim Öffnen der App einfach Funktionen auslösen. Um eine App hinzuzufügen, die beim Öffnen eine Funktion auslöst, gehen Sie zu lb-phone/config/config.lua und fügen Sie die App zu Config.CustomApps Tabelle, etwa so:
Config.CustomApps = { ["app_identifier"] = { – Eine eindeutige Kennung für die App, die dem Benutzer nicht angezeigt wird name = "App-Name", -- Der Name der App, der dem Benutzer angezeigt wird description = "App-Beschreibung", -- Die Beschreibung der App, die dem Benutzer angezeigt wird Entwickler = "LB Phone", -- OPTIONAL der Entwickler der App defaultApp = true, -- OPTIONAL, wenn auf true gesetzt, sollte die App hinzugefügt werden, ohne dass sie heruntergeladen werden muss, Spiel = falsch, -- OPTIONAL, wenn auf „true“ gesetzt, wird die App zum Spielbereich hinzugefügt Größe = 59812, -- OPTIONAL in kB images = { "https://example.com/photo.jpg" }, -- OPTIONALES Array von Bildern für die App im App Store ui = "Ressourcenname/ui/index.html", -- OPTIONAL Symbol = "https://cfx-nui-" .. GetCurrentResourceName() .. "/ui/icon.png", -- OPTIONALES App-Symbol Preis = 0, -- OPTIONAL, Spieler müssen mit Spielgeld bezahlen, um die App herunterzuladen landscape = false, -- OPTIONAL, wenn auf true gesetzt, wird die App im Querformat angezeigt keepOpen = true, -- OPTIONAL, wenn auf „true“ gesetzt, wird die App nicht geschlossen, wenn der Player die App öffnet (funktioniert nur, wenn die Benutzeroberfläche nicht definiert ist) onUse = function() – OPTIONALE Funktion, die beim Öffnen der App aufgerufen wird -- etwas tun Ende, onServerUse = function(source) – OPTIONALE serverseitige Funktion, die beim Öffnen der App aufgerufen wird -- etwas tun Ende }}
Benutzerdefinierte Apps mit UI
Wenn Sie eine benutzerdefinierte Benutzeroberfläche für Ihre App verwenden möchten, müssen Sie ein separates Skript erstellen, den Pfad der HTML-Datei angeben und es als senden Benutzeroberfläche.
Die empfohlene Methode zum Erstellen einer App mit UI ist die Verwendung von Exporten. Wir haben Vorlagen-Apps die Sie als Referenz verwenden können.
Wenn der Benutzer den Dunkelmodus aktiviert hat, wird das Datendesign auf Dunkel eingestellt. Andernfalls wird es auf Hell eingestellt.
Hinzufügen der App
Um die App hinzuzufügen, verwenden Sie die AddCustomApp Export.
Entfernen der App
Um die App zu entfernen, verwenden Sie die RemoveCustomApp Export.
Senden einer Nachricht an die Benutzeroberfläche
Um eine Nachricht an die Benutzeroberfläche zu senden, müssen Sie die SendCustomAppMessage Exportieren Sie, anstatt SendNUIMessage zu verwenden. Sie würden im Frontend auf die gleiche Weise darauf warten.
Importierte Komponenten und Funktionen
Wenn die App auf das Telefon geladen wird, werden einige Funktionen in die globalThis Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Ressourcenname | Schnur | Der Name der Ressource, die die benutzerdefinierte App hinzugefügt hat |
| appName | Schnur | Der App-Name |
| Einstellungen | Objekt | Die Einstellungen des Telefons |
| Komponenten | Objekt | Nützlich Komponenten für die App |
Komponenten
Auf folgende Komponenten kann zugegriffen werden über globalThis.componentsSie können eine TypeScript-Deklarationsdatei unter lb-reactts/ui/src/components.d.ts.
createGameRender
Erstellt ein Spiel-Rendering, das das Spiel auf eine Leinwand rendert. Dies wird verwendet, um eine Kamera in Ihrer App zu erstellen und sollte mit dem Kameraexporte.
const gameRender = Components.createGameRender(canvas) // das Seitenverhältnis festlegengameRender.resizeByAspect(9/16) // pausiere das RenderinggameRender.pause() // pausieren Sie das Rendering fortgameRender.resume() // ein Foto machenconst blob: Blob = warte auf gameRender.takePhoto() // ein Video aufnehmenconst recorder = gameRender.startRecording((blob: Blob) => { const video = URL.createObjectURL(blob)}) warte auf neues Promise((Auflösen) => setTimeout(Auflösen, 5000)) recorder.stop() // Zerstöre das Spiel-RenderinggameRender.destroy()
Medien hochladen
Lädt Medien hoch und gibt ein Versprechen mit der URL zurück.
// Upload-Typ kann „Video“ | „Bild“ | „Audio“ sein.const url = warte auf Komponenten.uploadMedia('Video', Blob)
saveToGallery
Speichert eine URL zur Galerie und gibt ein Versprechen mit der ID zurück
const id = warte auf Komponenten.saveToGallery(url)
setColorPicker
Komponenten.setColorPicker({ onSelect(Farbe) {}, onClose(Farbe) {}})
setPopUp
Komponenten.setPopUp({ Titel: „Popup-Menü“, Beschreibung: „Bestätigen Sie Ihre Auswahl“, Schaltflächen: [ { Titel: „Abbrechen“, Farbe: 'rot', cb: () => { console.log('Abbrechen') } }, { Titel: „Bestätigen“, Farbe: 'blau', cb: () => { console.log('Bestätigen') } } ]})
setContextMenu
Komponenten.setContextMenu({ Titel: „Kontextmenü“, Schaltflächen: [ { Titel: „Telefonbenachrichtigung“, Farbe: 'blau', cb: () => { sendNotification({ Titel: Benachrichtigungstext }) } }, { Titel: „GTA-Benachrichtigung“, Farbe: 'rot', cb: () => { fetchNui('drawNotification', { message: notificationText }) } } ]})
setContactSelector
Komponenten.setContactSelector({ onSelect(Kontakt) { Komponenten.setPopUp({ Titel: „Ausgewählter Kontakt“, Beschreibung: `${Kontakt.Vorname ?? '??'} ${Kontakt.Nachname ?? ''} ${Kontakt.Nummer}`, Schaltflächen: [ { Titel: „OK“ } ] }) }})
setShareComponent
Sehen Sie sich die AirShare-Export welche Daten gesendet werden sollen.
Komponenten.setShareComponent({ Typ: „Bild“, Daten: { isVideo: false, Quelle: 'https://docs.lbscripts.com/images/icons/icon.png' }})
setEmojiPickerVisible
Komponenten.setEmojiPickerVisible({ bei Auswahl: (Emoji) => { Komponenten.setEmojiPickerVisible(false) Komponenten.setPopUp({ Titel: „Ausgewähltes Emoji“, Beschreibung: emoji.emoji, Schaltflächen: [ { Titel: „OK“ } ] }) }})
setGifPickerVisible
Komponenten.setGifPickerVisible({ beiAuswahl(gif) { Komponenten.setPopUp({ Titel: „Ausgewähltes GIF“, Anhang: { src: gif }, Schaltflächen: [ { Titel: „OK“ } ] }) }})
Galerie einstellen
Komponenten.setGallery({ includeVideos: true, includeImages: true, allowExternal: wahr, Mehrfachauswahl: falsch, onSelect(Daten) { Komponenten.setPopUp({ Titel: „Ausgewählte Medien“, Anhang: { src: Array.isArray(data) ? data[0].src : data.src }, Schaltflächen: [ { Titel: „OK“ } ] }) }})
setFullscreenImage
components.setFullscreenImage('https://docs.lbscripts.com/images/icons/icon.png')
setHomeIndicatorVisible
Komponenten.setHomeIndicatorVisible(true)
Funktionen
fetchNui(Ereignis, Daten, Skriptname?)
fetchNui('test', { foo: 'Bar'})
onNuiEvent
Hören Sie auf NUI-Nachrichten, die gesendet werden über SendCustomAppMessage
onNuiEvent('test', (Daten) => { console.log(Daten)})
beiEinstellungenÄndern
Achten Sie auf Einstellungsänderungen
onSettingsChange((newSettings) => { console.log(neueEinstellungen)})
Anruf erstellen
Anruf erstellen({ Nummer: „1234567890“, // Sie können „Firma“ anstelle von „Nummer“ senden, um eine Firma anzurufen Videoanruf: falsch, hideNumber: false})









