Название Neora было дано из Neo (новый) и Ra (от rarara.dll), это по сути проект состоящий из DLL-аддона для движка PDK, который нынче куда популярнее чистого старого dll на оригинал из-за своих крайне продвинутых фич типа поддержки png, загрузки перед боем и т.д.. Но чего-то от dll нам всё-таки не хватает. А я недавно сел заниматься модами. И мне приспичило. Такая история :) Neora - Гибрид Alkarter's Exe и Silva's and folks DLL
Эта основа для мода совместима с уже существующими модами наPDK 1.2+, однако начиная сNeora 2.00+некоторые атрибуты и тэги изменены или переименованы, поэтому если вы сидите не на старой версии - потребуется сделать несколько замен текста в коде.
- Добавлен State 3xxyzzz для остановки времени —— xx - вероятность Time Stop —— zzz - время Time Stop —— y - тип тайм-стопа: ————— 0 - останавливает ВСЁ, кроме атакующего ————— 1 - останавливает ВСЁ, кроме персонажей и объектов с командой атакующего ————— 2 - останавливает ВСЕ объекты, кроме персонажей
- Добавлен State 2xxxyyy, где ХХХ - число маны, которое вы собираетесь отнять. Если маны хватает переход происходит согласно "Next:". Если же маны не хватает, происходит переход в YYY.
- Добавлены статусы управлением направления взгляда объекта: ————— Статус 30 - объект разворачивается строго влево ————— Статус 31 - объект разворачивается строго вправо
- Добавлен Статус 9ххх. При срабатывании атакующего ITR на цель, этот атакующий объект совершит переход в кадр ХХХ, где ХХХ может быть от 0 до 799 (значение не больше лимита кадров). Создано для валидации каких-либо действий у персонажа.
Bodies:
- Переработан алгоритм "bdy: 1xxx", теперь заложники берут команду того, кто их освободил! А также функция теперь может быть использована не только с Criminal.dat (ID 300). Кроме того тело теперь позволяет отправлять в кадр 0.
- Добавлена функция "bdy: 2xxx", которая работает точно так же, как и 1xxx. Без Тряски.
- Добавлена функция "bdy: 3xxx", которая работает точно так же, как и 1xxx, но также позволяет использовать даже команде врагов (Team 5), и активировать объект-заложник снарядами.
- Добавлена функция "bdy: 4xxx", которая работает точно так же, как и 3xxx. Без Тряски.
- Добавлено Bdy 50, где персонаж, получающий урон, не перейдет в болевые кадры и его приемы не будут прерваны.
- Добавлен комплексный аналог тела с переходом "bdy: 1xxyyyzzzw", где: ~~~ XX - вероятность срабатывания в %, 0 = 100% ————— YYY - кадр, куда должена будет перейти Цель, (800~999) - перехода не будет ————— ZZZ - кадр, куда должен будет перейти Атакующий, (800~999) - перехода не будет ————— W - дополнительный эффект от срабатывания: —————————— Без тряски: —————————— 0 ~ ничего не происходит —————————— 1 ~ Цель получит команду —————————— 2 ~ Цель получит урон —————————— 3 ~ Цель получит урон и команду Атакующего —————————— С тряской: —————————— 4 ~ ничего не происходит + тряска —————————— 5 ~ Цель получит команду Атакующего + тряска —————————— 6 ~ Цель получит урон Атакующего + тряска —————————— 7 ~ Цель получит урон и команду Атакующего + тряска
- Добавлен Body Kind 1XXYYYZ: ————— XX - % вероятности срабатывания (0 = 100%) ————— YYY - % возвращаемого урона атакующему ————— Z - тип возвращаемого урона (Тип урона, на данной стадии разработки эта переменная просто зарезервирована, поэтому используйте значение "0") (Броня персонажа действует ПЕРЕД данным "bdy", что означает, что пока броня не будет разбита, данное Тело не будет действовать. Действует только с Type-0 целью и атакующим)
- Добавлен "Itr\Kind: 1000" для мгновенных перемещений в координаты X, Y и Z Для перемещения используются атрибуты "x:", "y:" и "z:" внутри ITR. Укажите "Injury:", чтобы объект сменил свой кадр сразу после перехода в указанное место. Все 4 атрибута поддерживают значение "-1", означающее "пропустить параметр". Дополнительно ——— "dvx:" - требуемое число HP для перехода ——— "dvy:" - требуемое число MP для перехода (Здоровье и мана вычитаются только если оба параметра соответствует минимальным требованиям для переноса объекта)
Effects: ——— Effect 50, он не издает звуков, а так же не отправляет в болевые кадры персонажа. ——— Effect 1XXX - где атакующий теряет XXX здоровья, при срабатывании атаки. Может убить ——— Effect 2XXX - где атакующий восстанавливает XXX здоровья, при срабатывании атаки по type-0. Не превышает лимита ХП ——— Effect 3XXX - где атакующий восстанавливает XXX здоровья, при срабатывании атаки по любому type. Не превышает лимита ХП ——— Effect 4XXX - где атакующий теряет XXX маны, при срабатывании атаки ——— Effect 5XXX - где атакующий восстанавливает XXX маны, при срабатывании атаки по type-0 ——— Effect 6XXX - где атакующий восстанавливает XXX маны, при срабатывании атаки по любому type ——— Effect 7XXX, где XXX - количество маны, которое отнимет атака у жертвы ——— Effect 8XXX, где XXX - количество маны, которое отнимет атака у жертвы и отдаёт атакующему ——— Effect 9ХХХ, где ХХХ - кадр, куда будет отправлена жертва с Type-0.
Эффектам можно определить звук эффекта через тэг "sound: N", где N: ——— 0 - обычный звук удара ——— 1 - звук удара по блоку и броне Julian ——— 2 - звук удара сбивающего с ног \ звук сильного удара ——— 3 - удар по камню ——— 4 - удар по бейсбольной бите ——— 5 - звук шага \ приземления персонажа ——— 6 - звук падения тела на землю ——— 7 - звук Дэш прыжка ——— 8 - звук попадания t3 объекта во что-либо ——— 9 - звук разрушающегося камня ——— 10 - звук стрелы Генри попадающей в землю ——— 11 - заглушенный звук пронзания ——— 12 - звонкий звук пронзания ——— 13 - звук отбивания Мячика Битой ——— 14 - звук заморозки Льдом ——— 15 - звук разбивания Льда ——— 16 - звук поджигания ——— 17 - звук удара по броне Louis и Knight
Attributes:
Огромное количество новых атрибутов, которые прописываются между "bmp_begin" и "bmp_end": —— "start_hp:" - базовое значение здоровья на старте сражения
—— "start_hp_max:" - базовое значение максимального здоровье на старте сражения
—— "hp_regen:" - количество регенерируемого здоровья за раз. Можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1, поэтому если написать "regen_hp: 3", вы получите 1+3 здоровья в регенерации, а "hp_regen: -1" отключит регенерацию вовсе.
—— "hp_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_regen" поступит в персонажа. Может быть использовано даже когда "regen_hp" не указан. У атрибута есть встроенный таймер в 11 тактов (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -11, в сумме получится 0, то есть нулевая задержка. Значения ниже -11 не работают, так как задержка не может быть в сумме отрицательной.
—— "hp_dark_regen:" - количество регенерируемого темного здоровья за раз
—— "hp_dark_regen_cd:" - время отката в Wait, прежде чем очередная порция "hp_dark_regen" поступит в персонажа
—— "hp_limit:" - лимит здоровья, который ни при каких обстоятельствах не может быть превышен (хардкап)
—— "hp_regen_type:" - принцип работы регенерации здоровья. При "0" отрицательная регенерация может убить персонажа. При "1" регенерация не работает при здоровье ниже "hp_regen_min:" и выше "hp_regen_max" При "2" будет всё то же, что и при значении "1", но отрицательная регенерация не сможет убить персонажа.
—— "hp_regen_min:" - значение, ниже которого эффект регенерации перестает действовать
—— "hp_regen_max:" - значение, выше которого эффект регенерации перестает действовать
—— "hp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать указанное время.
—— "start_mp:" - базовое значение маны на старте сражения
—— "start_mp_max:" - базовое значение максимальной маны на старте сражения
—— "mp_regen:" - количество регенерируемой маны за раз, можно выставлять отрицательные значения. У всех персонажей обычная регенерация равна 1 (до +4 при низком здоровье).
—— "regen_mp_cd:" - время отката в Wait, прежде чем очередная порция "mp_regen" поступит в персонажа. Может быть использовано даже когда "mp_regen" не указан. У атрибута есть встроенный таймер в 2 такта (от оригинального LF2), поэтому если вы хотите отключить задержку полностью, то введите -2, в сумме получится 0, то есть нулевая задержка. Значения ниже -2 не работают, так как задержка не может быть в сумме отрицательной.
—— "mp_limit:" - лимит максимального запаса маны, который невозможно превысить
—— "mp_regen_type:" - принцип работы регенерации здоровья. При "0" мана может регенерироваться быстрее, если персонаж потерял часть здоровья. "mp_regen:" суммируется с обычным рассчетом количества регенерируемой маны от потерянного здоровья. При "1" мана регенерируется всегда фиксированное значение равное "mp_regen:".
—— "mp_regen_cap:" - при достижении указанного значения мана перестает регенерировать сама по себе. (Пример: персонаж способен восстановить сам только часть силы, а оставшуюся часть - только с помощью бутылочек). Тонкости механики: 1. Кап Регенерации так же ограничивает количество маны, которое будет у персонажа после перехода из одной стадии в другую. 2. Кап Регенерации НЕ сбросит ману вниз, если её уже больше, чем указано в ограничении регенерации, например бутылочками молока или пива.
—— "mp_regen_hurt_cd:" - после получения урона персонаж не будет регенерировать ману указанное время.
—— "mp_regen_on_hurt:" - количество MP, которое будет получать персонаж каждый раз, как получает урон ( за исключением падающих с неба ящиков xD )
// Надеюсь, что с новыми атрибутами по ресурсам Вас ничто не остановит сделать каждого персонажа уникальным!
—— "stat_#:" - кучка статов, от "stat_1:" до "stat_10:", которые можно добавлять персонажу. Они могут повысить урон персонажа в % от выбранного стата, то есть с относительным значением.
—— "resist_#:" - кучка статов-сопротивлений объекта тому или иному типу урона. Например, если персонажа атакуют с ITR внутри которого есть "dtype: 5", то против этого урона будет действовать "resist_5:", занижая урон или вовсе защищая от него. Если у персонажа накапливается сопротивление от 100% или больше - он перестает переходить в кадры ТБ.
—— "crit_chance:" - шанс нанести критический урон любой из атак. Значение складывается с "crit_chance:" из шапки персонажа\объекта
—— "crit_power:" - % от урона, который будет нанесен в случае срабатывания критического эффекта. Значение складывается с "crit_power:" из шапки персонажа\объекта.
- Новый атрибут "dtype:" определяющий тип урона, который сейчас наносит персонаж. Возможно значение от 0 до 7.
- Новый атрибут "scale_stat:" определяет источник для дополнительного урона. Можно указать значение от 0 до 7, оно будет считано из "stat_N", где N - указанное здесь число.
- Новый атрибут "scale_value:" - определяет значение в %, от значения статы, указанной в источнике "scale_stat".
Допустим Stat_1 персонажа равен 40. Тогда получим 40 * 200% = 80 урона. "scale_stat: 1" - считывает "Stat_1" из шапки персонажа. 100 + 80 урона = 180 урона будет нанесено. Допустим, что dtype: 0 или его отсутствие - это обычные физические атаки ЛФ2. А dtype: 1 - это огненные атаки. Допустим, что мы сделали атаку против Firen, у которого есть "resist_1: 50", то есть 50% сопротивления. Тогда он получит 180 - 50% = 90 урона в итоге.*)
// Если scale_stat указан не у персонажа, то значение будет браться у того, кто выпустил, создал или отбил этот снаряд, тем самым, проще говоря, наследуя значение у своего хозяина. Поэтому создавая прокачку для персонажа вы автоматически можете создавать эту прокачку и для его снарядов в нужных вам пропорциях!
- Добавлен новый атрибут "ohp:" (opoint health power), в котором можно указать здоровье призываемого персонажа или клона.
Stages: - Теперь рандом призыва можно использовать опционально. Используйте "x: 1xxxxx", где xxxxx - координата призыва. В этом случае призыв будет происходить без рандома. Пример: "x: 100300" призовет объект на координату 300 по Х, без рандомизации, а "x: 300" будет использовать рандом, как в оригинальном движке LF2.
- Теперь "act: zzz" может работать с type 0 \ 1 \ 2 \ 3 \ 4 \ 5 \ 6.
- Переработан атрибут "act:". Добавлен % вероятности перехода объекта в этот номер кадра. Используйте "act: xxxyyyzz", где ZZ - это шанс перехода в этот кадр, YYY - куда перейдет, если шанс сработал, и XXX - куда перейдет, если шанс НЕ сработал. Обычный "act: zzz" так же работает, если вам нужен безусловный переход.
F-keys: - Теперь можно включить работу F6, F7, F8, F9 клавиш для всех режимов или использовать шаблоны или выбрать какие клавиши в каких режимах вы желаете разрешить. Настраивается через DLL. - Теперь F7 снова может воскрешать персонажей после того, как раунд закончился, как было в LF 1.9. Включено по умолчанию. + нажатие теперь так же отменяет приближение появления таблички (бывалый баг в старых версиях LF2, бойцы живы после F7, но табличка уже не даст биться) - Переработан эффект F7 клавиши, теперь нажатие также снимает эффекты Яда, Замедления, Молчания и Конфуза, которые были введены в PDK - Переработан эффект F9 клавиши. Теперь клавиша не уничтожает t0 объекты в режимах отличных от VS Mode. Кроме того добавлены фильтры объектов по ID или Type, Специально для тех, кто использует объекты как ключевые элементы карт или стадий. Настраивается через DLL.
Other: - "hiden:" теперь вводится как "hidden:" - "confus:" теперь вводится как "confuse:" - "manacle:" теперь вводится как "silence:" - "delay:" теперь вводится как "slow:" - "respond:" заменен на "sound:" и используется для выбора звука "effect".
- Последняя версия PDK 1.2 со всеми функциями (ехе от Алькартера) - Изменен статус транформации, теперь он работает как обычный 8ххх, но без +140 кадров. Для ID вроде Бандита и других сделаны исключения, добавляющие им +140. - Вынесены ресурсы-картинки из EXE в папку \sprite\UI\ и в PNG формате. - Включена поддержка прозрачности в картинках меню и элементах интерфейса (RFace.png, *_s.bmp, FRAME.png, e.c.t.) - Добавлена функция перманентной валидации реплеев. Теперь игра любой реплей будет считать валидным, даже если он из устаревшей версии вашего мода! По умолчанию функция включена. - Исправлено отсутствие удвоенной регенерации MP у Julian и Firzen! - В комплекте движка есть правильные dat-файлы с верной бронёй Louis, Knight и Julian, соответствующие оригинальному LF2 - Исправлен баг от PDK с курсором, который пропадал после нажатия Start Game. - Возвращена возможность выбора команды в Стадиях, как было в ранних версиях LF2 :) Включено по умолчанию. - Переработана функция сложности для Battle Mode, теперь режим CRAZY! доступен и для него. Включено по умолчанию. - Изменен алгоритм регена маны, благодаря чему теперь увеличение регенерации маны действительно работает от недостающего количества здоровья. Теперь даже если у объекта 1 000 000 здоровья, он всё равно будет получать увеличение регенерации по достижению определенного % здоровья. В оригинале учет всегда велся относительно 500 здоровья, не учитывая какое было максимальное здоровье персонажа. - Добавлено замедление времени при нанесении добивающего удара по последней цели в матче. Включено по умолчанию. - Теперь можно сменить название окна игры. На странице DLL "lf2.asm" найдите переменную "GameName" и измените название на желаемое. - В углу экрана больше не отображается отладочная информация в виде "u0 d0 l0 r0" и т.д.
Tweaks:
- Переписан код для управления регенерациями Здоровья (HP) и Маны (MP) с привязкой к ID. Демонстрационно-увеличенные значения применены к ID 55.
- Настройка стартовых значений координат: ——— Возможность включить через DLL рандомный спавн команды игроков при игре в стадиях, как если бы это был VS режим. ——— Возможность установить точную точку спавна команды игроков в стадиях по X \ Z.
- Управление стартовыми значениями MP для разных режимов: ——— Возможность установить начальное значение MP для Игроков для разных режимов игры. (По умолчанию в VS режиме 200 mp, в Stage режиме 500 mp). Возможно выставлять значения для отдельных ID персонажей. ——— Возможность установить начальное значение MP для Компов для разных режимов игры. (По умолчанию в VS режиме 200 mp, в Stage режиме 500 mp). Возможно выставлять значения для отдельных ID персонажей.
- Добавлен код сброса координат фоновой картинки в меню выбора персонажа в 0.0, для активации убрать знаки комментариев ";" у процедуры "ResetCoord"
- Добавлена возможность включить "нейтральность" у всех игроков, которые проходят стадию, вместо первой команды. Все могут убить всех, THIS IS HARDCORE!!.
- Добавлена возможность использовать собствнные ХП-бары для персонажей. (Демонстрационную версию можете увидеть, поиграв за Julian)
- Не работают heavy_* атрибуты в шапке персонажей (отсутствие считывания атрибутов) Пост 1 - Порча работы модов софтом Dropbox v.3+ (природа бага неизвестна) - Странные прыжки с разворотом (отсутствие считывания изначального направления) Пост 1 - Невозможно сбросить прием нажатиями стрелок после падения (отсутствие считывания во время лежания) Пост 1 - Измененная регистрация нажатий (возможно не баг?) Пост 1 - Отсутствует AI для Julian (ID 52) и Justin
艾爾卡特 (Alkarter) - разработчик движка, который на LFF был именован как PDK Drakken - Создание DLL-прототипа с патчингом в реальном времени Lord Silva - модификация DLL под нужды LF2 Archer-Dante - адаптация DLL для работы в PDK и добавление новых функций Surik - информационная поддержка по разработке
Примечение:я не сильно надеюсь на помощь от лфф-сообщества, но буду рад, если кто-то даст пинок в нужном направлении, ибо сейчас очень дискомфортная ситуация
ЧЕМ МОЖНО ПОМОЧЬ
Сейчас появилась проблемка с переносом 4ххх.
Патч инициируется так же, как в оригинальном ехе
Код
invoke JmpPatch, 0041F5FCh, addr State8xxx
но сам код, разумеется, не желает работать, поэтому я переписывал его несколько раз, разбирая что к чему относится. результирующий код следующий:
Код
State8xxx proc
CMP EAX,1F40h ; 8000 JL SHORT state4xxx ; если ниже 8000, то проверим, не будет ли там 4ххх случаем CMP EAX,2328h ; 9000 JGE SHORT exit1 ; если больше 9000 (ITS OVER NINE THOUSANDS!), то в обычный код jmp SHORT exit2 ; ничего не подошло, значит это 8ххх, отправляем на типичную обработку 8ххх
exit1: jmp dword ptr [Transform1] ; возврат в стандартный код exit2: jmp dword ptr [Transform3] ; возврат в стандартный код
state4xxx: CMP EAX, 0FA0h ; 4000 JL SHORT exit1 ; если значение ниже и 4000, то идем в стандартный код
MOV ECX,DWORD PTR DS:[452980h] ; WTF? LEA EDX,DWORD PTR DS:[EAX-0FA0h] ; рассчет ID путем 4ххх-4000=ID XOR EAX,EAX ; проверка что текущий ID не равен ID для трансформации CMP DWORD PTR DS:[452990h],EAX JLE SHORT sector3
sector1: MOV ESI,DWORD PTR DS: [ECX]CMP DWORD PTR DS:[ESI+6F4h],EDX JE SHORT sector2 MOV ESI,DWORD PTR DS:[452980h] ADD EAX,1 ADD ECX,4 CMP EAX,DWORD PTR DS:[452990h] JL SHORT sector1 ; зациклено, пока EAX не станет равно ~1F, после того срабатывает JE JMP SHORT sector3
sector3: MOV EDX,DWORD PTR DS:[EBX+EDI*4+3ECh] MOV DWORD PTR DS:[EDX+70h],0 ; переход в кадр 0 после трансформации MOV EAX,DWORD PTR DS:[EBX+EDI*4+3ECh] MOV DWORD PTR DS:[EAX+318h],0h ; в 8ххх тут добавлялось +140 кадров, но сейчас +0 для 4ххх MOV EAX,DWORD PTR DS:[EBX+EDI*4+3ECh] jmp Transform2 ; Ссылка на адрес обычного кода
Всё работает нормально, пока не пытаюсь заменить обычный 8ххх-8000
Код
LEA EDX,DWORD PTR DS:[EAX-1F40h]
на 4ххх-4000.
Код
LEA EDX,DWORD PTR DS:[EAX-0FA0h]
После этого ID по-прежнему находится, но персонаж железно пропадает, словно отправляется в кадр 1000. Сектор 3 вообще не учитывается после этого. Если будут идеи или решения проблемы, прошу сообщить. Желательно подетально, ибо я не АСМ-джедай ещё)
Решено частично
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Archer-Dante, это опечатка в посте, или так прописано в коде?? LEA EDX,DWORD PTR DS:[EAX-1F4h] 1F4=500, 1F40=8000 [ Маленький Фриз говорит: это сообщение было отредактировано!]
Выпускаю на волю первый релиз. Проблема с 4ххх оказалась куда проще, я, дурак, забыл, что в PDK 4ххх уже занят чем-то. Поэтому выставил 60ххх, т.к. 50ххх и все варианты меньше забиты разной всячиной.
В архиве 0.1.0 ехе+длл, а так же присутствуют исходники для желающих порыться.
Буду рад отзывам и тестам.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Стругал свои второсортные недомоды палкой-копалкой и одним желанием... Приходилось стругать хитровысраные приемы на кучу фреймов, а теперь все идет к тому, что это можно сделать, написав одно число в статусе. Научный прогресс слишком жестокий...
[ Маленький Фриз говорит: это сообщение было отредактировано!]
BJIAJL, ступай в ногу со временем) тем более, когда меньше заморачиваться приходится по пути создания мода и полностью находиться в творческом настроении на протяжении всей разработки - разве это не куда приятнее? ^^
Но я ошибся, статус транформации работает, но как погода. То есть, то вылет. Причину не выявил ещё.
Версия 0.02 - Исправлены проходы ударов сквозь персонажей (отчет Espada_55)
+ вопрос страждущим №1: Если трансформация будет работать как 8ххх, но без 140 - вас удовлетворяет? для себя я бы так сделал, но Неора всё-таки публичный проект, делать так предлагаю из соображений, что 8ххх в модах никто не использует
+ вопрос страждущим №2: Часть обращаюсь к документации от Silva, о том как работать в ассемблере. Нужны переводы этих статей?
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Archer-Dante, 1) 140 лично мне не нужен. Насчет остальных не уверен, но зачем он вообще? Если нужно, чтоб бандит или кто-либо еще менял спрайты, то это можно и превращением сделать. 2) Было бы неплохо )
- Изменен статус транформации, теперь он работает как обычный 8ххх, но без +140 кадров. Для ID вроде Бандита и других сделаны исключения, добавляющие им +140. - (WIP) Добавлена возможность управления размером окна LF2 через DLL
Функция управления окном позволяет делает подобные вещи:
На данный момент без проблем работает увеличение высоты окна. Ширина имеет несколько нюансов, которые ещё нужно решить. Тестовая функция есть в neora_WIP.dll, а в neora.dll она вырезана, поэтому если хотите попробовать, то переименуйте neora_WIP.dll в neora.dll К посту прикреплен архив с измененной картой Forbidden Tower из гифки Уже не прикреплен, карта была пофиксена не ок. Ждите обновления в след версии.
Версия 0.03 - первая стабильная версия Неоркивру, есть проблемы с AI, которые не заметил ещё в 0.02
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
- Добавлена функция перманентной валидации реплеев. Теперь игра любой реплей будет считать валидным, даже если он из устаревшей версии вашего мода! - (WIP) Функция управления окном работает лучше и стабильнее. В этом релизе по умолчанию измененное окно уже включено. Кроме того карта Forbidden Tower так же поправлена и уже встроена в релиз. Карта адаптирована под разрешение 1024х768 (текущее окно игры по настройкам в DLL)
Приятного пользования!
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Пожелание: в PDK есть такая противная вещь... Если ты сделал прием, то от этого приема не избавишься - твой персонаж, ведомый чувством долга и гордыней, выполнит этот прием в любом случае (кроме моментов, когда маны не хватает). И это нихрена не хорошо - ты сделал в воздухе прием, но твой враг уже ушел с нужного нам места, а твой персонаж все равно бацает приемчик. Просьба избавить нас, страдальцев, от этого. Это же рушит геймплей игры - сколько страданий принесет эта фигня игрокам по интернету, когда лаги присутствуют в любом случае.
Я не совсем понимаю, что плохого в этом. То есть противник уворачивается от приема - а это плохо. Звучит так. Разве это нельзя решить DC-методами по проверке? Ну, заскриптовать проверку какую-нибудь. Или что плохого в том, что прием, от которого уворачиваются, продолжается? По крайней мере я держу в голове лф2 и не совсем понимаю, что не так в том, что кто-то увернулся, а кто-то промазал.
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
В таким случае я не понял проблему, если hit_d работает. Прерывания приемов типа D>J у Firen\Dennis именно так и сделаны. Не вижу ни одного примера что есть в обычном LF2 и нет в PDK
upd: вопрос дорешали в скайпе
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.
Я не знаю, у меня джойстика нету... Попробуй взять PDK из меню сайта, поставить поверх лф2 и там тестануть... если не заработает там - значит проблема PDK... ведь Неора основана именно на нём... я надеюсь что не принес новых багов...
Coding in Assembly requires a mix of: 80% of brain, passion, intuition, creativity 10% of programming skills 10% of tan levels in your blood.