Script de presentaciones para FiveM

Introductions: documentación

Nadie sabe tu nombre hasta que te presentas. Todos aparecen como Desconocido sobre la cabeza hasta que los conoces en rol. Roleplay realista: las máscaras, los cascos y los vidrios polarizados te vuelven desconocido otra vez.

Funciones

  • 🤝 Presentaciones con animación de apretón de manos y /me automático; el nombre queda guardado para siempre (o da un nombre falso, opcional).
  • 🪪 Item de tarjeta de presentación: dale tu tarjeta a alguien y te conoce (en un sentido), opcionalmente con tu número de teléfono.
  • 👥 Presentar a un amigo: presenta a dos personas que conoces entre sí; las dos aceptan.
  • 🏷️ Apodos para cualquiera, lo conozcas o no.
  • 👮 Insignias de compañeros: los compañeros del mismo grupo de trabajo (policía, EMS, mecánicos...) ven una pequeña insignia sobre los demás.
  • 🎭 Máscaras, cascos y vidrios polarizados ocultan quién eres; agacharse / modo sigilo puede ocultar la etiqueta por completo.
  • 📱 Contactos del celular guardados al presentarse o con una tarjeta (lb-phone / qb-phone de serie, cualquier celular mediante el bridge).
  • 📒 Tablet con tus conocidos, búsqueda, encuentros recientes y un registro para admins; /vernombres muestra los nombres reales a los admins.
  • 🎨 Colores de las etiquetas totalmente configurables, indicador de quién habla, línea de visión y distancia.
  • 🔔 Logs de Discord de presentaciones y tarjetas.
  • 🌍 Español e inglés, QBCore / Qbox, ox_target / qb-target o la tecla E.

Dependencias

  • ox_lib
  • oxmysql
  • Un framework: QBCore o Qbox
  • Opcional: ox_target o qb-target

Instalación

  1. Pon rolo_introductions en tu carpeta resources y añade ensure rolo_introductions después de tu framework, ox_lib y oxmysql.
  2. La tabla de la base de datos se crea sola (también viene install.sql).
  3. Tarjetas de presentación (opcional): crea el item business_card en tu inventario.
    • qb-inventory: se registra solo como usable.
    • ox_inventory / origen_inventory: añade al item client = { export = 'rolo_introductions.business_card' }.
  4. Admins: grupos del framework en Config.AdminGroups, o el ace rolo_introductions.admin.

Comandos

Comando
/conocidos tu tablet
/etiquetas ocultar / mostrar las etiquetas para ti
/vernombres admins: nombres reales + ids sobre las cabezas
/persona menú de la persona que tienes delante (la conozcas o no); los jugadores pueden asignarle una tecla

Aceptar / rechazar peticiones: Y / X (configurables en Configuración > Asignación de teclas > FiveM).

Interacción: con ox_target / qb-target el jugador tiene una sola opción, "Conocidos", que abre el menú propio del script (presentarse, tarjeta de presentación, presentar a un amigo, apodo); con Config.TargetOpensMenu = false se muestran todas las acciones en el menú del target. Sin target (o con Config.Interaction = 'key') aparece una [E] discreta solo cuando te quedas quieto justo delante de un desconocido (Config.KeyPrompt).

Número de teléfono (tarjeta de presentación): el número sale del script del celular (Quasar Smartphone / Pro, LB Phone) y solo usa el del framework cuando no hay script de celular. Al recibir la tarjeta se muestra el número y queda guardado en /conocidos. Consola del servidor: introphone <id> muestra lo que devuelve cada export del celular.

Archivos abiertos (sin escrow)

  • config.lua
  • locales/*.lua: todos los textos (juego, tablet, kit)
  • bridge/client.lua: notificaciones, sistemas de target, diálogos, contactos del celular
  • bridge/server.lua: framework (QBCore / Qbox), permisos, items, nombres sin conexión, logs de Discord

Exports (cliente)

exports['rolo_introductions']:GetKnownName(serverId) -- nombre o apodo con el que lo conoces, o nil
exports['rolo_introductions']:IsKnown(serverId)      -- true si conoces su nombre

Aspecto de la tablet (Config.TabletCase)

La tablet viene en una funda rugerizada: bordes de goma del color del trabajo, una placa remachada arriba, tornillos, botones laterales, LEDs de estado y el logo de ROLO SCRIPT en el marco de abajo (el único logo), y el emblema del trabajo (icono del color de la funda + nombre) arriba a la izquierda de la pantalla. Cambia el color, el texto de la placa, su icono y el desgaste (manchas de 'grease', 'dust'), o usa style = 'classic' para un marco fino. Cómo se abre (Config.TabletView): 'hands' = el personaje saca una tablet real (todos la ven), la cámara pasa a primera persona y la pantalla sube desde abajo, con el juego visible alrededor; al cerrar la guarda y devuelve la cámara. 'screen' = solo la pantalla.

Notas

  • Solo controla los nombres que dibuja él mismo, no los que muestran otros scripts (celular, chat, HUD...).
  • Los contactos del celular dependen de la API de tu celular: revisa Bridge.AddPhoneContact en bridge/client.lua.

Secretos: config_server.lua

Los webhooks de Discord y las API keys van en config_server.lua, no en config.lua. config.lua se envía al juego de cada jugador (FiveM lo comparte), así que cualquiera con trampas podría leerlo; config_server.lua solo lo carga el servidor. Pega ahí tus webhooks y deja config.lua sin secretos.


ROLO SCRIPT · Soporte y actualizaciones en nuestro Discord.

¿Te atascaste?

Escríbenos en el canal de soporte de Discord con el script, tu framework y el error de la consola.