как сделать effect видимым для 1 игрока в тумане войны? Варианты с юнитом не предлагать. Я использую дамми в крайнем случае

спутал, эта фунция прячет хендл, а не рисовку обеспечивает
function IsFlagBitSet takes integer flags, integer bit returns boolean
	if bit!=0 then
		return flags/bit*0x80000000 != 0
	endif
	return false
endfunction

function RMem takes integer addr returns integer
	if addr<0 or addr>0x7FFFFFFF then
		return 0
	endif
	return Memory[addr/4]
endfunction

function AddAlwaysVisibleFlag takes unit u returns nothing
	local integer a=ConvertHandle(u)
	if a>0 and IsFlagBitSet(RMem(a+0x20),0x10)==false then
		call WMem(a+0x20,RMem(a+0x20)+0x10)
	endif
endfunction
вместо юнита можно вроде любой виджет, просто смени входящий тип и проверь
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
16
''
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
5
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
Либо не работает либо выдаёт фатал
21
Лич хитрый, как лисица, мемхак дал, а прямо точно написанных новых функций - никогда не даст
Типа ну он же с мемхаком мучился, пусть и другие помучаются, а уж потом результат поимеют
5
ClotPh:
Лич хитрый, как лисица, мемхак дал, а прямо точно написанных новых функций - никогда не даст
Типа ну он же с мемхаком мучился, пусть и другие помучаются, а уж потом результат поимеют
он сейчас даёт самый упрощённый вариант. Хотя новые функции безо всяких /4 были бы точно удобнее
21
Lenivex, ну вот нет же такой функции WMem, ты сам писал! Может, у лича там в закромах она уже заменила функцию WriteMemory, ну так для людей можно было бы сразу WriteMemory и написать, как у него в либе написано... И/или либу обновленную кинуть.
16
function WMem takes integer addr, integer val returns nothing
	if addr<0x100 or addr>0x7FFFFFFF then
		return
	endif
	set Memory[addr/4]=val
endfunction
5
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
не знаю в чём дело
32
Lenivex, это немного не та функция, она способна спрятать эффект совсем, если поставить false... Подождите...
5
quq_CCCP:
Lenivex, это немного не та функция, она способна спрятать эффект совсем, если поставить false... Подождите...
мм, поставил false эффект и вправду пропал. Это работает, но немного не то
если поставить false - эффект точно невидим
true - эффект виден, если он не в тумане войны
а мне нужно абсолютное значение видимости, при любых условиях
P.S:
SetEffectVisibility(e1,false)
SetEffectVisibility(e1,true)
эффект виден, если не в тумане войны
32
Lenivex, нет терпение и ты умеешь колупать защищенные карты?
P.S по секрету, у лича это юзается для прыжка войда, смекаешь? Там все прекрасно работает!
5
quq_CCCP:
Lenivex, нет терпение и ты умеешь колупать защищенные карты?
P.S по секрету, у лича это юзается для прыжка войда, смекаешь? Там все прекрасно работает!
Я не тороплю, просто оперативно отвечаю. Колупать карты? Всмысле вскрывать? Если только модели достать какие нибудь. Насчёт кода хз, не знаю
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.