Вот и перешли к снарядам. Я рассмотрю все типы снарядов, вкратце опишу особенности. Начну с type: 1, открываю файл ножа (weapon0.dat) <bmp_begin> file(0-99): sprite\sys\weapon0.bmp w: 48 h: 48 row: 10 col: 10 weapon_hp: 200 weapon_drop_hurt: 35 каждый, раз, когда оружие выпадает из руки, ему наносится урон, тут показано сколько нанесется урона weapon_hit_sound: data\011.wav звук удара оружием weapon_drop_sound: data\011.wav звук падения оружия weapon_broken_sound: data\094.wav звук, когда оружие разбилось <bmp_end> <weapon_strength_list> entry: 1 normal entry - идентификатор того, какая атака это будет, используется в wpoint-weaponact, значение указанное в нем соответствует значению в списке normal - комментарий к идентификатору ниже приводится список параметров удара(dvx, fall, vrest, bdefend, injury, effect (равный1)) dvx: 2 fall: 40 vrest: 10 bdefend: 16 injury: 45 effect: 1 entry: 2 jump dvx: 7 fall: 70 vrest: 10 bdefend: 16 injury: 45 effect: 1 entry: 3 run dvx: 10 fall: 70 vrest: 10 bdefend: 16 injury: 55 effect: 1 entry: 4 dash dvx: 12 fall: 70 vrest: 20 bdefend: 60 injury: 55 effect: 1 <weapon_strength_list_end> Далее идут привычные нам (по крайней мере мне) кадры, эти кадры могут быть любыми, но есть несколько обязательных. Начиная с нулевого до какого угодно идут кадры падения на землю объекта, при этом используется state: 1000. Необязательно, но привычней, идут с 20 по 35 кадры держания оружия в руке. Почему необязательны такие рамки? А потому, что кадр в котором будет оружие, указывается у персонажа. state: 1001. В кадрах держания также next: 0, в wpoint kind: 2. С 40-ого по 50-ый кадры, когда оружие бросили. Тут тоже не обязательно с 40, да и не обязательно до 55. state: 1002. Кадры 60-63 когда оружие упало на землю. 70-72 тоже, но тут, скорее всего, используется при броске персонажем. state: 1003. А вот когда оружие упадет и перестанет двигаться, то оно будет просто лежать, с использованием кадра 64, при этом state: 1004, next: 0. И опять странные кадры dummy, дальше о них вообще писать не буду, т.к. они присутствуют в большинстве dat-файлов. Переходим к type: 2, открываю файл камня (weapon1.dat) Файлы камня и ящика самые короткие среди оружия. Почему? А потому что из них вырезано много лишнего, того без чего они могут обойтись. Начало у любого оружия будет тем же. Это блок < bmp_begin>. Описание силы удара для weaponact отсутствует. Я же ведь писал, что кадры падения на землю могут быть любого количества? Так вот, их тут только шесть. state: 2000 Кадров держания в руке стало аж в пятнадцать раз меньше! Один одинокий десятый кадр с state: 2001 и next: 0 Только упав камень обратится к единственному 61 кадру, state: 2000, а потом проиграется анимация падения (с нулевого кадра). И только после этого, прекратив двигаться, он замрет на земле с state: 2004 и next: 0. Также с помощью itr-kind: 14 создается граница, через которую нельзя перейти. Теперь type: 4, бейсбольный мяч (weapon5.dat) Тут писать много не надо. По своей структуре, это тот же нож или бита (type: 1). Отличия лишь прописаны изначально в type. Мяч будет отпрыгивать больше от земли, его можно только кинуть(стоя/при ходьбе, с разбега, в прыжке, дэше). weapon_strength_list не используется. type: 5 относится к стадиям, поэтому не описываю. Перейдем к type: 6. Это предметы, которые персонаж может выпить (молоко, пиво). Если хотите, чтобы персонаж мог восполнить здоровье или(и) ману, то нужны ID молока и пива (122 и 123 соответственно). weapon_strength_list не используется. Остальных отличий от type: 1 нет. Теперь напишу общее для оружия. Если Вы хотите, чтобы персонаж мог его поднять, то оружие должно иметь определенный state и иметь bdy, причем bdy должен быть в пределах досягаемости itr персонажа. Также Вы могли заметить, что все state очень похожи между собой. Вам не показалось, все чем они отличаются - это первой цифрой. Поэтому запомнив, что у type: 2 первая цифра "2", то можно запоминать только обычные state, впрочем, никто не мешает самим взглянуть и вспомнить что к чему. Отдельно распишу type: 3. Это снаряды, шары и прочее, что можно придумать. Если Ваш объект не оружие и не персонаж, то ему нужен type: 3. Открыв файл "davis_ball.dat", я вижу, что первом блоке не так много изменений. Исчезло только количество хп, и оно не нужно для снарядов. Среди кадров, кадры, начинающиеся с нулевого, не обязательны, но привычнее, когда они есть. Как правило, это кадры полета снаряда. они имеют state: 3000. А вот ключевыми кадрами являются: 10, 20, 30 Кадры, когда по шару ударил противник начинаются с 10, кадры исчезновения шара. state: 3001 Когда шар ударил, то он перейдет в кадр 20, обычно, тут атака уже не производится, а просто кадры того, как шар исчезает, но можно и сделать еще удар. state: 3002 Если шар отразить обратно, то он перейдет в 30 кадр. state: 3003. А что же происходит? Ответить уже должны сами. У большинства есть, но далеко не везде используются, отдельные кадры исчезновения. Начинаются с 40 кадра, имеют state: 3004. Использование этого опишу ниже. Дальше можно добавлять все что угодно. Только надо учесть, что если объект в этих кадрах ударить, то он перейдет в 10 кадр. А так можно в одном файле держать сразу несколько объектов, которые будут добавляться сразу с нужного кадра. Также есть дополнительные функции для снарядов. state: 3005 без тени state: 3006 проникающий, пробивающий защиту hit_a ставит таймер на существование снаряда и работает, если есть hit_d снаряд перейдет в указанный кадр hit_Fa: чаще используется для того, чтобы шар следовал за противником 1,2,3,4,7,10,12,14 все они отличаются по разным критериям - один будет следовать по оси y, другой будет улетать с карты, третий будет лететь до земли, а при прикосновении активируется 60 кадр 1 - просто следует за врагом, оси: x, y, z 2 - следует и будет ускоряться время от времени, оси: x, y, z 3 - следует, оси: x, z 4 - используется у атакующей способности Jan, оси: x, y (вниз), z. Имеются кадры касания земли. 7 - используется у Firzen, оси: x, y, z. Есть также кадры касания земли и хвоста (ниже). 10 - шар улетает прочь по оси x 12 - просто следует, оси: x, y, z 14 - шар проследует за врагом, по оси x развернуться не сможет, потом развернется и полетит как раньше. Кадры хвоста. Начинаются с 40 кадра (вместо disappearing). Автоматически добавляются при использовании hit_Fa: 7. wait показывает, сколько частей будет у хвоста, т.е. если wait: 2, то за снарядом будет следовать хвост из 2-ух частей. hit_Fa также имеет еще функцию создания других шаров. 5 - создает Ангелов Jan в соотношении 1:1 для союзников 6 - создает Демонов Jan в соотношении 1:1 для противников 8 - создает летучих мышей Bat, 3 штуки, а если врагов больше четырех, то по дополнительной одной на каждых двух противников (пример: врагов: 7 или 8, мышей: 3+2=5) 9 - создает ледяные или огненные шары, в сумме 4 штуки, если врагов больше четырех, то по дополнительному на врага 11 - создает взрыв Firzen, а это огонь, ледяные колонны, ледяные или огненные шары, взрыв 13 - создает черепа Julian |