Vai al contenuto
Tutta la documentazione

Rental

Noleggio veicoli: nelle stazioni di noleggio il giocatore sceglie veicolo, colore e durata del noleggio, paga al minuto e riceve il veicolo direttamente al punto di ritiro – auto, barche o velivoli. Allo scadere del tempo il veicolo sparisce; chi finisce prima lo restituisce in anticipo.

Requisiti
  • ESX Legacy (es_extended)
  • OneSync

Funzionalità

  • Più stazioni con NPC o marker, punto di ritiro proprio e, a scelta, una selezione di veicoli propria.
  • Tre tipi di stazione: noleggio auto, noleggio barche (punto di ritiro in acqua) e noleggio velivoli (pista o eliporto) – ognuno con la propria lista di veicoli, il proprio blip e i propri testi nel menu.
  • Prezzo al minuto, pagamento in contanti o con la banca, indicatore del tempo rimanente con avvisi prima della scadenza.
  • Restituzione anticipata: se il veicolo è utilizzabile e si trova nel punto di ritiro, una parte dei minuti non usati viene rimborsata. Altrimenti il noleggio termina senza rimborso. Log Discord di ogni restituzione.
  • Un noleggio per giocatore. Se lo spawn non riesce, i soldi vengono restituiti.

Installazione

  1. Metti la cartella off_rental nella tua cartella resources.
  2. Nel server.cfg – dopo ESX:
cfg
ensure es_extended
ensure off_rental
  1. Facoltativo: inserisci il webhook delle restituzioni in config/settings/config.server.lua.

Configurazione

config/settings/config.lua

OpzionePredefinitoDescrizione
serverInfo.name'OFF SCRIPTS'Nome del server, mostrato nell'interfaccia al posto di «OFF SCRIPTS»
serverInfo.locale'de'Lingua: de, en, pl, fr, es, it o nl
serverInfo.color{ 155, 89, 255 }Colore della UI (RGB)
serverInfo.design3Design dell'interfaccia: 1 = Classico, 2 = Scontrino, 3 = Storefront
blurtrueSfondo sfocato finché il menu è aperto
payment'both''cash', 'bank' o 'both' (sceglie il giocatore)
rentalMinutes1–120, passo 5, inizio 30min, max, step e default della durata del noleggio in minuti
warningMinutes{ 5, 1 }Tanti minuti prima della scadenza arriva un avviso
refundPercent50Restituzione anticipata: questa percentuale dei minuti non usati viene rimborsata, 0 = nessun rimborso
platePrefix'RENT'Inizio della targa (max. 4 caratteri), es. RENT4821
ped / marker / blipMeccanico / disco, 2 m / attivoAspetto di NPC, marker e blip – marker.size è anche l'area per E, blip.sprite si imposta per tipo (car, boat, aircraft)

config/settings/config.stations.lua – Stazioni di noleggio

CampoDescrizione
labelNome nel menu
typeOpzionale: 'car' (predefinito), 'boat' o 'aircraft' – stabilisce lista veicoli, blip e testi
interactionType'ped' (NPC, position = vec4 con direzione) o 'marker' (cerchio, position = vec3)
spawnvec4 – punto di ritiro e di restituzione. Deve essere libero: strada o parcheggio, in acqua per boat, su pista o eliporto per aircraft
vehiclesOpzionale: quali model della lista del tipo sono disponibili qui. Omesso = tutti

config/settings/config.vehicles.lua – Veicoli e colori

  • Config.vehicles ha una lista per tipo: car, boat e aircraft.
  • Per veicolo: model, label, category (scheda nel menu), price (prezzo al minuto) e seats.
  • Se manca l'immagine di un veicolo (es. veicoli addon), mettila in web/dist/assets/vehicles/<model>.png.
  • Config.colors: label = nome nel menu, rgb = colore della vernice ({ r, g, b }, ciascuno 0–255).

config/functions.lua

FunzioneA cosa serve
Notify(message, type)Notify personalizzato (avvisi, fine noleggio …) · Server: Notify(source, message, type)
HelpNotify(text)Testo di aiuto alla stazione
ClientVehicleRented(vehicle, plate)Dopo lo spawn – es. chiavi o carburante

Log Discord

Il webhook lo inserisci in config/settings/config.server.lua (solo lato server): returns registra ogni restituzione anticipata con veicolo, stazione, minuti non usati e rimborso. Un url vuoto ('') disattiva il log. In più ci sono name (nome del bot), color (RGB) e anche avatar e image (URL immagine, '' = nessuna).

Lingue

Tutti i testi si trovano in config/locales/<lingua>.json. Per una tua lingua copia un file, traducilo e imposta serverInfo.locale – lascia i segnaposto come %d e {price}.

In gioco

Alla stazione premi E, scegli veicolo, colore e durata del noleggio e paga in contanti o con la banca – sei subito seduto nel veicolo. Il noleggio termina quando scade il tempo, quando il giocatore lascia il server o quando il veicolo viene eliminato. I noleggi non vengono salvati: al riavvio dello script tutti i veicoli a noleggio spariscono senza rimborso.

Restituzione anticipata – solo in una stazione dello stesso tipo:

  • Porta il veicolo sul punto di ritiro segnato, fermati e premi E.
  • Oppure premi E alla stazione: il menu mostra il noleggio attivo, il tempo rimasto e il rimborso. Restituisci veicolo termina il noleggio.

Rimborso = minuti interi non usati × prezzo al minuto × refundPercent, sullo stesso conto del pagamento. Se il veicolo non è nel punto di ritiro, è distrutto o sparito, il noleggio si può terminare solo dal menu – dopo una conferma e senza rimborso. Poi il veicolo viene eliminato; con le barche il giocatore torna a terra.

Problemi comuni

ProblemaSoluzione
[ERROR] nella console del serverLo script controlla la configurazione all'avvio. Leggi il messaggio, correggi, riavvia lo script.
“Il punto di ritiro è occupato al momento”C'è qualcosa su spawn. Libera lo spazio o sposta spawn – non viene addebitato nulla.
“Questo veicolo non è disponibile qui”model errato, non installato, non presente nella lista del tipo o in vehicles della stazione.
La barca o il velivolo appare malespawn non è in acqua o non è libero su pista o eliporto – registra di nuovo la posizione.
La restituzione non è possibileSolo in una stazione dello stesso type; nel veicolo fermati prima.
Nessuna chiave per il veicolo a noleggioInserisci il tuo script chiavi in ClientVehicleRented.
L'NPC è nel muro o fluttuaAdatta position – z è l'altezza su cui sta il giocatore.

Non l’hai ancora acquistato?

Vedi Rental nel negozio