Skip to content

Kompletny przewodnik po moddingu DayZ

Kompleksowa dokumentacja moddingu DayZ — 92 rozdzialy, od zera do opublikowanego moda.

EnglishPortuguesDeutschRusskiEspanolFrancaisNihongoJiantizi ZhongwenCestinaPolskiMagyarItaliano


Kompletny indeks stron

Czesc 1: Jezyk Enforce Script (13 rozdzialow)

#RozdzialOpis
1.1Zmienne i typyTypy prymitywne, deklaracja zmiennych, konwersje i wartosci domyslne
1.2Tablice, mapy i zbioryKolekcje danych: array, map, set — iteracja, wyszukiwanie, sortowanie
1.3Klasy i dziedziczenieDefinicja klas, dziedziczenie, konstruktory, polimorfizm
1.4Klasy moddedSystem modded class, nadpisywanie metod, wywolania super
1.5Sterowanie przeplywemIf/else, switch, petle while/for, break, continue
1.6Operacje na lancuchachManipulacja lancuchami, formatowanie, wyszukiwanie, porownywanie
1.7Matematyka i wektoryFunkcje matematyczne, wektory 3D, odleglosci, kierunki
1.8Zarzadzanie pamieciaZliczanie referencji, ref, zapobieganie wyciekom, cykle referencji
1.9Rzutowanie i refleksjaRzutowanie typow, Class.CastTo, sprawdzanie typu w czasie wykonania
1.10Enumeracje i preprocesorWyliczenia, #ifdef, #define, kompilacja warunkowa
1.11Obsluga bledowWzorce obslugi bledow bez try/catch, guard clauses
1.12Czego NIE MA30+ pulapek i ograniczen jezyka Enforce Script
1.13Funkcje i metodyDeklaracja funkcji, parametry, zwracane wartosci, static, proto

Czesc 2: Struktura moda (6 rozdzialow)

#RozdzialOpis
2.1Hierarchia 5 warstw5 warstw skryptow DayZ i kolejnosc kompilacji
2.2config.cpp szczegolowoPelna struktura config.cpp, CfgPatches, CfgMods
2.3mod.cpp i WorkshopPlik mod.cpp, publikowanie na Steam Workshop
2.4Twoj pierwszy modMinimalny funkcjonalny mod — podstawowe pliki i struktura
2.5Organizacja plikowKonwencje nazewnictwa, zalecana struktura folderow
2.6Architektura serwer/klientRozdzielenie kodu serwera i klienta, bezpieczenstwo

Czesc 3: System GUI i uklad (10 rozdzialow)

#RozdzialOpis
3.1Typy widgetowWszystkie dostepne typy widgetow: tekst, obraz, przycisk itd.
3.2Format plikow layoutStruktura plikow XML .layout dla interfejsow
3.3Wymiarowanie i pozycjonowanieSystem wspolrzednych, flagi rozmiaru, zakotwiczenie
3.4KonteneryWidgety kontenerowe: WrapSpacer, GridSpacer, ScrollWidget
3.5Tworzenie programoweTworzenie widgetow kodem, GetWidgetUnderCursor, SetHandler
3.6Obsluga zdarzenCallbacki UI: OnClick, OnChange, OnMouseEnter
3.7Style, czcionki i obrazyDostepne czcionki, style, ladowanie obrazow
3.8Dialogi i okna modalneTworzenie dialogow, menu modalne, potwierdzenia
3.9Prawdziwe wzorce UIWzorce UI z COT, VPP, Expansion, Dabs Framework
3.10Zaawansowane widgetyMapWidget, RenderTargetWidget, specjalizowane widgety

Czesc 4: Formaty plikow i narzedzia (8 rozdzialow)

#RozdzialOpis
4.1TeksturyFormaty .paa, .edds, .tga — konwersja i uzycie
4.2Modele 3DFormat .p3d, LODy, geometria, punkty pamieci
4.3MaterialyPliki .rvmat, shadery, wlasciwosci powierzchni
4.4DzwiekFormaty .ogg i .wss, konfiguracja dzwieku
4.5DayZ ToolsPrzepyw pracy z oficjalnymi DayZ Tools
4.6Pakowanie PBOTworzenie i ekstrakcja plikow PBO
4.7Przewodnik po WorkbenchUzycie Workbench do edycji skryptow i assetow
4.8Modelowanie budynkowModelowanie budynkow z drzwiami i drabinami

Czesc 5: Pliki konfiguracyjne (6 rozdzialow)

#RozdzialOpis
5.1stringtable.csvLokalizacja za pomoca stringtable.csv dla 13 jezykow
5.2inputs.xmlKonfiguracja klawiszy i wlasne skroty klawiszowe
5.3credits.jsonPlik creditow moda
5.4ImageSetsFormat ImageSet dla ikon i spritow
5.5Konfiguracja serweraPliki konfiguracyjne serwera DayZ
5.6Konfiguracja spawnuKonfiguracja poczatkowego wyposazenia i punktow spawnu

Czesc 6: Dokumentacja API silnika (23 rozdzialy)

