Vai al contenuto
Tutta la documentazione

Faction

Fazioni che crei interamente in gioco: ogni fazione è un vero job con menu boss, garage, magazzini, guardaroba, ascensore, livelli, menu azioni e sistema gangwar. Le tabelle le crea lo script da solo.

Requisiti
  • ESX Legacy (es_extended, testato con 1.14)
  • oxmysql
  • OneSync
  • Per il guardaroba: skinchanger e esx_skin (o funzioni tue in config/functions.lua)
  • Per il menu F6 e il menu veicoli del gangwar: esxmenudefault (o menu tuoi tramite ClientActionMenu e ClientGangwarVehicleMenu)

Funzionalità

  • Creator (/fraktionen): crei in gioco fazioni con gradi, stipendio, veicoli, luoghi (marker o NPC), blip e accesso da un certo grado.
  • Menu boss: gestire i membri, cassa con cronologia, comprare veicoli, permessi per grado, candidature e log.
  • Candidature: i giocatori si candidano alle fazioni nei punti candidatura (NPC o marker dal creator), la direzione accetta o rifiuta nel menu boss.
  • GPS: i membri si vedono sulla mappa, con un'icona propria a piedi, in auto, in moto o in bici, in barca, in elicottero o in aereo, mentre nuotano e da morti (attivabile per fazione).
  • Veicoli di fazione con stile: prefisso targa proprio, vernice e xeno nel colore della fazione, tuning massimo e vetri oscurati. Con chiave per chiudere e aprire.
  • Garage e magazzini: fino a 10 ciascuno per fazione, accesso da un certo grado.
  • Guardaroba, ascensore (fino a 10 piani) e livelli con XP (attivabili per fazione).
  • Menu azioni (F6): ammanettare, perquisire, identificare, scortare e azioni sui veicoli, selezionabili per fazione.
  • Gangwar: crei zone in gioco, modalità Limite di tempo e First Contact, dimensione propria, shop e classifica.
  • Log su Discord per tutte le aree.

Installazione

  1. Metti la cartella off_faction in resources.
  2. Aggiungi nel server.cfg, dopo oxmysql ed ESX:
cfg
ensure oxmysql
ensure es_extended
ensure off_faction
  1. Apri /fraktionen, crea una fazione e imposta la direzione con /setjob <ID> <name> <grado> (grado più alto = numero di gradi − 1).
Nomi dei job

Il nome della fazione è anche il nome del job (2–20 caratteri, a–z, 0–9, _) e poi non si può più cambiare. Se il job esiste già, non puoi creare la fazione.

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 o it
serverInfo.color{ 155, 89, 255 }Colore della UI (RGB)
serverInfo.design3Design dell'interfaccia: 1 = Classico, 2 = Scontrino, 3 = Storefront
blurtrueSfondo sfocato finché un menu è aperto. Il creator resta nitido (anteprima)
creator.command'fraktionen'Comando del creator
creator.groups{ 'projektleitung' }Gruppi con accesso al creator delle fazioni
creator.zoneGroups{ 'projektleitung' }Gruppi con accesso al creator delle zone gangwar
inviteSeconds60Secondi prima che un invito scada
storeRange25.0Distanza max. per parcheggiare un veicolo (metri)
plateFormat'LLL NNN'Targa: L = lettera, N = numero, vale solo senza prefisso nel creator
applications.cooldown / maxOpen24 / 3Ore di blocco dopo un rifiuto, max. candidature aperte per giocatore
gps.interval / scale2 / 0.8Secondi tra gli aggiornamenti GPS, dimensione dei blip
gps.showSelftruetrue = vedi anche il tuo blip GPS
gps.typesvedi filesprite e color per stato: foot, swim, car, bike, bicycle, boat, heli, plane, dead (predefinito bianco, morto rosso)
vehicleKeys.enabled / key / rangetrue / 'U' / 10.0Sistema chiavi, tasto predefinito, portata in metri
vehicleKeys.sharedfalsetrue = tutti i membri possono chiudere e aprire i veicoli di fazione tirati fuori
bossLogs.days30Per quanti giorni i log restano salvati nel menu boss
bossLogs.<area>true (azioni false)Quali aree mostra la pagina dei log: members, money, garage, storage, wardrobe, gangwarShop, level, actions
levels.max / base / growth50 / 1000 / 1.15XP per livello = base × growth ^ (Level − 1)
levels.tiers5 fasceCon sistema livelli: slot outfit e kg di magazzino da un certo livello
outfitSlots10Slot outfit senza sistema livelli
weaponWeight2.0Peso di un'arma nel magazzino
itemImagesimmagini di off_inventoryPercorso immagini per gli item nel magazzino, %s = nome dell'item
marker / blipsvedi filePredefiniti per nuovi luoghi, modificabili per luogo nel creator. blips.enabled = false disattiva tutti i blip

config/settings/config.gangwar.lua

