27

» WarCraft 3 / Как скрыть ресурсы союзника у здании?

EHP_Sequence:
Ребят, вы так пишете как будто в шуоее не учились. Воспринимать написанное невозможно.
думаю, что здесь есть ребята глухие. кстати я тоже из одной такой школы. и знаю, как могут писать, может выглядеть как кривой гугловский перевод. что невозможно понять. не могут выразить словами смысли и чувства и пр.

не знаю автор спец пишет или ... Просто тут наблюдается несколько таких

один раз решил играть с друзьями по сети. Был друган со школы, и ему сложнее объяснить как настроить: какие настройки надо включить, где нажать и др. проще скринами показать
27

» WarCraft 3 / Как сделать триггер по типу..

тема что-то похожее делал (хотя выше уже наверн скинули), еще не забудь удалять руны при получении
27

» WarCraft 3 / Воскрешение Героя

Ельнур, когда ты покупаешь или тренируешь войска, воскрешаешь героев в таверне, что требует игра? ресурсы (золото, дерево), еды. Если этого будет не хватать, то тебе не купить, нанять юнита или не воскресить героя.

триггерное воскрешение точно также работает (один раз наспавнил кучу крипов, и мне было не воскресить гг). Если пиши не хватает, ты не можешь воскресить. Удивительно, что золото и дерево не требуется для триггерного воскрешения. Что нужно сделать: это у крипов в ро убрать потребление пищи (тогда у гг всегда будет хватать пищи), или у героя в ро убрать потребление (тогда гг не будет зависеть от еды), или как-то повысить временно еду (поднять ограничение пищи, попробуй триггерами).
27

» WarCraft 3 / [Загадка] Пробел при позиции игрока!

Принятый ответ
xgm.guru/forum/showthread.php?t=28416 вспомнил систему детекта пробела
а вот что смещает "к к последнему звуковому сообщению интерфейса, например, здание построено, герой погиб, рудник истощён" новость для меня
27

» WarCraft 3 / Не скрывается абилка

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

» WarCraft 3 / [Реализация] Здание поверх зданиях!

JMCode, точно, юнит не может строить поверх, тк ему надо подойти ближе, а ему мешает здание. текстура здания блокирует проход строителю. у меня в карте похожее, но у меня немного другая задумка (там растения и через них можно ходить насквозь, однако мне нужно было запрещать сажать новые на занятых участках). поэтому и проверяется занята ли (если занято, отменяем).
это можно сделать, только если там будет даймик строить или юнит с отключенным коллизион
27

» WarCraft 3 / [Реализация] Здание поверх зданиях!

можно сделать триггерный аналог.
ловим приказ в точку (если это был приказ ид здания), выясняем какого размера текстура у здания,
смещаем рект нужного размера в точку.
  1. надо проверить есть ли в этом ректе юниты. Если надо чтобы накладывало здание на здание2 сверху, тогда надо проверить есть ли это здание2. выбираете нужную текстуру (есть текстура у магического круга, она игнорит здания, юнитов и прочее, на все ставится. главное триггерами проверять ставится ли тут) и можно кодом участок от воздуха закрыть (это при событии юнит начинает/завершает строительство). код
  2. проверять нужно еще на декорации, если там есть декор отменить. чекаем еще на юнитов и предметы. будешь текстом выводить что здесь нельзя строить, участок занят. Если участок свободен, пишешь "нужно на ратуше ставить". только тупой не поймет
  3. если точки ректа соприкасаются с точками здания, значит здание подходит. Иначе, отменить приказ.
  4. ну и обратные действия, если здание снесут
типа тема такое делаю в своей карте, и причем успешно
27

» WarCraft 3 / RMPQEx 1.0

OnlyNameFromVK, мне кажется дело не в ней, а в ваших кривых руках. нужно сначала депректором сломать, а потом уж пробовать. хотя не исключаю, что ее поломали специально. карту в студио.
27

» WarCraft 3 / Проблемы с регенерацией

