чтение памяти по кривому адресу. наверное, кто-то до сих пор не взял безопасный RMem и фигачит по Memory[] массиву, да?
Достаточно просто проверки, что адрес для чтения или записи больше хотя бы 0x500. Таких маленьких адресов быть в любом случае не может
че-то действительно, поле вроде бы и отображает активную атаку, но не является её определителем, т.е. менять его бесполезно. ок, тогда пока нет решения на мх
if-then-else быстрый, конечно, но не на 500 ветках. хотя тоже не сломается, и даже не затормозит, просто это выглядит ужасно и неудобно. ExecuteFunc() + сохранение функции, связанной со спеллом, в хештаблицу по ID (SaveStr(HT,'A000','effc',"A000_Effect")
function GetUnitUIName takes integer id returns string
local integer a=GetUnitUIDefByIdCaching(id)
if a>0 then
set a=RMem(a+0x28)
if a>0 then
return ConvertNullTerminatedStringToString(RMem(a))
endif
endif
return null
endfunction
function SetUnitUIName takes integer id, string s returns nothing
local integer a=GetUnitUIDefByIdCaching(id)
if a>0 then
set a=RMem(a+0x28)
if a>0 then
call WMem(a,GetStringAddress(s))
endif
endif
endfunction
function GetUnitUIDescription takes integer id returns string
local integer a=GetUnitUIDefByIdCaching(id)
if a>0 then
set a=RMem(a+0x2C)
if a>0 then
return ConvertNullTerminatedStringToString(a)
endif
endif
return null
endfunction
function SetUnitUIDescription takes integer id, string s returns nothing
local integer a=GetUnitUIDefByIdCaching(id)
if a>0 then
call WMem(a+0x2C,GetStringAddress(s))
endif
endfunction
Ред. Maniac_91
» WarCraft 3 / Почему фатал?
Достаточно просто проверки, что адрес для чтения или записи больше хотя бы 0x500. Таких маленьких адресов быть в любом случае не может
» WarCraft 3 / Шмотка, добавляющая дальность атаки
» WarCraft 3 / Максимальное количество скилов
» WarCraft 3 / Максимальное количество скилов
» WarCraft 3 / Возможно ли конвентировать строка в равкод?
» WarCraft 3 / Смена герою основного атрибута через мемхак
» WarCraft 3 / Wc3 Map Optimizer 5.0 Rus
» WarCraft 3 / Процентное снижение брони
ну так и сказано "от базовой"?
» WarCraft 3 / Процентное снижение брони
» WarCraft 3 / Смена атаки через Мемхак
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
» WarCraft 3 / Анимация канала
» WarCraft 3 / Баловство с мемхаком
» WarCraft 3 / Смена атаки через Мемхак
» WarCraft 3 / Смена атаки через Мемхак
по аналогии сделать Set
» WarCraft 3 / MapHack для реплея
» WarCraft 3 / Узнать все способности юнита
да вроде и GetAllUnitAbilities есть в релизной версии
» WarCraft 3 / Memory Hack (отлов урона)
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
гайд по локальному игроку вон, уже nvcpadme скинул
» WarCraft 3 / Анимация канала
» WarCraft 3 / Почему десихронит от GetLocalPlayer()
» WarCraft 3 / Одна функция для всех спелов
» WarCraft 3 / Memory Hack
» WarCraft 3 / Memory Hack
» WarCraft 3 / Создание текстового файла