0
5
7 лет назад
0

» WarCraft 3 / (MH) Отдача приказа

quq_CCCP:
Lenivex, эмм это самому писать надо...
не имею ни малейшего понятия, что именно туда писать. Если бы мог, не стал бы задавать вопрос
0
5
7 лет назад
0

» WarCraft 3 / (MH) Отдача приказа

quq_CCCP:
Мб всетаки стороннюю либу с синками?
IceFog, выделения тоже не синхронизируются, пока не надо, а времени для синхронизации проходит очень много.
К примеру какую? Предложите что-нибудь, ничего не могу найти
4
5
7 лет назад
4

» WarCraft 3 / Хак на память Warcraft3

ClotPh просил, выложу тут архив с MemoryHack, который я смог собрать. Если будет нужно, буду обновлять по возможности. Можно писать в лс, что поправить или добавить
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

ClotPh:
Lenivex, ну давай.
Лучше вот сразу в сабж мемхака по ссылке, для удобства. Или там ссылку туда.
хорошо, но не сразу
ClotPh:
Lenivex, ну давай.
Лучше вот сразу в сабж мемхака по ссылке, для удобства. Или там ссылку туда.
архив на Google Диске. Можете писать в личку что не так, поправлю.
0
5
7 лет назад
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

DracoL1ch:
не надо редроу
и без него пробовал, модели не видно. Но при выделении видна морда предыдущей модели
0
5
7 лет назад
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

ClotPh:
Lenivex, у тебя есть, а каждому, у кого нет, их потом у тебя или у драколича просить или по темам искать бегать?
так давайте так. Я постоянно достаю Dracol1ch'a, постоянно достаёт всё новые и новые функции. Я могу создать на Google диске архив, с готовым, максимально информативным и функциональным Memory Hack'ом, который смог собрать, если хотите
DracoL1ch:
странно, но в любом случае, я снова дал не ту, эта именно обновляет скин - мороз, оживление, вот это всё пересчитывает. Вот функция смены модели:

function ChangeUnitModelTo takes unit u, string modelpath returns nothing
	local integer a
	local integer s
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		set a=RMem(LastConvertedHandle)+0x88
		if a>0 then
			set a=RMem(a)
			if a>0 then
				set s=GetStringAddress(modelpath)
				call CallThisCallWith3Args(a,LastConvertedHandle,s,1)
			endif
		endif
	endif
endfunction
Выдаёт фатал при использовании
		ChangeUnitModelTo(u,GraphWay)
		RedrawUnit(u)
в частности из за RedrawUnit() выдаёт фатал
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

quq_CCCP:
Lenivex, версия игры какая? 1.26?
да, точно
ClotPh:
Напишите уже, если не трудно, эти функции RMem и WMem в шапке с темой мемхака - xgm.guru/p/wc3/179535 и/или вообще прямо на гитхаб поместите. Рациональнее будет...
лучше всего сразу скинуть хотя бы все обновлённые функции без Utils'ов, там ведь не так много. RMem, WMem у меня есть.
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / Интерфейс игрока

quq_CCCP:
Lenivex, насколько знаю - нет, не всем интересно лезть в интерфейс, меня интересуют способы контроля юнита и всякие визуальные фитчи с контролем юнитов, личу интереста только дота, тебе вот надо "квикасты", так что даже не знаю, копал ли кто то в этом направлении на хайве.
Много ли народа вовсе юзает мемхак?
Печально. Думаю больше бы юзали мем хак, если бы вывесили более простую инструкцию о нём. Да возможно для некоторых и Инструкция hive хватает, но всё же. Ещё нужно учесть что мем хак развивается (всмысле постоянно добавляются новые Utils) с Dracol1ch'ем и командой на hive. Каждый раз приходится уточнять что там за функции новые, и так всё по кусочкам
0
5
7 лет назад
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

DracoL1ch:

set pRedrawUnitFunction=GameDLL+0x284830//26

function RedrawUnit takes unit u returns nothing
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle>0 then
		call CallThisCallWith1Args(pRedrawUnitFunction,LastConvertedHandle)
	endif
