Логин:
Пароль:
Настройки
http://lfforever.ru/design/black.css http://lfforever.ru/design/ds_dw.css http://lfforever.ru/design/xmas.css
Присоединяйся к каналу LFF в Discord!
Главная » 2012 » Ноябрь » 5 » Версия 8 и Релиз PDK Standart
13:32
Версия 8 и Релиз PDK Standart
Доброго времени суток :)

Сейчас наступает период, когда LFF таки постепенно подвергается изменениям, а работа кипит. Мало того, что до следуюшего РИКа остался месяц, так ещё и переход с 7 на 8 версию сайта может начать осуществляться уже совсем скоро.
А между тем, господа, специально для вас я подготовил небольшую приятность - релиз Power Development Kit от китайского разработчика Alkarter, который представляет публике сейчас самые сильные разработки для создания модификаций.




Между делом, название PDK дается лишь от лица LFF, так как официально разработка так и называется "Alkarter's exe", но так как на самом LFF планируются релизы не только стандартного типа, но и с изменениями не от самого автора. Поэтому официальный набор от автора будет называться PDK Standart, а с дополнительными возможностями - PDK Extended. Логично, не так ли?
Мне уже неоднократно говорили, что многие даже не знают о существовании этой разработки, не то, чтобы пользоваться и понимать что это, поэтому ваш покорный слуга EdL подготовил полный перевод с собственными примечаниями, примерами и дополнительной информацией по списку функций в PDK Standart. Позже набор появится в отдельном разделе, а пока что вы можете скачать в самом низу новости :)



Вся интересующая вас информация

I. Общие особенности Аль-Картер'овской основы для модификаций:
- при запуске ЕХЕ, окно игры всегда центрируется на экране.
- изменен принцип обработки изображений программой (функция API).
- полная поддержка формата PNG.
- для 32-битных PNG файлов поддерживается прозрачность (alpha-канал).
- в data.txt может быть теперь записано 1000 объектов.
- в зеркальных спрайтах приоритет отдается изображениям с наличием _mirror частью, вместо аппаратного отзеркаливания (актуально для некоторых видео-карт).
- удалена реклама.
- удалена функция автоматического обновления.
- список музыки теперь можно изменить через bgm.dat
- загрузка игры происходит теперь тогда, когда эти файлы игры задействованы (крайне актуально для владельцев старых PC, где занимание всей RAM памяти сразу - пагубно).
- при выборе карты или уровня стадии теперь можно прокручивать список в обратном направлении нажатием прыжка.
- в режиме стадий, играя за Рудольфа, вы становитесь полупрозрачными при использовании невидимости, но весь эффект от приёма остается такой же, а так же это распространяется на клонов.
- число объектов, которые одновременно могут быть на уровне увеличено до 1000.
- эффекты "ударов" и "крови" теперь наследуют движение поражаемой цели.
- добавлена поддеркжа Юникода, появилась возможность изменить шрифты.
- полоски здоровья и маны перенесены в sprites/bars.png
- добавлено отображение здоровья и маны в числовых значениях (значения составляются из спрайтов в bars.png, поэтому вы можете убрать их там, если вам они не нужны).

II. Опции System.dat:
1.) Строчки управления фоновой музыки в меню:
menu_bgm1: BGM \ main.wma
menu_bgm2: BGM \ main.wma
В первой строке вы указана музыка при запуске игры, во второй строке указана музыка после нажатия Start Game.
Если вы не хотите, чтобы там была музыка, достаточно прописать menu_bgm1: [MU]

2.) Управление фоновыми изображениями:
<menu_back_1>
<menu_back_2>
В первой строке указывается фон при запуске игры, во второй строке указывается фон после нажатия Start Game.
Так же есть предустановки:
type 0\1\2\3
При указании type: 0 отображается только цвет фона, без рисунков.
При указании type: 1 отображается только один рисунок, всегда.
При указании type: 2 отображается в том порядке, в каком указано в списке.
При указании type: 3 отображается всё так же, как обычно - в случайном порядке.

3.) Список State, в которых броня не действует:
<armor_s>
state: 8
state: 11
state: 12
state: 13
state: 14
state: 16
state: 18
<armor_s_end>

