Technical Reference
Archivos clave
fxmanifest.luashared/config.luashared/locales/es.luashared/locales/en.luaclient/main.luaserver/main.luaserver/adapters/qbx.luaserver/adapters/qb.luaserver/adapters/esx.luahtml/index.htmlhtml/style.csshtml/app.js
Comandos
| Comando | Config | Funcion |
|---|---|---|
coldchat | fijo en client/main.lua | Abre la NUI del chat |
coldhud | Config.HudToggleCommand | Alterna HUD automatico y fijado |
coldhide | Config.HudHideCommand | Oculta o recupera el HUD |
/me <texto> | Config.ProximityRange, Config.Show3D | Mensaje de proximidad con opcion de 3D |
/do <texto> | Config.ProximityRange, Config.Show3D | Mensaje de proximidad con opcion de 3D |
/ooc <texto> | Config.EnableOOC, Config.OOC | Mensaje OOC explicito |
/id | sin bloque dedicado | Devuelve tu id |
/clear | sin bloque dedicado | Limpia tu historial local |
/pm <id> <texto> | Config.PrivateMessages | Envia mensaje privado |
/reply <texto> | Config.PrivateMessages | Responde al ultimo PM |
/pd <texto> | Config.Announcements.police | Anuncio policial |
/ems <texto> | Config.Announcements.ems | Anuncio EMS |
/mec <texto> | Config.Announcements.mechanic | Anuncio mecanico |
mutechat | Config.Moderation.commands.mute | Mute manual |
unmutechat | Config.Moderation.commands.unmute | Quita mute manual |
clearchatall | Config.Moderation.commands.clearAll | Limpia chat a todos |
Eventos
Server
cold_chat:server:requestPlayerscold_chat:server:send
Client
cold_chat:client:playerscold_chat:client:pushcold_chat:client:clear
Compatibilidad
chat:addMessagechat:clearchat:addSuggestionchat:addSuggestionschat:removeSuggestionchat:toggleChat
NUI callbacks
closelayoutsendhudTogglehudHidehudSetMode
Tipos de payload que mueve el chat
En la practica, server/main.lua emite payloads de este estilo:
sysannounceoocicmedopm_inpm_out
Persistencia local
En html/app.js se guardan estas claves:
cold_chat_layout_v1cold_chat_opacity_v1cold_chat_prefs_v1
Eso cubre layout, opacidad y preferencias del panel.
Estado en memoria del servidor
server/main.lua mantiene:
lastSent: cooldown simple por jugadorlastPmFrom: ultimo objetivo para/replyspamState: contador y auto mute anti-spammanualMuteUntil: mute manual activoannLast: cooldown de anuncios por categoria
Todo eso se limpia al parar el recurso.
Menciones
El flujo real de menciones hace esto:
- Extrae tokens que empiecen por
@. - Si
byIdesta activo, acepta ids numericos. - Si
byNameesta activo, compara contra nombre visible y nombre de jugador normalizados. - Adjunta
payload.mentionssi encontro destinatarios.
Detalles tecnicos utiles
clampMsgelimina saltos de linea y recorta aConfig.MaxMessageLen.- El chat desactiva visualmente el recurso
chat, pero sigue usando su capa de compatibilidad. /clearsolo limpia al cliente que lo ejecuta.clearchatalldisparacold_chat:client:clearpara toda la sesion.- Los anuncios tienen cooldown independiente de
Config.CooldownMs. - No hay exports documentables en esta version.