Zum Inhalt springen

Anpassung

Alles, was du anpassen kannst, befindet sich in config.lua und in locales/. Der Rest der Ressource ist escrow-geschützt, abgesehen von den Oberflächen der Smartphone-App.


DateiWas sie entscheidetBearbeitbar?
config.luaFramework, Geld, Fehlschlag-Chance, Polizei, App-Store-Eintrag, Drogen, Level, ZonenJa
locales/*.luaDie Benachrichtigungen auf dem Telefon, eine Datei pro SpracheJa
locales/locales.luaDie Locale-Tabelle, welche die Sprachdateien befüllenJa
ui/img/Die Bilder der App: eines pro Droge, Startbildschirm-Logo und das App-Icon (icon.png)Ja
ui/index.html, ui/styles.css, ui/script.jsBildschirme, Layout und Button-Texte der App—
player_data.jsonVerkäufe, Level und Boni jedes Dealers. Wird von der Ressource geschriebenJa
client/, server/Die interne LogikEscrowed

Es gibt keinen separaten Bridge-Ordner: Das Framework wird direkt über Config.Framework weiter unten ausgewählt.


OptionWas sie machtStandard
Config.Framework"ESX" oder "QB" in Großbuchstaben. Nutze bei QBox "QB" — QBox führt QBCore-Ressourcen über seine Kompatibilität aus"ESX"
Config.esxResourceNameDer Ressourcenname von ESX, falls bei dir abweichend"es_extended"
Config.qbResourceNameDer Ressourcenname von QBCore, falls bei dir abweichend. Belasse bei QBox "qb-core""qb-core"
Config.BlackMoneyAuszahlung in Schwarzgeld statt in sauberem Bargeldtrue
Config.MoneyAsItemAuszahlung als Inventar-Item statt auf ein Kontotrue
Config.MoneyItemDas ausgezahlte Item, wenn MoneyAsItem an und BlackMoney aus ist"money"

Was der Spieler tatsächlich erhält:

ESXQBCore / QBox
Schwarzgeld als ItemItem black_moneyItem blackmoney
Schwarzgeld auf KontoKonto black_moneyItem blackmoney
Sauberes Geld als ItemItem aus Config.MoneyItemItem aus Config.MoneyItem
Sauberes Geld auf KontoBargeldBargeld

OptionWas sie machtStandard
Config.FailureDie Wahrscheinlichkeit (0 bis 100), dass der Käufer den Spieler nach dem Klopfen abweist. Die Ware bleibt beim Spieler55
Config.DealTimeoutSekunden, um die Tür zu erreichen, bevor das Angebot abläuft300
Config.MinimumPoliceMindestanzahl an Polizisten online, bevor jemand kauft. 0 schaltet die Prüfung ab1

Die verkaufte Menge wird zufällig zwischen minAmount und maxAmount der jeweiligen Droge ermittelt, sobald der Spieler auf SELL tippt; die Tür wird per Zufall aus den Zonen dieser Droge ausgewählt.


OptionWas sie machtStandard
Config.PoliceJobsAls Polizei gewertete Berufe, die auch die Meldungen erhaltenpolice, sheriff
Config.PoliceAlertChanceWahrscheinlichkeit (0 bis 100), dass ein erfolgreicher Verkauf gemeldet wird20
Config.PoliceNotifyAppNameTitel der Benachrichtigung auf dem lb-phone der Beamten"Police Dispatch"
Config.PoliceBlipSpriteDer Karten-Blip am Ort des Verkaufs161
Config.PoliceBlipColorSeine Farbe38
Config.PoliceBlipScaleSeine Größe1.0
Config.PoliceBlipDurationSekunden, bis der Blip von der Karte verschwindet120
Config.PriceMultipliersPreisstaffeln nach Anzahl anwesender Polizisten, jeweils mit minPolice, maxPolice und multiplierSiehe unten

Standardstaffeln: 1–2 Beamte ×1.0, 3–4 ×1.2, 5–6 ×1.4, 7–9 ×1.6, 10 oder mehr ×2.0. Liegt die Anzahl der Polizisten in keinem definierten Bereich, bleibt der Multiplikator bei ×1.0.

Preisberechnung: Level-Bonus und Polizei-Bonus werden addiert, nicht multipliziert: Ein Level-5-Dealer (×1.5), der bei sechs anwesenden Polizisten (×1.4) verkauft, erhält 1 + 0.5 + 0.4 = ×1.9 des Basispreises.

Jeder Beamte mit einem in PoliceJobs geführten Job erhält die Meldung; es gibt keine Überprüfung des Dienststatus (On-Duty).


OptionWas sie machtStandard
Config.BlockedAppJobsBerufe, welche die App weder sehen noch installieren können. Geprüft beim Login und bei jedem Jobwechselpolice, sheriff, ambulance, mechanic

OptionWas sie machtStandard
Config.nameName der App auf dem Telefon"Drug Dealer"
Config.descriptionUntertitel im App Store"Deal dope, dodge the cops"
Config.defaultApptrue installiert sie vorab auf jedem Telefon; false erfordert das Herunterladen im App Storefalse
Config.sizeIm Store angezeigte Dateigröße in KB25400
Config.priceInstallationskosten0

Das App-Icon ist ui/img/icon.png. Ersetze die Datei, um das Icon zu ändern.


Config.drugs ist eine Liste; jeder Eintrag entspricht einem Button in der App.

FeldWas es macht
itemDas Inventar-Item, das verkauft wird
labelDer in der App und in Benachrichtigungen angezeigte Name
priceStückpreis vor Boni
minAmount, maxAmountSpanne, aus der die Menge jedes Deals gezogen wird
zonesZonen aus Config.NPCLocations, in denen Käufer sein können
imageDateiname in ui/img/
minLevelBenötigtes Dealer-Level für den Verkauf

Um eine Droge hinzuzufügen, erstelle einen Eintrag, lege das Bild in ui/img/ ab und stelle sicher, dass das Item in deinem Inventar existiert. Bereits vorhandene Bilder der Standardliste: 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 listet die Ränge der Reihe nach auf. Jeder Rang besitzt eine level-Nummer, einen Namen name, salesRequired (Gesamtzahl an Deals, nicht Einheiten) und einen bonusMultiplier.

LevelNameVerkäufeBonus
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

Behalte die aufsteigende Reihenfolge nach salesRequired bei; das Level wird durch Durchlaufen der Liste ermittelt.

OptionWas sie machtStandard
Config.dataFileDatei im Ressourcenordner, die den Fortschritt jedes Dealers speichert"player_data.json"

Der Fortschritt wird pro Charakter gespeichert: ESX-Identifier oder QBCore Citizen ID.


Config.NPCLocations ist nummeriert; auf diese Nummern bezieht sich das zones-Feld der Drogen. Jede Zone enthält:

FeldWas es macht
pedsPed-Modelle, von denen eines zufällig an die Tür tritt
locationsTür-Positionen (x, y, z und Blickrichtung/Heading)
ZoneGebietMitgelieferte Türen
1Grove1
2Pier und Strand10
3Vinewood-Häuser10
4Sandy Shores8
5Paleto Bay9

Du kannst Zonen und Türen nach Belieben ergänzen. Wichtig zu wissen: Der Zonen-Name im Polizeialarm stammt fest aus der Ressource und kennt nur die Zonen 1 bis 5; jede neu angelegte Zone wird als “Unknown Zone” gemeldet.


Neun Sprachen werden in locales/ mitgeliefert: en, es, fr, de, it, pt, pl, ru und tr. Setze Config.Locale auf eine davon.

So fügst du eine neue Sprache hinzu:

  1. Kopiere locales/en.lua in eine neue Datei, z. B. locales/nl.lua.
  2. Ändere den Sprachcode am Dateianfang auf nl und übersetze die Texte.
  3. Füge locales/nl.lua zur Liste shared_scripts in fxmanifest.lua neben den anderen und oberhalb von config.lua ein.
  4. Setze Config.Locale = "nl", führe refresh aus und starte die Ressource neu.

Die Locales steuern die Telefon-Benachrichtigungen. Die Schaltflächen der App selbst — DRUGS, PROFILE, SELL, CANCEL sowie der Profilbildschirm — sind direkt in ui/script.js und ui/index.html hinterlegt.