4.) Список id, у которых работает поддержка двустороннего состояния блока:
<defend>
id: 124
id: 220
id: 221
id: 222
<defend_end>

III. Особенности dat файлов:
1.) лимит itr на один кадр увеличен до 100.
2.) лимит кадров поднят до 799.
3.) лимит звуков снят.
4.) создание осколков для оружия:

<weapon_piece>
team: 1
piece: 1
act: 109 framea: 0 dvx: 0 dvy: 0 dvz: 0 oid: 211 amount: 1
piece_end:
piece: 2
act: 125 framea: 4 dvx: 12 dvy: -20 dvz: 4 amount: 2
piece_end:
piece: 2
act: 130 framea: 4 dvx: 4 dvy: -8 dvz: 4
piece_end:
piece: 3
act: 135 framea: 4 dvx: 8 dvy: -10 dvz: 4 amount: 4
piece_end:
<weapon_piece_end>

"team" - указываете какой стороне принадлежат осколки. Если выставлено значение 0 - привязки по умолчанию нет, а если 1 - происходит привязка к изначальной команде.
piece - порядковый номер группы осколков. Из этих групп случайным образом формируется куча осколков, которые появляются (до 25 осколков на один объект).
"act" - первый кадр, из которого и берутся осколки."framea" - число кадров, которое будет использоваться для осколков, например, указываете 3, при том что act 100 стоит, тогда получаете порядок из 100, 101 и 102 (суммарно 3 кадра).
"dvx", "dvy" и "dvz" - скорость полета осколков и их диапазон. Например, при dvx: 5 и dvz: 3 будут работать диапазоны для координаты X от -5 до 5, а для координаты Z от -3 до 3 (представляем куб). dvy в свою очередь указывает как высоко может достать летящий осколок по координате Y, например, при dvy равном -15, ваш осколок может оторваться от земли с силой равной -15 максимум, а минимум с силой равной 0. Это лишь диапазоны допустимых значений, сами осколки выбирают случайное направление полета туда, где допущен указанный вами диапазон.
"amount" - как много осколков такого типа может появиться.

5. Управление броней через dat информацию:

<armor>
sound1: data\085.wav
sound2: data\085.wav
type: 1 ratio: 1 decrease: 100 mp: 0 fall: 20 bdefend: 20 injury: 20 delay: -1
frame: 0 20
state: 4 state: 5 state: 7
effect: 2 effect: 3 effect: 20 effect: 21 effect: 22 effect: 23 effect: 30
id: 208 id: 214
<armor_end>

"sound1" - звук при срабатывании брони.
"sound2" - звук при блоке для персонажа с броней.
"type" - указание типа брони:.
- при 0 броня отсутствует, но sound2 остается активным.
- при 1 работает обычная броня.
- при 2 броня будет работать только с определенными effect.
- при 3 броня, при которой объект игнорирует fall.
- при 4 броня существует, но не пропускает любой урон визуально (получаемые удары вводят в ТБ и т.д.)
"ratio" - коэфициент защиты.
decrease - как много урона проходит сквозь персонажа, работает по формуле "полученный урон - %decrease = урон, который персонаж получит сквозь броню".
"fall", "bdefend" и "injury" - указание значений, которые могут игнорировать броню.
"mp" - сколько маны будет тратить персонаж при каждом срабатывании брони, работает по формуле "полученный урон*%mp=%конвертируемого урона в отнимаемую ману", если маны не хватает - урон проходит напрямую.
"spark" - визуальный эффект удара по броне.
"hp" - здоровье брони. аналогично здоровью оружия - существует пока не закончится здоровье.
"recover" - как долго броня восстанавливается (значение -1 делает броню невосстанавливаемой).
"action" - кадр перехода при уничтожении брони (если есть hp атрибут).
"delay" - какую задержку получает противник и жертва при ударе по броне, указывается форматом XYYZZ, где Х - может быть 1 (кадр обнуляется после удара) и 0 (кадр не обнуляется), где YY - какой противник получит wait в том кадре, в котором выполнил удар по броне, где ZZ - какой жертва получит wait после получения по своей броне удара.
"frame" - диапазон кадров, в которых броня активна (например, при frame: 0 20 персонаж имеет броню лишь в кадрах от 0 до 20).
"state" - список статусов персонажа. в которых его броня активна.
"kind" - список itr kind, при которых броня активна.
"id" - список id, которые игнорируют броню.
"effect" - список эффектов, которые игнорируют броню.