не понимаю как ты триггерный реген делал (реген можно только через мемхак узнать. по-другому не реально увидеть). У тебя реген случаем не от соби масок? там как раз перемножаются значения на реген, и может уйти в минус. формулу уже не помню, но находил через мемхак
мб эта тема1 поможет
тема2 составлял такой список

раньше думал что там реген маски соби идет от запаса маны, а оказалось перемножало на реген. И еще узнал, что у героя не работает базовый реген, только реген от интеллекта. Вот такие пироги. Если не мемхак, то вообще бы не узнал бы.
а вот с регеном хп такого не было (таких траблов не должно быть). неизвестно, что у вас. предоставили бы пример
27

» WarCraft 3 / Баг с предметами и актив

актив что на скрине - это для автокастовых абил. Не знаю почему у некоторых абил включено поле, но возможно эти абилки были изначально авто, потом переделали.
У юнита могут быть несколько автокастовых абил, и активной мб только одна. Даже, если в поле Abilities - Default Active Ability (Ability) указана одна, но создав юнита на карте, вы можете задать другую активную в свойствах юнита
27

» WarCraft 3 / Баг с предметами и актив

Юниту/зданию/герою может быть назначено одна или несколько способностей автокаста, по умолчанию может быть активирована одна из этих. Помните, когда вы создаете юнита на карте, у него изначально будет активирована эта автокастовая способность.
27

» WarCraft 3 / Баг с предметами и актив

Принятый ответ
  1. способность изначально активная. то есть пример автокастовые способности, они изначально активные. смотри способности целителя или у других станд юнитов
Abilities - Default Active Ability (Ability)
If the unit/building/hero has been assigned one or more autocast abilities, one ability can be chosen to be active by default.
27

» WarCraft 3 / Триггерная голда

вот обучающая карта с примерами - версия 2. написал пояснения. пример того как отследить золото каких-нибудь объектов, без бд. Или сколько голды забрал раб, или сколько награды получил. И зная это значение, можно там всякие там экономические расчеты делать.
Загруженные файлы
27

» WarCraft 3 / 20-кратная голда

Принятый ответ
xgm.guru/p/wc3/218584 там внизу скидывал пример. его правда надо слегка доработать. единственное когда изменение не отслеживается - это когда продаешь бесплатно итем, а тебе показывают результат предыдущего значения
или заменить рабу способность добычи на более улучшенную.
27

» WarCraft 3 / Экспонентный туман - что это?

где ты такое нашел. в первый раз вижу такое. ты можешь картинки загружать на сайт.
27

» WarCraft 3 / Рандомные герои

8gabriel8, ну тогда с 3 даймиками.
pAxsIs,+++ иногда бывает нужно порядок не нарушать. У меня такое было. здесь как бы необязательно соблюдать, все таки рандом
27

» WarCraft 3 / Рандомные герои

при старте карты (заполняем базу данных, вбиваете типы):
//стандартный неизменчивый список
set TypeHero[0] = "Паладин"
set TypeHero[1] = ....
set TypeHero[2] = ....

//второй список (этот список будет изменяться, кол-во свободных героев становится меньше)
set TypeHero2[0] = "Паладин"
set TypeHero2[1] = ....
set TypeHero2[2] = ....

set MaxHero = 2
когда будете приобретать рандом героя, перезапись списка
set r = GetRandomInteger(0,MaxHero)
Создать героя TypeHero2[r]

set i = 0 //счетчик цикла
set a = 0 //счетчик свободных героев
loop
	exitwhen i > 2 //у меня макс число героев в станд списке = 2 (0,1,2)
	if TypeHero2[r] == TypeHero[i] then //надо найти номер типа i из станд списка
		set b[i] = true //записываем что занят
	endif
	if not b[i] then //если не занят
		set TypeHero2[a] = TypeHero[i] //перезапись типа
		set a = a + 1
	endif
	set i =i+1
endif
set MaxHero = a
27

» WarCraft 3 / Рандомные герои

