
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.
- 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
- Ordner
off_rentalin deinenresources-Ordner legen. - In die
server.cfg– nach ESX:
ensure es_extended
ensure off_rental- Optional: Webhook für die Rückgaben in
config/settings/config.server.luaeintragen.
Konfiguration
config/settings/config.lua
| Option | Standard | Beschreibung |
|---|---|---|
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.design | 3 | Design der Oberfläche: 1 = Klassisch, 2 = Kassenbon, 3 = Storefront |
blur | true | Hintergrund unscharf, solange das Menü offen ist |
payment | 'both' | 'cash', 'bank' oder 'both' (der Spieler wählt) |
rentalMinutes | 1–120, Schritt 5, Start 30 | min, max, step und default der Mietdauer in Minuten |
warningMinutes | { 5, 1 } | So viele Minuten vor Ablauf kommt eine Warnung |
refundPercent | 50 | Vorzeitige 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 / blip | Mechaniker / Scheibe, 2 m / an | Aussehen 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
| Feld | Beschreibung |
|---|---|
label | Name im Menü |
type | Optional: 'car' (Standard), 'boat' oder 'aircraft' – bestimmt Fahrzeugliste, Blip und Texte |
interactionType | 'ped' (NPC, position = vec4 mit Blickrichtung) oder 'marker' (Kreis, position = vec3) |
spawn | vec4 – Abhol- und Rückgabeplatz. Muss frei sein: Straße oder Parkplatz, bei boat im Wasser, bei aircraft auf Landebahn oder Helipad |
vehicles | Optional: welche model aus der Liste des Typs es hier gibt. Weglassen = alle |
config/settings/config.vehicles.lua – Fahrzeuge und Farben
Config.vehicleshat eine Liste je Typ:car,boatundaircraft.- Pro Fahrzeug:
model,label,category(Reiter im Menü),price(Preis pro Minute) undseats. - Fehlt ein Fahrzeugbild (z. B. Addon-Fahrzeuge), lege es als
web/dist/assets/vehicles/<model>.pngab. Config.colors:label= Name im Menü,rgb= Lackfarbe ({ r, g, b }, je 0–255).
config/functions.lua
| Funktion | Wofü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
| Problem | Lösung |
|---|---|
[ERROR] in der Server-Konsole | Das 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 falsch | spawn liegt nicht im Wasser bzw. nicht frei auf Landebahn oder Helipad – Position neu aufnehmen. |
| Keine Rückgabe möglich | Nur an einer Station vom selben type, im Fahrzeug erst anhalten. |
| Kein Schlüssel für das Mietfahrzeug | Schlüssel-Script in ClientVehicleRented eintragen. |
| NPC steht in der Wand oder schwebt | position anpassen – z ist die Höhe, auf der der Spieler steht. |
Noch nicht gekauft?
Rental im Shop ansehen