Przejdź do treści
Cała dokumentacja

Faction

Frakcje, które tworzysz w całości w grze: każda frakcja to prawdziwy job z menu szefa, garażami, magazynami, szafą, windą, poziomami, menu akcji i systemem gangwaru. Tabele skrypt tworzy sam.

Wymagania
  • ESX Legacy (es_extended, testowane z 1.14)
  • oxmysql
  • OneSync
  • Do szafy: skinchanger i esx_skin (lub własne funkcje w config/functions.lua)
  • Do menu F6 i menu pojazdów gangwaru: esxmenudefault (lub własne menu przez ClientActionMenu i ClientGangwarVehicleMenu)

Funkcje

  • Kreator (/fraktionen): Tworzysz w grze frakcje z rangami, pensją, pojazdami, miejscami (marker lub NPC), blipami i dostępem od danej rangi.
  • Menu szefa: Zarządzanie członkami, kasa z historią, kupno pojazdów, uprawnienia dla każdej rangi, podania i logi.
  • Podania: Gracze składają podania do frakcji w punktach podań (NPC lub marker z kreatora), zarząd przyjmuje lub odrzuca je w menu szefa.
  • GPS: Członkowie widzą się na mapie, z osobną ikoną pieszo, w aucie, na motocyklu lub rowerze, w łodzi, helikopterze lub samolocie, podczas pływania i po śmierci (wł./wył. dla każdej frakcji).
  • Pojazdy frakcji ze stylem: własny prefiks tablicy, lakier i xenon w kolorze frakcji, maksymalny tuning i przyciemniane szyby. Z kluczykiem do zamykania i otwierania.
  • Garaże i magazyny: do 10 każdego rodzaju na frakcję, dostęp od danej rangi.
  • Szafa, winda (do 10 pięter) i poziomy z XP (wł./wył. dla każdej frakcji).
  • Menu akcji (F6): Kajdanki, przeszukiwanie, identyfikacja, prowadzenie i akcje na pojazdach, do wyboru dla każdej frakcji.
  • Gangwar: Strefy tworzone w grze, tryby Limit czasu i First Contact, własny wymiar, sklep i ranking.
  • Logi na Discordzie dla wszystkich obszarów.

Instalacja

  1. Wrzuć folder off_faction do resources.
  2. Dodaj do server.cfg po oxmysql i ESX:
cfg
ensure oxmysql
ensure es_extended
ensure off_faction
  1. Otwórz /fraktionen, utwórz frakcję i ustaw zarząd przez /setjob <ID> <name> <ranga> (najwyższa ranga = liczba rang − 1).
Nazwy jobów

Nazwa frakcji jest jednocześnie nazwą joba (2–20 znaków, a–z, 0–9, _) i potem nie da się jej zmienić. Jeśli taki job już istnieje, frakcji nie da się utworzyć.

Konfiguracja

config/settings/config.lua