6. Устранение тени через dat файлы:
- для удаления тени в заголовке между <bmp_begin> и <bmp_end> (шапка) пропишите shadow: 1 и объект не будет иметь тени.

7. Управление скрытием персонажа:
- для управления доступностью персонажа в заголовке между <bmp_begin> и <bmp_end> (шапка) пропишите атрибут hiden: X, где Х может быть равен:
0 - персонаж всегда виден в меню выбора.
1 - персонаж виден только после ввода пароля.
2 - персонаж не виден никогда.

8. Изменение числа кадров для ходьбы и бега:

walking_frame: 6
290 291,292,293,294,295
walking_frame_end:

running_frame: 3
300301302
running_frame_end:

heavy_walking_frame: 4
310311312313
heavy_walking_frame_end:

heavy_running_frame: 4
320321322323
heavy_running_frame_end:

Автор напоминает, что следует поправлять так же атрибут frame_rate в шапке, ведь вы меняете число кадров, а их frame_rate считается общим для всех, а так же не забывать использовать соответствующие статусы.

9. Настройка отображения первого плана через статус:
- можно использовать state: 10000-29999, где чем выше значение, тем первее план у объекта. Функция создана для дизайна заклинаний.

10. Функция тряски экрана:
- новый state: 5XXYY, где XX и YY это координаты отклонения X и Y соответственно.

11. Условный переход в кадры при определенном здоровье (как у Louis в Louis_EX):
- state 1xxxyyy, где xxx - здоровье, а yyy - номер кадра. Статус применим к любым hit атрибутам.

12. Функция "заряда":
state: 6XXX и hit_a: YYY или hit_j: YYY или hit_d: YYY, где YYY - куда перейдет персонаж, когда истечет wait при удерживаемом Блоке, Прыжке или Атаке. Если удержания не было или оно было отпущено раньше времени, происходит переход в next кадр. ХХХ не принципиален.

state: 4XXX mp: MMM, и hit_a: YYY или hit_j: YYY или hit_d: YYY, где YYY - куда перейдет персонаж, когда истечет wait при удерживаемом Блоке, Прыжке или Атаке. Если удержания не было или оно было отпущено раньше времени, происходит переход в next кадр. ХХХ не принципиален. Если у персонажа есть указанное число маны, он его потратит и выполнит переход в YYY мгновенно.

13. Новый атрибут hp:
- работает аналогично mp, но теперь как 2 раздельных параметра.

14. Новые базовые приёмы:
hit_aj: = DJA
hit_aa: = DAA
hit_jj: = DJJ

15. Новая переходная функция hit_g (G от Ground - "земля"):
- при приземлении персонаж перейдет в hit_g. (аналог state 100 в оригинале, который всегда делает переход в 94 кадр)
- при использовании этой функции с type 3 так же нужно использовать state 3007.

16. Статусы "скрытности":
- state: 20 и state: 21 делают персонажа невидимым на время равное wait. (в стадиях персонаж остается видимым).

17. Рандомайзер перехода:
- next: 13XX, где XX - число последующих кадров, до которых может произойти переход. Например, если стоит frame 300 next: 1350, то будет выполнен случайных переход к одному из кадров от 301 до 350.

18. Бесстрелочные переходы:
- можно использовать переходы dx: , dy: и dz: для коротких приемов с переходом.

19. Смещение ITR по Z:
- для использования атрибута в IRT нужно добавлять "z:", где положительные значения - это вниз, а отрицательные - вверх.

20. Платформы:
- платформы действуют на "center" атрибуты кадров, поэтому работают даже на объекты, у которых нету bdy.