#RozdzialOpis
6.1System encjiHierarchia encji, EntityAI, ItemBase, Object
6.2System pojazdowAPI pojazdow, silniki, plyny, symulacja fizyki
6.3System pogodySterowanie pogoda, deszcz, mgla, zachmurzenie
6.4System kamerWlasne kamery, pozycja, rotacja, przejscia
6.5Efekty post-processinguPPE: rozmycie, aberracja chromatyczna, korekcja kolorow
6.6System powiadomienPowiadomienia na ekranie, wiadomosci dla graczy
6.7Timery i CallQueueLiczniki czasu, opoznione wywolania, powtarzanie
6.8Plikowe I/O i JSONOdczyt/zapis plikow, parsowanie JSON
6.9Siec i RPCKomunikacja sieciowa, RPC, synchronizacja klient-serwer
6.10Centralna ekonomiaSystem lootu, kategorie, flagi, min/max
6.11Hooki misjiHooki misji, MissionBase, MissionServer
6.12System akcjiAkcje gracza, ActionBase, cele, warunki
6.13System wejsciaPrzechwytywanie klawiszy, mapowanie, UAInput
6.14System graczaPlayerBase, ekwipunek, zdrowie, stamina, statystyki
6.15System dzwiekuOdtwarzanie audio, SoundOnVehicle, otoczenie
6.16System craftowaniaReceptury craftowania, skladniki, wyniki
6.17System budowaniaBudowanie bazy, czesci konstrukcyjne, stany
6.18System animacjiAnimacja gracza, ID komend, callbacki
6.19Zapytania o terenRaycasty, pozycja na terenie, powierzchnie
6.20Efekty czasteczkoweSystem czastek, emitery, efekty wizualne
6.21System zombie i AIZombieBase, AI zarazonych, zachowanie
6.22Admin i serwerZarzadzanie serwerem, bany, kicki, RCON
6.23Systemy swiataPora dnia, data, funkcje swiata

Czesc 7: Wzorce i najlepsze praktyki (7 rozdzialow)

#RozdzialOpis
7.1Wzorzec SingletonPojedyncze instancje, globalny dostep, inicjalizacja
7.2Systemy modulowRejestracja modulow, cykl zycia, moduly CF
7.3Komunikacja RPCWzorce dla bezpiecznych i wydajnych RPC
7.4Trwalosc konfiguracjiZapis/odczyt konfiguracji JSON, wersjonowanie
7.5Systemy uprawnienHierarchiczne uprawnienia, wildcards, grupy
7.6Architektura zdarzeniowaEvent bus, publish/subscribe, rozlaczanie
7.7Optymalizacja wydajnosciProfilowanie, cache, pooling, redukcja RPC

Czesc 8: Samouczki (13 rozdzialow)

#RozdzialOpis
8.1Twoj pierwszy mod (Hello World)Krok po kroku: stworz i zaladuj mod
8.2Tworzenie wlasnego przedmiotuStworz przedmiot z modelem, tekstura i konfiguracja
8.3Budowanie panelu adminaUI admina z teleportem, spawnem, zarzadzaniem
8.4Dodawanie komend czatuWlasne komendy w czacie gry
8.5Uzywanie szablonu modaJak uzywac oficjalnego szablonu modow DayZ
8.6Debugowanie i testowanieLogi, debug, narzedzia diagnostyczne
8.7Publikowanie na WorkshopOpublikuj swoj mod na Steam Workshop
8.8Budowanie HUD overlayWlasny HUD overlay nad gra
8.9Profesjonalny szablon modaKompletny szablon gotowy do produkcji
8.10Tworzenie moda pojazduWlasny pojazd z fizyka i konfiguracja
8.11Tworzenie moda ubranWlasne ubrania z teksturami i slotami
8.12Budowanie systemu handluSystem handlu miedzy graczami/NPC
8.13Dokumentacja Diag MenuMenu diagnostyczne do tworzenia modow

Szybka dokumentacja

StronaOpis
SciagawkaSzybki przeglad skladni Enforce Script
Szybka dokumentacja APINajczesciej uzywane metody API silnika
SlownikDefinicje terminow uzywanych w moddingu DayZ
FAQCzesto zadawane pytania o modding
Rozwiazywanie problemow91 typowych problemow z rozwiazaniami

Autorzy

DeweloperProjektyGlowne wklady
Jacob_MangoCommunity Framework, COTSystem modulow, RPC, uprawnienia, ESP
InclementDabDabs Framework, DayZ Editor, Mod TemplateMVC, ViewBinding, UI edytora
saluteshDayZ ExpansionRynek, grupy, znaczniki mapy, pojazdy
ArkensorDayZ ExpansionCentralna ekonomia, wersjonowanie ustawien
DaOneVPP Admin ToolsZarzadzanie graczami, webhooks, ESP
GravityWolfVPP Admin ToolsUprawnienia, zarzadzanie serwerem
Brian Orr (DrkDevil)Colorful UIMotywy kolorystyczne, wzorce modded class UI
lothsunColorful UISystemy kolorow UI, ulepszenia wizualne
Bohemia InteractiveDayZ Engine & SamplesEnforce Script, skrypty vanilla, DayZ Tools
StarDZ TeamTa wikiDokumentacja, tlumaczenie i organizacja

Licencja

Dokumentacja jest licencjonowana na CC BY-SA 4.0. Przyklady kodu sa licencjonowane na MIT.

Released under CC BY-SA 4.0 | Code examples under MIT License