OpcjaDomyślnieOpis
serverInfo.name'OFF SCRIPTS'Nazwa serwera, widoczna w interfejsie zamiast „OFF SCRIPTS”
serverInfo.locale'de'Język: de, en, pl, fr, es lub it
serverInfo.color{ 155, 89, 255 }Kolor UI (RGB)
serverInfo.design3Wygląd interfejsu: 1 = Klasyczny, 2 = Paragon, 3 = Storefront
blurtrueRozmyte tło, dopóki menu jest otwarte. Kreator zostaje ostry (podgląd)
creator.command'fraktionen'Komenda kreatora
creator.groups{ 'projektleitung' }Grupy z dostępem do kreatora frakcji
creator.zoneGroups{ 'projektleitung' }Grupy z dostępem do kreatora stref gangwaru
inviteSeconds60Sekundy do wygaśnięcia zaproszenia
storeRange25.0Maks. odległość przy chowaniu pojazdu (metry)
plateFormat'LLL NNN'Tablica: L = litera, N = cyfra, działa tylko bez prefiksu w kreatorze
applications.cooldown / maxOpen24 / 3Godziny blokady po odrzuceniu, maks. liczba otwartych podań na gracza
gps.interval / scale2 / 0.8Sekundy między aktualizacjami GPS, rozmiar blipów
gps.showSelftruetrue = widzisz też swój własny blip GPS
gps.typespatrz pliksprite i color dla każdego stanu: foot, swim, car, bike, bicycle, boat, heli, plane, dead (domyślnie biały, po śmierci czerwony)
vehicleKeys.enabled / key / rangetrue / 'U' / 10.0System kluczyków, domyślny klawisz, zasięg w metrach
vehicleKeys.sharedfalsetrue = wszyscy członkowie mogą zamykać i otwierać wyjęte pojazdy frakcji
bossLogs.days30Przez tyle dni logi są przechowywane w menu szefa
bossLogs.<obszar>true (akcje false)Które obszary pokazuje strona logów: members, money, garage, storage, wardrobe, gangwarShop, level, actions
levels.max / base / growth50 / 1000 / 1.15XP na poziom = base × growth ^ (Level − 1)
levels.tiers5 progówZ systemem poziomów: miejsca na stroje i kg magazynu od danego poziomu
outfitSlots10Miejsca na stroje bez systemu poziomów
weaponWeight2.0Waga jednej broni w magazynie
itemImagesobrazki off_inventoryŚcieżka obrazków przedmiotów w magazynie, %s = nazwa przedmiotu
marker / blipspatrz plikDomyślne dla nowych miejsc, w kreatorze do zmiany dla każdego miejsca. blips.enabled = false wyłącza wszystkie blipy

config/settings/config.gangwar.lua

OpcjaDomyślnieOpis
times18:00 – 22:00Dozwolone godziny (czas serwera), puste = zawsze
joinSeconds60First Contact: czas na dołączenie w lobby. Limit czasu startuje od razu
respawnSeconds10Sekundy do respawnu
lobbyRadius15.0Rozmiar lobby wokół spawnu (metry)
players.min / max1 / 0Gracze na stronę (min tylko First Contact, max = 0 = bez limitu)
killPoints3Limit czasu: punkty za zabójstwo
modes.<tryb>.duration25 / 15Czas trwania w minutach
cooldowns1 / 0 / 1Minuty: attack (przerwa frakcji), zone (blokada strefy), queue (do wygaśnięcia kolejki), 0 = wył.
rewardspatrz plikPunkty gangwaru i XP za win, lose, draw i forfeit
weaponswył.enabled = true: tylko te bronie w gangwarze, własne wracają po nim
vehicles / shoppatrz plikPojazdy garaży gangwaru i artykuły w sklepie

config/settings/config.actions.lua

OpcjaDomyślnieOpis
command / key'fraktionsmenu' / 'F6'Komenda (/off_faction:fraktionsmenu) i domyślny klawisz menu akcji
reach3.0Jak blisko przed tobą musi być gracz lub pojazd (metry)
search.requireCuffedtruePrzeszukiwanie tylko skutych graczy
search.accounts{ 'money', 'black_money' }Konta, z których można zabierać podczas przeszukiwania
cuffedAnimspatrz plikAnimacje, po których ClientIsCuffed rozpoznaje skutych
identifypatrz plikCzas wyświetlania i jakie pola pojawiają się dla gracza i pojazdu
animationspatrz plikAnimacja i czas trwania dla każdej akcji

config/functions.lua

Tutaj podłączasz własne skrypty. Błędy w nich trafiają do konsoli, skrypt działa dalej.

