0. Skąd brać XVMa?
Tu jest zawsze najnowsza wersja release: http://www.modxvm.com/en/download-xvm/
Jeśli bardzo śpieszy Ci się po patchu a jeszcze nie ma release, to tu są nightly: http://nightly.modxvm.com/ które są kapryśne i są NIEzalecane - to wersje testowe
Poza tym oczywiście w paczkach modderów ale jeśli masz wątpliwości czy ich wersja jest najnowsza to możesz porównać numer wersji z ekranu logowania z tym co jest na oficjalnej stronie.
Oczywiście, konfig TEŻ musi być aktualny - zgodny z wersją, lista zmian jest zawsze obok linku oraz w folderze xvm/doc, pliki changelog. W Twoim interesie jest, żeby konfig był doprowadzony do porządku!
1. Jak konfigurować XVMa?
Online Editor jest NIEAKTUALNY - support został zarzucony w okolicach maja 2014 a od tego czasu sporo się już zmieniło. Generowanie konfigów tym narzędziem to proszenie się o kłopoty, lista niezgodności rośnie z każdym patchem i coraz mniej opcji będzie działać bez błędów.
Pozostaje edycja ręczna, są dwa dobre narzędzia:
notepad++, jest to uniwesalny edytor dla programistów. Google nie gryzie, dostępne są paczki NIEwymagające instalacji - rozpakować byle gdzie i używać. Polecam.
XCPad, edytor napisany specjalnie pod XVMa, obsługuje automatyczne ładowanie konfigów wieloplikowych i ma kilka pomocnych bajerów (polecany przez wielu, nie używam).
Stanowczo NIE wolno używać innych edytorów, szczególnie jeśli nie wiesz co robisz - nawet zwykły notepad może zepsuć kodowanie (o tym dalej), a już WordPad czy Office to pomysły z księżyca.
. 2. Struktura i format konfigu XVMa.
Pliki konfigu XVMa są w formacie UTF-8 with BOM (Byte Order Mark) - z innymi nie będzie działał (dlatego nie edytuje się byle czym!).
Ile i jakich plików powinien mieć konfig, nie ma znaczenia, jednakże dobrze jest zachować pewne reguły dla porządku.
Na starcie ładowany jest tylko configs/xvm.xc i należy go traktować jako loader (choć może być pełnym konfigiem "jednoplikowym", który będzie działał bez problemów o ile nie ma błędów - jednak przy testowaniu kilku konfigów może być to niewygodne a nawet zgubne; a jeśli dystrybuujesz swój konfig na forum, to haniebne niedbalstwo i utrudnianie innym życia).
Tak naprawdę wystarczy, by xvm.xc zawierał tylko jedną linijkę:
${"moj_super_config/@xvm.xc":"."}
która ładuje plik @xvm.xc z odpowiedniego katalogu - ten plik w wersji "default" czyli przykladowej dostarczanej przez twórców także jest loaderem dalszych fragmentów, nie musisz jednak zachowywać ich struktury ani porządku - choć łatwiej się połapać przy updatach, więc jest to zalecane; a poza tym czytanie jednoplikowej ściany tekstu jest niewygodne - jeśli jednak chcesz, to jest to właściwe miejsce na Twój konfig.
2a. Opis funkcji poszczególnych plików konfigu "default".
Konfig default jest dostarczany z każdą wersją jako przykładowy, są to te same ustawienia, które są zaszyte jako stałe w programie i z takimi działa XVM w przypadku braku bądź uszkodzonego konfigu albo nieskonfigurowanych pojedynczych opcji.
@xvm.xc - loader plików składowych konfigu, jak zmieniasz strukturę to zazwyczaj dorzucasz tutaj. Jest też kilka drobnych opcji, jak zmiana domyślnego języka.
alpha.xc - plik stylów przezroczystości, mało kto cokolwiek w nim przestawia ( i mało kto używa przezroczystości do wyświetlania statystyk).
battle.xc - główny plik opcji bitewnych i HUDa, ładuje też elements.xc
battleLoading.xc - konfiguracja ekranu ładowania bitwy
captureBar.xc - odpowiedzialny za paski zdobywania bazy
carousel.xc - konfiguruje dodatkowe opcje karuzeli w garażu (filtry, wygląd, staty)
clock.xc - zegar w garażu
colors.xc - plik stylów kolorów, stąd brane są wszystkie kolory do makr - statystyki, dmg, kolory drużyn i klas. Tutaj edytujesz też progi statystyk w razie zmian (jak ostatnio)
elements.xc - zwane także "snippets", plik z zaawansowanymi, niestandardowymi funkcjami XVMa. W nim możesz zmienić położenie podstawowych części albo całkiem je wyłączyć, możesz też radykalnie zmienić ich wygląd w sposób niedostępny gdzie indziej. UWAGA: nie dotykać bez potrzeby - jakiekolwiek zmiany i tak będą wymagały kopania na forum, to "specjalny" plik i nie jest dobrze udokumentowany a wiedza o opcjach nie tak powszechnie dostępna, nie zawiera też zamkniętej listy opcji, pozwala za to na dostęp do parametrów wewnętrznych funkcji XVMa.
hangar.xc - opcje garażu i drzewka; ładuje carousel.xc oraz clock.xc
hitLog.xc - no cóż, hitlog...
hotkeys.xc - klawisze powiększania minimapy oraz przełączania trybów minimapy i bocznych paneli. Pełna lista kodów klawiszy wewnątrz.
iconset.xc - jeśli chcesz wrzucić jakiegoś contourmoda to możesz ładujesz tutaj.
login.xc - opcje ekranu logowania i wyłączanie animacji startowej
markers.xc - główny plik OTM (markerów nad czołgami), zawiera bezpośrednio znaczniki wież oraz ładuje pliki OTM poszczególnych trybów, według nazw:
markersDeadExtended.xc
markersAliveNormal.xc
markersDeadExtended.xc
markersDeadNormal.xc
minimap.xc - główny plik opcji minimapy, ładuje:
minimapCircles.xc - okręgi, dynamiczne i statyczne
minimapLabels.xc - ikonki czołgów w zależności od ich stanu oraz napisy przy nich
minimapLines.xc - linie: kadłub, działo, ograniczniki trawersu (TD/arty)
kwadrat renderboxa jest zawarty bezpośrednio w tym pliku.
minimapAlt.xc - ta sama struktura, co minimap.xc, zestaw plików dla alternatywnego trybu minimapy - przełączanego klawiszem, jeśli ktoś potrzebuje ( np. więcej opcji dla zoomu). Można stworzyć wszystkie pliki podległe według tego samego schematu i załadować (domyślnie ładowane od wersji podstawowej).
playersPanel.xc - plik "uszu" czyli paneli bocznych. Zawiera markery spottingu dla przeciwników oraz konfiguracje wszystkich trybów wyświetlania: "none", "short", "medium", "medium2", "large"
squad.xc - opcje okna plutonów, obecnie nie działa (będzie poprawiony)
statisticForm.xc - konfigracja ekranu pod TABem - pomimo, że bardzo podobny do battleLoading.xc to NIE jest dokładnie taki sam plik. Tym niemniej, opcje wyświetlania statystyk można ustawić takie same dla obu.
texts.xc - plik podmian makr tekstowych, obecnie "vtype" - zależne od klasy pojazdu i "marksONGun" - odznaki biegłości na lufach
userInfo.xc - plik panelu statystyk gracza w garażu
vehicleNames.xc - plik podmian nazw czołgów, jeśli ktoś czuje potrzebę. Uwaga, podmiany działają tylko na funkcjach wykorzystywanych przez XVMa, w pozostałych przypadkach pozostaje domyślna nazwa z gry.
2b. Inne foldery XVMa.
xvm/res - tu oraz w podfolderach wrzucasz wszystkie ikonki, jakie chcesz użyć w swoim konfigu (np numeracja plutonów, markery spottingu itp), wyłącznie pliki *.png! Ścieżka to xvmres:// - możesz założyć dowolne podfoldery i ich używać.
W xvm/res/clanicons znajdują się ikonki klanów, dla każdego serwera (domyślnie top 150), jak chcesz więcej (albo swój) to kopiujesz do właściwego podfoldera lokalnego (dla nas EU) i załadują się automatycznie (o ile są włączone - domyślnie są). Folder ten jest domyślnie zdefinowany w battle.xc: battle/"clanIconsFolder" - jeśli nikt nic nie namieszał.
XVM automatycznie też podmieni ikonkę szóstego zmysłu, jeśli znajdzie plik SixthSense.png - jak chcesz zmienić, to już wiesz co robić (domyślnie dostarczany jest .sample jako przykład, zmiana nazwy spowoduje wyświetlenie trochę innej żarówki)
2c. Jak zmienić konfig z jednoplikowego na wieloplikowy:
Skrypt do automatycznego przerabiania.
Pod spoilerem tekst po angielsku, zresztą translate.google.com nie gryzie i z rosyjskiego też tłumaczy.
http://www.koreanrandom.com/forum/topic/4643-
2.5. Jestem tu nowy, jak zacząć dłubanie w konfigu?
Jeśli dopiero zaczynasz używać XVMa to są dwie drogi:
A. Znaleźć paczkę, która jest najbardziej zbliżona wyglądem do tego, co chcesz osiągnąć i ją modyfikować - pamiętaj, że powinna być SPRAWDZONA, znaczy od szanowanego moddera i z nowej wersji, mniejsza szansa na błędne wpisy w konfigu i potrzebę głębszych poprawek (patrz 0). Niestety z tym różnie bywa, niektórzy dalej czczą Online Editora jako dobro objawione a potem jest płacz na forum (patrz 3)...
B. Skopiować folder defaulta ze swoją nazwą, załadować (patrz 2) i nanosić zmiany po swojemu. Najbezpieczniejsza droga, bo default na pewno jest aktualny, tylko trzeba pamiętać o poprawianiu z każdą nową wersją XVMa (patrz 0) - jak raz zaczniesz to pójdzie już z górki.
3. Mój konfig "nie działa!!!111oneoneone"
3a. W przypadku gdy pliki konfigu są uszkodzone przez zły format (patrz wyżej) albo błędy składniowe (zgubiłeś gdzieś przecinek, cudzysłów itp), konfig NIE jest ładowany już na starcie a zamiast tego ładowane są wartości domyślne zaszyte w programie - tak, to są te same wartości co w konfigu default.
Łatwo się zorientować już na ekranie logowania: jeśli masz jakąś opcję ustawioną niestandardowo to ona nie zadziała (ping, zapamiętywanie serwera itp), a najdalej zorientujesz się w garażu (karuzela, zegar itp). Jeśli jednak przeoczyłeś to na ekranie ladowania bitwy jest czarna ramka na dole i w niej są wyświetlane ewentualne błędy. Te same błędy znajdą się potem w pliku xvm.log (w katalogu głównym WoTa), przejrzenie go pomoże Ci je wytropić i poprawić.
UWAGA: plik xvm.log updatuje się ostatecznie dopiero po zamknięciu gry i wtedy należy doń zaglądać. Tak samo zmienianie dowolnych opcji w konfigu wymaga restartu gry.
3b. W przypadku gdy jakaś pojedyncza opcja nie działa (a poza tym wydaje się, że "wszystko działa", to błąd polega na umieszczeniu umieszczeniu jej w niewłaściwym miejscu konfigu albo złym nazwaniu (np. przez stary konfig) - objaw jest prosty, ładowana jest wartość domyślna, tylko tej jednej opcji właśnie. To niestety trzeba tropić ręcznie.
3c. Gdy nie działają staty / szansa na wygraną: a pamiętałeś, żeby włączyć to na stronie?
4. Jak przestawić to/tamto/siamto?
// tu będą opisy w miarę potrzeby i inwencji
Ogólne uwagi o edytowaniu:
Nazwy wszystkiego są angielskojęzyczne - i są dość intuicyjnie, większość funkcji można się domyśleć. Pewne standardy są też zachowane, i na przykład pola:
"x" i "y" (albo "_x" i "_y" w pewnych miejscach) odpowiadają za położenie;
"w" i "h" (albo "width" i "height" odpowiadają odpowiednio za wysokość i szerokość elementu;
"alpha" - przezroczystość
"color" - kolor 8bit RGB podawany w formacie szesnastkowym:
0xRRGGBB jako wolnostojący parametr
#RRGGBB w makrach dla fontów, jeśli ktoś ręcznie potrzebuje, np: <font color='{{ready?#CCCCCC|#000000}}'>
"enabled" (true/false) - włączenie/wyłączenie jakiejś funkcji xvma
"visible" (true/false) - j/w, tyle że technicznie odnosi się do widzialności jakiegoś elementu
ustawienie jakiejś wartości na null powoduje załadowanie domyślnej wartości (w sumie tak samo jak usunięcie wpisu z konfigu - jednak tutaj wiemy, że dany klucz istnieje i można go zmienić a nie ginie).
Makra warunkowe:
XVM obsługuje proste warunki dla makr zwracających jakąś wartość, zapytanie ma postać {{makro?wartość_dla_prawdy|wartość dla fałszu}}, np:
{{alive?#FF|#80}}
Przez fałsz należy oczywiście rozumieć zero - więc teoretycznie ktoś z zerowym wn8 może być potraktowany specjalnie , jednak przewidziane są one głównie dla prostych makr zwracających 0/1, jak {{alive}}, {{squad}} czy {{ready}}. Pełna lista makr oczywiście w dokumentacji.
Pola "extraFields":
To dodatkowe pola, umożliwiajace dodanie niestandardowych rzeczy (paski HP, dodatkowe staty, ikonki - głównym ograniczeniem jest wyobraźnia). Na dzień dzisiejszy są tylko w"
playersPanel.xc
carousel.xc
Przykłady:
Pasek HP zrealizowany jako kolorowane pole:
{ "x": 310, "y": 2, "valign": "center", "h": 21, "w": "{{hp:70}}", "bgColor": "{{c:system}}", "alpha": "{{alive?28|0}}" },
Liczbowa wartość HP:
{ "x": 320, "y": 3, "format": "<font size='12' color='{{ready?#CCCCCC|#000000}}'>{{hp%4.4d|____}}</font>", "alpha": "{{alive?100|0}}" },
Makro selektora aktywnego czołgu na karuzeli:
{"x": 0, "y": 41, "w": 160, "h": 18, "alpha": 100, "src": "xvmres://carousel/{{v.selected}}ected_horizontal.png"},
Makro wpisu widełek tierów bitewnych na karuzeli:
{"x": 45, "y": 0, "format": "<font size='12' face='$FieldFont'>({{v.battletiermin}}-{{v.battletiermax}})</font>"},
Trochę o zaawansowanym formatowaniu makr:
Wszystkie opisy odnoszą się do "default", jeśli masz konfig jednoplikowy (albo coś namieszałeś) to dopasujesz sobie nazwy plików samodzielnie.
* Jak przerobić konfig z jednoplikowego na wieloplikowy?
Patrz 2c.
* Jak zmienić ikonkę szóstego zmysłu?
Patrz 2a.
* Jak wydłużyć czas wyświetlania ikonki szóstego zmysłu (żarówka gaśnie gdy przestajemy być spotowani)?
Oczywiście jest to (w każdym modzie) "ściema" gdyż odlicza tylko czas od wyświetlenia gdy teoretycznie powinniśmy zgasnąć po schowaniu się - a w praktyce żaden mod nie wie, kiedy się naprawdę schowaliśmy.
Należy w pliku elements.xc dodać/odkomentować linię i ustawić odpowiedni czas w milisekundach:
Block Quote
"sixthSenseDuration": 9000, //ms
* Jak dodać ikonkę własnego klanu / innych klanów?
Patrz 2a.
Ikonki klanów muszą być włączone w playersPanel.xc: playersPanel/"removeSquadIcon": false - sprawdź jeśli się nie wyświetlają.
* Jak "ściemnić" trupy? "Świecą" mi się (bo mam stary konfig)!
Dodając do font parametr alpha z makrem warunkowym alive, przykład wpisu:
<font alpha='{{alive?#FF|#80}}'> [moje staty albo cokolwiek] </font>
Wyedytować odpowiednie pola w plikach:
statisticForm.xc
playersPanel.xc
w zależności od potrzeb.
* Jak zmienić skalę kolorów na "nową" (wotlabs/gradienty/etc)?
Wydzielone do osobnego posta ze względu na objętość i dodatkowe pliki:
* Jak zmienić sobie okręgi widzenia na mapce?
minimapCircles.xc i edytujesz "view"
Przykład konfiguracji, można dodawać i kasować wpisy
Block Quote
"view": [
{"enabled": true, "distance": 50, "scale": 1, "thickness": 0.50, "alpha": 50, "color": "0xEE0000"},
{"enabled": true, "distance": "blindarea", "scale": 1, "thickness": 0.75, "alpha": 50, "color": "0xFFFFFF"},
{"enabled": true, "distance": "blindarea_standing", "scale": 1, "thickness": 0.5, "alpha": 50, "color": "0xFFFFFF"},
{"enabled": true, "distance": "blindarea_motion", "scale": 1, "thickness": 0.5, "alpha": 50, "color": "0xFFFFFF"},
{"enabled": true, "distance": 445, "scale": 1, "thickness": 0.5, "alpha": 50, "color": "0xFFCC66"},
{}
],
Promień okręgu deklarowany jest w "distance"
Dostępne makra wartości do użycia w okręgach (oprócz dowolnych stałych liczbowych) to:
//- standing
//- motion
//- dynamic
//- blindarea
//- blindarea_standing
//- blindarea_motion
Wszystkie "blindarea" nasycają się w zakresie 50m-445m i jeśli rzeczywista wartość przekroczyłaby to i tak zostaną narysowane na granicy. Pozostałe biorą wartość nawet jeśli przekroczy.
Makra "zmieniające" promień (lorneta/bez) są dwa: blindarea i dynamic - różnicę między nimi już znasz .
Oczywiście jak dostaniesz w dowódcę albo będzie czerwony wizjer (czas naprawy) to wszystkie okręgi się dostosują.
enabled oczywiście musi być na true, żeby się rysowało,
thickness odpowiada za grubość linii,
alpha to przezroczystość,
color oczywiście kolor (0xRRGGBB)
Przy połączeniu tych wszystkich można robić fajne tricki w stylu pogrubiającego się aktywnego okręgu itd.
* Jak naprawić/ulepszyć markery spottingu na uszach (bocznych panelach), stan na 9.5/XVM 5.5.0:
* Jak dodać flagi:
na uszach:
playersPanel.xc i dodajemy sobie w extraFields w pożądanym trybie
Block Quote
{ "x":-95, "y":6, "bindToIcon":true, "src":"xvmres://icons/lang/{{region}}/{{language}}.png", "alpha":"{{alive?70|30}}" },
w statisticForm.xc i battleLoading.xc:
ten wpis rezerwuje puste przezroczyste pole, gdy nie jest znany język gracza:
Block Quote
<img src='xvmres://icons/lang/{{region|CT}}/{{language|empty}}.png' width='16' height='13'>
albo,
ten wpis wstawia flagę EU (dla regionu EU, dla pozostałych czarne pole), gdy nie jest znany język gracza:
Block Quote
<img src='xvmres://icons/lang/{{region|CT}}/{{language|default}.png' width='16' height='13'>
4A. Chcę mieć coś jak w "gołej" grze, bez XVMa (vanilla).
* Markery OTM (nad czołgami):
markers.xc
ustawić "useStandardMarkers" na true.
* Karuzela:
carousel.xc
przestawić "enabled" na false.
Jeśli chcesz zacząć edytować własną karuzelę "od zera" to tu jest plik z włączoną i ustawieniami "vanilla":
http://www.mediafire.com/download/n01ddd0nkuenik9/carousel_vanilla.xc
* Ekran logowania i animacja startowa:
* Hitlog:
hitlog.xc
przestawić "visible" na false.
* Mapka:
minimap.xc
przestawić "enabled" na false.
//więcej wkrótce
5. Wiedza tajemna - skąd ją brać?
Jeśli nie znasz języka magów angielskiego, to nie wróżę sukcesów - i tak wszystkie opcje w konfigu mają angielskie nazwy, więc lepiej zacznij się uczyć.
doc/ChangeLog-en.txt - lista zmian w kolejnych wersjach, biblia przy kazdym updacie!
doc/macros.txt - lista makr dostępnych w XVMie.
doc/macros-hangar.txt - lista makr specjalnych, wyłącznie dla karuzeli.
doc/readme-pl.txt - wyjątkowo po polsku, plik z ogólnym opisem podstawowych funkcji; plik w wersji angielskiej zawiera trochę więcej ale oba mogą być miejscami nieaktualne.
//to be continued...
Edited by nixxxie, 17 January 2015 - 12:41 PM.