Zum Inhalt springen
Alle Dokumentationen

Rental

Fahrzeugvermietung: An Mietstationen wählt der Spieler Fahrzeug, Farbe und Mietdauer, bezahlt pro Minute und bekommt das Fahrzeug direkt am Abholplatz – Autos, Boote oder Fluggeräte. Nach Ablauf der Zeit verschwindet es wieder, wer früher fertig ist, gibt es vorher zurück.

Voraussetzungen
  • ESX Legacy (es_extended)
  • OneSync

Funktionen

  • Mehrere Stationen mit NPC oder Marker, eigenem Abholplatz und optional eigener Fahrzeugauswahl.
  • Drei Stationstypen: Autovermietung, Bootsverleih (Abholplatz im Wasser) und Flugzeugvermietung (Landebahn oder Helipad) – jeweils mit eigener Fahrzeugliste, eigenem Blip und eigenen Texten im Menü.
  • Preis pro Minute, Bezahlung mit Bargeld oder Bank, Restzeit-Anzeige mit Warnungen vor Ablauf.
  • Vorzeitige Rückgabe: Steht das Fahrzeug fahrbereit am Abholplatz, gibt es einen Teil der ungenutzten Minuten zurück. Sonst endet die Miete ohne Erstattung. Discord-Log jeder Rückgabe.
  • Eine Miete pro Spieler. Klappt das Spawnen nicht, gibt es das Geld zurück.

Installation

  1. Ordner off_rental in deinen resources-Ordner legen.
  2. In die server.cfg – nach ESX:
cfg
ensure es_extended
ensure off_rental
  1. Optional: Webhook für die Rückgaben in config/settings/config.server.lua eintragen.

Konfiguration

config/settings/config.lua

OptionStandardBeschreibung
serverInfo.name'OFF SCRIPTS'Servername, steht in der Oberfläche statt „OFF SCRIPTS“
serverInfo.locale'de'Sprache: de, en, pl, fr, es, it oder nl
serverInfo.color{ 155, 89, 255 }Farbe der UI (RGB)
serverInfo.design3Design der Oberfläche: 1 = Klassisch, 2 = Kassenbon, 3 = Storefront
blurtrueHintergrund unscharf, solange das Menü offen ist
payment'both''cash', 'bank' oder 'both' (der Spieler wählt)
rentalMinutes1–120, Schritt 5, Start 30min, max, step und default der Mietdauer in Minuten
warningMinutes{ 5, 1 }So viele Minuten vor Ablauf kommt eine Warnung
refundPercent50Vorzeitige Rückgabe: so viel Prozent der ungenutzten Minuten gibt es zurück, 0 = keine Erstattung
platePrefix'RENT'Anfang des Kennzeichens (max. 4 Zeichen), z. B. RENT4821
ped / marker / blipMechaniker / Scheibe, 2 m / anAussehen von NPC, Marker und Blip – marker.size ist auch der Bereich für E, blip.sprite gibt es je Typ (car, boat, aircraft)

config/settings/config.stations.lua – Mietstationen

FeldBeschreibung
labelName im Menü
typeOptional: 'car' (Standard), 'boat' oder 'aircraft' – bestimmt Fahrzeugliste, Blip und Texte
interactionType'ped' (NPC, position = vec4 mit Blickrichtung) oder 'marker' (Kreis, position = vec3)
spawnvec4 – Abhol- und Rückgabeplatz. Muss frei sein: Straße oder Parkplatz, bei boat im Wasser, bei aircraft auf Landebahn oder Helipad
vehiclesOptional: welche model aus der Liste des Typs es hier gibt. Weglassen = alle

config/settings/config.vehicles.lua – Fahrzeuge und Farben

  • Config.vehicles hat eine Liste je Typ: car, boat und aircraft.
  • Pro Fahrzeug: model, label, category (Reiter im Menü), price (Preis pro Minute) und seats.
  • Fehlt ein Fahrzeugbild (z. B. Addon-Fahrzeuge), lege es als web/dist/assets/vehicles/<model>.png ab.
  • Config.colors: label = Name im Menü, rgb = Lackfarbe ({ r, g, b }, je 0–255).

config/functions.lua

FunktionWofür
Notify(message, type)Eigenes Notify (Warnungen, Mietende …) · Server: Notify(source, message, type)
HelpNotify(text)Hinweistext an der Station
ClientVehicleRented(vehicle, plate)Nach dem Spawnen – z. B. Schlüssel oder Tank

Discord-Logs

Den Webhook trägst du in config/settings/config.server.lua ein (nur serverseitig): returns loggt jede vorzeitige Rückgabe mit Fahrzeug, Station, ungenutzten Minuten und Erstattung. Eine leere url ('') schaltet das Log aus. Dazu kommen name (Name des Bots), color (RGB) sowie avatar und image (Bild-URL, '' = keins).

Sprachen

Alle Texte stehen in config/locales/<sprache>.json. Für eine eigene Sprache eine Datei kopieren, übersetzen und serverInfo.locale setzen – Platzhalter wie %d und {price} drin lassen.

Im Spiel

An der Station E drücken, Fahrzeug, Farbe und Mietdauer wählen und mit Bar oder Bank bezahlen – du sitzt direkt im Fahrzeug. Die Miete endet, wenn die Zeit abläuft, der Spieler den Server verlässt oder das Fahrzeug gelöscht wird. Mieten werden nicht gespeichert: Beim Neustart des Scripts verschwinden alle Mietfahrzeuge ohne Erstattung.

Vorzeitige Rückgabe – nur an einer Station vom selben Typ:

  • Mit dem Fahrzeug auf den markierten Abholplatz fahren, anhalten und E drücken.
  • Oder an der Station E drücken: Das Menü zeigt die aktive Miete, die Restzeit und die Erstattung. Fahrzeug zurückgeben beendet die Miete.

Erstattung = ungenutzte volle Minuten × Preis pro Minute × refundPercent, auf dasselbe Konto wie die Zahlung. Steht das Fahrzeug nicht am Abholplatz, ist es zerstört oder weg, kann die Miete nur im Menü beendet werden – nach einer Bestätigung und ohne Erstattung. Das Fahrzeug wird danach gelöscht, bei Booten steht der Spieler wieder an Land.

Häufige Fehler

ProblemLösung
[ERROR] in der Server-KonsoleDas Script prüft beim Start die Einrichtung. Meldung lesen, beheben, Script neu starten.
„Der Abholplatz ist gerade belegt“Am spawn steht etwas. Freiräumen oder spawn verschieben – es wird nichts abgebucht.
„Dieses Fahrzeug gibt es hier nicht“model falsch, nicht installiert, nicht in der Liste des Typs oder nicht in vehicles der Station.
Boot oder Flugzeug spawnt falschspawn liegt nicht im Wasser bzw. nicht frei auf Landebahn oder Helipad – Position neu aufnehmen.
Keine Rückgabe möglichNur an einer Station vom selben type, im Fahrzeug erst anhalten.
Kein Schlüssel für das MietfahrzeugSchlüssel-Script in ClientVehicleRented eintragen.
NPC steht in der Wand oder schwebtposition anpassen – z ist die Höhe, auf der der Spieler steht.

Noch nicht gekauft?

Rental im Shop ansehen