FunkcjaDo czego
Notify(message, type) / HelpNotify(text)Powiadomienie i tekst pomocy · Serwer: Notify(source, message, type)
ClientGetFuel(vehicle) / ClientSetFuel(vehicle, fuel)Skrypt paliwa
ClientVehicleRetrieved(vehicle, plate)Po wyjęciu pojazdu z garażu, np. daj kluczyki
ClientVehicleStored(plate)Po schowaniu pojazdu, np. zabierz kluczyki
ClientGetSkin() / ClientApplyOutfit(clothes) / ClientRestoreOutfit()Skrypt ubrań dla szafy
ClientActionMenu(title, actions, onSelect)Menu F6 (domyślnie: menu ESX Default)
ClientIsCuffed()Sprawdzanie skucia przy przeszukiwaniu (własne kajdanki i animacje)
ClientCuffChanged(kind)Własne kajdanki założone lub zdjęte, np. zablokuj telefon
ClientGangwarDeath() / ClientGangwarRespawn()Śmierć i respawn w gangwarze, np. ukryj skrypt ambulance
ClientRestoreLoadout(loadout)Dawanie i oddawanie broni w gangwarze
ClientGangwarVehicleMenu(vehicles, onSelect)Menu pojazdów w garażu gangwaru
ClientGangwarVehicleSpawned(vehicle, plate)Pojazd gangwaru zespawnowany, np. daj kluczyki
ServerLevelUp(faction, level)Frakcja wchodzi na wyższy poziom
ServerVehicleBought(faction, model, plate)Pojazd kupiony
ServerGangwarStarted(zone, attacker, defender)Gangwar się zaczyna
ServerGangwarEnded(zone, attacker, defender, outcome)Gangwar zakończony (outcome z perspektywy atakującego)
ServerVehicleImpounded(source, plate)Pojazd odholowany, np. podłącz inny skrypt garażu
ServerCuffedDisconnect(source, xPlayer, kind, reason)Skuty gracz opuszcza serwer, np. więzienie

config/settings/config.server.lua i języki

Webhooki Discorda dla każdego obszaru (creator, members, money, garage, storage, wardrobe, level, gangwar, actions), url = '' wyłącza log. Wszystkie teksty są w config/locales/ (jeden plik na język).

W grze

  • Kreator (/fraktionen): Utwórz frakcję, ustaw miejsca przyciskiem Użyj mojej pozycji, markery, NPC i blipy przez Dostosuj, w zakładce Ustawienia włącz system poziomów, garaż, magazyn, gangwar i akcje menu F6. Dopiero Zapisz zapisuje wszystko. Na górze przełączasz na Podania i Strefy Gangwar.
  • Dostosuj NPC: Wybierz model z listy obrazków wszystkich pedów GTA (wyszukiwarka i kategorie), do tego scenariusz i kierunek patrzenia, wszystko z podglądem na żywo w grze. Peda addon wybierasz, wpisując w wyszukiwarkę dokładną nazwę modelu.
  • Styl pojazdów (Kreator → Pojazdy): Prefiks tablicy do 5 znaków, np. BALLA daje BALLA 48. Gdy prefiks się zmieni, przy zapisie wszystkie pojazdy frakcji dostają nową tablicę, a pojazdy wyjęte z garażu zostają usunięte. Do tego lakier w kolorze frakcji, maksymalny tuning, przyciemniane szyby i xenon w kolorze frakcji.
  • GPS (Kreator → Ustawienia): Członkowie widzą się nawzajem na mapie. Ikona zmienia się zależnie od stanu, kolory i ikony są w gps.types. Kierunek patrzenia blip pokazuje tylko pieszo i podczas pływania, ikony pojazdów zawsze stoją prosto.
  • Kluczyki: Kto wyjmie pojazd frakcji z garażu, może go zamykać i otwierać klawiszem U (do zmiany w ustawieniach klawiszy FiveM). Z vehicleKeys.shared = true mogą to robić wszyscy członkowie.
  • Podania: Punkty podań tworzysz w kreatorze w zakładce Podania (do 20), jako NPC lub marker i opcjonalnie z blipem dla wszystkich graczy. Działają dla wszystkich frakcji. W punkcie E otwiera listę wszystkich frakcji, które przyjmują podania, tam wysyłasz tekst. Twojej frakcji nie ma na liście. Członkowie z uprawnieniem Zapraszanie członków dostają wiadomość i widzą podanie w menu szefa w Członkowie → Podania. Tam można też zamknąć podania. Przyjęcie działa także wtedy, gdy gracz jest offline.
  • Logi (menu szefa, dolny przycisk): wszystko, co dzieje się we frakcji, np. wpłaty i wypłaty, pojazdy wyjęte, schowane lub kupione, magazyn, szafa, członkowie, podania, sklep gangwaru i poziom. Ataków gangwaru tam nie ma. Widoczne dla zarządu i rang z uprawnieniem Przeglądanie logów.
  • Miejsca: Przy menu szefa, garażu, magazynie, szafie i windzie E otwiera menu.
  • Menu akcji (F6): Działa na gracza lub pojazd tuż przed tobą.
  • Twarde kajdanki: tylko rozglądanie się. Miękkie kajdanki: chodzenie, ale bez biegania, skakania i atakowania. Ponowny wybór je zdejmuje.
  • Przeszukaj: tylko skutych graczy, możesz tylko zabierać.
  • Prowadź: prowadzisz skutego gracza przed sobą. Wsadź do pojazdu / Wyciągnij z pojazdu dla skutych.
  • Pojazd: umyj, napraw, odholuj (prywatne pojazdy trafiają na parking odholowanych pojazdów off_garage) i zidentyfikuj. X przerywa.
  • Gangwar: W punkcie gangwaru E otwiera menu. Jedna frakcja wystawia strefę, inna przyjmuje wyzwanie. Dołączasz przez E w punkcie gangwaru.
  • Limit czasu: startuje od razu, punkty za zabójstwo, respawn, dołączanie do samego końca.
  • First Contact: czas na dołączenie w lobby, potem jedno życie na gracza.

