Новый LFF: шаманство ¯\_(ツ)_/¯
✦✦✦✦✦
Neora: /остановлено/ печалька
✦✦✦✦✦
EOD \ FOE: /остановлено/
✦✦✦✦✦
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ] |
|
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Руководства и База знаний » [outdated] Гайдики по DC |
[outdated] Гайдики по DC |
29.05.16 22:10 | #1
Внимание! Attention! Achtung! Attendentes! 注目! 注意! Тема создана для архивации старых гайдов и не содержит в себе всю современную и полезную информацию в сфере кодинга под LF2 движок. За более свежей текстовой информацией лучше обращайтесь к Гайду Запашка. DC Guide Eng Basic Data Changing Tutorial by zizibaluba/briankid/yokinakiwa +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ################################################################# line of = is: another part of the data line of - is: another piece of the data I'm talking about or something that is important that needs space line of + is: something else other than explained box made of _ is: example a * is: I'll explain more later a ! is: something important a ? is something I'm not sure about (which means I'll update if i find out anything else than what I already know) a EX is: example --------------------------------------------------------------------------------------------------------------------------------------------------------------- d stands for: defend j stands for: jump a stands for: attack ^ stands for: up v stands for: down > stands for: right < stands for: left ################################################################ ================================================================ -We'll use the data on the very top for DDavis for these few examples __________________________________________________________________________________ name: Davis head: sprite\sys\davis_f.bmp small: sprite\sys\davis_s.bmp 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 __________________________________________________________________________________ -name: Davis ---> name of the Character -head: sprite\sys\davis_f.bmp ---> the faace of the Character on the selection screen -small: sprite\sys\davis_s.bmp ---> the fface of the Character on the side of the HP and MP bars ------------------------------------------------------------------------------------------------------------------- -w: 79 ---> the width of a pic. in a spriite * -h: 79 ---> the height of pic. in a spritte * -row: 10 col: 7 ---> the number of rows aand columns in the sprite file * ================================================================ z-axis ---> The columns or up and down you can walk or move ================================================================ walking_speed =====> how fast you walk walking_speedz =====> going toward z-axis's speed when walking running_speed =====> how fast you run running_speedz =====> going toward z-axis's speed when running heavy_walking_speed =====> how fast you walk when holding a heavy item heavy_walking_speedz =====> going toward z-axis's speed when walking with a heavy item heavy_running_speed =====> how fast you run when holding a heavy item heavy_running_speedz =====> going toward z-axis's speed when running with a heavy item jump_height =====> how high you can jump jump_distance =====> how far you can jump jump_distancez =====> going toward z-axis's distance when jumping dash_height =====> how high you can jump when running dash_distance =====> how far you can jump when running dash_distancez =====> going toward z-axis's distance when running then jumping rowing_distance =====> how far you would roll =============================================================== -We'll use Davis run and punch for the neext few examples _________________________________________________________________________________ 72 super_punch pic: 8 state: 3 wait: 2 next: 73 dvx: 0 dvy: 0 dvz: 0 centerx: 28 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: _________________________________________________________________________________ 72 super_punch ---> Frame Number and Name of Move (name is usually shorten)+(the name of move is just there to let people find it easily) pic: 8 ---> The Picture the frame loads (!The picture is counted from left to right in sprites and the first picture is 0 not 1!) state: 3 ---> The character's state* wait: 2 ---> How long this frame lasts next: 73 ---> The next frame to go to dvx: 0 ---> Moves foward how much dvy: 0 ---> Moves upwards/downwards how much (!As in sky and ground NOT the up and down when walking!) dvz: 0 ---> Moves up and down how much (!Now it's the walking up and down!) centerx: 28 ---> centerx is using which point as the character's center (!I suggest that you don't mess around with this one!) centery: 79 ---> What point for the feet (If the point is larger than 79, the character will be in the air) ----------------------------------------------------------------------------------------------------------------- hit_a: 0 ---> What frame it goes to when you press attack at this frame hit_d: 0 ---> What frame it goes to when you press defend at this frame hit_j: 0 ---> What frame it goes to when you press jump at this frame +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hit_fj: ---> What frame it goes to when you input d>j at this frame hit_uj: ---> What frame it goes to when you input d^j at this frame hit_dj: ---> What frame it goes to when you input dvj at this frame hit_fa: ---> What frame it goes to when you input d>a at this frame hit_ua: ---> What frame it goes to when you input d^a at this frame hit_da: ---> What frame it goes to when you input dva at this frame hit_ja: ---> What frame it goes to when you input dja at this frame ----------------------------------------------------------------------------------------------------------------- itr: ---> Attack starts kind: 0 ---> What kind of attack* x: 40, w: 35 ---> How far the attack goes (!Forward and Backward!) (if you learned pre-algebra the x is like x-axis(right and left) and the w is like width) y: 5, h: 45 ---> How far the attack goes (!Up and Down!As in sky and ground!) (if you learned pre-algebra the y is like y-axis(up and down)and the h is like height) dvx: 3 ---> How far the enemy falls backwards when hit (If you put negative number the enemy will fall fowards) dvy: -10 ---> How high the enemy falls upwards when hit (!The number here is negative so that means the enemy will fall downto the ground not fly into the sky!) fall: 70 ---> The chance of the enemy falling down arest: 15 ---> ?Currently Unknown? bdefend: 60 ---> The chance of breaking through a defence and hitting the enemy, almost the same as fall injury: 40 ---> The amount of damage the attack deals* itr_end: ---> Attack ends ---------------------------------------------------------------------------------------------------------------- bdy: ---> Body Starts (What body does) kind: 0 ---> ?Special Effect? (I'm not sure what will happen, maybe I'll experiment with it later) x: 26, w: 35 ---> How far when attacked (!Forward and Backward!) (if you learned pre-algebra the x is like x-axis (right and left) and the w is like width) y: 12, h: 66 ---> How far when attacked (!Up and Down!As in sky and ground!) (if you learned pre-algebra the y is like y-axis (up and down) and the h is like height) bdy_end ---> Body Ends ---------------------------------------------------------------------------------------------------------------- mp: How much mp is used (If you add this onto a move after the hit_a, hit_d, hit_j, you could make that move take mp) ============================================================== SOUND --------------------------------------------------------------------------------------------------------------- Adding sounds to a move is really easy but making that sound come out at the right moment takes lots of testing... To add a whole new sound all you have to do is put the sound file into the folder that is called "Data" To add a sound to a move or like drinking milk, all you have to do is put this on the second line of the frame (after the pic:, etc): !sound: data\(sound name).wav! For example: I got a new sound called "beep.wav" into the "Data" folder Now I want my new character to make that sound when he/she walks I put !sound: data\beep.wav! to the second line of the place I want it to make that sound Now I got sounds at those frames. ============================================================== INJURY --------------------------------------------------------------------------------------------------------------- We all know now that adding injury increses damage but there are special codes you can add after the injury codes. effect: 0 ---> Punch effect: 1 ---> Sharp Weapon (Blood Comes Out) effect: 2 ---> Fire effect: 3 ---> Ice effect: 4 ---> Goes Through Enemy (?Most Likely For The Healing Balls That Doesn't Let Enemy Heal?) effect: 5 or Higher ---> ? effect: 20 ---> Fire ________________________________________________________________________________ injury: 40 +++++++++++++++++++ Then Add effect: 2 +++++++++++++++++++ injury: 40 effect: 2 -------------------- Now this attack does 40 damage and burn people ________________________________________________________________________________ ============================================================== Sprite ---------------------------------------------------------------------------------------------------------------- The height and width of the sprite could be changed at the beginning of the data. Ususlly they're 79 by 79 pixels. Also you could change the amount of sprites on the Sprite sheets. !The first box is 0 not 1! When they say a "row" they mean how many boxes in a row not how many rows. ============================================================== $ $ $ THE BASICS TUTORAL ENDS HERE PLEASE MOVE ON TO THE ADVANCE TUTORAL IF YOU DON'T SEE ANYTHING YOU NEED HERE. $ $ $ Tutorial For Data Editing( By MSSJSG) Every chars grid in the .bmp is 79x79 x: the width start point from the grid. y: the height start point from the grid. -1 -1 -0---------------------79 ----------------------- ----------------------- ----------------------- 79 but all chars doesn't use all of the 79x79 space. Davis' punch for an example 72 super_punch pic: 8 state: 3 wait: 2 next: 73 dvx: 0 dvy: 0 dvz: 0 centerx: 28 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: >pic: 8 the pic no. from 0 to the no. >state: 3 the char state state: 0 = stand state: 1 = walk state: 2 = run state: 3 = attack state: 7 = defend state: 1700 = heal yourself >wait: 2 the frame plays how long. >next: 73 the pic's no. >dvx: 0 dvy: 0 dvz: 0 example: dvx: 10 move forwards 10 cubes,if -10 that means move backwards 10 cubes dvy: -10 move up to sky 10(like jump) if 10 move down to ground 10 dvz: is the move position of ground >centerx: 28 centery: 79 centerx: 28 not important, centery: 79, if the no. larger the char will stay in the sky. >hit_a: 0 hit_d: 0 hit_j: 0 hit_a: 0 mean hit attack key go to what frame(the no.),etc hit_fj: d>j hit_uj: d^j hit_dj: dvj hit_fa: d>a hit_ua: d^a hit_da: dva hit_ja: dja > itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: kind: 0--attack kind, 0 is normal, 10 is the flute... x: 40--the starting point of x y: 5 the starting point of y w: 35--the width from the x, h: 45--the high from the y >bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: kind: 0 -- attack kind x: 26 y: 12 w: 35 h: 66> attack a bit effect--the attack effect effect: 0---normal 1---blood 2---fire 3---ice 4---just attack weapon through chars 5---no effect mp---the magic point use special: 4300: hp-40 mp-300 10100: hp-100 mp-100,etc -5050: hp+500 mp+500,etc fall--fall down %, 70 is fall down, 60 is stomach, if its -1 or lower never fall, bdefend--broken defend %, 60 broken fall, bdefend will continously add when you attack... tranform state: 80xx xx=char id To make and object chase, at the end of the first line, where it says: "hit_a: 0 hit_d: 0", at the end of the line put " hit_Fa: 2", then the object chases! opoint creates a weapon, then oid is the id of the weapon. Stage help 1 id: 0 #stage 1-1 2 bound: 900 3 id: 30 hp: 50 times: 2 ratio: 1.0 4 5 bound: 1300 6 id: 30 hp: 50 times: 2 ratio: 1.0 7 id: 31 hp: 50 times: 1 8 id: 31 hp: 50 times: 1 ratio: .4 9 10 bound: 1700 11 id: 3000 hp: 50 times: 2 12 id: 3000 hp: 50 times: 2 ratio: 1.0 13 14 bound: 2200 15 id: 122 x: 1100 #milk 16 id: 123 x: 1100 #beer 17 id: 30 hp: 50 ratio: 1 18 id: 30 hp: 50 19 id: 31 hp: 50 20 id: 31 hp: 50 ratio: .4 21 id: 31 hp: 50 ratio: .2 22 23 the parameters obviously is used to enclose the coding of each stage. In line 1, we see the items "id: 0" and "#stage 1-1". "id: 0" would mean the sequence of the stages. So "0" would represent stage 1 and "1" would represent stage 2. Stage 2 would actually mean Stage 1-2 and stage 7, "8", would be Stage 2-2. "#stage 1-1" is probably just a comment tag, and does nothing useful besides helping you identify which stage is which. So anything entered after the Pound (#) would not affect the coding. In line 2-4, we see the parameters and . These would indicate what happens in each "phase" of enemy that appears. Every phase would be followed by the Go arrow and followed by the next phase of enemies. If there aren't any more enemies, it'll move onto the next stage. "bound: 900" would probably mean the distance of the the x-coordinates the the area of the phase has, so in phase 1 of our example, you can only move 900 points on the x-coordinate before you get stopped by an invisible wall. Phase 2 has a bound of 1300, so by Phase 2, so the previous bound of 900 has been extended to 1300 of space for you to move horizontally. Anything within the parameters would be Objects in the Phase. These can include enemies, hostages/criminals, items (ex. milk). In Phase 1 of our example, we see this tag: id: 30 hp: 50 times: 2 ratio: 1.0 "id: 30" would represent the id of the object. What each ID corresponds to can be found in "Data.txt" in the \data directory of LF2. "id:30" means a Bandit. "hp: 50" would be refering to how much HP (hitpoints) the object appearing has. In this case, our Bandit has 50 HP. "times: 2" means how many times this object appears. So in this case, 2 bandits will come out, the 2nd one coming out after the previous one's dead. "ratio: 1.0" refers to when more than one player is playing. So right now, 1 bandit appears for every player there is. If the ratio is, say 5, there would be 5 bandits for every player, whereas a ratio of 0.5 would mean only 1 bandit would come up for every 1 player. In line 15 and 16, we see: id: 122 x: 1100 #milk id: 123 x: 1100 #beer Again, id: refers to the id of the object, and # is the comment sign. id: 122 would be milk, 123 would be beer, as shown in data.txt. #milk and #beer are disregarded by the game, as these are only comment lines. (x: 1100) would refer to where on the field does these items appear. So since by this phase the bound has already extended to 2200, coordinates of 1100 would mean that the milk and beer would appear in around the center of the playing area. Lets look at another example. This time this is from 4-4, (id: 33). bound: 1800 id: 300 hp: 100 act: 40 x: 1000 y: 0 reserve: 8 id: 300 hp: 100 act: 40 x: 1100 y: 0 reserve: 8 id: 122 x: 900 #milk ratio: 2 id: 123 x: 900 #beer ratio: 1 id: 3000 hp: 50 times: 2 ratio: 2 The only thing of notice here is the line: id: 300 hp: 100 act: 40 x: 1000 y: 0 reserve: 8 Id 300 is criminal.dat I believe (or, hostages). act: 40 would refer to which criminal is set. If we take a look at criminal.txt, we can see that: 40 bandit pic: 20 state: 0 wait: 7 next: 41 dvx: 0 dvy: 0 dvz: 0 centerx: 38 centery: 78 hit_a: 0 hit_d: 0 hit_j: 0 bdy: kind: 1043 x: 21 y: 18 w: 43 h: 62 bdy_end: We don't have to worry about the other code for now. What we do want to look at, is "40 bandit". This means that act: 40 refers to bandits. (0 is monk, 10 is mark... etc.). "x" as we stated before is just the coordinates where they appear. A "x" value of a negative # (ex. x: -1000) would simply mean that they appear from behind you... 1000 units behind your screen. Reserve would be the # of reserves they have... or "Continues". ======================================= ======================================= Data Changing will require Jiquera's data changer. You can download it from this link. The data file is called data.txt Remember, if you add more characters, weapons, and backgrounds, it WILL TAKE LONGER TO LOAD LITTLE FIGHTERS 2. SO MAKE A BACKUP OF data.txt Activating all of the characters: First thing to do is to open the data.txt. The first part of the data is a list of the characters. Find it. Now you should see Bandit, Hunter, Mark, LouisEX, Firzen, ect. Copy their line and put them on the bottom of the list. Like this: Now change the numbers of the original ones. Because the original numbers are used for stage mode. One way is to add a "8" before each of their id numbers. For instace: Bandit is number 30, if you add a 8 before his id number. It would be 830. Just make sure the number isn't already in used. To check if it is in use, scroll down and look at the id numbers ABOVE THE BACKGROUNDS. SAVE If you run Little Fighters, you should be able to select all of the characters now. Adding new characters: Extract the file in the desktop and then rename to it's real name EXAMPLE-"NeoWoody" and make sure it's called a ".dat" file. Then put that file into the "your LF2 folder"\data\ Open up data.txt. Go to the character parts. Now all you have to do is make your own character with their own ID number. Make a empty row where you want them to be when you select them and put down a ID number. I recommand making them a 400 and then make the next character you install one extra. For example: if you wanted to install NeoWoody, give him the ID number of 400. Then if you install NeoDavis, make him number 401. Never make any character have the numbers of 100-199. Next is their type, characters always have a type of "0" so give them a type of zero. After that is where the file is, the file must always be in the "data" folder. SAVE So if all goes well, it should be like this: id: 400 type: 0 file: data\"your new character's name".dat 7. Run Little Fighters 2 and while it's loading, it should take a little longer and it shouldn't break. Look for your character and you should see him. Adding New Weapons with just a .bmp file: If you are wanting to install a new weapon that only comes with just a .bmp file it means it was meant to just replace a orignal weapon. Take that file and place it on your desktop. Look in the "data" folder for the name of the data. EXAMPLE: If the .bmp is called weapon0.bmp, look for the weapon0.dat, copy the data and call it whatever you want your weapon to be or just call it weapon12 and if you install another weapon, it could be called weapon13. Now rename the .bmp on your desktop to the same as the data file of the new weapon, EXAMPLE: If you named the new weapon Weapon12.dat, rename the .bmp to Weapon12.bmp. Move that .bmp into the sprite\sys\ folder. Now in the data.txt , adding a new weapon is just like adding in a new character. If you want the weapon to drop from the sky, it has to be have a ID number between 100-199. Now the type is more diffucult. If the data file came from: DATA FILE - TYPE NUMBER weapon0 - Type = 1 weapon1 - Type = 2 weapon2 - Type = 1 weapon3 - Type = 2 weapon4 - Type = 1 weapon5 - Type = 4 weapon6 - Type = 6 weapon8 - Type = 6 weapon9 - Type = 1 weapon10 - Type = 2 weapon11 - Type = 2 10. Put the Type Number after the ID number. 11. Then put where the weapon is located, it has to be in the "data" folder. Then put a space and then a "#", to finish, put the name of what ever you want that weapon to be called after the "#". 12. The line should look like this: id: "NUMBER" type: "1,2,4, or 6" file: data\"something".dat #"weapon name". SAVE 13. Load up Little Fighters 2 and play a "VS" game. Keep pressing F8 till you see the new weapon fall from the sky. Adding in a New Weapon with .dat and .bmp When installing a weapon with a .dat and a .bmp, copy both to your desktop. Rename both of them to the weapon you want. EXAMPLE: "weapon21.dat" and "weapon21.bmp" Move them both to the "data" folder. Load up the weapon data on your desktop with the data changer. The top should say: file(0-99): sprite\sys\"something".bmp. Change that "something" to the name of the weapon file. SAVE Load up data.txt and go down to the weapons sections. If you want the weapon to drop from the sky, it has to be have a ID number between 100-199. Now the type is more diffucult. If the first name of the data file came from: DATA FILE - TYPE NUMBER weapon0 - Type = 1 weapon1 - Type = 2 weapon2 - Type = 1 weapon3 - Type = 2 weapon4 - Type = 1 weapon5 - Type = 4 weapon6 - Type = 6 weapon8 - Type = 6 weapon9 - Type = 1 weapon10 - Type = 2 weapon11 - Type = 2 5. Put the type number after the ID number 6. Then put where the weapon is located, it has to be in the "data" folder. Then put a space and then a "#", to finish, put the name of what ever you want that weapon to be called after the "#". 7. The lines should turn out likes this: id: "NUMBER" type: "1,2,4,or 6" file: data\"something".dat #"weapon name" . SAVE 8. Load up Little Fighters 2 and play a "VS" game. Keep pressing F8 till you see the new weapon fall from the sky. Adding a new Template Background To add a new background, go into bg\template\ folder. Make a new folder called anything you want. Go into the 3 folder and copy everything in that folder. Go into your new folder and paste the things there. Load up the bg.dat in your new folder with the data changer If you like, you may rename the map but it can only hold one word. You could use underlines. The layers should look like "layer: bg\template\3\pic1.bmp transparency: 0 width: 967 x: 0 y: 128 layer_end" Rename the "3" to whatever the folder is called. Rename the "3" for all of the other layers. SAVE Load up the data.txt and go to the very bottom. You should see somewhere the list of backgrounds. Make a new with a ID number not in used by any other backgrounds. Then add the file name. It should look like: id: "NUMBER" file: bg\template\"folder name"\bg.dat. SAVE Load up Little Fighters and play a "VS". You should see a new map to pick. Data Changing Guide RUS - Часть 1 ======================= Data Changing Guide by Toxin Русская Версия ======================= 1. Введение. Этот гайд предназначен для тех, кто хочет создать нового персонажа в LF2, но не знает как. 2. Необходимые программы. Для создания персонажа вам обязательно потребуется кодировщик и декодировщик для редактирования *.dat файлов из LF2. Одной из лучших программ для этого я считаю Data Changer by Jiquera Mondilano. Конечно можно использовать и программы Decrypt и Encrypt, но в них не так удобно работать, как в Data Changer. Также потребуется хороший редактор графики и просмоторщик, например Adobe Photoshop и ACDSee. 3. Начинаем работу. Ну что, если вы готовы приступить, то запускайте Data Changer и открывайте davis.dat (мы будем использовать персонажа Davis в качестве примера). Когда программа загрузит файл, в окне редактора мы увидим примерно следующее: name: Davis head: sprite\sys\davis_f.bmp small: sprite\sys\davis_s.bmp 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 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 Эта часть - самая главная часть кода персонажа, сейчас я подробно объясню вам, что означает каждая строка в этом коде: name: Davis --> Имя персонажа. head: sprite\sys\davis_f.bmp --> Путь к спрайту davis_f.bmp в папке LF2. Этот спрайт отвечает за картинку при выборе персонажа в LF2. small: sprite\sys\davis_s.bmp --> Путь к спрайту davis_s.bmp в папке LF2. Этот спрайт отвечает за маленькую картинку персонажа на статус баре во время игры. 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 Эти строчки показывают путь к спрайтам davis_0, davis_1, davis_2. В этих спрайтах содержаться анимация персонажа. Параметр w: 79 означает, что ширина одной яйчейки под картинку, в файле спрайта, равна 79. Параметр h: 79 означает, что высота одной яйчейки под картинку, в файле спрайта, равна 79. Параметры row: 10 и col:7 показывают сколько всего рядов и колонок в файле спрайта. В случае с Davis - 10 рядов и 7 колонок. walking_speed --> Скорость ходьбы. walking_speedz --> Скорость ходьбы по кооординате Z (вверх/вниз), во время ходьбы по координате X (влево/вправо). running_speed --> Скорость бега. running_speedz --> Скорость бега по кооординате Z (вверх/вниз), во время бега по координате X (влево/вправо). heavy_walking_speed --> Скорость ходьбы, когда персонаж держит тяжелый предмет (например камень). heavy_walking_speedz --> Скорость ходьбы по координате Z, когда персонаж держит тяжелый предмет (например камень) и двигается по координате X. heavy_running_speed --> Скорость бега, когда персонаж держит тяжелый предмет. heavy_running_speedz --> Скорость бега по координате Z, когда персонаж держит тяжелый предмет. jump_height --> Высота прыжка. jump_distance --> Дистанция прыжка по оси X. jump_distancez --> Смещение по координате Z во время прыжка в дистанцию с нажатой кнопкой Up или Down. dash_height --> Высота прыжка во время бега. dash_distance --> Дистанция прыжка во время бега. dash_distancez --> Смещение по координате Z во время прыжка в дистанцию во время бега с нажатой кнопкой Up или Down. rowing_distance --> Дистанция подката. Работа со статусами 0 standing (can freely press any button, when in air it will go to frame 212) 1 walking (can freely press any button) 2 running 3 attack (u r attacking, the computer will use defence against you) 4 jump (can press > or < when in the air) 5 dash ( when dvx:0, can press > or <) 6 rowing (the rolling action when u press D while running, will go to frame 215) 7 defend (defence of the bdy in the forward directionЎAafter being hit, u'll still complete the frame) 8 broken_defend 9 catching (only in this stateЎAcertain funtions of cpoint can be used) 10 picked_caught (being caught, weapon will drop, can be hit by team members aprt from those holding a weapon) 11 injured 12 falling (weapons will dropЎAwill fall when oppent's itr's fall is greater than 60) 13 ice (can be attacked by team matesЎAthere will be a reduction of 10hp after hitting the groundЎAfall immediately after 1 hitЎAwhen linked to other states broken ice will appear) 14 lying (computer will walk away from you) 15 (normal actions, nth special) 16 injured (will be caught by walking frames with kind:1 in itr) 17 weapon_drink (will drain id: 122&123's milk and beer's hp) 18 fire (can harm your team matesЎAeffect:21,22 can't burn your team matesЎAwon't be burnt by effect:20,21ЎA won't be burnt by state: 19+itr: kind:0's effect:2) 19 burn_run (Firen's Blaze, won't be burnt by effect:20,21ЎAcan move on the z axis) 100 [Louis's thunder punch (run+J+A), when landing on the ground, it goes to frame94] 301 (Deep's Dashing Strafe, can move on the z axis) 400 (teleport to your nearest enemy with a distance of 120 units) 401 (teleport to your furthest team mate with a distance of 60units) 500 transform (if you haven't transformed yetЎAit will jump to frame 0) 501 transform (if you have transformed alreadyЎAtransform back to your previous character) 1700 heal_self (increase the healing of your hpЎAthe red hp bar will flash) 9995 (transform to LouisEX[only suitable for type:0]) 9996 (make id: 217,218 louis_armour appear) 9997 etc(shadowlessЎApic can be seen in the whole screen) 9998 (dissapear) 9999 broken_weapon 8000 + a numberЎAtransform to the character of id: the number that u put in Add any new states that I hv left and u hv found or correct me if I am wrong (cuz I dun fully understand some of them) ID list (in data.txt) ids are very important... let me list some out... 1 deep's AI 2 john's AI 5 rudolf's AI, when opointed out, hp is only 10 6 louis's AIЎAhv an armour value of 1 when not attackingЎAdoesn't prevent you from being frozen or burnt, only when hp is less than 1/3, you'll be able to use the input hit_ja 8 freeze's AIЎAwhen you hit some ballsЎAthe balls would become his freezing ball when rebounded 7,8 hp less than 1/5ЎAu'll become firzen when running towards each other 37 amour value of 2ЎAdoesn't prevent you from being frozen or burnt 51 firzen's AIЎAquick manna regeneration, enemies in stage modeЎС2 52 julian's AIЎAquick manna regenerationЎAarmour value of 2ЎAprevents you from being frozen or burntЎAwhen opointed out, hp is only 10ЎAenemies in stage modeЎС3 122 when a character wpoints itЎAand has a state: 17ЎAhp of the object decreases 123 same as 122 201 when attacking someone (type: 0 ) it will disappear 209 when being hitЎAthe balls would become freezing ball when rebounded 212 can be hit by your team mates (apart from id:212) 213 when hitting some ballsЎAthe balls would become freezing ball when rebounded 214 after attacking someone (type: 0 )ЎAthe ball's hpЎч0 223,224 shadowlessЎAwhen opointed out (even with state: 3000 ), can't move along the z axis Feel free to add more if you know anymore. Marshall: cpoint is rather complicated... but DarkLord's (XIII) guide will probably help you a lot~ grabbing u can use references from louis r-catch frames itr: kind: 3 etc etc itr_end: this gives an immediate grabbing (meaning it dun need the enemies to go into a pain of dance mode to grab them) calculate the x: y: w: h: so that ur touch would hit them (u cant grab multi enemies at a goal) catchingact: (frame number) (frame number) this is what frames would ur char goes to once ur char does the catching (the first one is catching the front of ur enemy) (the second one is catching the back of your enemy) caughtact: (frame number) (frame number) this is what frame ur enemy char goes to once he gets caught (please note that the enemy char frames need a cpoint so the catching would be linked) (the first one is catching the front of ur enemy) (the second one is catching the back of your enemy) (check out picked_caught frames of any char for the info) more into catch point cpoint: kind: 1 x: 64 y: 38 injury: 15 vaction: 132 throwvz: -842150451 hurtable: 1 throwinjury: -842150451 decrease: 3 cpoint_end: cpoint found on the char who do the itr_kind: 3 vaction: - the frame action the enemy is activated aaction: (not found on this but I dun mind explaining more) the frame number it goes to once hit the A button throwvz,throwinjury?? (dunno what it is for, for this frame) injury: do damage while grabbing (works with state: 9 only) taction: (not found on this but I dun mind explaining more) the frame number it goes to once u throw the enemy decrease: 3, -7 etc I only use decrease 3 and -7 they both had an effect of what happen to the enemy once the catch duration use up 3 would make the enemy goes to the jump frame 211 -7 would make the enemy goes to the falling frame 181 throwvx (not found on this) the throw distance of the x-axis throwvy (not found on this) the throw distance of the y-axis throwinjury (the damage do on throwing, if the enemy hit the fall the enemy char would take that amount of damage) references frame 120 of any chars (for catching and attacking) frame 232 of any chars (for throwing) louis c-throw frame
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood. |
29.05.16 22:16 | #2
Редактирования стадий (Stage Mode) Разбираем файл stage.dat , расположенный в корневой папке data. Вначале уточним некоторые моменты. Во-первых в стадиях, как и в любом элементе игры идет присвоение id номера каждому элементу. В стадиях же присваивается каждая стадия и подстадия. Например стадии 1-1, 1-2 и 3-4 имеют каждый свой сосбственный id. id - номер индетификации. Итак, приступим. Открыв файл stage.dat вы сразу же увидите верхнюю строчку: это как раз то о чем мы говорили выше. уровню с азванием 5-5 присвивается id: 44 номера id нужны для того чтобы упорядочить проходимость стадий, т.е. чтобы они были по порядку. но есть не менее важный элемент. Отсчет id ведется от нуля. Т.е. самая-самая первая стадия какая будет в игре будет иметь id: 0 Но если вы присмотритесь, то вы никак не сможете набрать все 44 id, хоть 5-5 и есть последняя стадия. причина же этого явления в том, что изначально разработчики не использовали все id. таким образом например первые две стадии будут иметь следующие id: id 0 = 1-1 id 1 = 1-2 id 2 = 1-3 id 3 = 1-4 id 4 = 1-5 id 10 = 2-1 id 11 = 2-2 id 12 = 2-3 id 13 = 2-4 id 14 = 2-5 почему при переходе на стадию 2 id увеличилось на 10? игра имеет кодировку в виде xyxy, т.е. например стадия 2-4 имеет id: 13. тройка указывает на порядок подстадии в стадии, а на то какая стадия используется указывает единица. в стадиях по типу 1-1 всего одна цифра, но выше мы писали, что отсчет идет от нуля. таким образом когда мы пишем например id: 2 , код воспринимается как id: 02. данные моменты очень важны не только в стадиях, но и среднем по сложности кодинге обычных персонажей. Итак, возмем в пример один большой кусок сверху: id: 300 hp: 100 act: 40 x: 900 y: 0 reserve: 5 id: 300 hp: 100 act: 50 x: 900 y: 0 reserve: 5 id: 300 hp: 100 act: 50 x: 900 y: 0 reserve: 5 id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk ratio: .7 id: 123 x: 300 #beer id: 123 x: 300 #beer ratio: .7 id: 3000 hp: 50 times: 3 ratio: 1 id: 34 hp: 100 times: 3 id: 34 hp: 100 times: 3 ratio: .5 id: 1000 hp: 250 id: 1000 hp: 250 id: 1000 hp: 250 id: 1000 hp: 250 id: 33 hp: 150 x: -1000 ratio: .5 id: 34 hp: 100 x: -1000 ratio: .6 id: 33 hp: 150 x: -1000 id: 31 hp: 50 x: -1000 id: 31 hp: 50 x: -1000 id: 37 hp: 200 ratio: .4 id: 37 hp: 200 id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk ratio: .7 id: 123 x: 300 #beer id: 123 x: 300 #beer ratio: .7 id: 3000 hp: 50 times: 2 ratio: 1 id: 34 hp: 100 times: 2 id: 34 hp: 100 times: 2 ratio: .5 id: 52 hp: 2500 id: 1000 hp: 250 times: 3 ratio: .2 id: 33 hp: 150 x: -1000 id: 34 hp: 100 x: -1000 id: 33 hp: 150 x: -1000 id: 31 hp: 50 x: -1000 id: 37 hp: 200 id: 37 hp: 200 id: 39 hp: 150 x: -1000 id: 39 hp: 150 x: -1000 как видите в коде есть тэги: Каждая фаза это отдельная волна и пока она не будет полностью уничтожена перехода к следующей фазе не произойдёт. P.S. начало карты (левый край) это координата с показателем ноль. P.P.S. показатель bound можно изменять по своему желанию не только для увеличения территории, но и для её резкого сокращения. Однако если игрок оказался дальше, чем новый допустимый показатель, то есть просто автоматически сместит назад. Для разбора возмем самую первую фазу из этой стадии. id: 300 hp: 100 act: 40 x: 900 y: 0 reserve: 5 id: 300 hp: 100 act: 50 x: 900 y: 0 reserve: 5 id: 300 hp: 100 act: 50 x: 900 y: 0 reserve: 5 id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk id: 122 x: 300 #milk ratio: .7 id: 123 x: 300 #beer id: 123 x: 300 #beer ratio: .7 id: 3000 hp: 50 times: 3 ratio: 1 id: 34 hp: 100 times: 3 id: 34 hp: 100 times: 3 ratio: .5 bound: 1500 - показывает, чтоот левого края вы можете продвинуться на 1500 пикселей вправо. В игре на экране помещается примерно 600~700 пикселей в ширину. Далее идет описание того, что появляется в данной волне. между тэгами волны указываются id объектов, которые появяться. разберем эту строчку: id: 34 hp: 100 times: 3 ratio: .5 id: 34 - указание id объекта т.е. таки образом вы указываете кто или что появится на карте. все id прописываются в блокноте data.txt в папке data. вот содержимое блокнота, откуда будут считываться данные о том что вы "призываете" на карту:
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood. |
29.05.16 22:18 | #3
Краткий курс создания персонажа Data Changing Guide RUS - Часть 1 ======================= Data Changing Guide by Toxin Русская Версия Перевод: Firzen ======================= 1. Введение. Этот гайд предназначен для тех, кто хочет создать нового персонажа в LF2, но не знает как. 2. Необходимые программы. Для создания персонажа вам обязательно потребуется кодировщик и декодировщик для редактирования *.dat файлов из LF2. Одной из лучших программ для этого я считаю Data Changer by Jiquera Mondilano. Конечно можно использовать и программы Decrypt и Encrypt, но в них не так удобно работать, как в Data Changer. Также потребуется хороший редактор графики и просмоторщик, например Adobe Photoshop и ACDSee. 3. Начинаем работу. Ну что, если вы готовы приступить, то запускайте Data Changer и открывайте davis.dat (мы будем использовать персонажа Davis в качестве примера). Когда программа загрузит файл, в окне редактора мы увидим примерно следующее: name: Davis head: sprite\sys\davis_f.bmp small: sprite\sys\davis_s.bmp 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 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 Эта часть - самая главная часть кода персонажа, сейчас я подробно объясню вам, что означает каждая строка в этом коде: name: Davis --> Имя персонажа. head: sprite\sys\davis_f.bmp --> Путь к спрайту davis_f.bmp в папке LF2. Этот спрайт отвечает за картинку при выборе персонажа в LF2. small: sprite\sys\davis_s.bmp --> Путь к спрайту davis_s.bmp в папке LF2. Этот спрайт отвечает за маленькую картинку персонажа на статус баре во время игры. 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 Эти строчки показывают путь к спрайтам davis_0, davis_1, davis_2. В этих спрайтах содержаться анимация персонажа. Параметр w: 79 означает, что ширина одной яйчейки под картинку, в файле спрайта, равна 79. Параметр h: 79 означает, что высота одной яйчейки под картинку, в файле спрайта, равна 79. Параметры row: 10 и col:7 показывают сколько всего рядов и колонок в файле спрайта. В случае с Davis - 10 рядов и 7 колонок. walking_speed --> Скорость ходьбы. walking_speedz --> Скорость ходьбы по кооординате Z (вверх/вниз), во время ходьбы по координате X (влево/вправо). running_speed --> Скорость бега. running_speedz --> Скорость бега по кооординате Z (вверх/вниз), во время бега по координате X (влево/вправо). heavy_walking_speed --> Скорость ходьбы, когда персонаж держит тяжелый предмет (например камень). heavy_walking_speedz --> Скорость ходьбы по координате Z, когда персонаж держит тяжелый предмет (например камень) и двигается по координате X. heavy_running_speed --> Скорость бега, когда персонаж держит тяжелый предмет. heavy_running_speedz --> Скорость бега по координате Z, когда персонаж держит тяжелый предмет. jump_height --> Высота прыжка. jump_distance --> Дистанция прыжка по оси X. jump_distancez --> Смещение по координате Z во время прыжка в дистанцию с нажатой кнопкой Up или Down. dash_height --> Высота прыжка во время бега. dash_distance --> Дистанция прыжка во время бега. dash_distancez --> Смещение по координате Z во время прыжка в дистанцию во время бега с нажатой кнопкой Up или Down. rowing_distance --> Дистанция подката. ===================================================================== -Мы будем использовать бег и удар Дєвиса для следующих нескольких примеров. _________________________________________________________________________________ 72 super_punch pic: 8 state: 3 wait: 2 next: 73 dvx: 0 dvy: 0 dvz: 0 centerx: 28 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: _________________________________________________________________________________ 72 super_punch ---> номер кадра и название движения (имя обычно сокращенное)+(название движения здесь только для того чтоб было легче найти нужный кадр) pic: 8 ---> картинка которую загружает кадр (!картинки в спрайтах считаются от левого угла до правого и первая картинка не 1 а 0!) state: 3 ---> состояние персонажа* wait: 2 ---> как долго длится кадр next: 73 ---> следующий кадр dvx: 0 ---> насколько персонаж продвигается в перед dvy: 0 ---> насколько персонаж продвигается вверх \ вниз (!Когда в небе и на земле НЕ вверх и вниз вовремя ходьбы!) dvz: 0 ---> насколько персонаж продвигается вверх \ вниз (!теперь это верх и вниз вовремя ходьбы!) centerx: 28 ---> centerx используется чтоб показать где центр персонажа (!Я не советую вам парится с этим!) centery: 79 ---> точка в которой ноги персонажа (если показатель больше 79 то персонаж окажется в воздухе) ----------------------------------------------------------------------------------------------------------------- hit_a: 0 ---> указывает какой кадр последует дальше если вы нажмете атаку hit_d: 0 ---> указывает какой кадр последует дальше если вы нажмете защиту hit_j: 0 ---> указывает какой кадр последует дальше если вы нажмете прыжок +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hit_fj: ---> указывает какой кадр последует дальше если вы нажмете d>j вовремя этого кадра hit_uj: ---> указывает какой кадр последует дальше если вы нажмете d^j вовремя этого кадра hit_dj: ---> указывает какой кадр последует дальше если вы нажмете dvj вовремя этого кадра hit_fa: ---> указывает какой кадр последует дальше если вы нажмете d>a вовремя этого кадра hit_ua: ---> указывает какой кадр последует дальше если вы нажмете d^a вовремя этого кадра hit_da: ---> указывает какой кадр последует дальше если вы нажмете dva at вовремя этого кадра hit_ja: ---> указывает какой кадр последует дальше если вы нажмете dja вовремя этого кадра ----------------------------------------------------------------------------------------------------------------- itr: ---> атака начинается kind: 0 ---> тип атаки* x: 40, w: 35 ---> как далеко атакует (!вперед и назад!) (если вы учили алгебру то должны знать что ось х это движение влево и вправо ,а w это ширина) y: 5, h: 45 ---> как высоко атакует (!вверх и вниз на земле и в небе!) (y – верх низ h - высота) dvx: 3 ---> как далеко падает враг от удара (допустимы негативные значения) dvy: -10 ---> как высоко подлетит противник после удара (!негативное значение допустимо!) fall: 70 ---> шанс того что противник упадет arest: 15 ---> хз bdefend: 60 ---> шанс пробить защиту противника injury: 40 ---> сколько атака наносит урона* itr_end: ---> конец атаки ---------------------------------------------------------------------------------------------------------------- bdy: ---> начяло команд относящихся к телу (действия тела) kind: 0 ---> ?Special Effect? (I'm not sure what will happen, maybe I'll experiment with it later) x: 26, w: 35 ---> How far when attacked y: 12, h: 66 ---> How far when attacked bdy_end ---> конец команд относящихся к телу ---------------------------------------------------------------------------------------------------------------- mp: сколько манны жрет скил ============================================================== ЗВУК --------------------------------------------------------------------------------------------------------------- Добавить звук в игру не трудно, труднее сделать чтоб звук использовался в нужный момент Чтобы добавить новый звук нужно скопировать его в папку "Data" Чтобы добавить движению звук нужно в кадре во второй строке (после pic:, etc): !sound: data\(sound name).wav! Пример: У меня есть звук "beep.wav" в папке "Data" Теперь я хочю чтоб этот звук играл когда мой персонаж идет Я ставлю!sound: data\beep.wav! во вторую линию кадра ходьбы Теперь когда персонаж идет звук играет. ============================================================== УРОН --------------------------------------------------------------------------------------------------------------- Мы знаем что увеличивая значение параметра injury мы увеличиваем урон наносимый противнику но есть еще спец команды для этого параметра: effect: 0 --> просто удар effect: 1 --> Острое оружие (эффект крови) effect: 2 --> Огонь effect: 3 --> Лед effect: 4 проходит сквозь врагов (?используется например для отхиливающих магий чтоб не хилило врагов?) effect: 5 или выше ---> ? effect: 20 огонь _______________________________________________________________________________ injury: 40 +++++++++++++++++++ Потом добавляем effect: 2 +++++++++++++++++++ injury: 40 effect: 2 -------------------- Теперь атака бет на 40 урона и поджигает ________________________________________________________________________________ ============================================================== СПРАЙТЫ ---------------------------------------------------------------------------------------------------------------- The Высота и ширина спрайта может бить изменена в начале даты. Стандартно 79 на 79 пикселей. !первая картинка спрайта 0 не 1! Когда говорят 2 ряда это значит не количество рядов а количество картинок ============================================================== $ $ $Здесь заканчивается базовый курс. $ $ $ x: ширина стартовой точки в спрайте y: высота стартовой точки в спрайте -1 -1 -0---------------------79 ----------------------- ----------------------- ----------------------- 79 Но всё место 79x79 чаще всего не используется. К примеру ударDavisа 72 super_punch pic: 8 state: 3 wait: 2 next: 73 dvx: 0 dvy: 0 dvz: 0 centerx: 28 centery: 79 hit_a: 0 hit_d: 0 hit_j: 0 itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: >pic: 8 the pic no. from 0 to the no. >state: 3 Состояние персонажа state: 0 = стоит state: 1 = идет state: 2 = бежит state: 3 = атакует state: 7 = защита state: 1700 = хил самого себя >wait: 2 Как долго длится кадр. >next: 73 Номер картинки в спрайте. >dvx: 0 dvy: 0 dvz: 0 example: dvx: 10 перемещается вперед на 10 кубов ,если -10 это значит движение назад dvy: -10 движение вверх на 10(like jump) если 10 движение на землю на 10 dvz: - это позиция движения относительно земли >centerx: 28 centery: 79 centerx: 28 не важно, centery: 79, высота персонажа (если больше 79 персонаж летает) >hit_a: 0 hit_d: 0 hit_j: 0 hit_a: 0 смотрите выше hit_fj: d>j hit_uj: d^j hit_dj: dvj hit_fa: d>a hit_ua: d^a hit_da: dva hit_ja: dja > itr: kind: 0 x: 40 y: 5 w: 35 h: 45 dvx: 3 dvy: -10 fall: 70 arest: 15 bdefend: 60 injury: 40 itr_end: kind: 0—тип атаки 0 – нормальная, 10 - флейта x: 40—стартовая точка x y: 5 стартовая точка y w: 35—ширина из x, h: 45—высота из y >bdy: kind: 0 x: 26 y: 12 w: 35 h: 66 bdy_end: kind: 0 – тип атаки x: 26 y: 12 w: 35 h: 66> attack a bit effect—эффект атаки (см выше) special: 4300: hp-40 mp-300 10100: hp-100 mp-100,etc -5050: hp+500 mp+500,etc fall—падения персонажа если 70 персонаж падает если 60 персонаж згибается если 1 перс никогда не упадет, bdefend—сколько процентов защиты пробито у противника ,когда вы атакуете этот параметр увеличивается... Transform - трансформация state: 80xx xx=id перса команда opoint сумонит оружие (как меч фриза), параметр oid указывает id оружия. Создание лвлов 1 id: 0 #stage 1-1 2 bound: 900 3 id: 30 hp: 50 times: 2 ratio: 1.0 4 5 bound: 1300 6 id: 30 hp: 50 times: 2 ratio: 1.0 7 id: 31 hp: 50 times: 1 8 id: 31 hp: 50 times: 1 ratio: .4 9 10 bound: 1700 11 id: 3000 hp: 50 times: 2 12 id: 3000 hp: 50 times: 2 ratio: 1.0 13 14 bound: 2200 15 id: 122 x: 1100 #milk 16 id: 123 x: 1100 #beer 17 id: 30 hp: 50 ratio: 1 18 id: 30 hp: 50 19 id: 31 hp: 50 20 id: 31 hp: 50 ratio: .4 21 id: 31 hp: 50 ratio: .2 22 23 В строке 1, мы видим параметр "id: 0" and "#stage 1-1". "id: 0"означает какой это уровень. Значение "0" укажет на уровень 1, а "1" укажет на уровень 2 и тд. уровень 2 на самом деле в игре уровень 1-2 а уровень 7,в id: "8", будет уровнем 2-2. "#stage 1-1" это коментарій чтоб легче было понять что это за уровень. Все что пишется после знака # не влияет на код. В строках 2-4,мы видим параметры в которых показаны фазы появления врагов . кждая фаза в игре обозначается стрелочкой Go и сопровождается появлением врага если врагов больше нет то стрелка указывает на переход на следующий уровень. "bound: 900" указывает на длину участка одной фазы, в конце этой длинны пока фаза не закончилась нас остановит невидимая стена. Длинна второй фазы еще 1300, на фазе 2 можно бегать 900+1300. Все параметры обозначают объекты в фазе. Это враги, заложники, оружие, бутылки. К примеру в фазе 1 мы видим: id: 30 hp: 50 times: 2 ratio: 1.0 "id: 30"это id объекта . Все id прописаны в Data.txt "id:30"означает бандита. "hp: 50" Указывает на то что у бандита 50хп. "times: 2"Показывает сколько раз появляется объект. В данном случае после смерти первого бандита выйдет второй "ratio: 1.0"показывает ситуацию когда играет больше 1 человека. В данном случае по 1 бандиту на персонажа. Если параметр изменить на 5 то на каждого персонажа выйдет 5 бандитов, а если изменить до 0.5 то на 2 персонажей выйдет только 1 бандит а на 4 два и тд. В линиях 15 и 16 мы видим: id: 122 x: 1100 #milk id: 123 x: 1100 #beer (x: 1100)- это указывает на то где на поле появится объект. Если установить длину поля 2200 то молоко появится по центру Посмотрим на другой пример, теперь это уровень 4-4 (id: 33). bound: 1800 id: 300 hp: 100 act: 40 x: 1000 y: 0 reserve: 8 id: 300 hp: 100 act: 40 x: 1100 y: 0 reserve: 8 id: 122 x: 900 #milk ratio: 2 id: 123 x: 900 #beer ratio: 1 id: 3000 hp: 50 times: 2 ratio: 2 Рассмотрим строки: id: 300 hp: 100 act: 40 x: 1000 y: 0 reserve: 8 Id 300 это criminal.dat (враг). act: 40указывает на то какой враг имеется ввиду . если мы посмотрим на criminal.txt, мы увидим: 40 bandit pic: 20 state: 0 wait: 7 next: 41 dvx: 0 dvy: 0 dvz: 0 centerx: 38 centery: 78 hit_a: 0 hit_d: 0 hit_j: 0 bdy: kind: 1043 x: 21 y: 18 w: 43 h: 62 bdy_end: Сейчас мы не смотрим на код. Все что нам надо это"40 bandit".Это значит что act: 40 указывает на бандита. (0 монах, 10 is Марк... и тд.). "x"это точка где появится бандит. A негативное значение "x" # (ex. x: -1000) значит что враг появится сзади нас ...на 1000 сзади от конца экрана. ======================================= ======================================= Автор НАСТОЯТЕЛЬНО рекомендует создать копию data.txt во избежание проблем Активация всех персов: Открываем data.txt. Первый кусочек даты с персонажами. Найдите его Вы должны увидеть Bandit, Hunter, Mark, LouisEX, Firzen, и тд. Скопируйте эти строчки и перенесите их в центр даты . Теперь меняем их id. Их стандартные id используются в режиме прохождения уровней. Чтоб не мучатся добавьте перед каждым "8". К примеру: Bandit номер 30, а будет номер 830. Только убедитесь что номер еще не использован (убедитесь что нет повторов) . If Теперь вам не надо прописывать код в игре для открытия персов . Добавление персонажей: Копируем дату нового персонажа в \data\ Открываем data.txt. Теперь все что вам надо сделать так это придумать ему id и записать в части где у нас игровые персонажи(центр). Только убедитесь что номер еще не использован (убедитесь что нет повторов) . Дальше тип, у персонажей всегда тип 0. Если вы все правильно сделали то должно быть как тут : id: Свой номер type: 0 file: data\"имя вашего перса(а точнее имя его файла даты)".dat 7.Ваш персонаж должен появится в игре. Создаем фиксированную телепортацию Для начала вспомним такие вещи как state 400 и state 401 то есть телепортация к ближайшему врагу и телепортация к ближайшему союзнику Проблем с использованием 400 статуса быть не должно, а вот как же фиксировать? тут прибегаем к хитрости. Если мы указываем в кадрах персонажа dvy: 550 и dvz: 550, то персонаж фиксируется на прямой, которой он стоит вне зависимоти от того на какой он высоте. Далее указываем dvx какой нам нужен. То есть так мы показываем на какое расстояние нам нужно быстро телепортировать персонажа. Всегда указывайте в этом кадре wait: 1 , а так же не создавайте itr параметров в кадре с dvx: , чтобы не было лишних багов. В момент когда вы считаете что расстояние пройдено достаточно (учитывая wait: 1) делаем фиксацию уже в самой прямо. Ставим в заключительном для телепортации кадре dvx: 550 и всё, персонаж остановился. Так вы можете создавать разные приемы с упомрачительными эффектами. Особенность в том, что параметр 550 является фиксирующим, а не прямым значением. Поэтому он воспринимается не как число, а как команда "стой, а то стрелять буду". Надеюсь урок пригодится) Мелочь, а важно.
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood. |
29.05.16 22:20 | #4
Справочик по effect Справочная по эффектам. В DC показатель пишется в переменной повреждения - itr: между началом и концом itr вставляется effect: (цифра эффекта). 0 - просто удар с эффектом отображения демага 1 - выплескивает кровь 2 - огонь, цепным способом поражающий союзников 3 - замораживает 4 - объект проходит сквозь врага (например для того чтобы пускать лечащий болл и не подлечить этим врага) 5 - аналогично эффекту 4, но беззучно, т.е. при срабатывание объекта озвучки не будет 20,21 - поджигает врага с иммунитетом к 20 и 21 эффектам 22 - поджигает (не трогает союзников, если кадр содержит state: 18) 23 - аналогичено эффекту 0, но с отталкиванием пропорчионально движению объекта, который повреждается 30 - аналогично 20 и 21, но эффект со льдом. Справочная по статусам: 0 - стоит (может свободно передвигаться вправо и влево, а если в воздухе, то при нажатии клавиши перейдет в кадр 212) 1 - хождение (свободное нажатие любых клавиш) 2 - бег 3 - атака (пока вы атакуете компьютер ставит блок) 4 - прыжок (можно нажать вправо или влево пока в воздухе) 5 - дэш ( если dvx:0, мжет быть нажато влево или вправо) 6 - подкат (когда вы бежите и нажимаете блок, персонаж перехоит в кадр 215) 7 - блок (дает единицу защиты, и держит кадр до момента пробивания) 8 - пробитая защита (вас будет добивать комп или ещё кто) 9 - захватываете (только при присутствии координат cpoint) 10 - заваченный (в этом случае вы уроните оружие, а союзники вас могут долбануть) 11 - повреждены 12 - падение (оружие будет проронено, если показатель fall в атаке врага от 60 и выше) 13 - заморожен (может быть атакован союзниками, а так же получает повреждение в 10 хп при 1 любом ударе) 14 - валяетесь (компьютер будет отходить в сторону) 15 - любое действие, нет эффекта 16 - повреждены\тб (может быть захвачен любым кто использует параметр kind:1 в показателе itr) 17 - выпивание (поглощает хп от оружия в руке с id 122 и 123) 18 - горите 19 - горящий бег (Бег Файрена, не поддается влиянию эффектов 20,21 и может передвигаться по оси z) 100 - удар Луиса (когда приземяутся, активируется кадр 94) 301 - избиение (во время исполнения может перемещаться по оси z) 400 - телепортирует к ближайшему врагу, с расстоянием в 120 точек 401 - телепортирует к ближайшему союзнику с расстоянием в 60 точек 500 - транформация (если вы не трансормируетесь\не во что , то вы переходите в кадр 0) 501 - трнсформация обратно (если вы трансформировались, вы перевоплотитесь обратно) 1700 - самолечение (ускоренная регенерация светлой полоски хп, при этом она мигает) 9995 - трансформируется в id:50) 9996 - броня (создает предметы из id: 217,218) 9997 - прочее(потеря тени, изображение может быть увидено на весь экран) 9998 - растворение 9999 - разбитое оружие (кадры с тем как они разбиваются) 80хх - превращает в персонажа с его id заместо хх, причем считывание рисунков происходит с рассчетом +140 Справочная по типам itr. 0 - простая атака 1 - захватывает врага в тб, при присутствии catching и caught показателях 2 - если под ногами оружие, он его поднимет 3 - захватывает врага БЕЗ тб, при присутствии catching и caught показателях 4 - используется при паденнии, когда вас швырнули в кого-то, вы повредите этим тех в кого влетите 10 - поднимает врага в воздух (вытягивая жизни) 11 - держит врага в воздухе (просто поднимает) 14 - создает границу (читать интервью с Матри Вонгом) 15 - засасывающий эффект (как в вихре Фриза) 16 - превращает врага в лед без использования показателя effec: 3 6 - добивающий удар (данный показатель заставляет персонажа выполнить добивающий удар, если враг в танце боли) 7 - поднимает оружие без использование кадров поднятия оружия (используется в кадрах с подкатом)ъ 8 - лечащий шар (данный шар будет лечить как врагов, так и союзников) 9 - отражающий щит (использовать вместе с эффектом "effect: 4". Тогда щит будет отращать все объекты со статусом 3000) Краткие обозначения нажатий в DC Для тех, кто не хочет читать лишнее) hit_Fa: xxx (D>A) hit_Fj: xxx (D>J) hit_ja: xxx (D,J,A) hit_Ua: xxx (D^A) hit_Da: xxx (DvA) hit_Uj: xxx (D^J) hit_Dj: xxx (DvJ) hit_a: xxx (A) hit_j: xxx (J) hit_d: xxx (D) xxx - номер кадра, куда будет переход после нажатия комбинации расшифровка букв в кодовом виде: D - defend (Блок) F - Forward (Вперед) U - Up (Вверх) D - Down (Вниз) J - Jump (Прыжок) A - Attack (Атака) Тутор был предназначен исключительно для ленивых и не любящих читать)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood. |
| |||
| |||