Ir al contenido

Personalización

Todo lo que puedes cambiar está en config.lua y locales/. El resto del recurso tiene escrow, salvo las pantallas de la app.


ArchivoQué decideEditable
config.luaFramework, dinero, probabilidad de fallo, policía, la ficha de la App Store, drogas, niveles, zonasSí
locales/*.luaLas notificaciones del móvil, un archivo por idiomaSí
locales/locales.luaLa tabla de idiomas que rellenan los archivos de idiomaSí
ui/img/Las imágenes de la app: una por droga, el logo de la pantalla de inicio y el icono de la app (icon.png)Sí
ui/index.html, ui/styles.css, ui/script.jsLas pantallas de la app, su diseño y los textos de los botones—
player_data.jsonLas ventas, el nivel y la bonificación de cada camello. Lo escribe el recursoSí
client/, server/La lógicaCon escrow

No hay carpeta de bridge aparte: el framework se elige con Config.Framework, más abajo.


OpciónQué hacePor defecto
Config.Framework"ESX" o "QB", en mayúsculas. En QBox, usa "QB": QBox ejecuta los recursos de QBCore mediante su capa de compatibilidad"ESX"
Config.esxResourceNameEl nombre del recurso de ESX, si el tuyo no es el estándar"es_extended"
Config.qbResourceNameEl nombre del recurso de QBCore, si el tuyo no es el estándar. Déjalo en "qb-core" en QBox"qb-core"
Config.BlackMoneyPaga en dinero negro en lugar de efectivo limpiotrue
Config.MoneyAsItemPaga como ítem del inventario en lugar de en una cuentatrue
Config.MoneyItemEl ítem que se paga cuando MoneyAsItem está activado y BlackMoney desactivado"money"

Lo que recibe realmente el jugador:

ESXQBCore / QBox
Dinero negro, como ítemÍtem black_moneyÍtem blackmoney
Dinero negro, en cuentaCuenta black_moneyÍtem blackmoney
Dinero limpio, como ítemÍtem de Config.MoneyItemÍtem de Config.MoneyItem
Dinero limpio, en cuentaEfectivoEfectivo

OpciónQué hacePor defecto
Config.FailureLa probabilidad, de 0 a 100, de que el comprador rechace al jugador después de llamar. Las drogas se quedan con el jugador55
Config.DealTimeoutSegundos para llegar a la puerta antes de que caduque la oferta300
Config.MinimumPoliceAgentes conectados antes de que nadie compre. 0 desactiva la comprobación1

La cantidad vendida se elige al azar entre el minAmount y el maxAmount de la droga cuando el jugador toca SELL; la puerta se elige al azar entre las zonas de la droga.


OpciónQué hacePor defecto
Config.PoliceJobsLos trabajos que cuentan como policía, y los que reciben las alertaspolice, sheriff
Config.PoliceAlertChanceLa probabilidad, de 0 a 100, de que una venta con éxito se denuncie20
Config.PoliceNotifyAppNameEl título de la alerta en el lb-phone del agente"Police Dispatch"
Config.PoliceBlipSpriteEl blip que se coloca donde ocurrió la venta161
Config.PoliceBlipColorSu color38
Config.PoliceBlipScaleSu tamaño1.0
Config.PoliceBlipDurationSegundos antes de que desaparezca el blip120
Config.PriceMultipliersTramos de precio según el número de agentes conectados, cada uno con minPolice, maxPolice y multiplierMira más abajo

Tramos de serie: 1–2 agentes ×1.0, 3–4 ×1.2, 5–6 ×1.4, 7–9 ×1.6, 10 o más ×2.0. Con un número de agentes que no cubre ningún tramo, los precios se quedan en ×1.0.

Cómo se calcula el precio. La bonificación de nivel y la de policía se suman, no se multiplican: un camello de nivel 5 (×1.5) que vende con seis agentes conectados (×1.4) obtiene 1 + 0.5 + 0.4 = ×1.9 el precio base.

Todos los agentes con un trabajo de PoliceJobs reciben la alerta; no se comprueba si están de servicio.


OpciónQué hacePor defecto
Config.BlockedAppJobsTrabajos que no pueden ver ni instalar la app. Se comprueba cuando carga el jugador y cada vez que cambia de trabajopolice, sheriff, ambulance, mechanic

OpciónQué hacePor defecto
Config.nameEl nombre de la app en el móvil"Drug Dealer"
Config.descriptionLa línea que aparece debajo en la App Store"Deal dope, dodge the cops"
Config.defaultApptrue la pone ya instalada en todos los móviles; false significa que se descarga desde la App Storefalse
Config.sizeEl tamaño que se muestra en la tienda, en KB25400
Config.priceLo que cuesta instalarla0

El icono de la app es ui/img/icon.png. Sustituye el archivo para cambiarlo.


Config.drugs es una lista; cada entrada es un botón en la app.

CampoQué hace
itemEl ítem del inventario que se vende
labelEl nombre que se muestra en la app y en las notificaciones
pricePrecio por unidad, antes de bonificaciones
minAmount, maxAmountEl rango del que sale la cantidad de cada trato
zonesEn qué zonas de Config.NPCLocations puede estar un comprador
imageUn nombre de archivo dentro de ui/img/
minLevelEl nivel de camello necesario para venderla

Para añadir una droga, añade una entrada, pon su imagen en ui/img/ y asegúrate de que el ítem existe en tu inventario. Imágenes que ya están ahí y que usa la lista de serie: baggy_weed.png, baggy_cocaine.png, lsd.png, baggy_meth.png, mushroom.png, opium.png, crack.png, drug_heroin.png, xtc_baggy.png, oxy.png, drug_lean.png, drug_hash.png.


Config.levels enumera los rangos en orden. Cada uno tiene un número level, un name, salesRequired (el número total de tratos, no de unidades) y bonusMultiplier.

NivelNombreVentasBonificación
1Newbie0×1.0
2Rookie25×1.1
3Hustler75×1.2
4Dealer150×1.35
5Trader300×1.5
6Boss600×1.75
7Kingpin1200×2.0
8Overlord2000×2.25
9Tycoon3500×2.5
10Legend5000×3.0

Mantenlos en orden creciente de salesRequired; el nivel se calcula recorriendo la lista hacia abajo.

OpciónQué hacePor defecto
Config.dataFileEl archivo de la carpeta del recurso que guarda el progreso de cada camello"player_data.json"

El progreso se guarda por personaje: el identificador de ESX o el citizen ID de QBCore.


Config.NPCLocations está numerada; los números son a lo que se refiere el campo zones de una droga. Cada zona tiene:

CampoQué hace
pedsModelos de ped; se elige uno al azar para abrir la puerta
locationsPosiciones de las puertas (x, y, z y heading)
ZonaÁreaPuertas de serie
1Grove1
2Muelle y playa10
3Casas de Vinewood10
4Sandy Shores8
5Paleto Bay9

Puedes añadir zonas y puertas libremente. Algo que conviene saber: el nombre de la zona en la alerta policial lo pone el propio recurso y solo conoce las zonas 1 a 5; cualquier zona que añadas aparece como “Unknown Zone”.


Vienen nueve en locales/: en, es, fr, de, it, pt, pl, ru y tr. Pon uno de ellos en Config.Locale.

Para añadir uno:

  1. Copia locales/en.lua a un archivo nuevo, por ejemplo locales/nl.lua.
  2. Cambia el código de arriba a nl y traduce el texto.
  3. Añade locales/nl.lua a la lista shared_scripts de fxmanifest.lua, junto a los demás y por encima de config.lua.
  4. Pon Config.Locale = "nl", luego haz refresh y reinicia el recurso.

Los idiomas cubren las notificaciones del móvil. Los botones de la propia app (DRUGS, PROFILE, SELL, CANCEL y la pantalla de perfil) están escritos en ui/script.js y ui/index.html.