ну да, ведь люди уходили из игры из-за графона
а не из-за никакого мм, отсутствия развития, отсутствия поддержки разработчика на протяжении 10 лет, отсутствия турниров
не из-за того, что ртс давно умерли как класс, а их место заняли бесконечные дрочильни
но вдруг выясняется, что красивый грим на мертвом - это всё еще грим на мертвом
миникарта - хэто 256х256 картинка, которая еще и в виде файла внутри карты хранится. как они это исправят? если только добавят поддержку хд-миникарт, но кому это надо, ВЫ ПОСМОТРИТЕ НА ЭТИ МОДЕЛИ И СКИНЫ!!!11
В игре часть функций проверяет внешний (отображемый) инвентарь, а часть - последний добавленный. Поэтому добавление двух и более инветарей создаёт undefined behaviour, который может меняться от версии к версии. На мемхаке такое делать я ещё пойму, там стабильно 26,а вот для свежих проектов это такое себе
миникарта поддерживает только blp/tga размером 256*256
set NEW_MINIMAP_PATH_STRING="новый путь"
call WMem(RMem(GameDLL+0xAB6214)+0x17C,CallFastCallWith3Args(GameDLL+0x727C00,GetStringAddress(NEW_MINIMAP_PATH_STRING),pReservedWritableMemory,pReservedWritableMemory2))
раздебажил до косточек, виноват был мемхак, просто не напрямую
кратко - не стоит записывать в массив данные через дефолтный jass, если уже записываешь в него данные через WMem() , счетчик ссылок ломается
255 хт максимум, если ты не можешь впихнуть в БЕЗЛИМИТЫЙ массив, коей хт и является, данные, это чисто твои головные проблемы с неспособностью придумать алгоритм. Ну используй 10 хт для разных данных по одному ключу юнита, ну 255 даже, дроби хендлы, да десятки вариаций, помимо очевидного "у автора проблемы"
pGetCastRangeHook+500 - просто адрес для хранения данных, можешь через malloc выделить 12 байт и использовать переменную
типа
set pGetCastRangeHook=malloc(12)
только +500 убери, чтобы просто +0 +4 +8 соответсвенно осталось
call WRMem(pGetCastRangeHook+0,x) == call WMem(pGetCastRangeHookm,mR2I(x))
function SetObjectPosition takes handle h, real x, real y, real z returns nothing
//doesn't update cached (creation) position, so object get hidden when it's spawn XYZ are out of current camera's bounds
//probably useful to move effect slightly but definitely shouldn't be used for big (200+) movements
set LastConvertedHandle=ConvertHandle(h)
if LastConvertedHandle!=0 then
call CallThisCallWith4Args(GameDLL+0x4D3180,RMem(LastConvertedHandle+0x28),mR2I(x),mR2I(y),mR2I(z))
endif
endfunction
function SetEffectPositionComplex takes effect fx, real x, real y, real z returns nothing
//DOES update cached (creation) position, could be sync-sensible
//widget-base offset different from UNIT: Effects into B0, unit into B8, idk about others
local integer a
set LastConvertedHandle=ConvertHandle(fx)
if LastConvertedHandle!=0 then
set a=LastConvertedHandle
call WRMem(pGetCastRangeHook+500,x)
call WRMem(pGetCastRangeHook+504,y)
call WRMem(pGetCastRangeHook+508,z)
set a=CallThisCallWith1Args(RMem(RMem(a)+0xB0),a)//B0 for effects, B8 for unit
call CallThisCallWith2Args(GameDLL+0x4743C0,a,pGetCastRangeHook+500)
call SetObjectPosition(fx,x,y,z)
endif
endfunction
нет там никакого кэша, где ты видел функции, которые меняли бы адрес?
на стадии разработки заложили возможность констант, но позже поняли, что это бесполезно адаптировать под строгие требования жасс-машины. Поэтому синтаксис остался, а эффект нет.
спойлер, у жаса нет деления на локальные и глобальные, это shadowing и запись в ту же область памяти (общую для всех переменных), это основа мемхака. Поэтому крайне не рекомендую иметь одинаковые имена на глобалках и локалках, не говорю уже о том, что их типы должны совпадать, иначе возможно всё, что угодно
хз что-то связанное с атакой вылетело, не было нужного класса на месте. но т.к. буквально немного выше проверяется наличие класса, то мб чей-то хук там был по течению. Короче, вроде не игры вина
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Пропали некоторые эффекты.
вин10 не перезагружается полноценно, гугли, как её перезагрузить по-настоящему
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
а не из-за никакого мм, отсутствия развития, отсутствия поддержки разработчика на протяжении 10 лет, отсутствия турниров
не из-за того, что ртс давно умерли как класс, а их место заняли бесконечные дрочильни
но вдруг выясняется, что красивый грим на мертвом - это всё еще грим на мертвом
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
ничему люди не учатся, ни-че-му
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
Ред. DracoL1ch
» WarCraft 3 / как сделать крафт из 2х одинаковых предметов
Ред. DracoL1ch
» WarCraft 3 / Возможно ли изменять картинку мини-карты во время игры? (1.26)
» WarCraft 3 / Поведение юнитов под управлением AI при их большом количестве.
» WarCraft 3 / 11 Одинаковых абилок.
» WarCraft 3 / Обзор и однократная аура
Никак, искать анимацию, которая зациклена или самому изменить модель
» WarCraft 3 / Удалить сообщение DisplayTimedTextToForce
» WarCraft 3 / Изменение handle Id юнита во время игры
кратко - не стоит записывать в массив данные через дефолтный jass, если уже записываешь в него данные через WMem() , счетчик ссылок ломается
» WarCraft 3 / Можно ли уничтожить hashtable?
» WarCraft 3 / Эффект при перемещении перестает отображаться
типа
set pGetCastRangeHook=malloc(12)
только +500 убери, чтобы просто +0 +4 +8 соответсвенно осталось
call WRMem(pGetCastRangeHook+0,x) == call WMem(pGetCastRangeHookm,mR2I(x))
» WarCraft 3 / Эффект при перемещении перестает отображаться
Ред. DracoL1ch
» WarCraft 3 / native и constant native
на стадии разработки заложили возможность констант, но позже поняли, что это бесполезно адаптировать под строгие требования жасс-машины. Поэтому синтаксис остался, а эффект нет.
Ред. DracoL1ch
» WarCraft 3 / native и constant native
constant в варкрафте ничего вообще не делает
» WarCraft 3 / [lua] Pathable
» WarCraft 3 / native и constant native
Ред. DracoL1ch
» WarCraft 3 / Крепление юнита к эффекту
шипы, наверное, тоже
Ред. DracoL1ch
» WarCraft 3 / Memory Hack 2.0
» WarCraft 3 / wc3 1.31 и lua
Ред. DracoL1ch
» WarCraft 3 / Syntax Errors Cannot convert returned value from integer to real
» WarCraft 3 / Краш
» WarCraft 3 / Fatal Eror