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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
28
7 лет назад
0
ClotPh, поищи сам
неужели так сложно найти поле у итема в котором хранится голд
0
16
7 лет назад
0
ну, вообще-то не так просто, ибо офсета на базу итемов я не давал
для 1.26
pItemDataNode=GameDLL+0xAB4BE8
скопируй GetUnitDataDefAddr и там замени адрес базы юнитов на эту переменнубю, и можно пользоваться по аналогии
0
21
7 лет назад
0
Простой вопрос по мемхаку.
Есть абила с перезарядкой 40 сек. Заюзалась у какого-то юнита. Её перезарядка дошла до половины, т. е. осталось бы 20 сек. по-нормальному и 20 сек. прошло, и в этот момент с помощью SetAbilityCD перезарядка этой абилы на этом уровне меняется с 40 секунд до 20 секунд. Через сколько секунд именно в этот раз у этого юнита завершится перезарядка этой абилы?
PS Предполагаемые мной варианты ответов:
  1. двадцать
  2. десять (склоняюсь к этому, и именно так было бы лучше и логичнее всего, хотя вообще допускаю все три варианта и все они приемлемы)
  3. ноль
Важно, бо планирую мутить целого героя на замутах с перезарядками.
2
32
7 лет назад
2
ClotPh:
Простой вопрос по мемхаку.
Есть абила с перезарядкой 40 сек. Заюзалась у какого-то юнита. Её перезарядка дошла до половины, т. е. осталось бы 20 сек. по-нормальному и 20 сек. прошло, и в этот момент с помощью SetAbilityCD перезарядка этой абилы на этом уровне меняется с 40 секунд до 20 секунд. Через сколько секунд именно в этот раз у этого юнита завершится перезарядка этой абилы?
PS Предполагаемые мной варианты ответов:
  1. двадцать
  2. десять (склоняюсь к этому, и именно так было бы лучше и логичнее всего, хотя вообще допускаю все три варианта и все они приемлемы)
  3. ноль
Важно, бо планирую мутить целого героя на замутах с перезарядками.
Сколько было столько и останется, вроде же эта функция меняет перезарядку всех способностей с таким ИД, но ты смотришь на кулдаун индикатор (да то самое затемнение иконки, которое постепенно снимается с иконки - это кулдаун индикатор) который никуда не денется, для кулдаун индикатора юзается отдельная функция которую размусолили выше (StartAbilityCooldown).
Ты либо меняешь кулдаун абилки, т.е её время перезарядки, которое возьмет кулдаун индикатор при её касте, либо сам кулдаун индикатор, одно от другого не зависит и можно менять по своему хотению каждое из них. Снизить кд абилки которая еще не перезарядилась, да пожалуйста - StartAbilityCooldown на нужное тебе число.
2
21
7 лет назад
Отредактирован ClotPh
2
Понятно, ну т. е. кулдаун считается в момент запуска и потом со сменой времени перезарядки абилы уже пропорционально не меняется
Лучше и логичнее было бы, имхо, чтобы он пропорционально менялся, ну сойдет и так, спасибо, один хрен тут поле непаханое - можно, например, значение перезарядки абилы добавлять/убавлять к атаке и т. п., столько комб и идей, ну а основная идея - ппц повышать врагам перезарядки на время и понемногу постепенно, чтобы они вроде и не под салом были, а сделать НИЧО ПОЧТИ НЕ МОГЛИ ))) Ну и своим снижать, чтобы все раскастовывались как бристлбеки - кто когда говорил, что маги не лейт?
Офк баланс, да, ну тут уже бкб и антимагии всякие должны помогать
PS dota2.ru/forum/threads/psixopompa.1025855
Так, а если так:
Событие - unit приводит способность в действие.
Действия:
  • Запомнить как реалку перезарядку этой способности.
  • Через SetAbilityCD немедленно изменить ей перезарядку на 2 секунды (тогда, ятп, она успеет начать считаться как новое).
  • Через 0.2 секунды вернуть ей то значение перезарядки, которое было, из запомненной реалки.
Тогда перезарядка в этот раз уже пойдет как 2 секунды, но GetAbilityCD будет возвращать 10 (ну уже через те самые 0.2 секунды, когда перезарядка "фактически нормализуется на будущее").
Всё верно? Как понимаю, да.
Просто это можно ультовый бафф на союзника "все ваши способности перезаряжаются 2 секунды вместо действительной перезарядки". Ну или дебафф на врага, только там будет не 2 секунды, а 30 каких-нибудь.
P. S. Какого панциря даже через много дней последовательные сообщения от одного юзера склеиваются? Нелогично, да и правильность их плюсо-минусовой оценки тогда может быть сомнительной, оценивалось-то самое первое.
0
16
7 лет назад
0
если тебе нужно конкретному юниту конкретную перезарядку поменять, так поменяй её после spell_effect, персонально, по известному навыку, конкретному юниту, зачем огоород с глобальным изменением кд и восстановлением?
типа кастанул - через 0 секунд берется адрес способности и в её кулдаун вписывается нужное значение. всё
0
16
7 лет назад
0
ребят, я не оказываю поддержку по внедрению хака и тонкостям взаимодействий с другими длл. вся информация для раздумий уже выложена, и от либы нашей есть исходники, если хочется посмотреть
В крайнем случае просто спрашивайте у местных. Моя личка непробиваема один хер
2
3
7 лет назад
2
DracoL1ch:
ребят, я не оказываю поддержку по внедрению хака и тонкостям взаимодействий с другими длл. вся информация для раздумий уже выложена, и от либы нашей есть исходники, если хочется посмотреть
В крайнем случае просто спрашивайте у местных. Моя личка непробиваема один хер
А где найти необходимую информацию тогда. Ибо мне посоветовали применить данную вещь, чтобы интегрировать авто-закачку и динамическое обновление.
0
32
7 лет назад
0
Napoleon, тут и спрашивать.
Что непонятно?
0
1
7 лет назад
0
Работает ли данный хак на недавно вышедшей версии - 1.27b, или только на предыдущих?
0
21
7 лет назад
0
Работает на всех, писали уже.
Верно понимаю, что GetMouseX, GetMouseY, GetMouseZ у разных игроков отлавливается по-разному и может вызвать десинк в сетевой при неправильном применении? То есть если я, например, по этим числам выведу координаты точки и использую ее для перемещения или создания объекта или определения направления - десинк, гг?
Скажу спасибо за образец кода, дающий возможность определить координаты мыши только для овнера определенного юнита без десинка в сетевой (ну чтоб там стрелять в направлении мыши, например).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.