endfunction
Если использую функцию
	function RedrawUnit takes unit u returns nothing
		local integer LastConvertedHandle=ConvertHandle(u)
		if LastConvertedHandle>0 then
			call CallThisCallWith1Args(pRedrawUnitFunction,LastConvertedHandle)
		endif
	endfunction
то выдаёт фатал, к слову CallThisCallWith1Args() у меня такой:
	function CallFastCallWith2Args takes integer pFuncFastcallAddr, integer arg1, integer arg2 returns integer 
		local integer pOffset1
		call WriteRealMemory(pReservedExecutableMemory2, 0xBAF68B56) 
		call WriteRealMemory(pReservedExecutableMemory2+4, arg2)
		call WriteRealMemory(pReservedExecutableMemory2+8, 0xB9F68B90) 
		call WriteRealMemory(pReservedExecutableMemory2+12, arg1)
		call WriteRealMemory(pReservedExecutableMemory2+16, 0xBEF68B90)
		call WriteRealMemory(pReservedExecutableMemory2+20, pFuncFastcallAddr)
		call WriteRealMemory(pReservedExecutableMemory2+24, 0xC35ED6FF)
		
		
		if pIgnoredUnitsOffset == 0 then 
			set pIgnoredUnitsOffset = CreateJassNativeHook(pIgnoredUnits, pReservedExecutableMemory2 )
		else
			call WriteRealMemory(pIgnoredUnitsOffset,pReservedExecutableMemory2)
		endif
		
		set pOffset1 = IgnoredUnits(0)
		call WriteRealMemory(pIgnoredUnitsOffset, pIgnoredUnits)
		return pOffset1
	endfunction
	
	function CallThisCallWith1Args takes integer pFuncThiscallAddr, integer arg1 returns integer 
		return CallFastCallWith2Args(pFuncThiscallAddr,arg1,0)
	endfunction
0
5
7 лет назад
0

» WarCraft 3 / (MH) Что с присвоением анимации юниту?

quq_CCCP:
Нужно вызвать функцию перерисовки Юнита, в теме про мемхак вроде это было...
блин, точно! там написано (в google переводе):
Игра не будет перерисовывать модель до тех пор, пока она не будет принудительной, и мы не знаем, как ее заставить. Пока лучший подход - это изменить модель до создания единицы, тогда у него будет новая модель
и как же мне перерисовать модель?
0
5
7 лет назад
0

» WarCraft 3 / Интерфейс игрока

quq_CCCP:
Думаю можно, нужно будет Cheat Engine анализировать что изменяется в момент нажатия Enter или открытия меню (это само по себе не сильно то просто), а потом пытать пролезть туда с уровня jass при помощи мемхака.
никто не пробовал так делать? Без этого не решить вопрос с квикастами
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

ладно, спасибо, буду использовать unit для анимации...
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

quq_CCCP:
С эффектами не работает, с юнитами идеально, видно как стоят трясутся, но выделить низя, вокруг ничего не видно.
печально, что с эффектами не работает. Так это бы очень много сэкономило ресурсов
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

quq_CCCP:
Lenivex, нет терпение и ты умеешь колупать защищенные карты?
P.S по секрету, у лича это юзается для прыжка войда, смекаешь? Там все прекрасно работает!
Я не тороплю, просто оперативно отвечаю. Колупать карты? Всмысле вскрывать? Если только модели достать какие нибудь. Насчёт кода хз, не знаю
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

quq_CCCP:
Lenivex, это немного не та функция, она способна спрятать эффект совсем, если поставить false... Подождите...
мм, поставил false эффект и вправду пропал. Это работает, но немного не то
если поставить false - эффект точно невидим
true - эффект виден, если он не в тумане войны
а мне нужно абсолютное значение видимости, при любых условиях
P.S:
SetEffectVisibility(e1,false)
SetEffectVisibility(e1,true)
эффект виден, если не в тумане войны
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

