Skip to content

Configuración

Todas las opciones de Cuxial Appearance explicadas: config, tiendas, menús, modelos, restricciones y estudio de fotos.

El comportamiento está en shared/config.lua; las tiendas, los menús, los modelos y las restricciones están en la carpeta data. Reinicia el recurso después de cambiar un archivo.

Algunos bloques también se editan desde el panel de staff: prices, secondHand, ui.menuAlpha y parte de wardrobe y trimmer. Sus valores se guardan en la base de datos en el primer arranque y, desde entonces, la base de datos manda sobre shared/config.lua. Cámbialos en el panel. El botón de restablecer del panel recupera los valores del archivo.

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalseMuestra trazas en la consola. También se activa poniendo la convar cuxial_appearance_debug a 1.

Interfaz · ui ​

OpciónTipoPor defectoQué hace
accentstring (hex)configurableColor de acento de la interfaz.
menuAlphanumber0.85Opacidad por defecto del fondo del menú, de 0.4 a 1. Cada jugador puede ajustar la suya. Editable desde el panel.

Staff y registros · admin, logs ​

OpciónTipoPor defectoQué hace
admin.permissionstring'admin'Permiso de tu framework que convierte a un jugador en staff para este script. Consulta Comandos y permisos.
logs.enabledbooleantruefalse desactiva los registros de Discord.
logs.convarstring'cuxial_appearance_webhook'Nombre de la convar que contiene el webhook.

Comandos · commands ​

Cada entrada tiene un name y, en los comandos de staff, restricted.

OpciónTipoPor defectoQué hace
<comando>.namestringver Comandos y permisosNombre del comando. Un nombre vacío desactiva el comando.
<comando>.restrictedboolean | stringfalseRestricción ACE que se pasa a ox_lib, por ejemplo 'group.admin'. false no añade ninguna: los comandos de staff siguen comprobando admin.permission.
OpciónTipoPor defectoQué hace
openControlstring'E'Tecla por defecto que abre la tienda en la que estás. Cada jugador puede cambiarla en los ajustes de teclas de GTA.
textUibooleantruetrue muestra el aviso en pantalla al entrar en una tienda. false no muestra nada; la tecla sigue funcionando.
alwaysKeepPropsbooleantruetrue evita que gorros y gafas se caigan cuando el jugador recibe daño.
automaticFadebooleanfalsetrue añade el degradado de pelo que corresponde al cambiar de peinado. Solo con los tatuajes propios.

Precios · prices ​

Editable desde el panel.

OpciónTipoPor defectoQué hace
outfitPricenumber100Precio de guardar un outfit o un aspecto fuera de una tienda. Dentro de una tienda, guardar un outfit cuesta el precio de esa tienda.
outfitBagPricenumber50Precio de convertir un outfit guardado en un ítem de outfit.
outfitSetConsumebooleanfalsetrue retira el ítem de outfit al usarlo. false lo conserva.
maxOutfitsnumber30Outfits guardados por personaje. De 1 a 200.

Outfits y bolsa de outfits · outfits ​

OpciónTipoPor defectoQué hace
outfitCodeLengthnumber10Longitud de los códigos para compartir. De 4 a 32.
setItemstring'cuxial_outfit'Ítem que se crea al empaquetar un outfit.
bagItemstring'cuxial_outfitbag'Ítem de la bolsa de outfits.
bagSlotsnumber5Outfits que caben en una bolsa.
bagStoragestring'citizenid''citizenid' = los outfits son del personaje, use la bolsa que use. 'item' = los outfits viajan dentro del ítem y cambian de manos con él.
bagPropstring'prop_big_bag_01'Modelo de la bolsa en el suelo.
bagPlaceAnimtablever archivoAnimación al colocar la bolsa: dict, anim y ms.
bagOpenAnimtablever archivoAnimación mientras la bolsa está abierta: dict y anim.

Vestuario · wardrobe ​

