Referencia de la config
Todas las opciones están en zaiders_appearance/shared/config.lua, el archivo que queda abierto con el escrow. Cada una tiene un comentario en inglés y en español encima. Esta página las explica todas, agrupadas por tema, con el valor con el que vienen.
Cómo aplicar un cambio
Guarda el archivo y reinicia el recurso (ensure zaiders_appearance) o el servidor entero. Los menús que se abren después usan los valores nuevos.
Cómo se revisa la config
Al arrancar, el recurso compara tu config.lua con sus valores de fábrica. Un error nunca frena el menú: el valor equivocado se reemplaza por el de fábrica y la consola lista cada arreglo para que corrijas el archivo.
[zaiders_appearance] config.lua: se arreglaron 2 valores al arrancar (el menú anda igual). Para que no aparezca este aviso, corregilos en config.lua:
Config.Shops.near estaba escrito como texto: queda 20.0.
Config.Wardrobe.maxOutfit no es una opción (¿un error de tipeo?): no se usa.La consola habla en el idioma de Config.Locale; este ejemplo es con 'es'.
| Qué encuentra | Qué hace |
|---|---|
| Falta una opción | Usa el valor de fábrica. Así funcionan también las opciones de una versión nueva con tu archivo viejo. |
Un número o true/false escrito entre comillas | Toma el valor sin las comillas. |
| Un valor del tipo equivocado (texto donde va una tabla) | Usa el valor de fábrica. |
| Una opción que no existe | La ignora y te avisa, por si es un error de tipeo. |
| Un valor que no está entre los permitidos | Usa el valor de fábrica. |
El panel de admin manda
Algunas cosas arrancan desde la config y después se manejan en el panel: las tiendas del mapa, los precios de los tatuajes, los precios y el stock de las prendas, la tienda de peds y la apariencia del menú. Una vez que las guardas en el panel, se usan los valores del panel y la config solo da el punto de partida.
General
Config.Locale
Config.Locale = 'en'El idioma de todo el script: el menú, el panel de admin, los nombres de las prendas y los tatuajes, los carteles de la E, los avisos, los subcomandos y la consola. Los jugadores no lo eligen; todos ven este.
Incluidos: 'en' inglés, 'es' español, 'pt' portugués de Brasil, 'fr' francés, 'de' alemán, 'it' italiano, 'pl' polaco, 'tr' turco y 'nl' neerlandés. Un código sin su archivo usa el inglés. Ver Idiomas y textos.
Config.Framework
Config.Framework = 'auto''auto' busca Qbox, QBCore y ESX, en ese orden. Para elegir uno a mano, usa 'qbx', 'qb' o 'esx'. Sin framework el menú funciona, pero no se cobra ni se guarda nada.
Config.CloseAfterPay
Config.CloseAfterPay = trueAl pagar, el menú se cierra solo: el jugador se queda con lo que compró y el juego avisa cuánto se cobró. false deja el menú abierto después de pagar.
Config.Sounds
Config.Sounds = trueLos sonidos del juego al pasar prendas con las flechas, cambiar de sección, sacarse ropa y pagar. Cada jugador los puede apagar en Ajustes. false los apaga para todos.
Config.Notify
Config.Notify = nilLos avisos que ven los jugadores. De fábrica son los de ox_lib, con el nombre de la marca del panel (Apariencia) como título. Para usar las notificaciones de tu servidor, escribe una función. Corre en el juego del jugador:
Config.Notify = function(text, kind)
-- kind es 'inform', 'success' o 'error'
exports['mis_avisos']:Notify(text, kind)
endConfig.CanOpenMenu
Config.CanOpenMenu = nilAntes de abrir un menú, el recurso ya revisa que el jugador no esté muerto, caído, esposado o cayendo, también con los estados de QBCore, Qbox y ESX. Para sumar una regla propia, escribe una función que devuelva true cuando el menú se puede abrir. Corre en el juego del jugador:
Config.CanOpenMenu = function()
return not LocalPlayer.state.enPersecucion
endConfig.HideHud
Config.HideHud = {
enabled = true,
resources = {
{ resource = 'vayce-hud', export = 'SetHudVisible', changed = 'hud:visibleChanged' },
},
custom = nil,
}Con un menú o el panel abiertos, el HUD se esconde, y al cerrarlos vuelve como estaba. El HUD del juego siempre se esconde, y muchos HUD de servidor siguen al del juego. Si otro script vuelve a prender el HUD con un menú abierto, se esconde de nuevo.
| Campo | Qué hace |
|---|---|
enabled | false: solo se esconde el radar. |
resources | El HUD de otros recursos, solo mientras ese recurso está prendido. Cada entrada lleva el recurso y un export (recibe false al abrir y true al cerrar) o un event con los valores a mandar (hide = ..., show = ...). Con changed, el nombre del evento que dispara ese HUD cuando se muestra o se esconde: un HUD escondido antes del menú queda escondido, y uno que se prende solo durante el menú se vuelve a esconder. |
custom | Tu propio código: function(hidden, menu) ... end. hidden es true al abrir y false al cerrar; menu es 'clothing', 'barber', 'tattoo', 'wardrobe', 'creator' o 'panel'. |
resources = {
{ resource = 'mi-hud', export = 'SetHudVisible' },
{ resource = 'otro-hud', event = 'otro-hud:toggle', hide = false, show = true },
},Otros scripts también pueden escuchar el evento del cliente zaiders_appearance:hud. Ver Exports, eventos y hooks.
Comandos
Config.Command = 'zappearance'
Config.CommandsForEveryone = false
Config.Subcommands = {
clothing = { 'ropa', 'clothing' },
barber = { 'barberia', 'barber' },
tattoo = { 'tatuajes', 'tattoos' },
wardrobe = { 'guardarropa', 'wardrobe' },
creator = { 'creador', 'creator' },
panel = { 'panel', 'admin' },
photos = { 'fotos', 'photos' },
shops = { 'tiendas', 'shops' },
tattooPrices = { 'precios', 'prices' },
reloadSkin = { 'recargar', 'reloadskin' },
help = { 'ayuda', 'help' },
}
Config.CommandShortcuts = {}| Opción | Qué hace |
|---|---|
Command | El único comando del chat; todo lo demás es un subcomando (/zappearance ropa). Los comandos de consola también empiezan con él (zappearance_migrar). |
CommandsForEveryone | false: abrir una tienda por comando es de admins; los jugadores van a las tiendas del mapa. true: todos pueden usar esos subcomandos. |
Subcommands | Los nombres de cada subcomando. Todos funcionan, y también el del idioma de Config.Locale (/zappearance kleidung en alemán). |
CommandShortcuts | Comandos propios para un subcomando, con sus mismas reglas. Vacío de fábrica para no pisar el comando de otro recurso. { guardarropa = 'wardrobe' } crea /guardarropa; { reloadskin = 'reloadSkin' } crea /reloadskin. |
La lista completa de comandos y quién puede usarlos está en Comandos y permisos.
Permisos
Admins
Config.AdminAce = 'zaiders_appearance.admin'
Config.AdminAces = { 'zaiders_appearance.admin', 'clothing.admin' }
Config.AdminQbPermissions = { 'god', 'admin' }
Config.AdminEsxGroups = { 'admin', 'superadmin' }Quién es admin: cualquiera con uno de estos permisos ACE, estos permisos de qb-core o, en ESX, estos grupos. Los admins abren el panel, abren tiendas por comando, prueban el creador y pegan el JSON de un personaje. AdminAce es el permiso que nombra el mensaje de "sin permiso".
# server.cfg
add_ace group.admin zaiders_appearance.admin allowNo agregues command
Muchos servidores les dan el permiso command a los moderadores. Usa zaiders_appearance.admin y dáselo solo a los grupos que deben editar el catálogo.
Config.CatalogEditors
Config.CatalogEditors = {
qb = { 'god', 'admin' },
jobs = {},
onDuty = false,
}Quién puede cambiar prendas desde la tienda con clic derecho: ponerles nombre, sacarlas de stock, darles un precio propio o dejarlas solo para algunos trabajos. Cualquiera con los permisos ACE de admin (o una lista propia aces = { ... }), estos permisos de qb-core, o un trabajo desde un rango, como jobs = { tiendaropa = 2 }. Con onDuty = true, solo estando de servicio.
Config.GarmentGroups
Config.GarmentGroups = {
{ name = 'vip', label = 'VIP', ace = 'zaiders_appearance.vip' },
}Grupos por permiso ACE, como VIP. Cada grupo aparece en Solo para… (clic derecho sobre una prenda, y el Editor del catálogo del panel), y solo los jugadores con ese permiso pueden comprar esas prendas. Nada cambia hasta que marcas una prenda. Para VIP, en server.cfg:
add_ace group.vip zaiders_appearance.vip allow
add_principal identifier.fivem:123456 group.vipConfig.GarmentGroups = {} saca los grupos. Ver Tienda de ropa.
Precios
Config.Prices = {
hats = 80, hair = 60, tops = 250, undershirt = 90, arms = 60, pants = 180, shoes = 200, decals = 40,
masks = 120, glasses = 100, ears = 90, chains = 150, watches = 250, bracelets = 120, vest = 180, bags = 150,
hairColor = 40,
parents = 150,
features = 120,
eyes = 60,
overlays = {
blemishes = 40, ageing = 40, complexion = 40, sunDamage = 40, moleAndFreckles = 40, bodyBlemishes = 40,
eyebrows = 30, beard = 40, chestHair = 20,
makeUp = 50, blush = 30, lipstick = 30,
},
}El precio de cada lugar de la tienda de ropa y de la barbería. Una prenda puede tener su propio precio, que le gana a estos: se pone con clic derecho sobre la prenda o en el Editor del catálogo del panel. Los precios de los tatuajes están en Config.Tattoos y en el panel.
| Clave | Lugar |
|---|---|
hats, glasses, ears, watches, bracelets | Accesorios (props): gorra, lentes, aros, reloj, pulsera |
masks, hair, arms, pants, bags, shoes, chains, undershirt, vest, decals, tops | Ropa (componentes): máscara, pelo, brazos, pantalón, bolso, zapatillas, cadenas, remera, chaleco, calcomanías, campera |
hairColor | Cambiar el color o los reflejos del pelo |
parents | Padres (la mezcla de la cara) |
features | La forma de la cara |
eyes | El color de ojos |
overlays | Cada capa de la barbería: detalles de la piel, cejas, barba, pelo del pecho, maquillaje, rubor y labial |
Ropa de base
Le dicen al menú qué ponerle a un jugador cuando se saca una prenda. Los valores son los del juego para los personajes freemode. Si tu servidor reemplaza la ropa base con un pack, ajústalos a ese pack.
Cada entrada es ['component:N'] = { drawable, texture }.
Config.Undress
Config.Undress = {
male = {
['component:1'] = { 0, 0 }, -- máscara
['component:4'] = { 61, 0 }, -- pantalón
['component:5'] = { 0, 0 }, -- bolso
['component:6'] = { 34, 0 }, -- zapatillas
['component:11'] = { 252, 0 }, -- campera
},
female = {
['component:1'] = { 0, 0 },
['component:4'] = { 14, 0 },
['component:5'] = { 0, 0 },
['component:6'] = { 35, 0 },
['component:11'] = { 74, 0 },
},
}Lo que ponen en cada lugar los botones rápidos para sacarse ropa, al costado del menú.
Config.UndressWithTop
Config.UndressWithTop = {
['component:8'] = { 15, 0 },
['component:3'] = { 15, 0 },
['component:10'] = { 0, 0 },
}Al sacarse la campera también se sacan la remera, los guantes y las calcomanías.
Config.Naked
Config.Naked = {
male = {
['component:1'] = { 0, 0 }, -- máscara
['component:3'] = { 15, 0 }, -- brazos
['component:4'] = { 61, 0 }, -- pantalón
['component:5'] = { 0, 0 }, -- bolso
['component:6'] = { 34, 0 }, -- zapatillas
['component:8'] = { 15, 0 }, -- remera
['component:9'] = { 0, 0 }, -- chaleco
['component:10'] = { 0, 0 }, -- calcomanías
['component:11'] = { 91, 0 }, -- campera
},
female = { ... },
}La ropa interior que se usa donde tiene que verse la piel: la tienda de tatuajes y el creador de personaje. Con un pack que reemplaza la ropa base, elige prendas que dejen la piel al aire, o taparán los tatuajes.
Pose y cámara
Config.Poses
Config.Poses = {
stand = {
male = { 'move_m@generic', 'idle' },
female = { 'move_f@multiplayer', 'idle' },
at = 0.0,
},
arms = {
male = { 'missminuteman_1ig_2', 'handsup_base' },
female = { 'missminuteman_1ig_2', 'handsup_base' },
at = 0.0,
},
shops = { clothing = true, barber = true, tattoo = true, creator = true, wardrobe = true },
}Con un menú abierto, el personaje queda parado en la animación de parado de su sexo, frenado en un cuadro. Con X o el botón de brazos levanta los brazos, también quieto, para revisar que una prenda no se rompa.
| Campo | Qué hace |
|---|---|
stand, arms | El diccionario y el nombre de la animación de cada sexo. at es el momento de la animación en que queda, de 0 a 1. |
shops | Qué menús usan la pose. |
Config.Poses = false apaga la pose quieta: el personaje mantiene su movimiento normal con el menú abierto. El estudio de fotos siempre usa la pose de parado.
Config.Camera
Config.Camera = {
fov = 40.0,
smoothing = 7.0,
shots = {
{ name = 'Cara', bones = { 31086 }, z = 0.02, dist = 0.95 },
{ name = 'Pecho', bones = { 24818 }, z = 0.02, dist = 1.35 },
{ name = 'Torso', bones = { 24816 }, z = 0.0, dist = 1.85 },
{ name = 'Cuerpo', bones = { 11816 }, z = 0.08, dist = 3.2 },
{ name = 'Piernas', bones = { 63931, 36864 }, z = -0.12, dist = 1.75 },
},
}Los cinco planos de cámara que recorre la ruedita del mouse. Cada uno apunta a los huesos del personaje, así que funciona con cualquier ped. dist es la distancia en metros y z un ajuste de altura. name es solo una etiqueta para ti; el menú muestra sus propios nombres en cada idioma. fov es el ángulo de visión de la cámara, y smoothing qué tan suave se mueve.
Caras
Config.ShapeMax = 45
Config.SkinMax = 45
Config.FaceRanges = {
male = { { 0, 20 }, { 42, 44 } },
female = { { 21, 41 }, { 45, 45 } },
}El juego tiene las caras 0 a 45. Un pack de caras puede agregar más, por ejemplo de la 46 a la 91. En ese caso pon Config.ShapeMax = 91 y agrega sus rangos, como { 46, 68 } para hombres y { 69, 91 } para mujeres. Las pieles solo existen de la 0 a la 45.
FaceRanges separa las caras en de hombre y de mujer, porque el menú muestra esos dos grupos. En el juego, 0–20 y 42–44 son hombres y 21–41 y 45 son mujeres.
Peds
Config.Peds
Config.Peds = {
male = { { name = 'mp_m_freemode_01' } },
female = { { name = 'mp_f_freemode_01' } },
}Las tarjetas de Tu personaje en Peds: el hombre y la mujer freemode. Cambiar entre ellos es gratis.
Config.PedShop
Config.PedShop = {
enabled = true,
price = 25000,
exclusive = false,
codes = true,
categories = {
calle = true, trabajos = true, pandillas = true, personajes = true, online = true, animales = false,
servidor = true,
},
images = 'https://docs-backend.fivem.net/peds/%s.webp',
}La tienda de peds en Peds. Los jugadores ven los peds del juego que tiene la versión de tu servidor, más los peds addon que agregues en el panel. Se los prueban gratis y compran los que quieran. Un ped comprado es de ese personaje para siempre, salvo que un admin se lo saque. Ver Peds y códigos.
| Campo | Qué hace |
|---|---|
enabled | false: no se venden peds. Los jugadores mantienen el hombre y la mujer, y los admins el ped por nombre. |
price | El precio de cada ped, salvo los que tengan precio propio en el panel. |
exclusive | true: cada ped puede tener un solo dueño. Al siguiente comprador se le avisa que ya tiene dueño. |
codes | Códigos de canje: los admins los generan en el panel, y los jugadores los canjean en Peds para quedarse con un ped sin pagar en el juego. false apaga los códigos. |
categories | Qué se vende: calle, trabajos, pandillas, personajes (los de la historia), online (los de GTA Online), animales (apagados: no usan ropa y tienen pocas animaciones) y servidor (tus peds addon). |
images | De dónde salen las fotos de los peds: la documentación de FiveM, que baja cada jugador al mirarlas (%s es el nombre del ped). Las fotos sacadas con el estudio del panel van primero. false: sin fotos de internet, solo un dibujo. |
La sección Peds del panel cambia todo esto. Después de guardar ahí, manda el panel.
Config.PedByName y Config.PedBlacklist
Config.PedByName = 'admins'
Config.PedBlacklist = {
-- 'a_c_chop',
}Ped por nombre permite convertirse en cualquier ped que exista en el servidor escribiendo su nombre. 'todos' lo habilita para todos, 'admins' solo para admins y 'nadie' para nadie. Los peds de la lista negra no se pueden usar nunca. El servidor lo revisa de nuevo al pagar, así que nadie se queda con un ped que no puede usar.
Tiendas del mapa
Config.Shops = {
key = 38,
near = 20.0,
blips = true,
blipLegend = 121,
prompt = { height = 1.0, distance = 8.0, size = 0.05 },
ball = false,
marker = false,
markerColor = { 55, 226, 200, 110 },
textUI = false,
place = { reach = 12.0 },
}Las tiendas en sí (dónde están, sus nombres y sus blips) se configuran en el panel y se guardan en datos/tiendas.json. Mientras no guardes, se usan las 27 del juego. Ver Tiendas del mapa y blips.
| Campo | Qué hace |
|---|---|
key | La tecla que abre una tienda. 38 es E. |
near | Desde cuántos metros el juego revisa en cada cuadro si hay una tienda cerca. |
blips | false esconde todos los blips de tiendas, diga lo que diga el panel. |
blipLegend | Agrupa los blips de cada tipo bajo un nombre en la lista del mapa grande (Tiendas de ropa, Barberías, Tatuajes, Guardarropas). Usa cuatro categorías de blips del juego, desde este número (121 a 124). Si otro script usa esas, elige otro número entre 12 y 130. false: cada blip suelto. |
prompt | El cartel flotante de la E: height sobre el piso en metros, distance desde dónde aparece, size como parte del alto de la pantalla (0.05 es 5%). false: sin cartel. Cada tienda también puede esconder el suyo en el panel. |
ball | Una esfera chica sobre la tienda. true usa el aspecto de fábrica, o escribe { size = 0.18, height = 1.0, color = { 55, 226, 200, 170 }, bob = false }. |
marker, markerColor | Un círculo en el piso con el radio de la tienda, y su color (RGBA). |
textUI | Muestra además el aviso "[E] ..." de ox_lib en pantalla. |
place.reach | Hasta cuántos metros llega la mira al ubicar una tienda desde el panel. |
Guardarropa
Config.Wardrobe = {
maxOutfits = 30,
maxUniforms = 30,
bossGrade = nil,
gangUniforms = true,
shareCodes = true,
shareHours = 24,
}El guardarropa tiene los outfits de cada jugador y los uniformes de su trabajo y de su banda. Los outfits se guardan en ps_outfits y los uniformes en ps_job_outfits; si tu servidor ya tenía esas tablas, se mantiene lo que había. Ver Guardarropa y outfits.
| Campo | Qué hace |
|---|---|
maxOutfits | Outfits por personaje. |
maxUniforms | Uniformes por trabajo (y por banda). |
bossGrade | Además del jefe, desde qué rango del trabajo los miembros pueden armar uniformes. Por ejemplo 3. nil: solo el jefe y los admins. |
gangUniforms | Uniformes de la banda (QBCore y Qbox): una pestaña más en el guardarropa. false la saca. |
shareCodes | Compartir un outfit con un código de 6 letras. El otro jugador se lo prueba en una tienda de ropa y paga las prendas que no tiene. false lo apaga. |
shareHours | Cuántas horas dura cada código. |
Creador de personaje
Config.Creator = {
enabled = true,
events = { 'qb-clothes:client:CreateFirstCharacter' },
skipIfStarted = { 'dx_clothing', 'illenium-appearance', 'qb-clothing', 'fivem-appearance' },
face = {
male = { shapeFirst = 0, shapeSecond = 21, shapeThird = 0, skinFirst = 0, skinSecond = 21, skinThird = 0, shapeMix = 0.25, skinMix = 0.5, thirdMix = 0.0 },
female = { shapeFirst = 0, shapeSecond = 21, shapeThird = 0, skinFirst = 0, skinSecond = 21, skinThird = 0, shapeMix = 0.75, skinMix = 0.5, thirdMix = 0.0 },
},
}El creador se abre solo cuando el servidor crea un personaje nuevo. Ver Creador de personaje.
| Campo | Qué hace |
|---|---|
enabled | false: este menú nunca abre el creador. |
events | Los eventos que dispara un multichar con un personaje nuevo. qb-multicharacter y la mayoría disparan el de qb-clothing. En ESX sin esx_skin también se atiende esx_skin:openSaveableMenu. |
skipIfStarted | Si uno de estos recursos está prendido, ese se ocupa de los personajes nuevos, para que no se abran dos menús. |
face | La cara con la que arranca un personaje nuevo, por sexo. |
Tienda de tatuajes
Config.Tattoos = {
enabled = true,
free = false,
priceFactor = 0.25,
maxPrice = 0,
addonPrice = 'auto',
fadePrice = 120,
layerPercent = 25,
removePrice = 150,
maxLayers = 4,
undress = true,
save = true,
owners = { 'rcore_tattoos', 'qb-tattooshop', 'esx_tattooshop', 'illenium-appearance', 'fivem-appearance' },
fades = { ... },
}Los tatuajes del juego con sus precios de GTA Online, los tatuajes addon de tu servidor (packs que cargan un PED_OVERLAY_FILE) y los degradados de pelo, por zona del cuerpo. Ver Tienda de tatuajes.
| Campo | Qué hace |
|---|---|
enabled | false: sin tienda de tatuajes, si usas otro recurso para los tatuajes. |
free | Todo gratis: los tatuajes, las capas más oscuras y sacarlos. |
priceFactor | Multiplica el precio del juego. En GTA Online cuestan de $1.300 a $30.000, así que 0.25 convierte un tatuaje de $10.000 en $2.500. |
maxPrice | Un tope para los del juego. 0: sin tope. |
addonPrice | Los addon y los del juego sin precio. 'auto' usa el precio típico de su zona por el factor. Un número pone un mismo precio para todos. |
fadePrice | El precio de un degradado de pelo. |
layerPercent | Cada capa más oscura cuesta este porcentaje del precio del tatuaje. |
removePrice | Sacarse un tatuaje, o bajarle capas. |
maxLayers | Cuántas veces se puede apilar un tatuaje. Cada capa lo oscurece, porque el juego no tiene opacidad para los tatuajes. |
undress | Saca la ropa (a Config.Naked) mientras se está en la tienda. |
save | Guarda los tatuajes comprados en zaiders_tattoos y los pone al entrar con el personaje. |
owners | Otros recursos de tatuajes. Si uno está prendido, esta tienda de tatuajes se apaga sola: sin tiendas en el mapa, sin vender y sin poner los tatuajes guardados. |
fades | Degradados de repuesto, que solo se usan si falta data/tatuajes.json. No hace falta tocarlos. |
La sección Tatuajes del panel cambia los precios por zona, el precio propio de cada tatuaje y su stock. Después de guardar ahí, manda el panel.
Compatibilidad
Config.Compat = {
loadSkin = true,
exports = true,
esxSkinSave = false,
}| Campo | Qué hace |
|---|---|
loadSkin | Pone la ropa guardada al entrar con un personaje y cada vez que otro script la recarga (al revivir, la vista previa de un multichar), atendiendo los eventos de carga de siempre. Si está prendido otro recurso de ropa que los atiende, no hace nada. |
exports | Mientras illenium-appearance, fivem-appearance, qb-clothing o skinchanger no están prendidos, este menú contesta sus exports y eventos en su lugar, así los scripts hechos para ellos siguen funcionando. false lo apaga. |
esxSkinSave | ESX: esx_skin:save lo puede mandar cualquier jugador con cualquier ropa, sin pagar, así que de fábrica no guarda. true lo guarda como lo hace esx_skin. |
Config.Compat = false apaga las tres. Ver Frameworks y compatibilidad.
Fotos del catálogo
Config.Photos
Config.Photos = {
enabled = true,
resource = 'zaiders_fotos',
onDemand = true,
bps = 400000,
perMinute = 1500,
url = '',
}El menú muestra la foto de cada prenda, o un dibujo cuando no tiene. Las fotos viven en su propio recurso, así que actualizar el script nunca las toca. Ver Fotos del catálogo.
| Campo | Qué hace |
|---|---|
enabled | false: solo dibujos. |
resource | El recurso de las fotos. |
onDemand | Los jugadores no bajan las fotos al entrar. El menú le pide al servidor solo las que aparecen en pantalla, de a pocas, por la conexión del propio juego. Cada jugador las guarda, así que la próxima vez salen al instante. false: todos bajan todas al entrar (en ese caso, descomenta también las dos líneas de zaiders_fotos/fxmanifest.lua). |
bps | A pedido: lo máximo que el servidor le manda a cada jugador por segundo, en bytes. 400000 son 400 KB/s, unas 40 fotos. |
perMinute | A pedido: cuántas fotos puede pedir cada jugador por minuto. |
url | Opcional: una dirección https donde subiste las carpetas fotos/ y tatuajes/ (un CDN o servidor web). Las fotos salen de ahí. |
Config.Studio
El estudio de fotos del panel. No hace falta cambiarlo: estos valores son los que hacen que las fotos salgan limpias. Están acá para que sepas qué es cada uno.
| Campo | De fábrica | Qué es |
|---|---|---|
position, heading | alto en el cielo, sobre el mar | Dónde está el estudio: lejos de todo. El maniquí se para sobre una plataforma invisible. |
platform | 'prop_container_01a' | El objeto bajo el maniquí. |
bucketBase | 7000 | Cada admin trabaja en su propia dimensión: este número más su ID de jugador. |
time, weather | mediodía, 'EXTRASUNNY' | Luz de día fija mientras se sacan las fotos. |
backgrounds, background | verde y magenta, 'green' | Los colores de fondo, como una pantalla verde. El magenta es para prendas verdes. |
fov, pedFov, crop | 30.0, 40.0, 0.92 | El ángulo de la cámara y el cuadrado de pantalla que se fotografía. |
box | 12 × 12 × 7 m | La caja de color alrededor del maniquí. |
loadTimeoutMs, settleMs | 6000, 200 | Cuánto esperar a que cargue una prenda, y un momento más para que la textura quede nítida. |
face, hairColor | La cara, la piel y el color de pelo del maniquí. El color de pelo también se elige en el panel. | |
lights | tres luces | Las luces del estudio, en metros desde el maniquí. |
base | cada lugar vacío | El maniquí es invisible, así en la foto queda solo la prenda. |
shots | un encuadre por lugar | Adónde mira la cámara en cada lugar. glass y twoTone son para los lentes. |
faceShot | El encuadre de las fotos de caras (Padres, en la barbería). | |
maxPhotoKb, bps | 400, 2000000 | La foto más pesada, y la velocidad de subida al servidor. |
changeDistance | 10 | Verificación de packs: cuánto puede cambiar una foto y seguir contando como la misma prenda. |
