LF2, Little Fighter 2LF2 Datachanging Tutorial (Deutsch)
Man braucht zuerst: -Little Fighter 2 (http://www.lf2.net) -den lf2 Datachanger -etwas Erfahrung oder dieses Tutorial
Vorwort
Nicht alles was in diesem Tutorial steht ist von mir. Manches hab ich aus Zeitgründen von anderen Tutorials kopiert und übersetzt!!
Hier einige Erläuterungen: Frame: -ein Frame ist ein Teil eines Bewegungsablaufs z.B einer Attacke Framenummer: - die Framenummer ist die Nummer die vor einem Frame steht. z.b. “<frame> 220 injured” ist Frame 220 d -verteidigen a -Attacke j -springen F -nach vorne (>) U -nach oben (^) D -nach unten (v)
Framedefinition <bmp_begin> name: Bandit head: sprite\sys\bandit_f.bmp small: sprite\sys\bandit_s.bmp file(0-69): sprite\sys\bandit_0.bmp w: 79 h: 79 row: 10 col: 7 file(70-139): sprite\sys\bandit_1.bmp w: 79 h: 79 row: 10 col: 7 file(140-209): sprite\sys\bandit_0b.bmp w: 79 h: 79 row: 10 col: 7 file(210-279): sprite\sys\bandit_1b.bmp w: 79 h: 79 row: 10 col: 7 walking_frame_rate 3 walking_speed 4.000000 walking_speedz 2.000000 running_frame_rate 3 running_speed 8.000000 running_speedz 1.300000 heavy_walking_speed 3.000000 heavy_walking_speedz 1.500000 heavy_running_speed 5.000000 heavy_running_speedz 0.800000 jump_height -16.299999 jump_distance 8.000000 jump_distancez 3.000000 dash_height -11.000000 dash_distance 15.000000 dash_distancez 3.750000 rowing_height -2.000000 rowing_distance 5.000000 <bmp_end>
---------------------------------------------------------------------------------------------------
name: Der Name des Charas head: Das Bild, das im Titelbildschirm angezeigt werden soll small: Das Bild, das während des Kampfes angezeigt wird file: Die Bilder der einzelnen Bewegungsabläufe walking_frame_rate: Anzahl der Frames pro Sekunde, wenn der Chara läuft walking_speed: Wie schnell ein Chara ist wenn er ganz normal läuft walking_speedz: Wie schnell ein Chara ist wenn er diagonal läuft running_frame_rate: Anzahl der Frames pro Sekunde wenn er rennt running_speed: Wie schnell der Chara ist wenn er rennt. running_speedz: Wie schnell der Chara ist wenn er diagonal rennt. heavy_walking_speed: Wie schnell der Chara ist wenn er läuft und einen schweren Gegenstand trägt (Stein). heavy_walking_speedz: Wie schnell der Chara ist wenn er diagonal läuft und einen schweren Gegenstand trägt. heavy_running_speed: Wie schnell ein Chara rennt wenn er einen einen schweren Gegenstand trägt heavy_running_speedz: Wie schnell der Chara diagonal rennt wenn er einen schweren Gegenstand trägt . jump_height: Wie hoch der Chara springt ( je tiefer die Nummer desto höher der Sprung) dash_height: Wie hoch der Chara springt wenn man rennt und dann springen drückt. dash_distance: Wie weit der Chara springt wenn man rennt und dann springen drückt. dash_distancez: Wie weit der Chara diagonal springt wenn man rennt und dann springen drückt. rowing_height: Wie hoch man kommt wenn man vom Gegner in die Luft geschleudert wird (z.B durch Dragonpunch) und dann springen drückt. rowing_distance: Wie weit man kommt wenn man vom Gegner in die Luft geschleudert wird (z.B durch Dragonpunch) und dann springen drückt.
<frame> 257 burn_run pic: 165 state: 19 wait: 2 next: 261 dvx: 10 dvy: 0 dvz: 0 centerx: 32 centery: 79 hit_a: 0 hit_d: 218 hit_j: 218 mp: -10 sound: data\004.wav opoint: kind: 1 x: 18 y: 81 action: 50 dvx: 0 dvy: 0 oid: 211 facing: 1 opoint_end: wpoint: kind: 1 x: 18 y: 49 weaponact: 25 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: itr: kind: 0 x: 20 y: 11 w: 49 h: 70 dvx: 10 dvy: -10 fall: 70 vrest: 10 bdefend: 16 injury: 45 effect: 2 itr_end: bdy: kind: 0 x: 18 y: 14 w: 43 h: 65 bdy_end: <frame_end>
Name Description <frame><frame_end> Zeigt den Anfang/Ende eines Frames pic Zeigt die Nummer des Pics an das bei diesem frame ausgegeben werden soll. Für mehr Informationen lesen sie bei “Die Bilder einer Attacke sehen anders aus als ih mir das vorstelle. Wie kann ich das ändern?” weiter state Gibt an was der Chara zu diesem Frame machen soll. Für mehr Informationen gehen sie zu “States, was bedeuten sie alle?” wait Wie lange der Frame dauert (+1 = 1/30 Sekunde) next Gibt an zu welchem Frame man nach diesem Frame kommt (999 Um zur Ausgangsposition zurückzukommen) dvx Gibt an wieviele Pixel man sich auf der X-Achse bewegt (links-rechts) dvy Gibt an wieviele Pixel man sich auf der Y-Achse bewegt(höhe) dvz Gibt an wieviele Pixel man sich auf der Z-Achse bewegt(hoch-runter) centerx Mittelpunkt des Bildes in Pixel (ein Bild mit einer Breite von 50 Pixel hat centerx: 25) centery Charas: Boden des Bildes in Pixel (Bild mit Höhe von 50 hat centery: 50)Bälle: Mitte des Bildes in Pixel (Bild mit Höhe von 50 hat centery: 25) hit_a* Gibt Nummer des Frames an zu dem gesprungen wird, wenn Attacke gedrückt wird. hit_a: 308 bedeutet, dass wenn man während des moves Attacke drückt man zu Frame 308 kommt. hit_j Gibt Nummer des Frames an zu dem gesprungen wird, wenn springen gedrückt wird. hit_d Gibt Nummer des Frames an zu dem gesprungen wird, wenn Verteidigen gedrückt wird. hit_back Gibt Nummer des Frames an zu dem gesprungen wird, wenn die Pfeiltaste gedrückt wird, die zur Gegenseite der Richtung in die man gerade läuft zeigt. hit_Fa Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn >+a gedrückt wird. hit_Fa: 308 bedeutet, dass wenn man >+Attacke drückt der nächste Frame 308 ist. hit_Ua Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn ^+a gedrückt wird. hit_Da Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn v+a gedrückt wird hit_Fj Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn >+j gedrückt wird hit_Uj Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn ^+j gedrückt wird. hit_Dj Zeigt die Nummer des Frames an zu dem gesprungen wird, wenn v+j gedrückt wird. hit_ja Zeigt an zu welchem Frame gesprungen wird wenn verteidigen+springen+attacke gedrückt wird. mp Wieviel Mana der Move benötigt. sound Der Sound der zu dem Move gespielt werden soll
Wie kann man Attacken z.b von Woody bei Template einfügen?
Man öffnet zuerst den Datachanger. Nun klickt man auf file--> open und öffnet dann die Woody.dat in dem LF2\data Ordner. Angenommen wir wollen den Knie Kick von Woody bei Template einfügen, suchen wir nun den Frame mit dem Name “fly_crash”. Das erste Frame ist Nummer 250. Man kopiert nun alle Frames mit dem Name “fly_crash”. Dann geht man wieder auf file-->open und öffnet template.dat. Nun geht man nun sucht man Frame 250. Dieser ist bei template.dat nicht vorhanden. Die letzten zwei Frames heißen “ 234 throw_lying_man” und “399 dummy”. Da 250 zwischen diesen beiden Nummern liegt fügt man es auch zwischen ihnen ein. Nun geht man zu frame 0 welches so aussieht:
<frame> 0 standing pic: 0 state: 0 wait: 3 next: 1 dvx: 0 dvy: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 33 y: 45 weaponact: 21 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
Nun trägt man hinter hit_j: 0 z.b. hit_Fj: 250 ein. Also müsste Frame 0 nun heißen:
<frame> 0 standing pic: 0 state: 0 wait: 3 next: 1 dvx: 0 dvy: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 hit_Fj: 250 wpoint: kind: 1 x: 33 y: 45 weaponact: 21 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
hit_Fj: 250 bedeutet, dass wenn man defend (hit_) nach vorne (F=foreward) und springen (j=jump) drückt zu dem Frame 250 kommt. Man trägt nun auch noch hit_Fj: 250 bei Frame 1-8 ein. Nun speichert man die Datei und öffnet das Spiel.
Kürzel: Beschreibung: hit_Fa verteidigen+ > + schlagen hit_Fj verteidigen+ > + springen hit_Ua verteidigen+ ^ + schlagen hit_Uj verteidigen+ ^ + springen hit_Da verteidigen+ v + schlagen hit_Dj verteidigen+ v+ springen hit_ja verteidigen+ springen+ schlagen
Was muss man beachten?
-kein Frame darf doppelt vorkommen -die Bilder werden nicht so stimmen wie man das will
Ich hab 1 Frame doppelt. Was nun?
Angenommen man hat 2 Attacken. Die eine fängt bei Frame 250 an und die andere hört bei Frame 250 auf. Dann geht man am besten zu der attacke die mit Frame 250 aufhört. Nun guckt man mit welchem Frame die andere Attacke aufhört. Dann geht man zurück zu dem Frame 250. Wenn die andere Attacke z.B. mit Frame 280 aufhört nennt man Frame 250 Frame 281 und trägt bei frame 249 bei next 281 ein.
Man muss eigentlich nur die Zahl die vor dem Name und die Zahl hinter next: verändern. Wenn man die Zahl for dem Name 309 nennt muss man die Zahl hinter next auch 309 nennen. (Nächster Frame=309)
Die Bilder einer Attacke sehen anders aus als ih mir das vorstelle. Wie kann ich das ändern?
Also betrachten wir uns erstmal den Kopf von woody.dat. Der sieht so aus:
<bmp_begin> name: Woody head: sprite\sys\woody_f.bmp small: sprite\sys\woody_s.bmp file(0-69): sprite\sys\woody_0.bmp w: 79 h: 79 row: 10 col: 7 file(70-139): sprite\sys\woody_1.bmp w: 79 h: 79 row: 10 col: 7 file(140-209): sprite\sys\woody_2.bmp w: 79 h: 79 row: 10 col: 7 walking_frame_rate 3 walking_speed 5.000000 walking_speedz 2.500000 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 jump_distance 10.000000 jump_distancez 3.750000 dash_height -10.000000 dash_distance 18.000000 dash_distancez 5.000000 rowing_height -2.000000 rowing_distance 5.000000 <bmp_end>
Das fett gedruckte ist das was man in dem Fall brauchen. Wenn man nun woody_0.bmp öffnet sieht man das dort 70 kleine Felder sind. Diese wurden mit den Zahlen 0-69 nummeriert. Also das erste Bild ist 0, das zweite 1 usw. Wenn man nun mal Frame 0 anguckt sieht man folgendes:
frame> 0 standing pic: 0 state: 0 wait: 5 next: 1 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 hit_Fa: 235 hit_Ua: 295 hit_Da: 265 hit_Fj: 280 bpoint: x: 39 y: 35 bpoint_end: wpoint: kind: 1 x: 23 y: 55 weaponact: 23 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
pic: 0 bedeutet, dass das erste Bild, das 0 genannt wurde, in diesem Frame wiedergegeben wird. Wenn man die Zahl hinter pic: verändert so sieht auch der Bewegungsablauf anders aus. Um ein neues Bild einzufügen fügen sie dann noch “file(210-279): sprite\sys\woody_3.bmp w: 79 h: 79 row: 10 col: 7” (ohne “”) ein. Sie müssen dieses Bild aber dann woody_3.bmp nennen. Wenn sie es Woody_attack nennen wollen müssen sie die Zeile “file(210-279): sprite\sys\woody_attack.bmp w: 79 h: 79 row: 10 col: 7” (ohne “”) einfügen, also würde es dann so aussehen:
<bmp_begin> name: Woody head: sprite\sys\woody_f.bmp small: sprite\sys\woody_s.bmp file(0-69): sprite\sys\woody_0.bmp w: 79 h: 79 row: 10 col: 7 file(70-139): sprite\sys\woody_1.bmp w: 79 h: 79 row: 10 col: 7 file(140-209): sprite\sys\woody_2.bmp w: 79 h: 79 row: 10 col: 7 file(210-279): sprite\sys\woody_attack.bmp w: 79 h: 79 row: 10 col: 7 walking_frame_rate 3 walking_speed 5.000000 walking_speedz 2.500000 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 jump_distance 10.000000 jump_distancez 3.750000 dash_height -10.000000 dash_distance 18.000000 dash_distancez 5.000000 rowing_height -2.000000 rowing_distance 5.000000 <bmp_end>
Wie kann ich eine Verwandlung durchführen
Eine Verwandlung ist wohl der schönste Move in Lf2. Aber wie kann man einen Spieler in einen anderen verwandeln lassen? Eigentlich ganz einfach. Angenommen man will sich nun von Woody zu Julian verwandeln lassen muss man zuerst Woody.dat öffnen. Hier fügt man folgendes ein:
<frame> 308 transform sound: data\063.wav pic: 140 state: 0 wait: 2 next: 309 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 mp: 100 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 309 transform pic: 141 state: 0 wait: 2 next: 310 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 310 transform pic: 142 state: 0 wait: 2 next: 311 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 311 transform pic: 143 state: 0 wait: 2 next: 312 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 312 transform pic: 144 state: 0 wait: 2 next: 313 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 313 transform pic: 145 state: 0 wait: 2 next: 314 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 314 transform pic: 146 state: 0 wait: 2 next: 315 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 315 transform pic: 147 state: 0 wait: 2 next: 316 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 316 transform pic: 148 state: 0 wait: 2 next: 317 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 317 transform pic: 150 state: 0 wait: 2 next: 318 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 318 transform pic: 151 state: 0 wait: 2 next: 319 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 319 transform pic: 152 state: 0 wait: 2 next: 320 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 320 transform pic: 153 state: 0 wait: 2 next: 321 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 321 transform pic: 154 state: 0 wait: 2 next: 322 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 322 transform pic: 155 state: 0 wait: 2 next: 323 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 323 transform pic: 156 state: 0 wait: 2 next: 324 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 324 transform pic: 157 state: 0 wait: 2 next: 325 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 325 transform pic: 158 state: 0 wait: 2 next: 326 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 326 transform pic: 160 state: 0 wait: 2 next: 327 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 327 transform pic: 161 state: 0 wait: 2 next: 328 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 328 transform pic: 162 state: 0 wait: 2 next: 329 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
<frame> 329 transform pic: 163 state: 8051 wait: 2 next: 330 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 37 y: 46 weaponact: 30 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 21 y: 18 w: 43 h: 62 bdy_end: <frame_end>
Bei Frame 329 bei state: 8051 gibt man ein: state: 80xx. Dabei steht 80 für die verwandlung und xx für die id von dem spieler in den du dich verwandeln möchtest. Um die ID heraus zu bekommen muss man die data.txt datei offnen. Diese findet man in dem lf2\data Ordner.
Man muss die pic: noch umändern. Dazu musst du in der oberen Zeile z.B file(210-233): sprite\sys\verwandlung.bmp w: 79 h: 79 row: 10 col: 7 einfügen. Du kannst den Eintrag natürlich auch umändern. Dieses (210-233) steht für die pic: nummer. Du musst die pic nummer dann danach richten. sprite\sys\verwandlung.bmp steht für die datei in der die bilder sind. Also müsste man bei dem Beispiel eine Datei in den ordner sprite\sys hinzufügen die verwandlung.bmp heißt. Diese Datei darf allerdings nur 24bilder beinhalten (file: 210-233--> 24 Bilder).
Man muss die Datei von dem Chara in den man sich verwandeln will auch bearbeiten. Wenn man sich in Julian verwandeln will öffnet man zuerst die julian.dat datei. Dort steht dann oben:
name: Julian head: sprite\sys\julian_f.bmp small: sprite\sys\julian_s.bmp file(0-49): sprite\sys\julian_0.bmp w: 79 h: 99 row: 10 col: 5 file(50-63): sprite\sys\julian_1.bmp w: 109 h: 99 row: 7 col: 2 file(64-113): sprite\sys\julian_2.bmp w: 79 h: 99 row: 10 col: 5
Das muss man dann umändern in:
name: Julian head: sprite\sys\julian_f.bmp small: sprite\sys\julian_s.bmp file(0-49): sprite\sys\julian_0.bmp w: 79 h: 99 row: 10 col: 5 file(50-63): sprite\sys\julian_1.bmp w: 109 h: 99 row: 7 col: 2 file(64-113): sprite\sys\julian_0.bmp w: 79 h: 99 row: 10 col: 5 file(114-127): sprite\sys\julian_1.bmp w: 109 h: 99 row: 7 col: 2 file(64-113): sprite\sys\julian_2.bmp w: 79 h: 99 row: 10 col: 5
Hier muss man die dateien julian_0.bmp und julian_1.bmp verdoppeln aber die file nummern gleich lassen. (0-49=50; 50-63=14......das heißt man muss dann von 64 wieder anfangen und +50 rechen=113 und das dann wieder + 14= 127)
Nun muss man noch bei woody.dat “hit_ja: 308” bei Frame 0-8 eintragen. Nun kann man die Datei abspeichern.
Jetzt kann sich Woody in Julian verwandeln, aber wahrscheinlich funktionieren die Bilder, wenn man gleich Julian anwählt nicht mehr richtig. Um dies zu ändern braucht man schon ein bischen mehr Erfahrung. Trotzdem werde ich in einer späteren Version dieses Tutorials auch dies erklären...
Wie kann man einen Chara fliegen lassen?
Dies ist auch ein sehr cooler Move und auch nicht schwer zu machen. Um einen Chara fliegen zu lassen muss man nur Frame 210, 211 und 212 löschen und dafür diese 3 Frames einfügen:
<frame> 210 jump pic: 60 state: 4 wait: 1 next: 211 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 wpoint: kind: 1 x: 43 y: 63 weaponact: 21 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 22 y: 24 w: 35 h: 58 bdy_end: <frame_end> <frame> 211 jump pic: 61 state: 4 wait: 1 next: 212 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 sound: data\017.wav wpoint: kind: 1 x: 43 y: 64 weaponact: 21 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 26 y: 26 w: 34 h: 56 bdy_end: <frame_end> <frame> 212 jump pic: 62 state: 4 wait: 1 next: 0 dvx: 0 dvy: 0 dvz: 0 centerx: 39 centery: 79 hit_a: 0 hit_d: 0 hit_j: 210 bpoint: x: 38 y: 28 bpoint_end: wpoint: kind: 1 x: 33 y: 36 weaponact: 20 attacking: 0 cover: 0 dvx: 0 dvy: 0 dvz: 0 wpoint_end: bdy: kind: 0 x: 20 y: 11 w: 29 h: 61 bdy_end: <frame_end>
Wenn man nun abspeichert, das Spiel startet und mehrmals hintereinander springen drückt sieht man, dass der Chara fliegt.
|