Добавлен , опубликован
Собственно тот знаменитый хак на память который нам радостно предоставил DracoL1ch, который позволяет нам больше не морочится с системами отлова урона, или вовсе узнать координаты курсора без стороннего по.
Для сохранения требуется: экспериментальная версия pjass.exe
Причём не все подходят, меньше всего проблем было с этой версией
В хаке присутствует только 1 пример на изменение белой атаки у героя, остальные готовые функции можно найти на:
Хайве
Гитхабе
Просто копируем саму функцию, все остальное для её работы есть в наработке и сохраняем.
Так же на хайве есть инструкция по созданию собственных функций для чтения\изменения данных в памяти игры.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
ClotPh, думаю, достаточно будет обновлять немного быстрее, чем идёт перезарядка атаки. Ну или в соотношении 2 к 3 (обновление по времени как 2/3 КД). Пока идёт КД, он же атаковать не будет.
21
Maniac_91, quq_CCCP, спс за идеи, подумаю
но таймер там на подсчет мана регена все равно будет не менее, чем 0.1 сек., потому что оно же там будет считать разницу между тем, что было, и тем, что стало, просто getmpregen с мемхака не тянет, т. к. есть же триггерные всякие замуты и т. п., и в такой системе НАДО, чтобы атака часто обновлялась, потому что, допустим, реснет он с абилы предмета или от помощи союзника несколько сот маны - система приплюсует это в мп реген и сделает ему атаку ненормальную, чем чаще обновления, тем меньше вероятность, что он с этим проатаковать успеет
18
ClotPh, когда мана прибавляется не от регена (от зелий, например), можно же триггерно это прибавление вычесть из переменной (или прибавить, смотря какая система используется).
21
Maniac_91, ты предлагаешь для всех триггерных и нетриггерных добавлений маны бд писать?
Проще уж просто подсчитывать периодом
В принципе там еще можно продумать, что, н-р, +400 маны за 0.1 секунды это явно с 99% вероятностью НЕ реген был, особенно если он не повторился такой в следующие 0.1 секунды, но это уже опять свои заморочки, пока что выходит, что проще каждые доли секунды сверять значения и разницу рассчитывать
Бтв так-то само по себе на производительность это офк влияет, но не так уж сильно, 4-5 таких способностей одновременно варкрафт даже с 0.01 держит спокойно, а пропорционально увеличению периода и больше держать может, вопрос был больше про конкретно функцию, сильно ли она ресурсотребовательная относительно большинства других и само по себе не страшно ли так часто в память лезть
18
ClotPh, да не, БД тут не нужна. Достаточно 1-й переменной и отлов прибавления маны. Например, переменная М (реальная). Периодический триггер рассчитывает реген, как (мана юнита минус М), после чего устанавливает М = мана юнита.
А когда мана юнита меняется (применение заклинания или зелья маны), нужно менять М на такое же значение, чтобы разница рассчитывались от изменённого количества, а не просто маны юнита.
Компа с редактором под рукой нет, не проверял на практике.
21
Maniac_91, так про периодический переподсчет и перезапись переменной это понятно, я так в подобных ситуациях и делаю. Мне вот все равно непонятно, как ты собираешься отлавливать "применение заклинания или зелья маны"? Ладно, допустим, изменение маны при всех своих кастах смотреть еще можно. А если там союзник на тебя восстановление маны кастанул?
Короче, тема не туда пошла, ответ получен, спасибо
18
ClotPh, ты прав насчёт базы данных - с базой легче. А где-то же была возможность узнать манакост применяемой способности? Тогда всё проще. Но отлавливать всё же придётся, иначе пострадает точность расчёта.
Отлов: применение зелья: юнит использует предмет; применение заклинания - юнит завершает (или начинает - не помню, когда ману снимают); если союзник прибавляет ману - добавить к М количество прибавляемой маны (считать по уровню способности).
Извиняюсь за оффтоп, но мне нужно было ответить - возможно, кому-то это пригодится =)
21
Maniac_91, манакост узнается мемхаком
но конкретно здесь впутывать еще касты и манакосты уже слишком сложно = истины в этом нет
////
а без мемхака узнать можно тем же замером маны до и после каста, но по понятным причинам будут некоторые погрешности
18
ClotPh, хорошо, не будем усложнять систему ради незначительных изменений =)
22
пф а не проше ли узнать значение регена маны если значение добавить к основному мп то есть
герой имеет 50 мп + 3 мп итог 53 потом расчитиваем за время если зелье дал больше чем 53 который в скором не регенрнули то ловите события что было восполнено мп зельями а не реген
21
pro100master, да это что в лоб, что по лбу по отношению к тому, что обсуждалось выше
дополнительные проверки ежесекундно че было и че стало... а вдруг это ему не зелье на несколько секунд далось, а просто навсегда какая-то абилка ему повысила мп реген на +2 в секунду? Или он вообще как-то сразу 3 уровня получил и мп реген от инты стал резко выше?
вообще на самом деле по-хорошему теперь, когда мемхак считает мп реген, имеет смысл вообще все триггерные и нетриггерные добавки восстановления маны сделать только на изменение этого значения, то же и с хп регеном - тогда проблем не будет - но это долго и много переписывать - но в перспективе возможно
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.