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 cold_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.