Ir al contenido

Personalización

Todo lo que está pensado para que lo cambies está en cuatro carpetas abiertas: config/, locales/, bridge/ e items/. El resto del Lua está protegido con escrow.


ArchivoQué decide¿Abierto?
config/config.luaIdioma, sistema de interacción, notificaciones, entregas, minería sin conexión, el NPC vendedor y su blipSí
config/warehouses.luaLos tres almacenes: precio, huecos para rigs, imagen, dónde llegas, dónde caen las cajas; la salida y el blip de los almacenes propiosSí
config/shop.luaCada pieza de la tienda del portátil: precio, vatios, hashrate, categoríaSí
config/cryptos.luaLas monedas: nombre, precio base, volatilidad, dificultad, color, iconoSí
config/webhook.luaLos dos webhooks de Discord. Solo se carga en el servidorSí
locales/*.luaTodos los textos, en el juego y en el portátilSí
bridge/bridge_client.luaNotificaciones, texto de ayuda, callbacks y el wrapper de ox_target / qb-target / drawtextSí
bridge/bridge_server.luaJugadores, dinero, nombres e ítems a través de fmLibSí
items/Definiciones de ítems para ox, qb y ESX, y los iconos de los ítemsSí
html/La tienda del vendedor y la pantalla del portátil, más las imágenes de los almacenes en html/img/Sí, sin escrow
mic_crypto_props/Los modelos en streaming y las vistas previas 3D que muestra el portátilSolo recursos gráficos

OpciónQué hacePor defecto
Config.LocaleQué archivo de locales/ se usa'en'
Config.Interactionox_target, qb-target o drawtext (un aviso de Pulsa E)'ox_target'
Config.CustomLaptopNotificacionstrue: los mensajes de la tienda y de las operaciones aparecen como avisos en la pantalla del portátil. false: las notificaciones normales de tu frameworktrue
Config.ReceiveProductsDirectlyToInventorytrue: las piezas compradas en el portátil van directamente al inventario. false: se deja una caja en el almacén para recogerlafalse
Config.OfflineMiningSi los rigs minan mientras el propietario está desconectadotrue
Config.OfflineRateA qué velocidad funciona la minería sin conexión. 1.0 es velocidad completa, 0.5 la mitad1.0

El nombre de la opción CustomLaptopNotificacions está escrito así en el archivo: respeta esa ortografía.

OpciónQué hacePor defecto
Config.NPC.modelModelo de ped del vendedors_m_y_ammucity_01
Config.NPC.coordsDónde está el vendedor, con su orientaciónJunto al puerto
Config.NPC.scenarioQué está haciendo el vendedorWORLD_HUMAN_CLIPBOARD
Config.NPC.interactDistanceLo cerca que tienes que estar2.5
Config.Blip.enableMostrar al vendedor en el mapatrue
Config.Blip.sprite / color / scaleAspecto del blip478 / 5 / 0.8
Config.Blip.nameNombre del blipCrypto Warehouse Shop

AlmacénidPrecioHuecos para rigs (rigSlots)
Pequeñowarehouse_small50.0008
Medianowarehouse_medium150.00021
Grandewarehouse_large350.00037

Cada almacén tiene estos campos:

CampoQué hace
idNombre interno. Deja los tres ids como están
name, descriptionTexto de la tienda, del archivo de idioma
priceCoste, que se paga en efectivo o con el banco; elige el comprador
rigSlotsEl número que se muestra en la tienda
imageImagen de la tienda, de html/img/
security, powerEtiquetas que se muestran en la tienda
viewCoordsAdónde lleva View al comprador para echar un vistazo antes de pagar
insideCoordsDónde apareces al entrar; la salida también está aquí
packageCoordsDónde cae la caja de la entrega

Encima de la lista:

OpciónQué hacePor defecto
Config.ExitCoordsPor dónde sale todo el mundo, sea cual sea el almacén en el que estabaJunto al vendedor
Config.WarehouseBlipsSprite, color y escala del blip de los almacenes que tienes478, verde, 0.7

Config.Shop.Categories define las cuatro pestañas de la tienda del portátil (GPUs, PSUs, ventiladores, racks). Config.Shop.Items es la lista de piezas. Las compras en el portátil siempre se pagan desde el banco.

CampoQué hace
idEl nombre del ítem. Tiene que coincidir con un ítem de tu inventario y con un modelo de mic_crypto_props
categorygpus, psus, fans o racks
label, descriptionTexto de la tienda, del archivo de idioma
priceCoste
imageNombre del archivo del icono
wattsPara GPUs y ventiladores: lo que consumen. Para PSUs: lo que aportan
hashrateSolo GPUs: GH/s por tarjeta
temperature, coolingCalor por GPU y refrigeración por ventilador, que usa la tabla de equilibrio del principio del archivo. Esta versión no los aplica en el juego: lo que se controla es la potencia

Precios por defecto:

PiezaPrecioPiezaPrecio
Badger Comm-100450PostOP 500W150
Wiwang PC-G900Whiz Wireless 850W350
eCola OC Edition1.600Merryweather 1600W800
iFruit Pro Max2.800Darrell Brother Fan45
Sprunk Xtreme4.500FlyUS Aero Fan120
Standard 5-Slot Rig1.200Atomic Vortex 120mm250

El bloque de comentarios al principio de config/shop.lua calcula qué PSUs y ventiladores necesita cada gama de GPU para un rig completo. Léelo antes de cambiar watts: es la forma más rápida de que todas las gamas se puedan seguir montando.

Cómo se comprueba la potencia. Al instalar una GPU o un ventilador, el consumo total del rig (todas las GPUs y ventiladores) más la pieza nueva tiene que caber dentro del total de sus PSUs. Si no cabe, la pieza se rechaza con un mensaje de potencia insuficiente.


Vienen cuatro monedas. Añade o quita entradas libremente; una moneda nueva se añade a la tabla del mercado en el siguiente arranque.

MonedaNombrePrecio baserangedifficulty
MWXMerryweather Crypto850,50101,0
FLKFleeca Token45,2050,5
PEGPegassi Coin12.500,00255,0
LIFELifeInvader Chain120,75150,8
CampoQué hace
labelNombre que se muestra en el portátil, del archivo de idioma
shortTicker
basePriceEl precio en torno al que oscila la moneda
rangeCuánto puede oscilar, en porcentaje hacia arriba o hacia abajo
difficultyCuanto más alta, más lento es minarla
color, iconColor e icono de Font Awesome en el portátil

Cómo se mueve el mercado. Cada 15 minutos, cada moneda recibe un precio nuevo: su basePrice desplazado hacia arriba o hacia abajo una cantidad aleatoria dentro del porcentaje de range. El precio se guarda, así que sobrevive a un reinicio.

Cómo paga la minería. Los propietarios reparten el hashrate de su almacén entre monedas con los deslizadores del portátil. Cada minuto, cada moneda gana GH/s asignados × 0,01 ÷ dificultad. Una tarjeta Badger (0,10 GH/s) en MWX produce 0,001 MWX por minuto. El hashrate que no está asignado a ninguna moneda no mina nada.

Operaciones. Comprar una moneda cobra el dinero del banco del jugador que está en el portátil; vender lo ingresa en el banco del jugador que está en el portátil. Los saldos pertenecen al almacén, así que cualquiera con quien lo compartas puede operar con ellos.


OpciónQué se registra
Config.WebhookBuyCada compra de cripto en el exchange
Config.WebhookSellCada venta de cripto en el exchange

Cada mensaje incluye el nombre del personaje, sus identificadores license, steam y discord (el de Discord como mención), la moneda, la cantidad y el total. Deja una URL vacía para desactivar ese log. El texto del mensaje está en el archivo de idioma (webhook_buy, webhook_sell).

Este archivo solo se carga en el servidor, así que las URLs nunca se envían a los jugadores.


En locales/ vienen once: en, es, fr, de, it, pt, nl, ar, ja, ko, ru. Pon el código en Config.Locale.

Para añadir uno, copia locales/en.lua a un archivo nuevo con el nombre de tu código, cambia la línea Locales['en'] por tu código, traduce la parte derecha de cada línea y pon Config.Locale con ese código. El portátil y la tienda del vendedor leen el mismo archivo.

Una clave que falte en tu archivo aparece como Translation [xx][key] does not exist: no hay respaldo en inglés, así que conserva todas las claves de en.lua.

Algunos avisos están escritos en inglés en el código con escrow (el texto de ayuda Press E to place Rig / install GPU y la etiqueta Collect Package) y no salen del archivo de idioma.


bridge/ está abierto para que puedas adaptar el script a lo que use tu servidor.

ArchivoQué cubre
bridge/bridge_client.luaDetección del framework, Bridge.Notify, Bridge.ShowHelpNotification, callbacks y todas las interacciones: targets de entidad, zona y modelo para ox_target, qb-target, o el bucle de drawtext integrado
bridge/bridge_server.luaDetección del framework, jugadores, efectivo y banco, nombres de personaje y AddItem / HasItem / RemoveItem / RegisterUsableItem a través de fmLib

Otro recurso de notificaciones: cambia Bridge.Notify en los dos archivos.

Otro recurso de target: las tres funciones Add…Interaction y sus correspondientes Remove… en bridge_client.lua son los únicos sitios donde se tocan los targets.

Otro framework: el bloque de detección del principio de cada archivo y las funciones de dinero, jugador y nombre son todo lo que hay. Los ítems no dependen del framework: pasan por fmLib.

Cuentas de dinero. Los almacenes se pagan con cash o bank (elige el comprador); las compras en el portátil y las operaciones usan bank. En ESX, cash es el dinero del jugador y bank la cuenta bancaria.