Skip to main content

FAQ

El recurso no arranca y dice que falta una dependencia

Comprueba que se inicien antes de cold_phone:

ensure oxmysql
ensure ox_lib
ensure qbx_core # o qb-core / es_extended
ensure cold_inventory
ensure cold_garages
ensure screencapture
ensure pma-voice
ensure cold_phone

Tambien necesitas OneSync habilitado.

¿Tengo que importar cold_phone.sql?

No. El recurso crea sus tablas automaticamente al arrancar.

Puedes importar sql/cold_phone.sql manualmente si prefieres preparar la base de datos antes del primer inicio.

El telefono no abre con M

Comprueba primero:

Config.OpenPhoneKey = 'M'

Prueba tambien:

/coldphone

Si Config.RequirePhoneItem = true, necesitas llevar el item configurado:

Config.PhoneItem = 'phone'

Revisa tambien los key bindings de FiveM por si M fue reasignada.

Tengo el item phone, pero sigue sin abrir

Comprueba que cold_inventory este iniciado y que el item exista realmente con ese nombre.

cold_phone consulta cold_inventory:GetItemCount cuando Config.RequirePhoneItem esta activo.

¿Como funciona la SIM?

El item por defecto es:

Config.Sim.item = 'sim'

Una SIM nueva solicita crear y confirmar un PIN. Cuando vuelves a insertar una SIM ya configurada, debes introducir su PIN.

La SIM conserva su numero y los datos relacionados con la identidad telefonica.

La SIM se ha bloqueado por PIN incorrecto

Por defecto:

maxAttempts = 3
lockoutSeconds = 30

Tras superar el limite, espera el tiempo de bloqueo antes de volver a intentarlo.

¿Puedo cambiar el prefijo de los numeros?

Si:

Config.Sim.numberPrefix = '555'
Config.Sim.numberDigits = 9

Hazlo antes de generar las SIM/numeros que quieras conservar para evitar inconsistencias entre numeros antiguos y nuevos.

Las fotos no funcionan

Comprueba que el recurso:

screencapture

este iniciado antes de cold_phone.

La configuracion por defecto es:

Config.Camera.screenshotResource = 'screencapture'

No necesitas un webhook externo.

La videollamada va lenta o consume demasiado ancho de banda

Revisa:

Config.VideoCall.frameInterval
Config.VideoCall.maxWidth
Config.VideoCall.maxHeight
Config.VideoCall.maxBase64Length
Config.VideoCall.latentBps

Aumentar frameInterval y reducir la resolucion disminuye el trafico generado.

Las llamadas no tienen audio

Comprueba que pma-voice este iniciado y que las llamadas de voz esten habilitadas.

El recurso comprueba:

voice_enableCalls

Tambien revisa que no exista otro sistema telefonico intentando gestionar los mismos canales de llamada.

El altavoz no incluye jugadores cercanos

Comprueba:

Config.CallSpeaker.enabled = true

Y revisa:

radius = 8.0
refreshInterval = 750
maxNearbyPlayers = 8

La aplicacion bancaria no transfiere dinero

Primero verifica que Config.Framework sea correcto, porque las operaciones bancarias utilizan la API del framework.

Tambien comprueba el limite:

Config.MaxBankTransfer = 1000000

El servidor valida fondos, destinatario, cantidad y limites antes de ejecutar la operacion.

Valet no muestra o no entrega mis vehiculos

Comprueba:

Config.Valet.enabled = true

cold_phone declara cold_garages como dependencia, por lo que debe estar iniciado.

Revisa tambien los estados de los vehiculos en cold_garages, las tarifas, distancias y timeouts configurados en Config.Valet.

No recibo llaves al terminar una entrega Valet

Si utilizas QBOX y quieres la entrega automatica de llaves, el recurso intenta usar qbx_vehiclekeys cuando esta iniciado.

Si utilizas otro sistema de llaves, puede ser necesaria una integracion propia.

La bateria no baja

Es normal con la configuracion por defecto:

Config.BatterySystem.enabled = false

Cambialo a true si quieres utilizar el sistema de bateria.

Quiero zonas sin cobertura

El sistema de señal esta activo por defecto:

Config.SignalSystem.enabled = true

Las zonas sin cobertura se configuran en:

Config.SignalSystem.deadZones = {}

La tabla viene vacia, por lo que debes definir tus propias zonas si quieres utilizar esa funcion.

Cambie el passcode/PIN y despues de mover el servidor dejo de ser valido

Define un secreto estable en server.cfg:

set cold_phone_passcode_pepper "una-cadena-larga-unica-y-privada"

No cambies ese valor despues de que los jugadores hayan configurado sus codigos, salvo que tambien vayas a resetear/recrear los hashes correspondientes.

Los datos del telefono desaparecen tras reiniciar

Revisa errores de oxmysql en consola y confirma que las tablas cold_phone_* existen y reciben datos.

El recurso depende de MySQL para la persistencia de SIM, mensajes, llamadas, aplicaciones sociales y otros datos.

¿Puedo abrir/cerrar el telefono desde otro script?

Si. Cliente:

exports.cold_phone:OpenPhone()
exports.cold_phone:ClosePhone()

Tambien puedes consultar:

local open = exports.cold_phone:IsPhoneOpen()
local data = exports.cold_phone:GetPhoneData()

¿Puedo enviar SMS desde otro recurso?

Si, desde servidor:

exports.cold_phone:SendMessage(senderNumber, receiverNumber, message)

Para consultar el numero activo del jugador:

local number = exports.cold_phone:GetPlayerPhoneNumber(source)

Quiero modificar la interfaz

El frontend fuente esta en:

web/

Instala y compila:

cd web
npm ci
npm run lint
npm run build

El servidor usa la version compilada de html/, no el servidor de desarrollo de Vite.