itr kind X0 - создание платформы, на которую можно просто прыгать.
itr kind X1 - создание непроходимого барьера
itr kind X2 - доступны dvx и dvy для создание подвижной платформы
itr kind X3 - доступны dvx и dvy для создание подвижной платформы с ускорением (постепенное наращивание dvN параметра)
itr kind X4 - функции dvx и dvy теперь подразумевают значения X\1000 и Y\1000.
itr kind X5 - прыгающая платформа, где dvx создает горизонтальные рывки, а dvy вертикальные (вписывать отрицательное значение, если хотите, чтобы платформа ускакала вверх)

X может имет следующие значения:
- при 3 действует на все объекты type 0
- при 4 действует только на союзные объекты type 0
- при 5 действует только на вражеские объекты type 0
- при 6 действует так же как при 3, но работает на type 0, type 1, type 2 и type 4
- при 7 действует так же как при 4, но работает на type 0, type 1, type 2, type 4 и type 6
- при 8 действует так же как при 5, но работает на type 0, type 1, type 2, type 4 и type 6

Пример:
itr:
kind: 63 x: 0 y: 0 w: 100 h: 100 z: 100 dvx: 5 dvy: -5
itr_end:

В этом случае мы получаем платформу типа "куб", на которую можно прыгнуть, а так же на неё будут падать всяческие предметы. Сама платформа будет перемещаться немного вперед и вверх.

21. Изменения в стадиях:
- режим Survival удален.
- максимальное число уровней увеличено до 500
- stage.dat выполняет роль информации о стадиях для меню, в то время как сами стадии разделены по отдельным файлам:

<stage_information>
id: 0
name: Stage_1
file: data\stage\stage1.dat
<stage_information_end>

id - номер идентефикатора, порядковый номер стадии в списке меню.
name - указывается имя стадии в меню.
file - путь до файла со стадией, каждая стадия имеет отдельный файл.

22. Изменение уровня для каждой стадии:

id: 0 stage_3-5
bg: 3
<phase> bound: 2200

для использования нужно прописать bg: Х между id и <phase>, где Х - порядковый номер уровня в data.txt.

23. Атрибут when_clear_go_stage:
- теперь атрибут изменен, when_clear_goto_stage: XY, где X - ID стадии, а Y - этап стадии.

24. Добавлен атрибут team:
- атрибут можно использовать в стадиях для выдачи команды появляющимся противникам, по умолчанию у противников стоит значение 5 (например, team: 5).

25. Добавлена метка <protect> :
- если цель с меткой <protect> умирает (здоровье равно 0 или ниже), игра завершается.

26. Мгновенное завершение уровня после волны:
- если вы хотите, чтобы после убийства всех противников игроку не пришлось бежать вперед до самого конца, то можете после id: x и перед <phase> тегом прописать ptype: 1 (phase type - тип фазы), благодаря чему переход к следующей стадии (из 1-1 в 1-2, например) будет происходить тут же, без необходимости бежать в конец.

27. Призыв объектов на картах:

opoint:
oid: 203 action: 0 x: 300 y: 0 z: 400 dvx: 100 dvy: 20 dvz: 80
opoint_end:

где oid - это id объекта
x,y,z - координаты появления
dvx,dvy,dvz - координаты

(могут происходить ошибки при воспроизведении реплеев при неправильном создании объектов, проверяйте конечную карту просмотром реплеев)

28. Управление музыкой через bgm.dat:

<bgm_begin>
name: Main_Theme
file: bgm\main-1.wma
<bgm_end>

<bgm_begin>
name: Stage_1
file: bgm\stage1x.wma
<bgm_end>

name - отображаемое в меню название трека.
file - путь до трека.

29. Добавлены опции для Юникода:
- атрибут Uname работает по аналогии с name, но поддерживает Юникод кодировку, а вводить имя просит в виде шестнадцатиричного кода (например, Uname: C230A430D730), а так же можно использовать атрибут в таких местах как stage.dat, где такого атрибута нет, но поддержка юникода существует (например, при написании текста добавлять префикс [UC], допустим - [UC] C230A430D730).




Категория: Шаг вперед | Просмотров: 2134 | Добавил: EdL
Всего комментариев: 24
04.12.12 | 19:25
  | 0 |
Перевод на английский язык, пожалуйста :/ / платформы и, как положить их на сцене и битвы

