Zum Inhalt springen

Anpassung

Das Verhalten wird in config.lua festgelegt. Alles, was dein Framework, deine Benachrichtigungen oder die genaue Funktionsweise eines Effekts betrifft, befindet sich im Ordner bridge/, der genau aus diesem Grund unverschlüsselt bleibt.


Datei oder OrdnerWas darin bestimmt wirdOffen?
config.luaAlle Einstellungen auf dieser Seite und die Liste der VapesOffen
locales/*.luaBenachrichtigungstexte, eine Datei pro SpracheOffen
bridge/client_bridge.luaFramework-Erkennung auf dem Client, Benachrichtigungen, der Fortschrittsbalken und was jeder Effekt bewirktOffen
bridge/server_bridge.luaFramework-Erkennung auf dem Server, Entfernen einer leeren Vape, Inventarprüfung und der Stress-Hook OnVapePuffOffen
bridge/stress.luaEine ältere Kopie des Stress-Hooks. Wird vom Manifest nicht geladen; bearbeite stattdessen server_bridge.luaOffen
client/client.luaHervorholen der Vape, der Zug, der Rauch und dessen SynchronisationEscrowed
server.luaRegistriert jede Vape als nutzbares Item und leitet den Rauch weiterEscrowed
html/Der Fortschrittsbalken: index.html, style.css, script.jsUnverschlüsselte Dateien
stream/Die zehn Vape-Modelle und def_props.ytypAssets
inventory_items/Vorgefertigte Item-Definitionen für ESX, ox_inventory und QBCoreReferenz
inventory_images/Ein Icon pro ItemAssets

OptionWas sie bewirktStandard
Config.LocaleSprache der Benachrichtigungenen
Config.ShowNotificationsBenachrichtigungen überhaupt anzeigen. Aus bedeutet keine Meldungen für „hervorgeholt“, „im Cooldown“, „leer“ oder Power-Effektefalse
Config.EnableMaxPuffsVapes werden nach ihrer puffs-Anzahl leertrue
Config.RemoveVapeCommandChat-Befehl zum Wegstecken der Vapevape
Config.PuffKeyStandardtaste für den ZugE
Config.DisableCombatButtonsBlockiert Kampftasten (Angriff und Zielen), während der Rauch austritttrue
Config.StressRuft bei jedem Zug den Stress-Hook auf (siehe Stress)true

Config.PuffKey ist ein Standardwert. Der Zug ist eine FiveM-Tastenbelegung namens „Vape Puff“, sodass jeder Spieler sie unter Einstellungen › Tastenbelegungen › FiveM anpassen kann. Sobald ein Spieler die Tastenbelegung gespeichert hat, ändert Config.PuffKey dies für ihn nicht mehr.


OptionWas sie bewirktStandard
Config.SpeedVapeInfiniteStaminaAusdauer verbraucht sich während des Geschwindigkeitseffekts nichttrue
Config.StaticHealthfalse: Jeder Gesundheitszug addiert Config.Health. true: Ein Zug erhöht die Gesundheit auf Config.Health, falls sie darunter liegtfalse
Config.HealthHinzugefügte Menge oder Zielwert. Beim statischen Modus verwende 101–200 (die Gesundheitsskala des Spiels)10
Config.StaticArmorGleiches Prinzip für Rüstung: addieren oder auf den Wert setzenfalse
Config.ArmorHinzugefügte Menge oder Zielwert (bis zu 100)10

Gesundheit wird stets zwischen 100 und 200 gehalten, Rüstung bei 100 oder darunter.


OptionWas sie bewirktStandard
Config.VapeExhaleGröße der Rauchpartikel0.4
Config.SmokeOpacityDichte des Rauchs, 0.0 bis 1.01.0
Config.SmokeDelaySekunden zwischen der Zug-Animation und dem Erscheinen des Rauchs1.5
Config.ParticleWelches Partikel verwendet wird: ein dict und ein name. Standardmäßig Burnout-Rauch aus scr_recartheftscr_recartheft / scr_wheel_burnout
Config.SmokeOffsetStartpunkt des Rauchs relativ zum Kopf: PosX, PosY, PosZ, RotX, RotY, RotZ0.05, 0.0, 0.5, 0, 0, 0

Jede Wolke hält 1,5 Sekunden an und wird Spielern im Umkreis von 30 Metern angezeigt.


Jeder Eintrag ist Item-Name → Einstellungen. Die vollständige mitgelieferte Liste findest du unter 🎒 Items.

FeldWas es bewirkt
propWelches Modell in der Hand gehalten wird: mic_black, mic_blue, mic_green, mic_lightblue, mic_orange, mic_pink, mic_purple, mic_red, mic_white, mic_yellow
LabelAuf dem Fortschrittsbalken angezeigter Name
SmokeColorEine R-, G-, B-Farbe oder das Wort Rainbow für wechselnde Farben
CooldownSekunden, bevor an dieser Vape erneut gezogen werden kann
puffsZüge, bevor sie leer ist und ein Exemplar aus dem Inventar entfernt wird
EffectDurationSekunden, die der Effekt anhält. 0 für Geschmäcker
ShowProgressFortschrittsbalken anzeigen, während der Effekt aktiv ist. Bei allen mitgelieferten Vapes deaktiviert
SpeedMultiplierNur für speed_vape (Sprint) und carspeed_vape (Motor)
powerOptional. Eine Liste von Effekten, die gemeinsam ausgeführt werden, jeweils mit eigenem Wert (siehe unten)

Der Item-Name bestimmt den Effekt. invisibility_vape macht dich unsichtbar, weil sie invisibility_vape heißt; jeder andere Name ohne power-Liste ist ein Geschmack.

Die Effektnamen, die die Bridge versteht: invisibility_vape, speed_vape, superjump_vape, teleport_vape, invincibility_vape, health_vape (oder health), armor_vape (oder armor), carspeed_vape, freeze_vape, gravity_vape — sowie random_vape, die einen der anderen zufällig auswählt.

Gib einer Vape eine power-Liste und sie führt bei jedem Zug alle darin enthaltenen Effekte aus, egal wie die Vape heißt. Die Zahl neben jedem Effekt ist seine Dauer in Sekunden, außer bei health und armor, wo es sich um die Menge handelt. vape_custom in der Config ist ein funktionierendes Beispiel: Gesundheit 10, Rüstung 10, Geschwindigkeit für 10 Sekunden.

  1. Kopiere einen bestehenden Eintrag in Config.Vapes und gib ihm einen neuen Item-Namen.
  2. Wähle ein prop, eine SmokeColor, puffs und Cooldown. Für eine Power verwende entweder einen der obigen Effektnamen als Item-Namen oder füge eine power-Liste hinzu.
  3. Füge das Item wie gewohnt mit einem Icon zu deinem Inventar hinzu.
  4. Führe refresh aus und starte dann mit restart mic_vape neu.

freeze_vape (Bewegungsunfähigkeit) und gravity_vape (niedrige Schwerkraft, langsamere Bewegung) werden in bridge/client_bridge.lua behandelt, und ihre Item-Definitionen sind bereits in inventory_items/ enthalten, sie haben jedoch keinen Eintrag in Config.Vapes. Füge für jeden einen Eintrag hinzu — kopiere superjump_vape und benenne sie um — und sie funktionieren.

transform_vape ist ebenfalls in den Item-Dateien enthalten, benötigt jedoch eine Config.TransformAnimals-Liste, die in der mitgelieferten Konfiguration fehlt. Lass sie weg, es sei denn, du möchtest diese Liste erstellen und testen.


Wenn Config.Stress = true ist, ruft jeder Zug OnVapePuff in bridge/server_bridge.lua mit der Server-ID des Spielers auf. Standardmäßig gibt diese Funktion nur eine Zeile in der Serverkonsole aus. Kommentierte Beispiele für QBCore-Metadaten und esx_status sind darin enthalten: Entkommentiere die passende Variante oder binde dort dein eigenes HUD- oder Stress-System an.

Wenn du kein Stress-System nutzt, setze Config.Stress = false, damit die Konsole ruhig bleibt.


Neun Dateien werden in locales/ mitgeliefert: en, de, es, fr, it, pl, pt, ru, tr. Wähle eine mit Config.Locale.

Die Zeile car_speed — die angezeigt wird, wenn die Auto-Geschwindigkeits-Vape aktiviert wird — lautet in den mitgelieferten Dateien „No waypoint set!“. Passe sie in deiner Sprachdatei an.

Um eine Sprache hinzuzufügen: Kopiere locales/en.lua, ändere den Schlüssel ganz oben auf deinen Code, übersetze und trage die Datei sowohl in client_scripts als auch in server_scripts in der fxmanifest.lua ein. Setze Config.Locale, führe refresh aus und starte neu.


Alles, was von deinem Server abhängt, befindet sich in bridge/.

DateiWas dort anzupassen ist
bridge/client_bridge.luaShowNotification — leite Nachrichten an dein eigenes Benachrichtigungs-System weiter. Der Effekt-Code — passe an, was eine Power bewirkt, oder füge einen neuen Effektnamen hinzu. ShowProgressBar / HideProgressBar für den Balken
bridge/server_bridge.luaOnVapePuff für Stress. Leere Vape entfernen und prüfen, ob der Spieler sie noch bei sich trägt — passe diese beiden Funktionen für Inventare an, die nicht die nativen Item-Funktionen von ESX oder QBCore nutzen

Beide Dateien ermitteln das Framework auf dieselbe Weise: es_extended, falls gestartet, andernfalls qb-core — worüber auch QBox über seine QBCore-Kompatibilität gefunden wird. Für ein anderes Framework füge dort und in den beiden daneben liegenden Item-Funktionen eine Abzweigung hinzu.


Befehl oder TasteWas er/sie bewirktFestgelegt in
Item benutzenHolt die Vape hervor; erneute Benutzung steckt sie wegInventar
E („Vape Puff“)Nimmt einen ZugConfig.PuffKey, danach Tastenbelegung jedes Spielers
/vapeSteckt die Vape wegConfig.RemoveVapeCommand

Eine Vape wird auch weggesteckt, sobald der Spieler das Item nicht mehr im Inventar hat; die Resource prüft dies alle 2,5 Sekunden.