Dla deweloperów

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, 'Nagroda')
exports.off_faction:RemoveBalance('vagos', 5000, 'Strafe')
  • Wszystkie eksporty działają po stronie serwera.
  • Event serwera off_faction:levelUp z (faction, level) przy awansie na wyższy poziom.
  • Statebagi: offGangwar (ID strefy w gangwarze), offCuffed ('hard', 'soft' lub false), offEscorted (ID serwera prowadzącego).

Częste problemy

Przy starcie skrypt zgłasza błędy i wskazówki w konsoli serwera.

ProblemRozwiązanie
„Praca ESX o tej nazwie już istnieje”Wybierz inną nazwę, istniejące joby nie są przejmowane.
Nikt nie widzi markera ani NPCMiejsca widzą tylko członkowie. Ustaw pozycję i zapisz, sprawdź minimalną rangę.
Szafa niczego nie zakładaUruchom skinchanger/esx_skin lub dostosuj funkcje ubrań.
F6 nie otwiera menuWłącz akcję w Ustawieniach, uruchom esxmenudefault.
Brak pojazdu w garażuW kreatorze w zakładce Garaże przypisz go do garażu. Pojazdy bez garażu są we wszystkich garażach. Jeśli pojazd ma cenę, zarząd musi go najpierw kupić w menu szefa.
GPS nikogo nie pokazujeW kreatorze w Ustawieniach włącz GPS. Pokazuje tylko członków, którzy są online.
U nie zamykaDziała tylko u tego, kto wyjął pojazd, albo u wszystkich przy vehicleKeys.shared = true. Sprawdź klawisz w ustawieniach klawiszy FiveM.
Brak podania w menu szefaJest tylko w menu szefa frakcji, do której złożono podanie, i tylko dla rang z uprawnieniem Zapraszanie członków.
Strona logów jest pustaUstaw obszar w bossLogs na true. Wpisy powstają dopiero od teraz, starszych akcji nie ma.
„Gangwary są teraz niedozwolone”Godzina poza times. Żeby działało zawsze: times = {}.
W gangwarze skrypt ambulance ożywia graczaWyłącz ekran śmierci w ClientGangwarDeath.

Jeszcze nie kupiony?

Zobacz Faction w sklepie