OpciónTipoPor defectoQué hace
itemstring'cuxial_clothing'Ítem en el que se convierte una prenda al quitársela.
legacyItemstring'clothing'Ítem de prenda antiguo que se sigue aceptando: se puede vestir y vender, nunca se crea.
inventorybooleanconvarModo inventario. Se lee de la convar cuxial_appearance:inventory (1 = activado). No lo edites aquí.
panel.excludestring[]{ 'bags' }Piezas que quedan fuera del panel de ropa y de las devoluciones al comprar.
panel.animbooleantruetrue reproduce la animación de vestirse al usar el panel.
purchaseReturnsbooleantruetrue devuelve, como ítems, las prendas sustituidas por una compra. Solo en modo inventario. Editable desde el panel.
purchase.destinationstring'bag_first'Adónde van las prendas devueltas: 'bag_first' = una bolsa de prendas con hueco y luego el inventario; 'inventory_first' = al revés. Editable desde el panel.
bag.itemstring'cuxial_garmentbag'Ítem de la bolsa de prendas.
bag.pricenumber50Precio de una bolsa de prendas nueva comprada junto a una compra. Editable desde el panel.
bag.slotsnumber12Huecos de una bolsa de prendas.
search.piecesstring[]ver archivoPiezas que se pueden quitar a otro jugador en un registro corporal. Editable desde el panel.
search.durationnumber2000Milisegundos que tarda en quitarse cada pieza en un registro. De 500 a 10000. Editable desde el panel.

Nombres de pieza usados en todo el config: hat, glasses, ears, mask, chain, tshirt, kevlar, jackets, gloves, watch, bracelet, decals, bags, legs, shoes.

Segunda mano · secondHand ​

Editable desde el panel.

OpciónTipoPor defectoQué hace
payoutnumber0.35Parte del precio base que paga la tienda. De 0.05 a 1.
collectionFactornumber1.3Multiplicador para las prendas que pertenecen a una colección adicional. De 0.5 a 5.
accountstring'cash'Adónde va el dinero: 'cash' o 'bank'.
maxPerSalenumber20Prendas vendidas de una vez. De 1 a 100.
basePricetablever archivoPrecio base de cada pieza. Una pieza a 0 no se compra.

Lo que se paga por una prenda es basePrice × payout, por collectionFactor en las prendas de colección.

Recortadora · trimmer ​

OpciónTipoPor defectoQué hace
itemstring'cuxial_trimmer'Ítem de la recortadora.
rangenumber2.5Metros dentro de los que se elige al jugador más cercano. Editable desde el panel.
durationnumber10000Milisegundos que dura el rapado. Editable desde el panel.
hairLockMinutesnumber20Minutos que el jugador rapado no puede cambiarse el pelo. 0 = sin bloqueo. Editable desde el panel.
emotestringver archivoComando del emote en pareja de cuxial_emotes que se reproduce durante el rapado.
modelstablemodelos freemodeModelos de ped que se pueden rapar, cada uno asociado a 'male' o 'female'.
baldtable0 / 0drawable y texture de pelo que aplica una recortadora sin estilo propio, por género.

Estudio de fotos · photos ​

OpciónTipoPor defectoQué hace
resourcestring'cuxial_appearance_photos'Recurso donde se guardan las fotos y desde el que se sirven.
captureResourcestring'screencapture'Recurso de captura que se prueba primero. Después se prueban screencapture y screenshot-basic.
sizenumber256Lado de cada foto, en píxeles.
qualitynumber0.86Calidad de imagen, de 0 a 1.
chromastring'magenta'Color de fondo que se elimina de la foto: 'magenta' o 'green'.
texturesbooleanfalsetrue fotografía también cada textura de cada prenda. Mucho más lento y pesado.
bucketnumber998Routing bucket al que se mueve al miembro del staff mientras el estudio está abierto.
studiotablever archivocoords y heading del punto donde se toman las fotos.
waitApply, waitCapture, waitPropnumber350, 120, 400Milisegundos de espera tras aplicar una prenda, antes de la captura y tras un accesorio. Súbelos si las fotos salen con la prenda anterior.
uploadRatenumber1000000Velocidad de transferencia, en bytes por segundo, con la que se envía cada foto al servidor.

Compatibilidad y reserva de NPC · compat, npcPool ​

OpciónTipoPor defectoQué hace
compat.legacySkinsbooleantruetrue importa la skin antigua de un personaje la primera vez que hace falta, si aún no tiene apariencia guardada. Consulta el comando de migración en Comandos y permisos.
npcPool.activeDaysnumber30Solo las apariencias guardadas en los últimos días alimentan la reserva de aspectos aleatorios. Si ninguna cumple, se usan todas.
npcPool.sizenumber60Apariencias que se mantienen en la reserva.