DracoL1ch:
function WMem takes integer addr, integer val returns nothing
	if addr<0x100 or addr>0x7FFFFFFF then
		return
	endif
	set Memory[addr/4]=val
endfunction
Ошибки нету, ничего особого не происходит, эффект виден вне тумана войны и не виден в тумане войны.
	function WMem takes integer addr, integer val returns nothing
		if addr<0x100 or addr>0x7FFFFFFF then
			return
		endif
		set Memory[addr/4]=val
	endfunction	

	function SetEffectVisibility takes effect fx, boolean visible returns nothing
		local integer a=ConvertHandle(fx)
		if a>0 then
			if visible then
				call WMem(a+0x20,0)
			else
				call WMem(a+0x20,1)
			endif
		endif
	endfunction
не знаю в чём дело
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

ClotPh:
Лич хитрый, как лисица, мемхак дал, а прямо точно написанных новых функций - никогда не даст
Типа ну он же с мемхаком мучился, пусть и другие помучаются, а уж потом результат поимеют
он сейчас даёт самый упрощённый вариант. Хотя новые функции безо всяких /4 были бы точно удобнее
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

DracoL1ch:
''
function SetEffectVisibility takes effect fx, boolean visible returns nothing
local integer a=ConvertHandle(fx)
if a>0 then
if visible then
call WMem(a+0x20,0)
else
call WMem(a+0x20,1)
endif
endif
endfunction
''
адреса целые, без деления на 4
Не известна функция WMem - подставил WriteMemory - не работает
адреса такие подставлял:
a+0x20
(a+0x20) * 4
a*4 + 0x20
Либо не работает либо выдаёт фатал
0
5
7 лет назад
0

» WarCraft 3 / (Memory hack) Visible effect'a в тумане войны

Maniac_91:
Тогда можно просто создать модификатор видимости в точке, где находится эффект.
опять же, я просто увижу лишнее. У меня effect появляется каждый раз при клике. Таким образом можно раскрывать туман войны. А это очень тупо, можно просто всю карту так прокликать и узнать где находится противник
0
5
7 лет назад
Отредактирован Lenivex
0

» WarCraft 3 / +2 Вопроса (effect, интерфейс игрока)

Clamp:
Затем, что читам правила сайта, 10 раздел (ссылка сразу с закладкой куда надо).
заного создавать вопрос?
0
5
7 лет назад
0

» WarCraft 3 / +2 Вопроса (effect, интерфейс игрока)

Clamp:
Энивей, на вопрос ответы даны, а про квиккасты стоит создать отдельный.
я задал вопросы, которые помогут мне создать нормальные квикасты. Зачем отдельную тему создавать? Есть спрос на квикасты?
0
5
7 лет назад
0

» WarCraft 3 / +2 Вопроса (effect, интерфейс игрока)

Clamp:
кек, мем хак позволяет делать то, что вообще не возможно с обычным инструментарием на триггерах Jass'a
Можно реализовать бег на стрелках и квиккаст одной абилы, жёстко привязанный к ЛКМ, пока что это лимит того, что я нашёл. За примером можно посмотреть сюда, там же опенсорс лежит, в принципе.
не, бег на стрелках не для той карты, которую я сейчас делаю
0
5
7 лет назад
0

» WarCraft 3 / +2 Вопроса (effect, интерфейс игрока)

Clamp:
Я делаю квикасты
Забавно, я тоже буквально вчера начал думать, как бы реализовать квиккасты, но пока что особых подвижек нету =(
Возможно даже, что это тот самый случай, когда мемхак и правда окажется незаменим.
кек, мем хак позволяет делать то, что вообще не возможно с обычным инструментарием на триггерах Jass'a
0
5
7 лет назад
0

» WarCraft 3 / +2 Вопроса (effect, интерфейс игрока)

Clamp:

в принципе можно вместо эффекта создавать юнита, это как выход, но использую это в крайнем случае.
Можно одного юнита запилить и крепить эффекты на него по аттачпоинту origin.
уж тогда проще модельку юниту менять, чем создавать лишние объекты.