Jak powszechnie wiadomo gra World of Tanks korzysta z wielu rodzaju plików, między innymi właśnie ze skompilowanych plików typu flash w rozszerzeniu .swf – zawierają one najczęściej wizualne elementy interfejsu gracza, które chcielibyśmy móc zamienić w niektórych przypadkach. Oczywiście ze względu na strukturę plików .swf nie ma zwykłej i prostej metody edycji tych plików w rozwiniętych edytorach(co prawda są dostępne płatne opcje ale dodają one często zbędny kod do plików zmieniając ich strukturę i nawet gorzej). Jednak jest możliwość prostej podmiany niektórych elementów – tutaj z pomocą przychodzą dekompilatory flash.

Jeszcze jakiś czas temu popularnymi programami do dekompilacji były Sothink Flash Decompiler, czy Trillix – niestety za te trzeba było zapłacić dość pokaźną cenę, a efekty ich użytkowania bywały różne… od niedawna jednak jest dostępny darmowy i rozbudowany dekompilator .swf o nazwie „JPEXS Free Flash Decompiler”, który nie tylko umożliwi podmianę skryptów w razie potrzeby ale i umożliwi podmianę plików graficznych bez potrzeby całościowego dekodowania pliku, czy uszkodzenia całości.

Co odróżnia JPEXS od innych popularnych dekompilatorów? Przede wszystkim nie dodaje niepotrzebnego kodu do plików po dekompilacji, tym samym zmniejszając szansę na ewentualne powikłania po zmianach, ponadto interfejs jest na tyle intuicyjny, że umożliwia edycję zarówno przeciętnym, jak i zaawansowanym użytkownikom. Samego dekompilatora również możemy oczywiście również użyć do edycji plików flash w grze World of Tanks.

W tym mini-poradniku znajdziecie informację jak utworzyć mini-mod poprzez podmianę plików graficznych w pliku swf.


Przykładem będzie podmiana grafik w pliku minimapy.

Co będzie nam potrzebne:
– Archiwizator obsługujący podstawowe formaty kompresji(przykładowo Winrar albo 7zip)
– Program JPEXS Free Flash Decompiler

* Program JPEXS Free Flash Decompiler do prawidłowego działania wymaga platformy Java.


Więc na podstawie tego poradnika stworzę niewielką modyfikację minimapy. Moim celem będzie podmiana standardowych ikon pojazdów na inne.

1. Zacząć należy od wyciągnięcia z gry pliku z interfejsem minimapy, znajdziemy go w /res/packages/gui.pkg
2. Paczkę tą otwieramy w archiwizatorze
3. W samej paczce szukamy pliku Minimap.swf – znajduje się on w /gui/scaleform/
4. Plik wyciągamy z paczki, następnie otwieramy go w programie JPEXS Free Flash Decompiler
5. Po chwili pojawi się rozwinięte drzewko z kategoriami pliku po lewej stronie, nas konkretnie interesuje zakładka „images”
6. Tutaj na liście obrazków poszukujemy obrazka, który chcemy podmienić – mnie konkretnie interesują 3 ikony, czyli ikona czołgów lekkich, niszczycieli i czołgów ciężkich

7. Po wyborze konkretnego obrazka do podmiany klikamy „Replace” i wybieramy wyedytowany obraz do podmiany
(należy pamiętać o tym, że obraz do podmiany powinien mieć taki sam rozmiar, co oryginał)
8. Po zakończeniu podmiany obrazków klikamy „Save” w górnym panelu. Okazjonalnie zdarza się, że program nie będzie mógł nadpisać pliku(i nie chodzi tutaj o dostęp do aplikacji z poziomu administratora), w takim przypadku zwyczajnie klikamy „Save as…” i zapisujemy plik w innym miejscu z taką samą nazwą, co oryginał.
9. W tym momencie mamy gotowy nadpisany plik

Docelowa ścieżka dla podanej modyfikacji będzie wyglądała następująco: /res_mods/(patch)/gui/scaleform/

W moim przypadku podmieniłem oryginalne ikony na:

Ułatwiają one identyfikacje pojazdów konkretnej klasy jednocześnie podnosząc świadomość sytuacyjną w czasie bitwy, końcowy efekt po podmianie wygląda następująco:

* Mapka nieco różni się od oryginalnej, ponieważ w jednocześnie używam modyfikacji Locastan’s HD minimap.


W moim przypadku wykorzystanie innych ikon miało na celu najbardziej szybsze zareagowanie na zbliżające się pojazdy lekkie oraz lepsze wyznaczenie pozycji niszczycieli czołgów strzelających „z ukrycia”, dodatkowo zastosowałem własną ikonę dla pojazdów ciężkich dla podobnego efektu. Oczywiście każdy może zrobić to na własny sposób i podmienić inne ikony/grafiki na własne.

W ten sam sposób można podmienić grafiki, czy inne elementy w różnych plikach .swf w prosty sposób. Jest to również sposób na podmianę skryptów w pliku, czy innych elementów.

Samo narzędzie JPEXS służy nie tylko do szybkiej podmiany – jego głównym celem jest odpowiednia dekompilacja pliku mająca dalej na celu swobodną edycję plików flash. Jak to zrobić? Po otworzeniu pliku .swf klikamy dalej „Export to FLA” – po zapisaniu do formatu FLA plik możemy swobodnie edytować w zaawansowanym edytorze flash(przykładowo Adobe Flash Professional). W takim edytorze możemy już swobodnie edytować kształy, dodawać własny kod itd. na koniec po prostu kompilując gotowy plik.

Taka dekompilacja z edycją może służyć do różnych rzeczy – przykładowo do zmiany czcionki w modyfikacji celownika, czy podmianie tekstu. Należy jednak pamiętać, że przy podmianie tekstu w niektórych modyfikacjach nie ma zaimplementowane czcionki posiadającej standardowy układ znaków(przykładowo modyfikacje od rosjan często posiadają tylko czcionkę z cyrylicą), w takim przypadku należy najpierw zaimplementować czcionkę ze standardowym układem liter i znaków: http://www.adobe.com/devnet/flash/quickstart/embedding_fonts.html
Dopiero wtedy można podmienić sam tekst. Podmiana tekstu w pliku flash bez zaimplementowania dodatkowej czcionki może skończyć się różnie, najczęściej po prostu zamiast tekstu pojawią się albo kropki albo inne znaki.


UWAGA! W żadnym wypadku nie zezwalam na kopiowanie treści poradnika na inne portale, strony, blogi czy fora(w tym oficjalne). Nie mam nic przeciwko dodaniu odnośnika z poradnikiem na inne strony, jednak w przypadku potrzeby skopiowania części treści należy spytać mnie o zgodę.