OpzionePredefinitoDescrizione
times18:00 – 22:00Orari consentiti (ora del server), vuoto = sempre
joinSeconds60First Contact: tempo per entrare nella lobby. Limite di tempo parte subito
respawnSeconds10Secondi fino al respawn
lobbyRadius15.0Dimensione della lobby attorno allo spawn (metri)
players.min / max1 / 0Giocatori per lato (min solo First Contact, max = 0 = illimitati)
killPoints3Limite di tempo: punti per kill
modes.<modalità>.duration25 / 15Durata in minuti
cooldowns1 / 0 / 1Minuti: attack (pausa della fazione), zone (blocco della zona), queue (finché la coda scade), 0 = disattivato
rewardsvedi filePunti gangwar e XP per win, lose, draw e forfeit
weaponsdisattivatoenabled = true: solo queste armi nel gangwar, le tue tornano dopo
vehicles / shopvedi fileVeicoli dei garage gangwar e articoli dello shop

config/settings/config.actions.lua

OpzionePredefinitoDescrizione
command / key'fraktionsmenu' / 'F6'Comando (/off_faction:fraktionsmenu) e tasto predefinito per il menu azioni
reach3.0Quanto vicino davanti a te deve essere un giocatore o un veicolo (metri)
search.requireCuffedtruePerquisire solo giocatori ammanettati
search.accounts{ 'money', 'black_money' }Conti che si possono prendere durante la perquisizione
cuffedAnimsvedi fileAnimazioni da cui ClientIsCuffed riconosce gli ammanettati
identifyvedi fileDurata di visualizzazione e quali campi compaiono per giocatore e veicolo
animationsvedi fileAnimazione e durata per azione

config/functions.lua

Qui colleghi i tuoi script. Gli errori al loro interno finiscono in console, lo script continua a funzionare.