La reserva solo se usa a través del export GetRandomAppearances.

Restricciones ACE · aces ​

Oculta modelos o prendas a quien no tenga un permiso ACE. Vacío por defecto.

shared/config.lua
lua
aces = {
    -- modelo de ped -> ACE
    models = {
        ['a_m_y_hipster_01'] = 'appearance.vip',
    },
    -- categoría de drawable -> { [drawable] = ACE }
    drawables = {
        masks = { [120] = 'appearance.vip' },
    },
    -- categoría de prop -> { [prop] = ACE }
    props = {
        hats = { [45] = 'appearance.vip' },
    },
},

Categorías de drawable: face, masks, hair, torsos, legs, bags, shoes, neck, shirts, vest, decals, jackets. Categorías de prop: hats, glasses, earrings, mouth, lhand, rhand, watches, bracelets.

Un modelo listado en aces.models solo lo pueden elegir y guardar los jugadores que tienen el permiso. Las prendas de aces también se comprueban en el servidor: mira Restricciones.

Archivos de datos ​

data/shops.lua ​

Las tiendas por defecto. Cada entrada tiene label, type (clothing, barber, surgeon, appearance o resale), price, blip (1 o 0), thickness (altura de la zona), jobs (vacío = pública) y points (las esquinas del polígono, tres como mínimo).

Este archivo solo se lee cuando la tabla de tiendas está vacía, en el primer arranque. Después, las tiendas se gestionan desde el panel de staff. El panel puede importar las tiendas por defecto que falten; nunca toca las existentes.

data/menus.lua ​

Las pestañas de cada tipo de menú y si se puede cerrar sin guardar (allowExit). Pestañas disponibles: heritage, hair, clothes, accessories, face, makeup, outfits. La pestaña de tatuajes se añade sola al menú appearance cuando los tatuajes propios están activos.

data/models.lua ​

Los modelos de ped que se ofrecen en la pestaña de herencia. También son los modelos que un jugador puede guardar. El archivo trae los dos modelos freemode: añade detrás tus propios peds add-on.

data/blacklist.lua ​

Prendas y modelos ocultos en el menú.

BloqueQué hace
baseOculto para todos. En cada categoría, values lista drawables enteros y textures lista texturas de un drawable: textures = { [194] = { 0, 1 } }.
jobs, gangsGrupos de entradas con nombre. Los grupos de jobs están ocultos para todos y se levantan dentro de una tienda limitada a trabajos, para los jugadores que tienen uno de esos trabajos. Los grupos de gangs se aplican a quien no pertenece a esa banda: sus miembros sí pueden usar esas prendas. Un grupo también puede llevar sub-bloques male y female.
whitelistModelos, drawables o props reservados a los identificadores de personaje listados. Los demás no los ven.

Las entradas de jobs y gangs que trae el archivo son ejemplos. El bloque whitelist viene vacío, con ejemplos comentados; para reservar ropa, rasgos o modelos de ped a personajes, trabajos o bandas, usa la whitelist del panel de staff.

La blacklist se aplica en el servidor además de en el menú. Mira Restricciones.

data/wardrobe.lua ​

Las piezas del vestuario, la prenda que lleva cada género cuando se quita una pieza (defaults) y la animación de cada pieza (anims). Cambia defaults si tu servidor usa otros drawables para ir «desnudo».

data/photos.lua ​

Cámaras predefinidas, luces y fondo del estudio de fotos. Las cámaras también se pueden ajustar y guardar en vivo desde el propio estudio.

data/tattoos.lua, data/hairdecorations.lua ​

La lista de tatuajes propia y los degradados de pelo. Edítalos solo para añadir tus propios packs de tatuajes.

Cambios habituales ​

Vestidor gratis para la policía. Crea o edita la tienda en el panel de staff: tipo appearance, precio 0, y añade el trabajo. No hay que editar ningún archivo.

Pagar al banco las ventas de segunda mano. En el panel de staff, ajustes, segunda mano: cuenta bank.

Renombrar el comando del vestuario.

shared/config.lua
lua
commands = {
    wardrobe = { name = 'wardrobe' },
},

Mantén las demás entradas de commands como están: una entrada que se quita desactiva su comando.

© Cuxial