modules/game_new_systemNie budujesz od pustej kartki
Każdy szablon ma gotowe okno OTUI, komunikację, bezpieczny fundament ALS10, model danych i testy brzegowe.
Katalog
Najpierw skanuj projektyKliknij pozycję. Lista pochodzi z aktualnego items.xml albo outfits.xml, więc ID nie są zgadywane.
Brak wyboru
Zaznacz pozycję z katalogu.
UIItem i UICreature w podglądzie gry zawsze używają prawdziwego renderera. Ten przycisk pokazuje ten sam zasób także w Studio.
Klasyfikacja i tiery
Klasyfikacja mówi, jak daleko przedmiot wolno rozwijać. Tier jest poziomem konkretnej sztuki. ALS10 sprawdza wszystko.
Wybrany przedmiot
Własne grafiki modułu
JPG/WebP/BMP są automatycznie zamieniane na PNG i publikowane do standardowego folderu modules/module_name/images.
Plan całego systemu
Najpierw opisz dane, zabezpieczenia i testy. Studio dołączy ten plan do modułu, abyś Ty i Codex zawsze wiedzieli, co jest gotowe.
1. Cel i możliwości
Określ, co system potrafi. To mapa funkcji, nie kod.
2. Model danych
Co serwer musi przechowywać i wysyłać do klienta.
Gotowe bloki użyte w projekcie
Rejestr pokazuje, z czego zbudowano okno, jakie elementy należą do bloku i gdzie znajdują się jego dane testowe.
Stany okna
Jedno okno może wyglądać inaczej podczas ładowania, po otrzymaniu danych, gdy nic nie znaleziono albo wystąpił błąd.
3. Zasady bezpieczeństwa
Reguły, których nie wolno ominąć w logice ALS10.
Przykład: cena, nagroda i uprawnienia są obliczane wyłącznie przez serwer.4. Testy przed publikacją
Lista sytuacji, które trzeba ręcznie sprawdzić w grze.
Dodaj poprawne działanie, błędy, wartości graniczne, reconnect i restart.5. Dane testowe do podglądu
Przykładowa odpowiedź ALS10. Podgląd w grze użyje jej do wypełnienia powiązanych napisów, przedmiotów i pasków postępu.
Poprawny JSON. Dane są tylko demonstracją i nigdy nie przyznają nagród.Co klient wysyła do ALS10?
Wybierz polecenie i opisz każde pole. Studio napisze kontrolę typu, wymaganej wartości oraz limitów po stronie serwera.
Komunikacja
Ustawia bezpieczną wymianę danych między OTClientem i serwerem.
Włącza osobny kanał wiadomości dla tworzonego systemu.Akcje
Stan trwały
Wybierz, gdzie serwer ma zapamiętać postęp gracza.
Rejestrowane zdarzenia
Każdy wpis ma źródło i poziom pewności. „Binding” jest naprawdę dostępny w Lua, „meta” to podpowiedź edytora, a „C++” jest funkcją wewnętrzną i nie wolno wywoływać jej z modułu bez bindingu.
Walidacja
Najpierw sprawdź błędy i kolizje. Dopiero poprawny projekt można pobrać jako gotowy pakiet.
Podgląd WWW
Projektant pokazuje układ, grafiki, kolory, teksty i stany bez instalowania programu.
Po pobraniu ZIP wykonaj końcowy test w DirectX, OpenGL i na testowym ALS10. Reguły gry oraz nagrody zawsze zatwierdza serwer.
Asystent montażu systemu
Po pobraniu ZIP wgraj dwa przygotowane fragmenty najpierw do kopii testowej. Strona pokazuje dokładne miejsca i nigdy nie otrzymuje dostępu do Twojego dysku.
data/scripts/customs/new_system.luaDirectX · OpenGL · ALS10- Rozpakuj ZIP do nowego, pustego katalogu.
- Folder
modulespołącz z katalogiem głównym kopii testowej OTClienta. - Folder
datapołącz z katalogiem głównym kopii testowej ALS10. - Przeczytaj
SYSTEM_GUIDE.md, uzupełnij oznaczone reguły domenowe i uruchom checklistę testów. - Dopiero poprawnie przetestowany system przenieś na produkcję.
Generowane pliki
Jak stworzyć kompletny system
- Skanuj projekty — strona odczyta wszystkie bindingi, funkcje Lua/C++, style OTUI, moduły, eventy, opcode i storage z prywatnej kopii wzorcowej.
- Wybierz szablon albo przeciągnij elementy na obszar Interfejs.
- Otwórz Przedmioty i tiery, aby wybrać prawdziwy item lub outfit, zobaczyć jego ID i statystyki, wgrać dopasowaną grafikę albo skonfigurować serwerowe klasyfikacje.
- Ustaw ID i akcje w panelu Właściwości. Funkcja kliknięcia automatycznie trafia do kontraktu sieciowego.
- Zbuduj przepływ w zakładce Logika: UI → klient → opcode → walidacja serwera → storage/SQL → odpowiedź.
- Ustaw serwer: unikalny opcode, throttling, storage i zdarzenia RevScriptSys.
- Odśwież podgląd — zobaczysz kompletny układ, obrazy i stany bezpośrednio na stronie.
- Sprawdź API i ID. Wyszukiwarka obejmuje aktualny kod obu projektów, nie statyczną listę.
- Generuj i sprawdź wszystko. Publikacja jest odblokowana dopiero bez błędów.
- Pobierz ZIP z plikami OTClienta, ALS10, obrazami i instrukcją, a następnie wdroż go w swoim repozytorium.
Co jest generowane
Manifest .otmod, widok .otui, bezpieczny lifecycle Lua klienta, kontrakt JSON extended opcode, RevScriptSys serwera, własne obrazy PNG oraz manifest techniczny systemu.
Prawdziwe ikony, outfity i tiery
Po skanowaniu katalog pokazuje dane z aktualnych items.xml, items.otb i outfits.xml znajdujących się w prywatnej kopii wzorcowej na serwerze WWW. Własny PNG/WebP wgrywasz do wskazanego slotu, a Studio zachowuje proporcje i dopasowuje obraz. Sugestia klasy powstaje tylko w porównywalnej grupie, ale ostateczną klasyfikację zatwierdzasz również według dostępności i sposobu zdobycia przedmiotu. Ten sam set zawsze musi mieć jedną klasę. Tier, koszt, wynik i statystyki są zapisywane i sprawdzane wyłącznie przez ALS10.
Podgląd w przeglądarce i test końcowy
Projektant pokazuje hierarchię OTUI, teksty, obrazy, kolory, odstępy i stany interfejsu. Po pobraniu ZIP wykonaj obowiązkowy test w prawdziwym OTClient DirectX i OpenGL, ponieważ tylko silnik gry potwierdza zgodność natywnych tekstur, fontów i widgetów.
Typy zdarzeń ALS10
login, logout, reconnect, think, kill, death, advance, extendedopcode, modalwindow, textedit, healthchange, manachange, startup, shutdown, save, action, movement, talkaction, spell i weapon.
Zasady bezpieczeństwa
- Serwer zawsze pozostaje źródłem prawdy dla nagród, waluty, uprawnień i progresu.
- Opcode 0–7 są zarezerwowane; użyte opcode i storage blokują publikację.
- Istniejące pliki nie są nadpisywane bez jawnej zgody.
- Każde połączenie i rejestracja klienta ma wygenerowane sprzątanie w
terminate/offline. - Lua i OTUI nie wymagają kompilacji. C++ nadal wymaga prawidłowego builda obu wariantów klienta albo serwera.
Tryb zaawansowany
Zakładka Kod korzysta z Monaco 0.55.1 dostarczanego przez stronę. Katalog API pozwala odnaleźć każdą funkcję i jej plik źródłowy. Własną logikę można dopisać do pól custom Lua w modelu projektu bez ograniczania dostępnego API.
Skróty i bezpieczeństwo pracy
Ctrl+Z cofa, Ctrl+Y ponawia, Ctrl+C/Ctrl+V kopiuje i wkleja widget, Ctrl+D duplikuje, Delete usuwa, a Ctrl+S zapisuje. Strzałki przesuwają zaznaczenie, a Shift zwiększa krok. Panel Warstwy pozwala wybrać zasłonięty element, ustawić kolejność i wyrównać go do krawędzi lub środka okna. Niezapisane zmiany są automatycznie zabezpieczane i można je odzyskać po ponownym uruchomieniu Studio.
Podpowiedzi dla początkujących
Najedź kursorem na dowolny przycisk, pole, listę lub element palety. Na dole programu pojawi się prosty opis: co ta funkcja robi, kiedy jej użyć i na co uważać. To samo działa po przejściu do kontrolki klawiszem Tab.
Gotowe architektury systemów
Zakładka Szablony zawiera pełne fundamenty craftingu, miningu, tasków, trackera, bestiary, dungeonów, bossów, nagród dziennych, sklepu, rankingu i profesji. Zastosowanie szablonu ustawia nie tylko wygląd, ale również akcje klient–serwer, eventy ALS10, rodzaj zapisu, model danych, zabezpieczenia i scenariusze testowe.
Licencja i tryb demo
Bez kodu OTC1 możesz oglądać publiczny opis i tryb demonstracyjny. Edycja, skanowanie, generowanie, zapis i eksport są sprawdzane przez serwer WWW. Kod 30-dniowy jest podpisany Ed25519, licencja w bazie jest szyfrowana AES-256-GCM, a sesję chronią HttpOnly, SameSite i CSRF. Prywatny klucz wystawcy nigdy nie trafia na stronę.