FunzioneA cosa serve
Notify(message, type) / HelpNotify(text)Notifica e testo di aiuto · Server: Notify(source, message, type)
ClientGetFuel(vehicle) / ClientSetFuel(vehicle, fuel)Script carburante
ClientVehicleRetrieved(vehicle, plate)Dopo aver tirato fuori un veicolo, es. dare le chiavi
ClientVehicleStored(plate)Dopo aver parcheggiato un veicolo, es. togliere le chiavi
ClientGetSkin() / ClientApplyOutfit(clothes) / ClientRestoreOutfit()Script vestiti per il guardaroba
ClientActionMenu(title, actions, onSelect)Menu F6 (predefinito: menu ESX Default)
ClientIsCuffed()Controllo manette durante la perquisizione (manette e animazioni tue)
ClientCuffChanged(kind)Manette proprie messe o tolte, es. bloccare il telefono
ClientGangwarDeath() / ClientGangwarRespawn()Morte e respawn nel gangwar, es. nascondere lo script ambulance
ClientRestoreLoadout(loadout)Dare e restituire le armi nel gangwar
ClientGangwarVehicleMenu(vehicles, onSelect)Menu veicoli del garage gangwar
ClientGangwarVehicleSpawned(vehicle, plate)Veicolo gangwar spawnato, es. dare le chiavi
ServerLevelUp(faction, level)La fazione sale di livello
ServerVehicleBought(faction, model, plate)Veicolo comprato
ServerGangwarStarted(zone, attacker, defender)Il gangwar inizia
ServerGangwarEnded(zone, attacker, defender, outcome)Gangwar terminato (outcome dal punto di vista dell'attaccante)
ServerVehicleImpounded(source, plate)Veicolo sequestrato, es. collegare un altro script garage
ServerCuffedDisconnect(source, xPlayer, kind, reason)Un giocatore ammanettato lascia il server, es. prigione

config/settings/config.server.lua e lingue

Webhook Discord per area (creator, members, money, garage, storage, wardrobe, level, gangwar, actions), url = '' disattiva un log. Tutti i testi sono in config/locales/ (un file per lingua).

In gioco

  • Creator (/fraktionen): crea una fazione, imposta i luoghi con Usa la mia posizione, marker, NPC e blip con Personalizza, e in Impostazioni attiva sistema livelli, garage, magazzino, gangwar e le azioni del menu F6. Solo Salva applica tutto. In alto passi a Candidature e Zone Gangwar.
  • Personalizza NPC: scegli un modello da una lista di immagini di tutti i ped di GTA (ricerca e categorie), più scenario e direzione dello sguardo, tutto con anteprima live in gioco. Un ped addon lo scegli scrivendo il nome esatto del modello nella ricerca.
  • Stile veicolo (Creator → Veicoli): prefisso targa fino a 5 caratteri, es. BALLA diventa BALLA 48. Se il prefisso cambia, al salvataggio tutti i veicoli della fazione ricevono una nuova targa e i veicoli tirati fuori vengono rimossi. In più vernice nel colore della fazione, tuning massimo, vetri oscurati e xeno nel colore della fazione.
  • GPS (Creator → Impostazioni): i membri si vedono a vicenda sulla mappa. L'icona cambia in base allo stato, colori e icone sono in gps.types. Il blip mostra la direzione solo a piedi e mentre nuoti, le icone dei veicoli restano sempre dritte.
  • Chiavi: chi tira fuori un veicolo di fazione può chiuderlo e aprirlo con U (modificabile nelle impostazioni dei tasti di FiveM). Con vehicleKeys.shared = true possono farlo tutti i membri.
  • Candidature: i punti candidatura li crei nel creator in Candidature (fino a 20), come NPC o marker e, se vuoi, con blip per tutti i giocatori. Valgono per tutte le fazioni. Al punto, E apre la lista di tutte le fazioni che accettano candidature, lì invii un testo. La tua fazione non è nella lista. I membri con il permesso Invitare membri ricevono un messaggio e vedono la candidatura nel menu boss in Membri → Candidature. Lì si possono anche chiudere le candidature. Accettare funziona anche se il giocatore è offline.
  • Registri (menu boss, pulsante in basso): tutto ciò che succede nella fazione, es. depositi e prelievi, veicoli tirati fuori, parcheggiati o comprati, magazzino, guardaroba, membri, candidature, shop gangwar e livello. Gli attacchi gangwar non ci sono. Visibile alla direzione e ai gradi con il permesso Vedere registri.
  • Luoghi: al menu boss, garage, magazzino, guardaroba e ascensore, E apre il menu.
  • Menu azioni (F6): agisce sul giocatore o sul veicolo proprio davanti a te.
  • Manette rigide: solo guardarsi intorno. Manette morbide: camminare, ma non correre, saltare o attaccare. Selezionarle di nuovo le toglie.
  • Perquisire: solo giocatori ammanettati, puoi solo prendere.
  • Scortare: porti un giocatore ammanettato davanti a te. Mettere nel veicolo / Far scendere dal veicolo per gli ammanettati.
  • Veicolo: lavare, riparare, sequestrare (i veicoli privati finiscono nel deposito di off_garage) e identificare. X annulla.
  • Gangwar: al punto gangwar, E apre il menu. Una fazione mette in coda una zona, un'altra accetta. Entri con E al punto gangwar.
  • Limite di tempo: parte subito, punti per kill, respawn, si può entrare fino alla fine.
  • First Contact: tempo per entrare nella lobby, poi una vita per giocatore.

Per sviluppatori

lua
exports.off_faction:AddXP('vagos', 250)
exports.off_faction:SetLevel('vagos', 5, 0)
local level, xp, needXp = exports.off_faction:GetLevel('vagos')
local faction = exports.off_faction:GetFaction('vagos')
local list = exports.off_faction:GetFactions()
local isFaction = exports.off_faction:IsFaction('vagos')
local name, grade = exports.off_faction:GetPlayerFaction(source)
local allowed = exports.off_faction:HasPermission(source, 'withdraw')
exports.off_faction:AddBalance('vagos', 5000, 'Ricompensa')
exports.off_faction:RemoveBalance('vagos', 5000, 'Strafe')
  • Tutti gli export sono lato server.
  • Evento server off_faction:levelUp con (faction, level) alla salita di livello.
  • Statebag: offGangwar (ID della zona nel gangwar), offCuffed ('hard', 'soft' o false), offEscorted (ID server di chi scorta).

Problemi comuni

All'avvio lo script segnala errori e avvisi nella console del server.

ProblemaSoluzione
«Esiste già un job ESX con questo nome»Scegli un altro nome, i job esistenti non vengono ripresi.
Nessuno vede il marker o l'NPCSolo i membri vedono i luoghi. Imposta la posizione e salva, controlla il grado minimo.
Il guardaroba non vesteAvvia skinchanger/esx_skin o adatta le funzioni dei vestiti.
F6 non apre nessun menuIn Impostazioni attiva un'azione, avvia esxmenudefault.
Un veicolo manca nel garageNel creator, in Garage, assegnalo al garage. I veicoli senza garage sono in tutti i garage. Se ha un prezzo, la direzione deve prima comprare il veicolo nel menu boss.
Il GPS non mostra nessunoNel creator, in Impostazioni, attiva GPS. Mostra solo i membri online.
U non chiudeSolo chi ha tirato fuori il veicolo, oppure tutti con vehicleKeys.shared = true. Controlla il tasto nelle impostazioni dei tasti di FiveM.
La candidatura manca nel menu bossCompare solo nel menu boss della fazione a cui ci si è candidati, e solo per i gradi con il permesso Invitare membri.
La pagina dei log è vuotaImposta l'area su true in bossLogs. Le voci vengono create solo da adesso, le azioni precedenti non ci sono.
«Al momento i Gangwar non sono consentiti»Orario fuori da times. Per sempre: times = {}.
Nel gangwar lo script ambulance rianimaDisattiva la schermata di morte in ClientGangwarDeath.

Non l’hai ancora acquistato?

Vedi Faction nel negozio