Как-то уже задавал такой вопрос так что задам его еще раз. Как можно реализовать чтобы игрок видел территорию только в пределах зрения своего героя и что бы карта не разведывалась.
Как это реализовано вот в этой карте:

Принятый ответ

есть в триггерах раздел "Видимость". Есть черная маска (Black Mask) и туман войны (Fog of war). Черная маска заграждает обзор юнита черным, на мини-карте отображается, открыть можно если войти в нее юнитом, но разведанные участки ранее обратно не покрывается черной маской, остается туман. Туман - это тоже заграждение, но здесь оставляет разведанные участки, можем видеть какие здания поставил и прочее.
Можно периодично включать и выключать эти настройки (EnableBlackMask/DisableBlackMask или EnableWarOfFog/DisableWarOfFog), но получается не очень красиво (юниты пропадают на секунду). Мгновенно туман или маска не может появится и тут же сразу же исчезнуть, одновременно с этим пропадают юниты, не сами юниты, а их изображение на секунду (типа баг).
Для того, чтобы ранее разведанные участки покрывали туманом войны или черной маской, достаточно создать модификатор видимости один раз на всю игру. можно без Enable - в скрине не нужное действие.
модификатор видимости можно выключить (disable), так и включить (enable). не нужно плодить. единственное, что нужно ли для каждого 12 игроков создавать свой модификатор или через гетлокалплеер заработает без десинка? по идее можно ли сделать, чтоб каждый игрок будет на своей машине видеть разные участки?
ссылка
единственное вопрос, как сделать черную маску настолько темной (или как скрыть мини-карту), что даже не видно будет деревьев и прочее. не помню уже как это делал. вспомнил. Сценарий>>Параметры Карты>>Скрытые области частично видны, снимаем галочку. И все, мини-карта черная, и сама карта. ссылка
есть система реалистичного обзора на jass
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Пробовать не хочу, но предложу вот, что:
Если цель - защитить карту от подглядывания. То при старте игры или инициализации (если получится) можно запустить триггер с условием Вид: карта разведана is Set == да (процитировал текст условия из Гуи), действие - замкнутый цикл, или вызвать фатальную ошибку, вылет и т.д. Суть в том, что когда игрок запустит карту с такими параметрами, то тупо закрашить варик.
ответ
Eamon Flann:
Оказывается, отрицательную высоту для летающих зданий можно устанавливать, если поставить Art - Elevation - Sample Ponts: 0
SсRealm:
А еще можно повернуть нездание а том сделать зданием и поворот останется , правда в игре может сместитьтя внезапно))
А вместе с этим способом это, вроде бы как, решило мою проблему. Спасибо всем, кто попытался помочь :)
Melissa:
И ещё заметка - делать декорации юнитами - больная идея. Если их будет сотня другая - то ещё не конец света, но несколько сотен таких "декораций" - жди проседаний в производительности.
Да там и сотни не наберется, так что все нормально :)
ответ
Может, создать области по всей карте вокруг нужных областей и поставить видимость им?
ответ
спутал, эта фунция прячет хендл, а не рисовку обеспечивает
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
вместо юнита можно вроде любой виджет, просто смени входящий тип и проверь
ответ
pro100master:
Georgy12, call CreateFogModifierRectBJ( true, игрок, FOG_OF_WAR_VISIBLE, область)
call CreateFogModifierRectBJ( true, игрок, FOG_OF_WAR_VISIBLE, область) вот так
либо
local fogmodifier loc = CreateFogModifierRect(whichPlayer, whichFogState, r, true, false)
call FogModifierStart(loc)
ты установил Player(3) значит это 4 игрок а ты в тест карту запускает 1 игрок пойми!!!
чтобы все игроки видел облость надо циклом от 0 до 11
Понял в чем был косяк, ни одна из функций модификации видимости не имела эффекта, потому что перед ней был следующий вызов модификации тумана с параментром true:
CreateFogModifierRect(Player(i), FOG_OF_WAR_FOGGED, gg_rct_EntireMap, true, false);

0
23
6 лет назад
0
В темных глубинах форума была наработка с реальным обзором из "глаз", поищи
0
23
6 лет назад
0
Obelick, да там много чего можно найти. Но именно того что мне нужно нету.
0
20
6 лет назад
0
каждую секунду делать карту не разведанной?
0
23
6 лет назад
0
ssbbssc, пробовал! Это роботает не совсем так как хотелось бы.
0
16
6 лет назад
0
Есть вариант ставить радиус обзора = 0 всем юнитам игрока, кроме героя.
0
23
6 лет назад
0
avuremybe, Вместо догадок я предлагаю знающим людям посмотреть карту и по возможности рассказать как там это реализовано.
1
27
6 лет назад
Отредактирован MpW
1
есть в триггерах раздел "Видимость". Есть черная маска (Black Mask) и туман войны (Fog of war). Черная маска заграждает обзор юнита черным, на мини-карте отображается, открыть можно если войти в нее юнитом, но разведанные участки ранее обратно не покрывается черной маской, остается туман. Туман - это тоже заграждение, но здесь оставляет разведанные участки, можем видеть какие здания поставил и прочее.
Можно периодично включать и выключать эти настройки (EnableBlackMask/DisableBlackMask или EnableWarOfFog/DisableWarOfFog), но получается не очень красиво (юниты пропадают на секунду). Мгновенно туман или маска не может появится и тут же сразу же исчезнуть, одновременно с этим пропадают юниты, не сами юниты, а их изображение на секунду (типа баг).
Для того, чтобы ранее разведанные участки покрывали туманом войны или черной маской, достаточно создать модификатор видимости один раз на всю игру. можно без Enable - в скрине не нужное действие.
модификатор видимости можно выключить (disable), так и включить (enable). не нужно плодить. единственное, что нужно ли для каждого 12 игроков создавать свой модификатор или через гетлокалплеер заработает без десинка? по идее можно ли сделать, чтоб каждый игрок будет на своей машине видеть разные участки?
ссылка
единственное вопрос, как сделать черную маску настолько темной (или как скрыть мини-карту), что даже не видно будет деревьев и прочее. не помню уже как это делал. вспомнил. Сценарий>>Параметры Карты>>Скрытые области частично видны, снимаем галочку. И все, мини-карта черная, и сама карта. ссылка
есть система реалистичного обзора на jass
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.