Personalización
Lo que hace cada ítem se monta en el menú y se guarda en la base de datos. Los archivos deciden el resto: el comando, las teclas, cómo se muestran las cosas y cómo habla el recurso con tu framework.
Qué archivo decide qué
Sección titulada «Qué archivo decide qué»| Archivo | Qué decide | ¿Abierto? |
|---|---|---|
config.lua | Idioma, comando, tecla de cancelar, interacción con props colocados, ruta de imágenes, barra de progreso | Sí |
bridge/client_bridge.lua | Notificaciones, vida, armadura, estrés, hambre y sed, recuento de ítems, trabajos, target, barra de progreso | Sí |
bridge/server_bridge.lua | Detección del framework, ítems usables, añadir y quitar ítems, trabajos, notificaciones, la lista de ítems | Sí |
locales/*.lua | Todos los textos, en el juego y en el menú | Sí |
data/*.lua | Las listas que hay detrás de los selectores del menú | Sí |
html/ | El menú (HTML, CSS, JS) | Legible |
client/, server/ | La lógica de los ítems | Con escrow |
config.lua
Sección titulada «config.lua»| Opción | Qué hace | Por defecto |
|---|---|---|
Config.Locale | Idioma del menú y de los mensajes. Consulta Idiomas | 'en' |
Config.Command | El comando que abre y cierra el menú | 'itemcreator' |
Config.CommandDescription | El nombre de ese comando en los controles de FiveM, donde se le puede asignar una tecla. Por defecto no tiene ninguna | 'Open Item Creator Menu' |
Config.CancelKey | Tecla por defecto para cancelar lo que haya iniciado un ítem. Mira más abajo | 'X' |
Config.Interaction | Cómo se recoge un prop colocado: 'drawtext', 'ox_target' o 'qb-target'. Con cualquiera de los dos valores de target, el bridge usa el que esté en marcha de ox_target o qb-target | 'drawtext' |
Config.ImageInventoryPath | Dónde busca el menú las imágenes de los ítems, como <path><item name>.png | 'nui://ox_inventory/web/images/' |
Config.ProgressBar | 'custom' para la barra integrada, 'ox_lib' para la de ox_lib. Si ox_lib no está en marcha, se usa la integrada | 'custom' |
¿No usas ox_inventory? Pon en Config.ImageInventoryPath la carpeta de imágenes de tu inventario, por ejemplo nui://qb-inventory/html/images/.
Teclas y comandos
Sección titulada «Teclas y comandos»| Comando | Tecla por defecto | Qué hace |
|---|---|---|
/itemcreator | ninguna | Abre o cierra el menú. Necesita el ACE mic_itemcreator.open |
/cancelitemanim | Config.CancelKey (X) | Detiene la animación, el escenario o el estilo de andar que haya iniciado un ítem, restablece la velocidad, termina los superpoderes y quita un prop enganchado |
Mientras colocas un Attach Prop, se aplican estas teclas. Cada una aparece en los controles de FiveM con un nombre “Placement:”, así que los jugadores pueden cambiarlas:
| Tecla | Qué hace |
|---|---|
| ← → ↑ ↓ | Mueve el prop a la izquierda, derecha, adelante, atrás |
| Re Pág / Av Pág | Lo sube o lo baja |
| Numpad 4 / 6 | Guiñada (yaw) |
| Numpad 8 / 5 | Cabeceo (pitch) |
| Numpad 7 / 9 | Alabeo (roll) |
| X | Previsualiza la animación |
| E | Confirma |
| Retroceso | Cancela |
Las listas de datos
Sección titulada «Las listas de datos»Todo lo que puedes elegir de una lista en el menú sale de data/, y puedes añadir cosas a cualquiera de ellas:
| Archivo | Qué contiene |
|---|---|
data/animations.lua | Animaciones |
data/scenarios.lua | Escenarios |
data/walkingstyles.lua | Estilos de andar |
data/bones.lua | Huesos a los que se puede enganchar un prop |
data/particles.lua | Efectos de partículas |
data/screeneffects.lua | Efectos de pantalla |
data/sounds.lua | Sonidos |
data/cars.lua | Coches, por etiqueta y modelo |
data/peds.lua | Modelos de ped |
data/clothing.lua | Las animaciones que se reproducen al ponerse una prenda o un prop |
Mantén cada entrada con la misma forma que las que la rodean. El menú lee estos archivos al abrirse; después de editarlos, reinicia el recurso.
Idiomas
Sección titulada «Idiomas»En locales/ vienen nueve archivos:
Config.Locale | Idioma |
|---|---|
en | Inglés |
es | Español |
de | Alemán |
fr | Francés |
it | Italiano |
pt | Portugués |
ru | Ruso |
ch-zn | Chino |
jp | Japonés |
El comentario de config.lua también menciona tr y ch; ninguno de los dos existe. Usa los códigos de arriba.
El mismo archivo traduce los mensajes del juego y el menú, así que solo hay un sitio que editar.
Añadir un idioma:
- Copia
locales/en.luaa un archivo nuevo, por ejemplolocales/pl.lua. - Dentro, cambia
Locales['en']por tu código y traduce el texto de la derecha de cada línea. Mantén las claves y cualquier%s. - Añade el archivo a
shared_scriptsenfxmanifest.lua, encima delocales/lib.lua. - Pon tu código en
Config.Locale, hazrefreshy reinicia.
Si falta una clave, en la consola sale Translation key "…" not found y en pantalla se muestra la propia clave.
El bridge
Sección titulada «El bridge»Dos archivos abiertos en bridge/. Mantén los nombres de las funciones: el resto del recurso las llama por su nombre.
bridge/server_bridge.lua
| Función | Para qué sirve |
|---|---|
| (detección) | Usa ESX si es_extended está arrancado; si no, QBCore si qb-core está arrancado. QBox se detecta como qb-core, gracias a su compatibilidad con QBCore |
Bridge.RegisterUsableItem | Registra cada ítem configurado como usable en tu framework |
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCount | Ítems: bundles, recogidas, ítems requeridos, Remove on Use |
Bridge.GetPlayerJob, Bridge.GetPlayerJobGrade | La restricción de trabajo |
Bridge.Notify | Notificaciones del lado del servidor |
Bridge.GetAllItems | La lista de ítems del menú: de ox_inventory, luego de los ítems registrados de ESX y luego de los shared items de QBCore |
bridge/client_bridge.lua
| Función | Para qué sirve |
|---|---|
Bridge.Notify | Todas las notificaciones. Si no hay framework, usa el feed de GTA |
Bridge.AddHealth, Bridge.AddArmor | Health/Armor |
Bridge.AddFoodThirst | Food/Thirst: esx_status en ESX; en QBCore, los eventos consumables:server:addHunger y addThirst |
Bridge.AddStress | Stress: esx_status en ESX; consumables:server:addStress en QBCore |
Bridge.GetItemCount | Always Attached Prop: el recuento de ox_inventory si está en marcha; si no, los datos del jugador |
Bridge.AddTargetEntity | La opción de recoger en un prop colocado, para ox_target o qb-target |
Bridge.ProgressBar | Barras de progreso: ox_lib o la integrada. Hay un sitio marcado, con un ejemplo comentado, para añadir otro recurso de barra de progreso |
¿Tu HUD usa otros eventos para el hambre, la sed o el estrés? Cámbialos en Bridge.AddFoodThirst y Bridge.AddStress. ¿Otro recurso de notificaciones? Sustituye el contenido de Bridge.Notify. ¿Otro framework u otro inventario? Rellena esas mismas funciones para él en los dos archivos.
Red de la comunidad
Sección titulada «Red de la comunidad»Network, en el menú, muestra configuraciones de ítems compartidas por otros servidores. Import te pregunta cuál de tus ítems debe recibir esa configuración y luego te la abre para que la ajustes y la guardes. Para compartir una tuya, expórtala desde tu lista de ítems con un nombre público, una descripción y un nombre de autor: pasa a ser visible para todos los servidores que usan la red.
La lista se descarga de GitHub, así que tu servidor necesita acceso saliente a internet para que se llene.