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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
4
7 лет назад
0
Возможно ли с помощью хака сделать что-то типо Preloader'а?
0
32
7 лет назад
0
abidin:
Возможно ли с помощью хака сделать что-то типо Preloader'а?
Возможно и уже реализовано, создавай хоть тхт, хоть exe, хоть dll. Правда их сначала нужно написать... Но тем не менее создавать файлы можно, хотя можно было и раньше, правда не так удобно.
0
4
7 лет назад
0
quq_CCCP, можно уточнить твои контакты , чтобы отдельно поговорить на эту тему?
0
32
7 лет назад
0
abidin, Нет, я своими контактами не торгую!
Пиши лс.
2
4
7 лет назад
2
Мне не нравится организация связи на XGM.
1
32
7 лет назад
Отредактирован quq_CCCP
1
Функции для смены уровня баффов:
function GetBuffLevel takes integer pBuff returns integer 
    if pBuff < 1 then
        return 0
    endif
    return Memory[(pBuff+0xb0)/4] + 1
endfunction

function SetBuffLevel takes integer pBuff, integer level returns nothing
     if pBuff < 1 or level < 1 then
        return 
    endif
    set Memory[(pBuff+0xb0)/4] = level -1
endfunction
Меняет уровень баффа, влияет только на визуальный эффект баффа (уровень в описании баффа), уровень будет отображаться только у многоуровневых баффов.
Можно узнать уровень баффа, будет несомненно полезно для триггерных баффов, которые дают ауры.
А вот функци которые задают длительность баффа.
    local integer  pBuff = GetUnitAbility( u, 'B00A' ) + 0x90  

    call WriteRealMemory(ReadRealMemory(pBuff)+0x4,SetRealIntoMemory(текущее время + 15.00)) // задаёт длительность
    call WriteRealMemory(ReadRealMemory(pBuff)+0x8,SetRealIntoMemory(текущее время  + 10.408)) // Задает время после которого бафф начнёт мигать
Жаль что нормально выудить игровое время не получается, поэтому юзаем таймер который мы запускаем при старте карты на 99999999999.00 сек., и по нему мы будем узнавать текущее время, который кстати будет отставать относительно игрового примерно на 0.408 сек.
0
20
7 лет назад
0
quq_CCCP, а как по дефолту обстоит дело с миганием, не смотрел? Просто зачем менять, если оно и по дефолту адекватное :>
0
32
7 лет назад
0
Diaboliko:
quq_CCCP, а как по дефолту обстоит дело с миганием, не смотрел? Просто зачем менять, если оно и по дефолту адекватное :>
У ауры как ты сделаешь мигание? Речь о баффах аур, а не тогоч то и так работает....
По дефолту мигает если длительность больше 10 и осталось до конца меньше 10.
0
16
7 лет назад
0
ты задаешь не время мигания, а длительность бафа (псевдо). если она больше константы, которая по-умолчанию 10, то если до окончания действия меньше 10 секунд, баф начнет мигать. разные вещи как бы
0
32
7 лет назад
0
DracoL1ch:
ты задаешь не время мигания, а длительность бафа (псевдо). если она больше константы, которая по-умолчанию 10, то если до окончания действия меньше 10 секунд, баф начнет мигать. разные вещи как бы
Спецом проверил, если не задавать время - мигать бафф ауры не будет, так что время мигания.
0
6
7 лет назад
Отредактирован Tumart
0
А что насчет тулов векса? После прогона мапы с использованием сжатия имен варик ее больше не воспринимает. Поковырялся в коде скорее все это из-за: 1. Удаляет функции типа
function Test takes nothing returns nothing
local integer l__test
endfunction
  1. Также переносит строку после кавычек " где должно быть "\n" "\r" возможно где-то еще есть ошибки.
Можно ли что-то с этим сделать?
И еще один вопрос: Для наличия таких функций как отлов событий мыши(нажатие/отпускание кнопок), скрытие стандартного интерфейса необходимо запускать отдельный пакет или это можно как то сделать при помощи РБ?
И есть ли где то информация по списку функций из WarcraftMemHackHelper.dll
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.