Wstęp
Postacie w Mugenie wybiera się w tzw. Select Screen'ie czyli ekranie wyboru, który zbudowany jest jak zwykła siatka z pustymi polami do zapełnienia o określonej liczbie wierszy i kolumn. To motyw decyduje o tym ile jest dostępnych pól i jak one wyglądają. Dowiesz się tu jak dodawać postacie ze wszystkimi parametrami oraz jak zwiększyć ilość miejsc na postacie w motywie.
Postacie dodaje się odpowiednim wpisem w pliku select.def w folderze data twojego Mugena pod wpisem [Characters]. Plik można edytować dowolnym edytorem tekstowym.
Aby dodać postać do Mugena, najpierw należy ją zdobyć (ściągnąć z internetu lub zdobyć w inny sposób). Należy skopiować folder z plikami postaci do folderu chars w folderze Mugena, następnie postać dodaje się według odpowiedniej formuły:
[Characters] Postać, Arena, IncludeStage = ?, Music = ?, Order = ?
Dodając postać możesz ją wstawić ze wszystkimi parametrami, częścią lub tylko z parametrem: "Postać", jednak chcąc dodać inne parametry nie możesz pomijać parametru "Arena" bo Mugen w zależności od wersji może wyświetlić błąd.
Znak ";" oznacza "wiersz komentarza" i Mugen nie bierze pod uwagę niczego co jest po tym znaku wpisane w tej samej linii.
Parametr: Postać
Postać w folderze
W wypadku postaci wypakowanej do folderu parametr ten odnosi się do nazwy folderu postaci i pliku DEF który się w nim znajduje, dla ułatwienia folder postaci powinien być tej samej nazwy co plik DEF.
[Characters] kfm, Arena, IncludeStage = ?, Music = ?, Order = ?
Oczywiście jest to pewne uproszczenie bo Mugen szuka automatycznie pliku DEF o takiej samej nazwie jak nazwa folderu ale można podać pełną ścieżkę do pliku DEF np.:
[Characters] kfm/kfm/Kung Fu Man.def, Arena, IncludeStage = ?, Music = ?, Order = ?
Częstym błędem przy dodawaniu postaci jest błędna ścieżka lub postać jest dodana w uproszczonej formie ale plik DEF jest innej nazwy niż folder postaci.
Zapis ścieżki za pomocą znaku "\" jest dopuszczalny i nie powinien wywołać błędów, jednak preferowany jest zapis z użyciem znaku "/".
Błędny zapis powoduje wyświetlenie "pustego pola" co ma też swoje zastosowanie.
Postać w pliku ZIP
Od Win Mugena wprowadzono otwieranie postaci z pliku ZIP zamiast folderu, nazwa pliku DEF musi się zgadzać z nazwą pliku ZIP, który jest traktowany jak folder.
[Characters] kfm.zip, Arena, IncludeStage = ?, Music = ?, Order = ?
W wypadku korzystania z plików ZIP w Win Mugenie musisz mieć sprawną bibliotekę zlib.dll, możesz ją znaleźć w sieci lub pobrać z Samouczka. Mugen w wersji 1.0 lub wyższej ma już odpowiednie biblioteki.
W wypadku gdy postać rozpakowana nie wywołuje błędu a spakowana do pliku ZIP tak, należy upewnić się czy w każdym pliku z kodem postaci na samym końcu pozostał minimum jeden wiersz wolny od kodu w formie pustego wiersza lub komentarza.
Parametr: Arena
Ścieżka do pliku areny
Wpis ten odnosi się do adresu areny a konkretniej pliku DEF, którą postać narzuci podczas gry z komputerem, przykładowo:
[Characters] kfm, stages/stage0.def, IncludeStage = ?, Music = ?, Order = ?
Zapis ścieżki za pomocą znaku "\" jest dopuszczalny i nie powinien wywołać błędów, jednak preferowany jest zapis z użyciem znaku "/".
Random
Istnieje też możliwość losowego doboru areny, należy do tego użyć wpisu "Random" zamiast ścieżki do konkretnego pliku DEF:
[Characters] kfm, Random, Music = ?, Order = ?
W wypadku użycia wpisu "Random" nie należy używać wpisu "IncludeStage".
Parametr "Arena" nie jest wymagany ale jest pożądany, jeżeli pominiesz go dodając kolejny parametr Mugen wywoła błąd.
Parametr: IncludeStage = ?
Parametr "IncludeStage = ?" jest przydatny tylko w tedy gdy przygotowałeś jakąś specjalną arenę dla postaci a mimo to nie dodałeś jej normalnie jak reszty aren i nie chcesz żeby była ona dostępna do wyboru np. w treningu. Pod "?" możesz wstawić wartość liczbową:
0 - arena nie będzie dostępna na liście wyboru,
1 - arena będzie dostępna na liście wyboru.
[Characters] kfm, chars/kfm/Specjalna_Arena.def, IncludeStage = 0, Music = ?, Order = ?
W wypadku użycia wpisu "Random" nie należy używać wpisu "IncludeStage".
Brak wpisu "IncludeStage" jest równoznaczny z wpisem "IncludeStage = 1".
Parametr: Music = ?
Ten parametr odnosi się do ścieżki pliku dźwiękowego, który zostanie narzucony arenie. Możesz w ten sposób użyć wiele razy jednej areny ale zawsze z inną muzyką dla konkretnej postaci. Należy postępować jak z parametrem "Arena" podając ścieżkę z przedrostkiem "Music =" np.:
[Characters] kfm, chars/kfm/Specjalna_Arena.def, IncludeStage = 0, Music = sound/muzyka.mp3, Order = ?
Win Mugen do odtwarzania muzyki obsługuje pluginy z Winampa ale muzyka w MP3 nawet przy idealnych ustawieniach potrafi się zacinać. Dzięki pluginom możesz zastąpić ją niekonfliktowymi formatami. Paczkę pluginów i więcej informacji znajdziesz w artykule: Konfiguracja Win Mugena.
Parametr: Order = ?
Jest to jakby priorytet postaci, pod "?" możesz wstawić wartość od 1 do 10. Ustalisz w ten sposób, która z postaci jest silniejsza i możesz ułożyć to tak, że numer 1 to podstawowe postacie, 2 to silne a 3 to jakiś ostateczny przeciwnik.
Parametr ten wykorzystuje się do ustalania kolejności walk, standardowo walki są losowe i nadal tak pozostaje, ale jak napisałem wyżej nadając postaci odpowiedni "Order" szufladkujesz ją odpowiednio do danej grupy postaci z którymi zmierzysz się w odpowiednim momencie przechodzenia gry.
Parametr "Arena" nie jest wymagany ale jest pożądany, aby parametr "Order = ?" zadziałał prawidłowo powinien być przy każdej postaci przynajmniej na trzecim miejscu i po parametrze "Arena". Stąd można zamiast podawać zawsze ścieżkę do areny dla każdej postaci użyć wpisu "Random".
[Characters] kfm, random, Order = 1
można też ostatecznie pozostawić puste pole bez wpisu:
[Characters] kfm, , Order = 1
Jeżeli przy którejkolwiek postaci zabraknie parametru "Order = ?", działanie tego parametru zostanie zaburzone i ustalona kolejność walk nie będzie miała znaczenia. W tedy odbędziesz losowo ze wszystkimi postaciami tyle walk ile jest dodanych postaci.
W skrócie, jeżeli dodasz 10 postaci a ustaliłeś, że aby przejść grę stoczysz 2 losowe walki z "Order = 1" i 3 losowe walki z "Order = 2", razem 5 walk, to jeżeli zaburzysz parametr "Order = ?" przy którejkolwiek postaci, wtedy stoczysz 10 losowych walk.
Jeżeli z jakiegoś powodu chcesz aby parametr "Order = ?" działał jak należy a mimo to nie chcesz aby część postaci pojawiła się podczas przechodzenia gry i masz zajęte wszystkie wartości od 1 do 10 wystarczy że podasz wartość większą lub mniejszą od dopuszczalnej np. "Order = 0".
[Characters] kfm, random, Order = 1 kfm2, random, Order = 0
Postać "kfm2" nie pojawi się podczas przechodzenia gry a mimo to "Order = ?" będzie działał prawidłowo. Dalszy ciąg tego tematu znajdziesz w artykule Ustalanie kolejności walk.
Przykład kilku wpisów
Dodając postać możesz ją wstawić ze wszystkimi parametrami, częścią lub tylko z parametrem: "Postać", jednak chcąc dodać inne parametry nie możesz pomijać parametru "Arena" bo Mugen wywoła błąd.
Kolejność wstawianych wpisów ma wpływ na kolejność wyświetlania, każdy wpis to kolumna w pojedynczym wierszu aż to ostatniej kolumny, następnie zmienia się wiersz.
Tak utworzono by 10 pól na postacie w pliku system.def:
[Select Info] rows = 2 ; liczba wierszy columns = 5 ; liczba kolumn ....... showemptyboxes = 0 ; wyświetlanie pustych pól (1- włączone, 0 - wyłączone) moveoveremptyboxes = 0 ; poruszanie po pustych polach (1- włączone, 0 - wyłączone)
Jeżeli zależy ci tylko na dodawaniu jak największej ilości postaci i nie interesuje Cię jakakolwiek kolejność walk możesz pominąć parametr "Order = ?" tak samo jak parametr "Arena" i inne, pozostając jedynie przy parametrze "Postać". Najczęściej dodając postacie dodaje się je w sposób uproszczony, czyli podając nazwę folderu postaci w którym jest plik DEF o tej samej nazwie jak folder.
[Characters] AC1 kfm VegetaAC, stages/thieves_woods.def ViolentKen Johnny Cage special kfms SubzeroJUAN, stages/hidden_stage.def sf3_gouki ekfm2009
W wypadku gdy chcesz jednak aby postacie były podzielona na grupy silniejszych i słabszych, musisz zastosować parametr "Order = ?" o którym jest mowa wyżej. W takiej sytuacji każda postać musi mieć ten parametr przypisany, ale ponieważ jest to tylko parametr dodatkowy musi go poprzedzać parametr "Arena" jak już opisałem to wyżej. Jak też wspomniałem przy parametrze "Arena", nie musisz zawsze podawać konkretnej ścieżki do pliku areny, możesz użyć "Random".
[Characters] AC1, random, order=1 kfm, stages/stage0.def, order=1 VegetaAC, stages/thieves_woods.def, order=1 ViolentKen, random, order=2 Johnny Cage special, random, order=3 kfms, random, order=1 SubzeroJUAN, stages/hidden_stage.def, order=3 sf3_gouki, random, order=3 ekfm2009, random, order=2
Wybór losowy i puste pole
RandomSelect - wybór losowy
Może się zdarzyć że zechcesz dodać taką specjalną opcję jak "wybór losowy", wykonuje się to przez dodanie pojedynczego wpisu "RandomSelect" bez jakichkolwiek dodatków, pojawi się w tedy specjalne pole rozmiaru jednego pola dla postaci o grafice ustalonej przez Motyw.
[Characters] RandomSelect kfm.zip, random, music=sound/song.mp3, order=1 kfm.zip, random, order=2
W tym wypadku do wyboru są tylko dwie postacie "KFM" dla tego "RandomSelect" nie wskazuje innej postaci.
Puste pole
"Puste pole" to w najprostszej definicji błędny wpis postaci.
Mugen szuka postaci według wpisu jaki mu podajesz, jeżeli nie znajdzie postaci wyświetli puste pole. Puste pola często wykorzystuje się dla zmiany wyglądu ekranu wyboru postaci.
Wygląd pól, ich ilość, rozmiary i to czy można je wskazać kursorem zależy od Motywu.
Chcąc uzyskać puste pole musisz dodać taki wpis pod który z pewnością się nie pojawi postać, stąd możesz spotkać wpisy typu: ".Blank.", "==blank.portrait area==", itd. bezczelnie możesz nawet postawić samą kropkę ".". Jednak budując tak jakiś ciekawy układ w jednym miejscu musisz wymusić puste pole a w innym pozwolić na dodanie postaci, więc możesz zrobić wpisy typu: "= Zostaw Puste =", "= Dodaj Postać =". Często w miejsce gdzie można dodać postać dodaje się "RandomSelect" czyli wpis wyboru losowego. Puste pole powinno się dodawać pojedynczym wpisem bez jakichkolwiek dodatków.
Przykład wpisu dla siatki złożonej z 2 wierszy i 5 kolumn:
[Characters] ; 1 wiersz kfm.zip, stages/stage0.def, order=1 RandomSelect ==Zostaw Puste== RandomSelect RandomSelect ; 2 wiersz ==Zostaw Puste== RandomSelect RandomSelect RandomSelect ==Zostaw Puste==
"RandomSelect" i "Puste pole" nie zaburzą działania parametru "Order = ?".
Pozostawienie pustego wiersza bez jakiegokolwiek wpisu nie daje pustego pola i jest ignorowane przez Mugena.
Zmiana ekranu wyboru w motywie
Głównym problemem podczas dodawania postaci jest brak miejsc, plikiem odpowiedzialnym za to jest plik system.def.
Pod wpisem [Select Info] znajdują się informacje odnośnie grafiki wyboru postaci, kursorów, ich rozmieszczenia i rozmiarów. Poniżej opisze tylko te najważniejsze. Większość wpisów wygląda podobnie i działa analogicznie, trochę jak programowanie obiektowe.
[Select Info] ...... rows = 2 ; Liczba wierszy columns = 5 ; Liczba kolumn wrapping = 1 ; Przeskok kursora z końcowego pola na pierwsze (1 - włączone, 0 - wyłączone) pos = 90,170 ; X,Y - pozycja startowa wyświetlania siatki wyboru (w pikselach) showemptyboxes = 1 ; Wyświetlanie pustych pól (1 - włączone, 0 - wyłączone) moveoveremptyboxes = 1 ; Poruszanie kursora po pustych polach (1 - włączone, 0 - wyłączone) cell.size = 27,27 ; X,Y - rozmiar pojedynczego pola (w pikselach) cell.spacing = 2 ; Przerwa między każdą komórką (w pikselach) cell.bg.spr = 150,0 ; Grupa i numer sprita z grafiką dla pola cell.random.spr = 151,0 ; Grupa i numer sprita z grafiką dla wyboru losowego cell.random.switchtime = 4 ; Czas przeskoku dla wyboru losowego (w tikach, 60 = 1 sekunda) p1.cursor.startcell = 0,0 ; Start kursora dla P1 (nr. pola, 0,0 - pierwsza kolumna i pierwszy wiersz) p1.cursor.active.spr = 160,0 ; Grupa i numer sprita z grafiką dla aktywnego kursora P1 p1.cursor.done.spr = 161,0 ; Grupa i numer sprita z grafiką dla kursora P1 którym wybrano postać ...... portrait.spr = 9000,0 ; Grupa i numer sprita ikony (małego portretu) z postaci portrait.offset = 0,0 ; Dodatkowe przesunięcie ikonki postaci (w pikselach) portrait.scale = 1,1 ; Skala ikonki postaci (w procentach, 1 = 100%) ...... title.offset = 159,13 ; Pozycja podpisu Arcade Mode itp. ...... p1.face.spr = 9000,1 ; Grupa i numer sprita dużego portretu z postaci p1.face.offset = 18,13 ; Pozycja portretu postaci P1 (w pikselach) p1.face.scale = 1,1 ; Skala portretu postaci P1 (w procentach, 1 = 100%) p1.face.facing = 1 ; Strona w którą obrucono portret (1 - bez obrotu standardowo w prawo, -1 - odbicie lustrzane) ...... p1.name.offset = 10,162 ; Pozycja nazwy postaci P1 (w pikselach)
Postać ukryta i niewybieralna
Bawiąc się pustymi polami i ustawieniami w Motywie łatwo możesz utworzyć pola dla postaci ukrytych, niewybieralnych lub ukrytych i niewybieralnych jednocześnie.
Ukryta postać charakteryzowała by się akurat tylko tym że jej nie widać na akranie.
Niewybieralna postać byłaby tak ustawiona że mimo tego że ją widać nie można się do niej dostać kursorem.
Natomiast ukryta i niewybieralna postać musiała by być niewidoczna i nie można by jej wybrać. Taką postacią mogła by być jakaś specjalna i nietypowa postać, jakiś "bonus" lub coś w tym stylu.
Przyjmując że:
- postać,
- puste pole (wpis nie odnoszący się do postaci np. 'blank'),
- ukryta postać.
W zależności od używanego motywu należy dodać odpowiednią ilość kolumn i rzędów w system.def oraz pustych wpisów w select.def tak aby wychodziły poza widoczny w grze ekran wyboru postaci jak na schemacie:
Przykładowo dla zapisu w pliku system.def
[Select Info] rows = 5 ; liczba wierszy columns = 12 ; liczba kolumn ...... showemptyboxes = 0 ; wyświetlanie pustych pól (1- włączone, 0 - wyłączone) moveoveremptyboxes = 0 ; poruszanie po pustych polach (1- włączone, 0 - wyłączone)
Powstanie coś takiego, oczywiście z tym że puste pola nie będą widoczne.
W identyczny sposób, z drobnymi zmianami, można wykonać ukrytą i wybieralną postać.
Wybór losowy może spowodować wybranie postaci ukrytej i niewybieralnej, w takiej sytuacji najlepiej zrezygnować z losowego wyboru.
Przydatne programy
Jak widać dodawanie postaci do Mugena to nie jest zawsze taka prosta sprawa, jednak wszystko da się jakoś zautomatyzować. W naszej bazie danych znajdziesz kilka programów tego typu, tu jeden z nich jako przykład:
Mugen Windows Configurator
Jak widać poza tym że program pozwala na dodawanie pojedynczych postaci jak i automatycznie większej ilości, pozwala na podgląd ekranu wyboru a także na jego szybką (nawet szablonową) edycję. Możesz u nas pobrać też spolszczenie do tego programu. Jednak jest on przygotowany głównie pod Win Mugena.