| --- MIEJSCE NA TWOJĄ REKLAMĘ --- | |
|
|
|
| STRONA GŁÓWNA -- FORUM LF2 -- DOWNLOAD -- GALERIA -- FLMY -- USERBARY -- LF2 WIKI -- REKLAMA -- KONTAKT | |
|
|
TWORZENIE
POSTACI
Jak zapewne wiecie do tworzenia własnych postaci będzie potrzebny program Data Changer, albo konkretniej mówiąc program, który potrafi odszyfrować pliki .dat ponieważ na takich plikach opiera się całe LF2. Obsługa tego programu jest tak prosta jak obsługa Notatnika. Potrzebny będzie również program do obróbki plików .bmp. Najczęściej używanym programem tego typu jest wbrew wszelkim pozorom MS Paint. A więc zaczynamy! Z góry ostrzegam, że aby zrozumieć ten poradnik trzeba mieć dużo cierpliwości, a żeby stworzyć porządną postać trzeba jej jeszcze więcej. Nie zamierzam tłumaczyć jak kopiować ataki, ponieważ to znajdziecie np. na stronie http://www.littlefighter.gsi.pl/. Zamierzam po prostu wytłumaczyć jak to działa. Plik dat każdej postaci zaczyna się od tak zwanej części bmp. Wygląda ona tak: BMP -
POCZĄTEK DAT
<bmp_begin>
Są to pliki graficzne dla postaci, numery te będą później
wykorzystywane w poszczególnych klatkach. name: Davis - imię postaci, spację oznaczamy jako '_' head: sprite\sys\davis_f.bmp - portret postaci, widoczny przy wybieraniu jej w menu LF2.. Ma format 120x120 pikseli. small: sprite\sys\davis_s.bmp - miniaturka postaci widoczna przy pasku życia. Ma format 40x45 pikseli. file(0-69): sprite\sys\davis_0.bmp w: 79 h: 79 row: 10 col: 7 file(70-139): sprite\sys\davis_1.bmp w: 79 h: 79 row: 10 col: 7 file(140-209): sprite\sys\davis_2.bmp w: 79 h: 79 row: 10 col: 7 w: szerokość jednej
klatki
h: wysokość jednej klatki row: ilość klatek w rzędzie col: ilość klatek w kolumnie walking_frame_rate 3
- ilość czasu między kolejnymi klatkami chodzenia,
niezależna od parametru wait: w tych klatkach (o parametrze wait będzie
później)
walking_speed
5.000000
walking_speedz 2.500000 Szybkość chodzenia, odpowiednio w lewo i w prawo lub górę i w dół (podane bodajże w pikselach na TU (TU=jednostka czasu)) running_frame_rate 3 running_speed 10.000000 running_speedz 1.600000 heavy_walking_speed 3.700000 heavy_walking_speedz 1.850000 heavy_running_speed 6.200000 heavy_running_speedz 1.000000 jump_height
-16.299999
Wysokość skoku jest zawsze ujemna.jump_distance
10.000000
Dystansy pokonywane podczas skoku w bok/w góręjump_distancez 3.750000 dash_height
-10.000000
Są to wartości wykorzystywane przy skoku podczas biegu. Jeśli
zrozumiałeś poprzednie części to ta nie powinna być zagadką.dash_distance 18.000000 dash_distancez 5.000000 rowing_height -2.000000 rowing_distance 5.000000 Wartości podczas salta w tył podczas spadania. <bmp_end>
To by było na, tyle jeśli chodzi o pierwszą część. FRAME
- KLATKI
Kolejna to już klatki. Klatki to najważniejsza część gry. To one decydują o tym, co będzie się działo na ekranie. Każda klatka zawiera podstawowe informacje takie jak czas, po jakim pojawi się następna, ruch w danej klatce, czy chociażby, jaki obrazek pokaże się podczas wykonywania klatki. <frame> 399 dummy
- powiadomienie, iż zaczyna się nowa
klatka, numer klatki, nazwa (łatwiej się zorientować co jest czym)
pic: 0 - obrazek
klatki
state: 0 - stan postaci, jest około 50 stanów postaram się je wszystkie później opisać wait: 0 - ile komputer będzie oczekiwał na następną klatkę(w TU (1TU=1/30 sekundy jakby ktoś zapomniał) next: 0 - numer następnej klatki dvx: 0 dvy: 0 dvz: 0 - ruch pstaci w danej klatce (x= w lewo prawo, y=góra (skok), z=góra, dół(chodzenie) centerx: 39 centery: 79 - miejsce, w którym pojawi się cień oraz miejsce z którego liczone są wszystkie inne wartości dotyczące położenia hit_a: 0 hit_d: 0 hit_j: 0 - określa co stanie się po wciśnięcu odpowiednich klawiszy, więcej poniżej bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: (Jest to akurat funkcja specjalna więc jej tu nie opiszę.) <frame_end> Co do funkcji hit_a itd. warto wspomnieć o wszystkich możliwych kombinacjach klawiszy: hit_a - oznacza
przyciśnięcia ataku
hit_d - obrony hit_j - skoku hit_Fa - obrony+kierunku+ataku hit_Ua - obrony+góry+ataku hit_Da - obrony+dołu+ataku hit_Fj - obrony+kierunku+skoku hit_Uj - obrony+góry+skoku hit_Dj - obrony+dołu+skoku hit_Ja - obrony+skoku+ataku Warto wspomnieć o podstawowych klatkach, jakie powinna mieć każda postać. Są to: <Frame>
0 ? standing, <Frame> 5 ? walking,
<Frame> 9
? running, <Frame> 12 - heavy_obj_walk,
<Frame> 16 -
heavy_obj_run, <Frame> 19 - heavy_stop_run,
<Frame> 20 / 25
- normal_weapon_atck, <Frame> 30 - jump_weapon_atck,
<Frame> 35 - run_weapon_atck, <Frame> 40 -
dash_weapon_atck, <Frame> 45 - light_weapon_thw
<Frame> 50 - heavy_weapon_thw, <Frame> 52 - sky_lgt_wp_thw, <Frame> 55 - zwanweapon_drink, <Frame> 60 / 65 ? punch, <Frame> 70 - super_punch, <Frame> 80 - jump_attack, <Frame> 85 - run_attack, <Frame> 90 - dash_attack, <Frame> 95 - dash_defend, <Frame> 100 / 102 / 108 ? rowing, <Frame> 110 ? defend, <Frame> 112 - broken_defend, <Frame> 115 - picking_light, <Frame> 116 - picking_heavy, <Frame> 120 ? catching, <Frame> 20 / 25 - normal_weapon_atck, <Frame> 130 / 133 - picked_caught, <Frame> 180 / 186 ? falling, <Frame> 200 ? ice, <Frame> 203 ? fire ,<Frame> 207 ? tired, <Frame> 210 ? jump, <Frame> 213 / 214 ? dash, <Frame> 215 ? crouch, <Frame> 218 - stop_running, <Frame> 219 - crouch2, <Frame> 220 / 222 / 224 / 226 ? injured, <Frame> 230 / 231 ? lying ,<Frame> 232 - throw_lying_man, <Frame> 399 ? dummy Wszystkie te nazwy powinny być zrozumiałe pod warunkiem, że czytacie ten poradnik od początku. Gdybyście czegoś nie rozumieli wystarczy sprawdzić daną klatkę i obejrzeć przypisany jej rysunek. Powinno to rozwiać wasze wątpliwości. FUNKCJE
SPECJALNE W KLATKACH
Przejdę teraz do funkcji specjalnych w klatkach. Pierwsza i najprostsza z nich to funkcja bdy. bdy: - początek funkcji kind: 0 (kind jest zawsze 0 (jest wyjątek ale o nim później)x: 21 y: 18 w: 43 h: 62(koordynaty (punkt startowy, wysokość, szerokość) bdy_end: To jest jak widzicie baaardzo trudne. Funkcja jest używana, aby określić obszar w który należy uderzyć aby postać odniosła obrażenia (bdy=skrót od body=ciało). INTERAKCJA
Kolejna funkcja to funkcja itr (interaction=interakcja(wpływ na otoczenie jakby ktoś nie wiedział). Jest trudniejsza, ponieważ występuje kilka jej typów. Jednakże prawdopodobnie będziecie korzystali tylko z jednego bądź dwóch. Typ pierwszy to zwykłe uderzenie. itr: kind: 0 x: y: w: h: (miejsce gdzie zostanie zadane uderzenie )dvx: dvy: (jak zachowa się przeciwnik po uderzeniu = odrzut ) vrest: ( lub arest: )(określa czas po jakim ten sam atak może uderzyć ponownie postać (vrest jest jeśli bijesz wielu przeciwników arest jeśli jednego (nigdy nie użyłem arest więc nie wiem jak działa) fall: każda postać ma 70 punktów upadku. Każde uderzenie zabiera ich trochę. Poniżej macie pewne wartości ( wartość parametru fall, ilość ciosów do przejścia w Dance of Pain, ilość ciosów do upadku) 20 - 3, 4 30 - 2, 3 60 - 1, 2 70 - 1 (od razu upada) bdefend: podobne do fall tyle że jest 10 punktów. Kiedy zejdą poniżej zera przeciwnik który się broni przejdzie do klatki broken defend. injury: ilość punktów życia odebranych wrogowi. zwidth: jest to szerokość ataku w kierunkach góra dół. Nie umiem tego bardziej zrozumiale wytłumaczyć effect: jaki efekt wywoła atak. Poniżej umieszczam listę. itr_end: Lista efektów: 0. Normalny atak
1. Krew 2. Ogień 3. Zamrożenie 4. Działa jak odbijająca Johna 5. Jest to taki sam efekt jak byśmy w ogóle nie napisali effect. W grze nie jest użyty 20. Zapala, odporność na efekty 20, 21. Np. użyte w każdej płonącej postaci i w ogniu, który zostawia Firen, kiedy robi ognisty bieg. 21. Zapala, odporność na efekty 20, 21. Np. ognisty bieg 22.Zapalam, eksplozja. dvx, dvy muszą być negatywne ponieważ inaczej wciągnie postać do środka. Np. wybuch Firena. 23. To samo, co wyżej tyle, że nie zapala. Np. wybuch Juliana. 30. Zamrożenie. Zamrożone postacie są odporne na ten efekt. Np. Lodowe kolumny Freeza. 40. Nie wiem co to jest (:P) Kolejny rodzaj interakcji to łapanie. itr: kind: 1 (obszar) caughingact: (tutaj podajemy 2 numery klatek do jakich przejdzie nasza postać po złapaniu (jedna dotyczy łapanie od przodu druga od tyłu)) caughtact: (to samo tyle, że chodzi o klatkę do której przejdzie złapana postać itr_end: Używamy Podniesienie broni: itr: kind: 2 x: y: w: h: (obszar) vrest: 1 (zawsze) itr_end: Używamy w pierwszej klatce uderzenia pięścią (zwykłego uderzenia (bo np. Rudolf rzuca szriukenem ) ) Następna to łapanie postaci która nie robi Dance of Pain: itr: kind: 3 x: y: w: h: (obszar) caughingact: caughtact: to samo co w kind: 1 itr_end: Używane w klatkach Louisa kiedy próbuje złapać postać. Kolejny to uderzenie jakie wykonuje twoja postać po rzuceniu przez kogoś. itr: kind: 4 ? Stawiam 3 kropki ponieważ reszta funkcji została opisana w kind: 0, a są takie same. W razie wątpliwości patrz kind: 0 ? itr_end: Kolejna to uderzenie bronią. Jest o tyle dziwna że musi się odwoływać do siły danej broni. Dlatego wartości powinny być zawsze takie same (zaraz je podam) itr: kind: 5 x: y: w: h: (obszar) dvx: 8 (zawsze) fall: 20 (zawsze) bdefend: 16 (zawsze) injury: 789 (zawsze) itr_end: Kolejna to informacja dla innych postaci, że należy wykonać Super Punch, czyli atak kończący np. uderzenie pałką Johna w góre. itr: kind: 6 x: y: w: h: (obszar) vrest: 1 itr_end: Jest to używane w klatkach Dance of Pain oraz Broken Demence Kolejny typ to podnoszenie broni podczas turlania itr: kind: 7 Reszta jak w zwykłym podnoszeniu broni itr_end: Kolejny to leczące kulki (np. Johna) itr: kind: 8 x: y: w: h: (obszar) dvx: numer klatki do której przejdzie kulka po uleczeniu kogoś injury: ilość hp możliwych do wyleczenia. Zazwyczaj 100 Kolejna to tarcza odbijająca pociski. WAŻNE! Nie używać w postaciach. Użyć kind: 0 /effect 4 itr: kind: 9 ? itr_end: Nigdy nie używałem. Nie rozumiem tego do końca. Kolejny rodzaj jest wykorzystany w klatkach fletu Henrego itr: kind: 10 x: y: w: h: (obszar)(wszystkie bronie i postacie unoszone są do górnej krawędzi tego obszaru vrest: 1 injury: niska wartość ( kind: 10 automatycznie zabiera przeciwnikowi życie więc spokojnie możemy zostawić to w spokoju) zwidth: patrz kind: 0 itr_end: kind: 11 sprawia że przeciwnik przebywa cały czas w klatkach falling. Jednak kind: 10 ma ten sam efekt więc kind: 11 jest niepotrzebny. Następny rodzaj tylko blokuje drogę itr: kind: 14 x: y: w: h: (obszar) vrest: 1 itr_end: Używany np. w kamieniu czy lodowej ścianie Freeza. itr: kind:15 ? itr_end: Użyty w wichurze Freeza, odpowiada za wirowanie. itr: kind: 16 ? itr_end: To samo, co wyżej tyle, że odpowiada za zamrażanie. NO! To tyle o interakcji. Kolejna funkcja, którą się zajmę to bpoint. Odpowiada za pasek krwi na twarzy postaci. bpoint: x: y: (pozycja) bpoint_end: Kolejna, bardzo ważna to point, który odpowiada za zachowanie broni w rękach: wpoint: kind: (1 używamy do wszystkiego, oprócz wypuszczania broni z ręki bo do tego jest kind: 3) x: y: Punkt w którym postać trzyma broń. weaponact: Określa jak zachowa się broń podczas trzymania przez postać. (numer klatki) attacking: od 1 do 4. Określa, jaki atak wykonuje broń. Jest to odnośnik do pliku broni. cover: 1=broń ukryta 0=broń widoczna dvx: dvy: dvz: wykorzystane przy ruchu. Jeśli chcesz upuścić broń z zerowymi koordynatami używasz wpoint / kind: 3 Point to to, na co czekaliście: tworzenie obiektów: opoint: początek kind: 1 dla wszystkiego, 2 dla <b>lekkich</b> broni. x: y: gdzie pojawia się obiekt action: numer klatki, w której zostanie aktywowany obiekt dvx: dvy: impuls początkowy oid: numerek obiektu (z pliku data.txt) facing: 0 jeden obiekt z przodu (pozytywny dvx oddala od postaci) 1 jeden obiekt z tyłu. Liczby dwucyfrowe: 10: tu był jakiś kruczek, ale nie pamiętam. Pierwsza liczba określa ilość obiektów, druga kierunek (0 przód, 1 tył, 2 nie wiem ) opoint_end: koniec Jest jeszcze cpoint, ale dodam go innym razem (tak tak nie skończyłem jeszcze tego pisać ) Staty (stany postaci) 0 - stanie, reakcja na wszystkie klawisze i przejście do standardowych klatek (podałem już 1 - chodzenie (prędkość ustalana automatycznie, według bmp_part), reakcja na to samo, co w 0 2 - bieg reakcja na wszystkie klawisze i przejści do odpowiednich klatek, prędkość z bmp. 3 - atak pięścią z tym statem używana jest interakcja 4 - skok, reakcja na strzałki lewo- prawo (zmienia ustawienie postaci) i klawisz ataku 5 - dash, czyli atak w biegu 6 - rowing 7 - obrona 8 - przełamana obrona 9 - łapanie, jeśli w klatce jest cpoint trzeba użyć state: 9 żeby działało bez problemu 10 - złapany do wszystkich klatek, w których postać jest złapana (brak kontroli nad postacią 11 - uderzony brak kontroli nad postacią (standardowej) 12 - spadanie 13 - lód może być uderzony przez przyjaciół, pierwsze uderzenie rozbija lód 14 - leżenie ciekawy state, gdyż można go użyć do ruchu po śmierci postaci, ignorowany przez komputer. 15 - inny, brak specjalnych właściwości 16 - uderzony 2 ( nie wiem po co) 17 - picie z butelek 18 - płonięcie. Interakcja może wpływać na przyjaciół! 19 - ognisty bieg. Możesz ruszać się na osi z ale nie skrzywdzisz przyjaciół 100 - uderzenie w ziemię. Jest użyte w dash ataku louisa z dużym parametrem wait:. Za parę dni opracuje ten state dokładnie. 301 - odpowiada za atak, przy którym można poruszać się na osi z. Patrz: Deep - Dashing Strafe (bieg z mieczem?) 400/401 - teleport Woodyego 400 teleport do najbliższego wroga na dystans 121 pikseli, 401 do najdalszego przyjaciela na dystans 60 pikseli 500/501 - przemiana Rudolfa. Wytłumaczę później. 1000 - odpowiada za zachowanie się lekkiej broni w powietrzu 1001 - l. broń w ręce 1002 - rzucona l. broń 1003 - l. broń odbijająca się od ziemi (nie jestem pewien) 1004 - lekka broń na ziemi 1700 - leczy 10 hp (tylko z ciemnego paska) to samo co itr/kind: 8 2000 - ciężka broń w powietrzu 2001 - c. broń w ręce 2004 - rzucona c. broń 3000 - lecąca kulka. Po uderzeniu z innym atakiem który ma state: 3000 atak jest niszczony 3001 - używane w klatkach uderzenia w coś. To samo co 3002 i 3004 więc ich nie opiszę 3003 - odbicie ataku (chodzi o atak ze statem 3000) 3005 - atak bez cienia. Najsilniejszy, niszczy wszystkie inne. 3006 - super atak. Niszczy 3000 ale jest niszczony przez 3005 80xx - (xx to id postaci z pliku data.txt) przemiana w wybraną postać (tutaj jest bug i trzeba do wszystkich numerów obrazków (pic dodać 140... (muszę przyznać że ten state zawsze mi się przydawał ) 9995 - transformacja w postać o id: 50 (Louis EX)(BTW: id tłumaczyłem w części z opoint: więc jeśli czytasz od końca to tam zajrzyj) 9996 - zbroja louisa. Aktywowane: są 4 razy id 217(i lecą na boki) i raz id 218 (i zostaje w środku). Mogą "skrzywdzić" twoją postać. 9997 - wiadomości max 80x80 z tego co pamiętam. Jeśli aktywujesz opointem musisz dać dvy: 550 bo inaczej będzie spadać . 9998 - usunięcie obiektu z gry. To samo co next: 1000 ale jeśli pracujesz z cpointami i broniami to lepiej użyć tego. 9999 - patrz 15. Przemiana rudolfa: Potrzebny będzie cpoint, ale chwilowo nie wiecie co to. Podpowiem że w klatkach dotyczących trzymania wroga trzeb umieścić odnośnik do klatki z transformacją. Klatka musi mieć: state: 9 cpoint z wartościami : vaction: 181 (żeby przeciwnik przeszedł do klatki falling)throwvx: 10 throwvy: -5 (żeby przeciwnik nie została w tym samym miejscu) throwinjury: -1 (odpowiada za samą transformację Tyle. Jesteście już inną postacią. Z powrotem zmieniacie się przez kombinację D+J+A. Tak jest niestety w kodzie gry. Żeby przemienić się w postać którą już byliście trzeba: stworzyć jedną klatkę z state: 500. Stworzyć drugą klatkę z state 501. Tyle. Warto uwzględnić w tej drugiej next: 999 ale nie jest to konieczne. (500 odpowiada za blokadę w razie gdybyś nie był jeszcze żadną inną postacią (wrócisz wtedy do klatki standing) Źródło:
forum lf2 biz
Programy
Data Changer -
program, z którego będziemy korzystać do tworzenia pliku dat
Paint.NET - bardzo dobry, darmowy program graficzny |