04.12.12 | 19:32
EdL
  | 0 |
that was "Chinese -> Russian" translation, u wanna "Chinese -> Russian -> English"? ;D
Try to check source page of this thing on lf2 official forum.
guess Alkarter can tell u more than me.

21.11.12 | 09:25
EdL
  | 0 |
к сожалению, я не автор и не могу оказать полноценную поддержку по наработке сей, но думаю в течении месяца+ будет сделан видообзор функций с демонстрациями работы каждой из них.

есть определенные преимущества в использовании данного набора.

21.11.12 | 15:24
  | 0 |
В хитайской темке кажется больше функций. Надеюсь ты написал все функции ехе.

21.11.12 | 22:18
EdL
  | 0 |
есть что добавить - вперед, буду только рад, если вам есть чем дополнить или поправить сию работу, дабы она стала ещё полнее, чем есть

22.11.12 | 12:50
  | 0 |
Может создашь тему?

18.11.12 | 23:28
  | 0 |
блиииин........может этим попробывать пользоваться=))))) monk_wall

18.11.12 | 17:06
  | 0 |
Как изменять шрифты?

18.11.12 | 16:32
  | 0 |
Инфа конечно не новая, но за перевод спасибо beer box_tan

11.11.12 | 09:51
  | 0 |
Есть стейт с превращением какой-нить, без +140?

11.11.12 | 13:01
EdL
  | 0 |
в списке указано всё, что есть в разработке.

06.11.12 | 01:34
  | 0 |
Не, если дллку привязать, то может норм будет, еще я хз как тут с мультиплеером и с аи дела обстоят, в обычный ехешник хоть дллку с аи вставил и написал пару скриптов, а тут хз что, в общем сомнительное удовольствие...

24.11.12 | 13:10
  | 0 |
ага, без длл нече делать, сам работал 3 месяца. Потом кое кто подогнал длл и другой ехе)

24.11.12 | 13:27
EdL
  | 0 |
частично AI тестировал и всё было в порядке.
на случай, если всё же есть какие-то изъяны - можно легко всё перескриптовать на DC.
Не-про-бле-ма.

05.11.12 | 22:02
EdL
  | 0 |
DLL от западных ребят сюда не шёл и не будет идти, пока кто-нибудь полностью не перепишет его с адресами подходящими под такую разработку.
Если такая вещь будет, она войдет в Extended версию.
Но работа от Алькартера всё же имеет лучшую философию, он делает всё нативным, то есть для создания мода и ковыряния движка вам ничего кроме dat редактора и не нужно, и уж тем более не понадабятся знания ассемблера.

ах да, автор так же просит оставлять за ним копирайт, если уж не в заголовке, то рядом со всеми остальными, ибо труд сей очень тяжелый.
На самом деле он просил связываться с ним и спрашивать, согласен ли он, чтобы в каком-то другом месте его обозначали, однако, как показывает его сообщение, он не знает английского, так что связываться с ним ру-комьюнити точно бесполезно.

05.11.12 | 23:09
  | 0 |
А где с ним вообще можно связаться? ztage?

05.11.12 | 23:12
EdL
  | 0 |
ссылка есть в "прочти меня".
сомневаюсь что ты китайский знаешь, переводчики тут не помогут.

05.11.12 | 21:23
  | 0 |
Да, крутая вещь и все дела, но ходят слухи, что онa не поддерживает дллку

05.11.12 | 20:46
  | 0 |
Вау, действительно мощная вещь.
Разработчик молодец!

05.11.12 | 21:41
  | 0 |
Напоминает "Епть ты лох")

05.11.12 | 22:04
  | 0 |
Оно и взято за основу :)
>тык<

05.11.12 | 20:02
  | 0 |
Я еще не достаточно протестил это чудо, но это действительно круто! Столько новых функций ни в каком .exe не приходилось видать, многое понадобится). (Словно новая версия ЛФ2:))) Спасибо EdL и Alkarter!!!

05.11.12 | 14:25
  | 0 |
Зачет!

05.11.12 | 13:58
  | 0 |
О, рабочий китайский ехешник

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]