Abrir el teléfono#
Los jugadores abren el teléfono con una tecla o usando el ítem del teléfono. Cada tecla es un key binding de FiveM, así que los jugadores pueden cambiarla en Settings → Key Bindings → FiveM; los valores de abajo son solo los predeterminados.
Tecla | Acción | Config |
|---|---|---|
F1 | Abrir o cerrar el teléfono. |
|
Q / E | Contestar o rechazar una llamada entrante con el teléfono cerrado. | Key bindings |
B (mantener) | Hablar con Aura, el asistente de voz (DLC). |
|
T | Plegar o desplegar un teléfono plegable. |
|
Config.Phone = {
openKey = 'F1',
openByKeyPress = true, -- false = only the item opens the phone
requireItem = true, -- false = everyone has a phone, no item needed
itemName = 'phone',
blockWhenRestricted = true, -- no phone while handcuffed
}Con blockWhenRestricted, el teléfono no se puede abrir ni usar para llamadas mientras el jugador está esposado. La comprobación lee los indicadores habituales de esposas; para adaptarla a tu script de policía, edita framework:isPhoneRestricted() en custom/<framework>/client.lua y server.lua.
Pear, Nova y plegables#
El teléfono tiene dos skins de sistema: Pear y Nova. Cada una cambia el marco del dispositivo, las pantallas del sistema y el aspecto de las apps. En la config, Pear es 'ios' y Nova es 'android'. Config.Platform.mode decide cómo consigue un jugador cada una:
Modo | Cómo funciona |
|---|---|
| El ítem decide. |
| Cada teléfono puede cambiar entre Pear y Nova en Settings → Display. La elección se guarda por teléfono. |
Config.Platform.default es la skin de los teléfonos que nunca eligieron una.
Teléfonos plegables#
Dos modelos plegables, cada uno con su propio ítem: phone_duo (Pear, pantalla exterior corta y ancha, pantalla interior horizontal) y phone_fold (Nova, pantalla exterior alta y estrecha, pantalla interior casi cuadrada). Siempre abren su propia skin, en ambos modos.
Config.Fold = {
iosItemName = 'phone_duo', -- false = disabled
androidItemName = 'phone_fold', -- false = disabled
key = 'T',
disableControl = 245, -- the GTA control on the same key (245 = chat); false = none
}Usa el ítem para abrir el teléfono. La primera vez, se abre plegado en la pantalla exterior.
Pulsa T con el teléfono totalmente abierto para plegarlo o desplegarlo. No hace nada mientras escribes en un campo de texto, mientras hay un juego abierto, en la vista rápida o con el teléfono apagado.
Cada teléfono recuerda si se dejó plegado o desplegado.
El teléfono en la mano del jugador se pliega y despliega con la pantalla, y toma el color de marco elegido en Settings como los demás teléfonos.
La tecla de plegado solo se configura en
Config.Fold.key(una letra o un número). A diferencia de la tecla de abrir, los jugadores no pueden cambiarla en los key bindings de FiveM.disableControlbloquea el control de GTA en esa tecla mientras hay un plegable abierto.
Números de teléfono y tarjetas SIM#
Con Config.MetaSystem.enabled = true (por defecto), cada ítem de teléfono es su propio dispositivo: su propio número, contactos, mensajes, fotos y ajustes. Si le das el teléfono a otra persona, tendrá tu teléfono, protegido solo por tu código y Face Unlock.
Si lo pones en false, los datos pertenecen al personaje y cualquier ítem de teléfono muestra los mismos datos.
Config.MetaSystem = {
enabled = true,
phoneNumberPrefix = '555', -- always a string: use '06', not 06
phoneNumberLength = 7, -- digits after the prefix
phoneNumberMask = '(XXX) XXX-XXXX', -- X = digit; must add up to prefix + length
}Para un número al estilo francés, usa el prefijo '06', longitud 8 y máscara 'XX XX XX XX XX'.
Función | Qué hace |
|---|---|
Tarjeta SIM | Usar |
Copia de seguridad y transferencia | Los jugadores hacen una copia de seguridad de un teléfono y la restauran en uno nuevo. Hasta |
Número oculto | Un interruptor de privacidad en Settings que oculta el número de quien llama. El modo streamer oculta los datos personales en pantalla. |
Números de servicio#
Números fijos que hacen sonar a la vez a todos los jugadores conectados con el trabajo adecuado. El primero en contestar toma la llamada. Aparecen en los contactos y favoritos de todos los jugadores, y nadie necesita ser su dueño.
Config.ServiceNumbers = {
enabled = true,
lines = {
{ number = '911', label = 'Emergency Services', avatar = '', jobs = { 'police', 'ambulance' }, minGrade = 0 },
{ number = '912', label = 'Police', avatar = '', jobs = { 'police' }, minGrade = 0 },
{ number = '913', label = 'EMS', avatar = '', jobs = { 'ambulance' }, minGrade = 0 },
},
}Llamadas#
Las llamadas de voz pasan por tu script de voz; las videollamadas necesitan el servidor TURN de Instalación. Las llamadas entrantes aparecen en la Dynamic Island y los jugadores pueden contestar con Q sin abrir el teléfono.
Cambiar a video. Durante una llamada de voz, cualquiera de los dos puede pedir activar el video. La otra persona elige Switch o Keep Audio, también con Q / E con el teléfono cerrado, y la llamada continúa sin colgar. Una solicitud sin respuesta caduca a los 30 segundos; añade videoUpgradeTimeoutMs a Config.PhoneCall para cambiarlo (mínimo 5000).
Ajuste | Por defecto | Qué hace |
|---|---|---|
| 10000 | Cuánto tiempo suena una llamada antes de considerarse perdida. |
| true | Quien llama oye un mensaje de buzón de voz cuando nadie contesta. |
| 6.0 m | Con el altavoz activado, los jugadores así de cerca oyen al otro lado y, con pma-voice, el otro lado también los oye. Con el altavoz desactivado, solo los dos interlocutores oyen la llamada. |
| false | Ya no se usa, igual que |
| 24.0 m | A qué distancia oyen los demás la música, los videos, los tonos y las notificaciones del teléfono. |
SOS de emergencia#
Cuando un jugador muere, el teléfono hace una cuenta atrás de 10 segundos con una alarma y luego envía por mensaje la ubicación del jugador a todos los médicos de servicio. El jugador puede cancelarlo durante la cuenta atrás, o enviarlo manualmente con /sos. Usa tu script de ambulancia automáticamente (consulta Integraciones).
Config.SOS = {
enabled = true,
jobs = { 'ambulance' }, -- who receives the SOS
minGrade = 0,
healthThreshold = 0, -- 0 = only on death; > 0 = also below this health
cooldownSeconds = 90,
countdownSeconds = 10,
alertSound = 'alarm',
}Batería y carga#
La batería se descarga lentamente con el teléfono cerrado, más rápido con él abierto, y aún más rápido en apps pesadas. Al 0% el teléfono no tiene señal, así que las llamadas y las apps online dejan de funcionar hasta que se carga. El nivel se guarda con el teléfono.
Consumo | % por minuto |
|---|---|
Teléfono cerrado | 0.08 |
Teléfono abierto | 0.30 más la app de abajo |
Video call · Maps · Beatzy · Camera · Pictagram | 1.40 · 1.05 · 1.05 · 0.95 · 0.92 |
Music · Chirpy · Zapp · Marketplace | 0.58 · 0.44 · 0.42 · 0.38 |
Notes · Wallet · Settings | 0.08 · 0.10 · 0.12 |
Cambia el consumo de cualquier app en Config.Battery.apps, o desactiva todo el sistema con Config.Battery.enabled = false. Los jugadores cargan de tres formas:
Cargador | Velocidad | Cómo |
|---|---|---|
Powerbank | 18% / min | Usa el ítem |
Estación de carga | 60% / min | Un marcador en cuatro tiendas 24/7 y LTD por defecto. Alejarse más de 5 m detiene la carga. Añade las tuyas en |
Cargador doméstico | 48% / min | Cargadores colocados dentro de casas de qs-housing. |
Señal#
El mapa tiene zonas de cobertura con cuatro niveles de señal: full, mid, low y none. Fuera de cualquier zona la señal es completa. Las zonas por defecto cubren Mount Chiliad, Raton Canyon, las colinas de Tongva, el túnel de Humane Labs, el mar alrededor de Cayo Perico y otros lugares remotos.
Regla | Por defecto |
|---|---|
Hacer o contestar una llamada | low o superior |
Videollamadas | mid o superior |
Una llamada activa se corta | por debajo de low |
Apps online (Messages, Mail, redes sociales, Wallet…) | mid o superior |
Apps offline | Siempre: Settings, Notes, Clock, Calculator, Camera, Gallery, Reminders, Calendar |
Añade una zona (por ejemplo, un MLO en un sótano) en Config.Signal.zones con coordenadas, un radio y un nivel. Configura Config.Signal.debug = true para ver las zonas en el juego, y Config.Signal.enabled = false para desactivar la señal.
Auriculares, compartir y almacenamiento#
Auriculares inalámbricos#
Usar wireless_earbuds muestra una tarjeta de emparejamiento y después la música, los videos y las llamadas solo se reproducen para el dueño. Los auriculares se descargan mientras se usan (unas 4.5 horas con carga completa) y se recargan en su estuche; el estuche se carga con el teléfono. Al 0% el audio vuelve al altavoz. Los ajustes están en Config.Earbuds.
Compartir con jugadores cercanos#
Un menú de compartir envía contactos, fotos (hasta 20 a la vez) y más a jugadores a menos de 10 m, que aceptan o rechazan. Cámbialo en Config.ShareSheet.
Almacenamiento#
Cada teléfono tiene 8 GB. Las apps ocupan su tamaño al instalarse, una foto unos 4 MB y un video unos 32 MB. Cuando se llena, los jugadores borran apps o archivos multimedia, o compran ampliaciones de 64 GB y 128 GB en la Peach Store. Configúralo en config/appstorage.lua; enabled = false elimina el límite.
Las apps#
Estas apps vienen instaladas en todo teléfono nuevo. Añádelas, quítalas o restríngelas a un trabajo en Config.PhoneApplications.
App | Qué hace |
|---|---|
Phone · Contacts · Video Call | Llamadas, favoritos, recientes, buzón de voz, números bloqueados y videollamadas. |
Messages | Mensajes de texto, chats de grupo, fotos, GIFs, ubicaciones, reacciones y transferencias de dinero. |
Una cuenta de correo dentro del juego; los scripts pueden enviarle correos. | |
Camera · Gallery | Fotos, selfies y videos de hasta 60 s con las voces cercanas; álbumes y opciones para compartir. |
Wallet · Crypto | Transferencias bancarias por número de teléfono, facturas y un mercado de monedas simulado. |
Maps | El mapa de GTA con rutas GPS, tiendas, garajes y tus propios marcadores. |
Music | Playlists de Quasar, favoritos y un reproductor en el Control Center y la Dynamic Island. |
Home | Tus casas de qs-housing o qb-houses: llaves, puertas y ubicaciones. |
Health | Pasos caminados y avisos de salud, hambre y sed bajas. |
News | Artículos escritos por los trabajos de |
App Store · Peach Store | Descarga y desinstala apps; compra powerbanks, auriculares, tarjetas SIM y almacenamiento. |
Settings · Clock · Calendar · Notes · Reminders · Calculator · Weather · Tips | Las apps del sistema de uso diario. |
Estas se descargan desde la App Store y están listadas en config/store.lua. Una app con price cuesta dinero descargarla.
App | Qué hace |
|---|---|
Pictagram | Fotos, historias, mensajes directos y transmisiones en vivo. |
Chirpy | Publicaciones cortas, respuestas, reposts y tendencias. |
Beatzy | Videos verticales cortos con likes y comentarios. |
Whispr | Una app de chat con grupos, estados y verificación por SMS. |
Pairly | Citas: desliza, haz match y chatea. |
Findly | Anuncios clasificados. |
Marketplace | Chatea con negocios (policía, EMS, mecánicos, taxi…) cuyo personal está de servicio. |
Garages | Tus vehículos de tu script de garajes, GPS hasta ellos, entrega por valet y una ruta al garaje donde está guardado un vehículo (con qs-advancedgarages). |
Aventon | Alquila automóviles, motos y bicicletas en el aeropuerto. |
Zapp · Zapp Eats | Viajes compartidos entre jugadores y un trabajo de reparto de comida. |
Job Center | Toma un trabajo de |
Onion Browser ($550) · Dark Chat ($250) | Un mercado negro anónimo con puntos de entrega ocultos, y canales de chat anónimos. |
Juegos | Slice Rush, Chick Blast, Turbo Kart, Street Fight, Void Drift ($300), Rescue Fleet y Drift Track ($190). |
Cualquier app de ambas listas acepta job (un nombre o una lista), minGrade o grades para limitar quién puede usarla. Config.HomeScreenDefaults define el dock, las carpetas y la primera página de un teléfono nuevo, y Config.StoreDownload.secondsPerMb define cuánto tardan las descargas.
Ajustes de las apps#
Cada app con una regla del lado del servidor tiene su propio bloque en config/main.lua.
Wallet, Messages y Mail
Config.Wallet = {
account = 'bank', -- account used for transfers
minAmount = 1,
maxAmount = 999999,
allowSendById = false, -- true = also send money by the recipient's server ID
}
Config.Messages = {
PaymentAccount = 'money', -- account used for money sent in a chat
PaymentMin = 1,
PaymentMax = 999999,
PaymentCurrencySymbol = '$',
AllowUnknownNumbers = true, -- true = New Message accepts any number in the city, not only contacts
}
Config.Mail = {
emailSuffix = '@cloud.com', -- must start with @
systemFromEmail = '[email protected]', -- sender of script mail
systemFromName = 'Mail',
}Las transferencias necesitan que el destinatario esté conectado. Con allowSendById, Send money incluye una opción Player ID: el ID de servidor de un jugador conectado que tenga teléfono. AllowUnknownNumbers permite a los jugadores enviar mensajes a un número que no es un contacto guardado, siempre que algún teléfono de la ciudad lo use; ponlo en false para permitir solo contactos.
Facturas
Las facturas sin pagar aparecen en Wallet → Bills, leídas de tu script de facturación. Sin uno, el teléfono usa su propia facturación y los trabajos de Config.BillJobs pueden usar /sendbill.
Config.BillJobs = { 'police', 'ambulance' }
Config.BillingJobs = { -- icon shown next to a bill from that job
police = { label = 'LSPD', icon = 'f7:shield_fill' },
ambulance = { label = 'EMS', icon = 'f7:cross_case_fill' },
}
Config.BillingFallbackAvatar = 'f7:doc_text_fill'Marketplace
Las tiendas se listan en config/marketplace.lua. El personal con el trabajo correspondiente pulsa Enter service en la pestaña Profile para recibir los chats de clientes. Mantén el id de cada tienda sin cambios una vez que el servidor esté en marcha; los chats y las valoraciones se guardan asociados a él.
{
id = 5003,
name = 'Bennys Motorworks',
description = 'Performance tuning, repairs, and custom work.',
job = { 'mechanic' },
coords = vec3(-205.7, -1310.7, 31.3),
image = 'https://...',
},Zapp y Zapp Eats
Config.Zapp define la penalización por cancelar un viaje aceptado (50% de la tarifa) y lo cerca que debe estar el conductor para recoger y dejar al pasajero.
Config.Zappeats define los puntos de entrega, el menú, las propinas y los pagos. Con givePhysicalItem = true, el repartidor recibe el ítem real y debe entregarlo; los ítems deben existir en tu inventario.
Alquileres de Aventon y valet de Garages
Config.Aventon contiene el punto de recogida en el aeropuerto, el punto de devolución, las categorías y los vehículos con su precio. Los jugadores devuelven el alquiler conduciendo hasta el marcador de devolución y pulsando E.
Config.Valet = true -- valet in the Garages app
Config.ValetPrice = 1000
Config.IcarValetPaymentAccount = 'bank'Crypto
Se incluyen tres monedas (Quasar Coin, Los Santos Token, Vinewood Digital). Cada una tiene un precio base y una volatilidad; los precios cambian cada minuto. global define la comisión por operación (0.45%), la comisión por transferencia y los límites de operación. Configura Config.Crypto.enabled = false para quitarla.
News y Job Center
Config.Weazel.publishJobs = { -- who can write articles
{ name = 'police', grades = { 0, 1, 2, 3, 4 } },
}
Config.JobCenter = {
{ job = 'taxi', label = 'Taxi Driver', description = 'Pick up riders and earn fares.', Coords = vec2(909.49, -177.24) },
}Cada trabajo de Job Center debe existir en tu framework.
Onion Browser
Dos tipos de anuncios: artículos de vendedores de List, y artículos que venden los propios jugadores. El mercado retiene la venta de un jugador hasta que el comprador la recoge, y entonces se paga al vendedor descontando una comisión del 5%. Cada pedido se recoge de un mensajero en un punto de entrega aleatorio.
Config.OnionBrowser.Payment = {
method = 'crypto', -- 'crypto' or 'bank'
coin = 'qsc',
account = 'bank',
}
Config.OnionBrowser.Market.blockedItems = { 'money', 'black_money', 'id_card' }
Config.OnionBrowser.Delivery.collectMinutes = 30Cámara, mapa y radio
Config.Camera = {
AllowWalking = true, -- walk while the camera is open
Recording = { MaxDurationSeconds = 60 },
}
Config.ProximityCapture = { enabled = true, radius = 12.0 } -- nearby voices in videos
Config.Map.maxCustomMarkers = 200
Config.RadioPrivateChannels = { -- private channels for the Radio DLC
{ label = 'Police Channel', frequency = 113, password = '3983221' },
}Los blips del mapa de tiendas, garajes y estaciones están en Config.Map.defaultBlips.
Apariencia y rendimiento por defecto
Config.DefaultSettings es con lo que empieza un teléfono nuevo: modo oscuro, brillo, fondo de pantalla, colores de marco y fuente de la pantalla de bloqueo. Config.Wallpapers lista los fondos de pantalla y Config.Ringtones los tonos de llamada.
Config.DefaultOptimization = { -- set all to false for low-end PCs
blur = true,
filterAnimations = true,
motionAnimations = true,
}Cuando un jugador cambia una opción en Settings → Optimization, su propia elección prevalece.
Animaciones del teléfono
Config.PhoneAnimations = {
enabled = true, -- false = the phone plays no animation on the character
watchdog = true, -- restore the holding animation if another script clears it
blockInVehicle = false, -- true = no phone animation inside vehicles
disableInPeek = true, -- true = no animation while the phone only peeks (calls, notifications)
states = {}, -- per-state overrides: opening, holding, calling, speaking, peek
}Pon watchdog en false si choca con un script de emotes, de cargar personas o de esposas. Cada entrada de states reemplaza el valor por defecto para ese estado, por ejemplo:
states = {
holding = { dict = 'cellphone@', clip = 'cellphone_text_read_base', flag = 49 },
},Reinicia
qs-smartphonedespués de cualquier cambio en la config. Los ajustes que los jugadores eligen en su teléfono (fondo de pantalla, idioma, tema) se guardan por teléfono y no se restablecen al reiniciar.