вам нужно чтобы никто не мог его выбрать (точнее не выпадала дважды)? тогда нужен другой подход - логическая массивная переменная b на каждого героя. Если приобретаешь, ставишь true
раскрыть
  1. если нужно чтобы тип героя дважды не распространялся среди всех игроков
достаточно узнать какой тип, и поставить true
поможет цикл
n - номер игрока
k - счетчик героев
a=false - логическая (это переменная для цикла, будет говорить, что вы приобрели героя)
loop
	exitwhen a //условия выхода из цикла, сразу же выходит из цикла если нашли свободного героя
	
	set r = GetRandomInteger(1,25)
	if not b[r] then //если тип не занят
		set a = true
		//Создать героя с TypeHero[r]
		set b[r] = true
	endif
endloop

  1. если нужно чтобы тип героя дважды не распространялся у игрока
b[1-25] - для красного (0)
b[26-50] - для синего (1)
b[51-100] - для сине-зеленого (2)
поможет цикл
n - номер игрока
k - счетчик героев
a=false - логическая (это переменная для цикла, будет говорить, что вы приобрели героя)
loop
	exitwhen a //условия выхода из цикла, сразу же выходит из цикла если нашли свободного героя
	
	set r1 = GetRandomInteger(1,25)
	set r2 = (n*25) + r1
	if not b[r2] then //если тип не занят
		set a = true
		//Создать героя с TypeHero[r1]
		set b[r2] = true
	endif
endloop
27

» WarCraft 3 / Рандомные герои

EHP_Sequence, ну ReplaceUnit (это удаление старого и создание нового юнита, там BJ-функцию раскрути).
Т.е. даммику надо дать москитов и не убивать после выхода?
я бы все равно бы их удалил бы. Но все равно, это надо счетчиком учитывать (спец триггером ловить заход героев на карту, и лимитировать это). Счетчиком проверяешь, если героев стало 2, лимит стал 1. Поскольку, еще ты можешь не только в алтаре, но и в нейтральном магазине нанять.
надо все продумать короче (там же есть события начинает тренинг +1, отменяет тренинг -1, завершает тренинг)

чего туплю. есть лимит на героев. делай даймиков героями. Удаляешь их. И создаешь нужных. Все.
27

» WarCraft 3 / Рандомные герои

у меня все работает, скидываю карту
а точняк, эта штука работает (прячет), если ты заказал. А когда цель (даймик) умирает, у тебя заново появляется. А ты его сразу убиваешь, поэтому и заказать можно дохера
Загруженные файлы
27

» WarCraft 3 / Рандомные герои

Но после нажатия и начала тренинга этого даммика он не пропадает
он же должен пропадать, у тебя же лимит стоит
27

» WarCraft 3 / Рандомные герои

EHP_Sequence, а зачем ты на три даймика поделил? чтобы вручить первому свиток тп?) можно же по-другому сделать, без такого гемороя. через счетчик героев.

вам нужно чтобы никто не мог его выбрать (точнее не выпадала дважды)? и пытаетесь это реализовать, правильно? у там какие-то вычисления идут непонятные, можно сделать по-другому
вам нужно что этот тип не выпадал дважды у всех игроков, или у одного игрока?
карту не смог открыть
27

» WarCraft 3 / Рандомные герои

при старте карты (заполняем базу данных, вбиваете типы):
set TypeHero[0] = "Паладин"
set TypeHero[1] = ....
set TypeHero[2] = ....
При событии - юнит завершает подготовку (или юнит в ходит в зону)
Условие - тип даймика (пустышки)
Действие 1: удаляем даймика
Действие 2: создаем рандомного героя
set <целочисленная> = GetRandomInteger(0,2) Есть такая команда. выбирается рандомное число в промежутке от 0 до 2. У вас там 25 типов, ставите от 1 до 25.
далее создать героя TypeHero[<целочисленная>]
так у вас же все есть на скринах. ничего не понял, что вы пытаетесь сделать. Я думал вам нужна обычная ФФА, где рандомные герои выпадают