Kompletny przewodnik po moddingu DayZ
Kompleksowa dokumentacja moddingu DayZ — 92 rozdzialy, od zera do opublikowanego moda.
Kompletny indeks stron
Czesc 1: Jezyk Enforce Script (13 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 1.1 | Zmienne i typy | Typy prymitywne, deklaracja zmiennych, konwersje i wartosci domyslne |
| 1.2 | Tablice, mapy i zbiory | Kolekcje danych: array, map, set — iteracja, wyszukiwanie, sortowanie |
| 1.3 | Klasy i dziedziczenie | Definicja klas, dziedziczenie, konstruktory, polimorfizm |
| 1.4 | Klasy modded | System modded class, nadpisywanie metod, wywolania super |
| 1.5 | Sterowanie przeplywem | If/else, switch, petle while/for, break, continue |
| 1.6 | Operacje na lancuchach | Manipulacja lancuchami, formatowanie, wyszukiwanie, porownywanie |
| 1.7 | Matematyka i wektory | Funkcje matematyczne, wektory 3D, odleglosci, kierunki |
| 1.8 | Zarzadzanie pamiecia | Zliczanie referencji, ref, zapobieganie wyciekom, cykle referencji |
| 1.9 | Rzutowanie i refleksja | Rzutowanie typow, Class.CastTo, sprawdzanie typu w czasie wykonania |
| 1.10 | Enumeracje i preprocesor | Wyliczenia, #ifdef, #define, kompilacja warunkowa |
| 1.11 | Obsluga bledow | Wzorce obslugi bledow bez try/catch, guard clauses |
| 1.12 | Czego NIE MA | 30+ pulapek i ograniczen jezyka Enforce Script |
| 1.13 | Funkcje i metody | Deklaracja funkcji, parametry, zwracane wartosci, static, proto |
Czesc 2: Struktura moda (6 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 2.1 | Hierarchia 5 warstw | 5 warstw skryptow DayZ i kolejnosc kompilacji |
| 2.2 | config.cpp szczegolowo | Pelna struktura config.cpp, CfgPatches, CfgMods |
| 2.3 | mod.cpp i Workshop | Plik mod.cpp, publikowanie na Steam Workshop |
| 2.4 | Twoj pierwszy mod | Minimalny funkcjonalny mod — podstawowe pliki i struktura |
| 2.5 | Organizacja plikow | Konwencje nazewnictwa, zalecana struktura folderow |
| 2.6 | Architektura serwer/klient | Rozdzielenie kodu serwera i klienta, bezpieczenstwo |
Czesc 3: System GUI i uklad (10 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 3.1 | Typy widgetow | Wszystkie dostepne typy widgetow: tekst, obraz, przycisk itd. |
| 3.2 | Format plikow layout | Struktura plikow XML .layout dla interfejsow |
| 3.3 | Wymiarowanie i pozycjonowanie | System wspolrzednych, flagi rozmiaru, zakotwiczenie |
| 3.4 | Kontenery | Widgety kontenerowe: WrapSpacer, GridSpacer, ScrollWidget |
| 3.5 | Tworzenie programowe | Tworzenie widgetow kodem, GetWidgetUnderCursor, SetHandler |
| 3.6 | Obsluga zdarzen | Callbacki UI: OnClick, OnChange, OnMouseEnter |
| 3.7 | Style, czcionki i obrazy | Dostepne czcionki, style, ladowanie obrazow |
| 3.8 | Dialogi i okna modalne | Tworzenie dialogow, menu modalne, potwierdzenia |
| 3.9 | Prawdziwe wzorce UI | Wzorce UI z COT, VPP, Expansion, Dabs Framework |
| 3.10 | Zaawansowane widgety | MapWidget, RenderTargetWidget, specjalizowane widgety |
Czesc 4: Formaty plikow i narzedzia (8 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 4.1 | Tekstury | Formaty .paa, .edds, .tga — konwersja i uzycie |
| 4.2 | Modele 3D | Format .p3d, LODy, geometria, punkty pamieci |
| 4.3 | Materialy | Pliki .rvmat, shadery, wlasciwosci powierzchni |
| 4.4 | Dzwiek | Formaty .ogg i .wss, konfiguracja dzwieku |
| 4.5 | DayZ Tools | Przepyw pracy z oficjalnymi DayZ Tools |
| 4.6 | Pakowanie PBO | Tworzenie i ekstrakcja plikow PBO |
| 4.7 | Przewodnik po Workbench | Uzycie Workbench do edycji skryptow i assetow |
| 4.8 | Modelowanie budynkow | Modelowanie budynkow z drzwiami i drabinami |
Czesc 5: Pliki konfiguracyjne (6 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 5.1 | stringtable.csv | Lokalizacja za pomoca stringtable.csv dla 13 jezykow |
| 5.2 | inputs.xml | Konfiguracja klawiszy i wlasne skroty klawiszowe |
| 5.3 | credits.json | Plik creditow moda |
| 5.4 | ImageSets | Format ImageSet dla ikon i spritow |
| 5.5 | Konfiguracja serwera | Pliki konfiguracyjne serwera DayZ |
| 5.6 | Konfiguracja spawnu | Konfiguracja poczatkowego wyposazenia i punktow spawnu |
Czesc 6: Dokumentacja API silnika (23 rozdzialy)
| # | Rozdzial | Opis |
|---|---|---|
| 6.1 | System encji | Hierarchia encji, EntityAI, ItemBase, Object |
| 6.2 | System pojazdow | API pojazdow, silniki, plyny, symulacja fizyki |
| 6.3 | System pogody | Sterowanie pogoda, deszcz, mgla, zachmurzenie |
| 6.4 | System kamer | Wlasne kamery, pozycja, rotacja, przejscia |
| 6.5 | Efekty post-processingu | PPE: rozmycie, aberracja chromatyczna, korekcja kolorow |
| 6.6 | System powiadomien | Powiadomienia na ekranie, wiadomosci dla graczy |
| 6.7 | Timery i CallQueue | Liczniki czasu, opoznione wywolania, powtarzanie |
| 6.8 | Plikowe I/O i JSON | Odczyt/zapis plikow, parsowanie JSON |
| 6.9 | Siec i RPC | Komunikacja sieciowa, RPC, synchronizacja klient-serwer |
| 6.10 | Centralna ekonomia | System lootu, kategorie, flagi, min/max |
| 6.11 | Hooki misji | Hooki misji, MissionBase, MissionServer |
| 6.12 | System akcji | Akcje gracza, ActionBase, cele, warunki |
| 6.13 | System wejscia | Przechwytywanie klawiszy, mapowanie, UAInput |
| 6.14 | System gracza | PlayerBase, ekwipunek, zdrowie, stamina, statystyki |
| 6.15 | System dzwieku | Odtwarzanie audio, SoundOnVehicle, otoczenie |
| 6.16 | System craftowania | Receptury craftowania, skladniki, wyniki |
| 6.17 | System budowania | Budowanie bazy, czesci konstrukcyjne, stany |
| 6.18 | System animacji | Animacja gracza, ID komend, callbacki |
| 6.19 | Zapytania o teren | Raycasty, pozycja na terenie, powierzchnie |
| 6.20 | Efekty czasteczkowe | System czastek, emitery, efekty wizualne |
| 6.21 | System zombie i AI | ZombieBase, AI zarazonych, zachowanie |
| 6.22 | Admin i serwer | Zarzadzanie serwerem, bany, kicki, RCON |
| 6.23 | Systemy swiata | Pora dnia, data, funkcje swiata |
Czesc 7: Wzorce i najlepsze praktyki (7 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 7.1 | Wzorzec Singleton | Pojedyncze instancje, globalny dostep, inicjalizacja |
| 7.2 | Systemy modulow | Rejestracja modulow, cykl zycia, moduly CF |
| 7.3 | Komunikacja RPC | Wzorce dla bezpiecznych i wydajnych RPC |
| 7.4 | Trwalosc konfiguracji | Zapis/odczyt konfiguracji JSON, wersjonowanie |
| 7.5 | Systemy uprawnien | Hierarchiczne uprawnienia, wildcards, grupy |
| 7.6 | Architektura zdarzeniowa | Event bus, publish/subscribe, rozlaczanie |
| 7.7 | Optymalizacja wydajnosci | Profilowanie, cache, pooling, redukcja RPC |
Czesc 8: Samouczki (13 rozdzialow)
| # | Rozdzial | Opis |
|---|---|---|
| 8.1 | Twoj pierwszy mod (Hello World) | Krok po kroku: stworz i zaladuj mod |
| 8.2 | Tworzenie wlasnego przedmiotu | Stworz przedmiot z modelem, tekstura i konfiguracja |
| 8.3 | Budowanie panelu admina | UI admina z teleportem, spawnem, zarzadzaniem |
| 8.4 | Dodawanie komend czatu | Wlasne komendy w czacie gry |
| 8.5 | Uzywanie szablonu moda | Jak uzywac oficjalnego szablonu modow DayZ |
| 8.6 | Debugowanie i testowanie | Logi, debug, narzedzia diagnostyczne |
| 8.7 | Publikowanie na Workshop | Opublikuj swoj mod na Steam Workshop |
| 8.8 | Budowanie HUD overlay | Wlasny HUD overlay nad gra |
| 8.9 | Profesjonalny szablon moda | Kompletny szablon gotowy do produkcji |
| 8.10 | Tworzenie moda pojazdu | Wlasny pojazd z fizyka i konfiguracja |
| 8.11 | Tworzenie moda ubran | Wlasne ubrania z teksturami i slotami |
| 8.12 | Budowanie systemu handlu | System handlu miedzy graczami/NPC |
| 8.13 | Dokumentacja Diag Menu | Menu diagnostyczne do tworzenia modow |
Szybka dokumentacja
| Strona | Opis |
|---|---|
| Sciagawka | Szybki przeglad skladni Enforce Script |
| Szybka dokumentacja API | Najczesciej uzywane metody API silnika |
| Slownik | Definicje terminow uzywanych w moddingu DayZ |
| FAQ | Czesto zadawane pytania o modding |
| Rozwiazywanie problemow | 91 typowych problemow z rozwiazaniami |
Autorzy
| Deweloper | Projekty | Glowne wklady |
|---|---|---|
| Jacob_Mango | Community Framework, COT | System modulow, RPC, uprawnienia, ESP |
| InclementDab | Dabs Framework, DayZ Editor, Mod Template | MVC, ViewBinding, UI edytora |
| salutesh | DayZ Expansion | Rynek, grupy, znaczniki mapy, pojazdy |
| Arkensor | DayZ Expansion | Centralna ekonomia, wersjonowanie ustawien |
| DaOne | VPP Admin Tools | Zarzadzanie graczami, webhooks, ESP |
| GravityWolf | VPP Admin Tools | Uprawnienia, zarzadzanie serwerem |
| Brian Orr (DrkDevil) | Colorful UI | Motywy kolorystyczne, wzorce modded class UI |
| lothsun | Colorful UI | Systemy kolorow UI, ulepszenia wizualne |
| Bohemia Interactive | DayZ Engine & Samples | Enforce Script, skrypty vanilla, DayZ Tools |
| StarDZ Team | Ta wiki | Dokumentacja, tlumaczenie i organizacja |
Licencja
Dokumentacja jest licencjonowana na CC BY-SA 4.0. Przyklady kodu sa licencjonowane na MIT.












