22

» WarCraft 3 / Изменение анимации (способность)

wait и локальная переменная для юнита, чтобы после вейта там не было чтото другое вместо него. Вейт можно сделать зависящим от уровня способности, через арифметику, или от использованной способности через кучу if-then-else-ов.
22

» WarCraft 3 / Изменение значения предмета.

если нужно поменять бонус атаки/защиты/... от предмета, это делается через способности.
заходишь в вкладку редактора объектов Способности, папка Особые - там подпапка Предметы, и там находишь предмет-повышение-силы-атаки, создаешь нестандартную и меняешь строку Данные.
потом добавляешь эту способность предмету на вкладке редактора Предметы, в строке Способности
22

» WarCraft 3 / Создать местность, где юниты проходят сквозь друг друга

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

» WarCraft 3 / Как сделать захват территории?

Нужна переменная. Каждую секунду проверяешь юнитов рядом с точкой, подсчитываешь число героев с обеих сторон, и прибавляешь/убавляешь переменную в зависимости от числа героев.
По достижении +100 точку захватывает одна команда, при -100 другая.
22

» WarCraft 3 / Насчёт неведимки

ЕМНИП невидимость волшебницы не дает проходить сквозь юнитов.
Так что можно вместо баффа стремительности вешать триггером обычную невидимость
22

» WarCraft 3 / Патроны в Инвентаре

А скинь скриншот триггера? Может там условие неправильное, или еще что-нибудь?
22

» WarCraft 3 / Кулдаун на способность

либо через мемхак, либо отслеживать использование способности, устанавливать кулдаун в переменную и уменьшать ее таймером; при достижении нуля считать что способность перезарядилась.
22

» WarCraft 3 / Не создаются эффекты на юните

в константах что стоит в поле "время разложения - эффекты"? я как-то поставил на 0,01 все эффекты убирались без анимации смерти
22

» WarCraft 3 / Как сделать рывок?

Можно и не буквально скрывать его, а например ставить 100% прозрачность и паузить.
Глянул в статью, ЯТП там предлагается морфать юнита и затем делать цель недостижимой и опять морфать когда надо убрать неуправляемость?
два триггера, один срабатывает при касте, другой двигает юнитов. гуи, муи, есть комменты.
Загруженные файлы
22

» WarCraft 3 / Как сделать рывок?

Чтобы юнитом нельзя было управлять, можно использовать PauseUnit, но тогда сам он никуда не будет бежать, и двигать его надо будет триггером.
Скорость выше 522 без триггерного движения тоже не сделать. Также чтобы юнит выглядел бегущим, а не стоящим в полете, его скорость должна быть равна 0 (иначе не проигрывается анимация walk).
Поэтому:
  1. При касте скрываем кастера, создаем даммика с такой же моделью но скоростью 0.
  2. Таймером периодически (25 раз в сек) двигаем даммика к цели. Даммику ставим анимацию "walk" и нужную скорость анимации (чтобы он не слишком медленно дрыгал ногами).
  3. По достижении цели перемещаем кастера к цели, убираем даммика и убираем паузу/ скрытие.
22

» WarCraft 3 / Где достать "разрушенные" модели?

Посмотри в Редакторе объектов - Декорации - Постройки - Сгоревшая башня:
Doodads\LordaeronSummer\Structures\TowerScorched\TowerScorched
Загруженные файлы
22

» WarCraft 3 / Увеличение количества реплик

\UI\SoundInfo\UnitAckSounds.slk
в архиве war3x.mpq нашел этот файл. в нем вторая колонка - перечисляются имена файлов, а первая - названия звуков (pissed и т.д.) для всех юнитов
попробуй добавить туда свои файлы во вторую колонку (в строку MaievYesAttack), и импортировать измененный файл в карту по тому же пути.
файлы звуков надо будет импортировать в путь Units\NightElf\Maiev\
Загруженные файлы
22

» WarCraft 3 / Как передать имя локального игрока всем игрокам?

Глянул систему античита. ЯТП десинк вызывает создание юнита для локального игрока. Что мешает создавать юнита только для игрока номер N, а номер игрока для сообщения передавать (через синхрон данных) всем? И создавать юнита только после показа сообщения
22

» WarCraft 3 / Как передать имя локального игрока всем игрокам?

синхронизация данных? где-то в середине
типо того
function SyncInt takes player p, integer val returns integer
	if (GetLocalPlayer() == p) then
		call StoreInteger(cache, "", "", val)
	endif
	call TriggerSyncStart()
	if (GetLocalPlayer() == p) then
		call SyncStoredInteger(cache, "", "")
	endif
	call TriggerSleepAction(2.)
	call TriggerSyncReady()
	return GetStoredInteger(cache, "", "")
endfunction

//...
if cheese then
	local player p = GetLocalPlayer()
	local integer local_val = GetPlayerId(p)
	local integer result_var = SyncInt(p, local_val)
	call BJDebugMsg("Player "+GetPlayerName(Player(result_var))+" is cheating")
else
endif
22

» WarCraft 3 / Возможность кликать и ходить под декорацией

Нужна именно декорация, иначе клик будет по зоне под москитным юнитом и не оч тогда будет.
Убрать стандартное отображение клика и делать спецэффект/даммика там где надо, триггерно
22

» WarCraft 3 / Morth

ЩАс проверил, если ее нет то кулдаун сбрасывается, если есть идет нормально.
Запихивай в скрытый спелбук если нужно чтобы у второго юнита ее не было, но кулдаун шел.
22

» WarCraft 3 / Morth

у "другого челика" кроме морфа, первая способность (от которой перезарядка сбрасывается) есть?
22

» WarCraft 3 / Как отловить даблклик на гуи?

"если переменная равно 1" засунуть в "иначе" первого условия.
потому что когда они идут подряд, у тебя при "0" станет "1", и сразу за ним выполнится условие на "1"
22

» WarCraft 3 / Возможность кликать и ходить под декорацией

делать декорацию как юнита со способностью москитов, и менять высоту других юнитов в зависимости от того как они пришли в место над/под декорацией (например хранить координаты и высоту для каждого юнита и узнавать какая высота была 0,05 сек. назад)
22

» WarCraft 3 / Закопавшийся трупоед подозрительно не закопавшийся.

У закопавшейся версии Графика - нужная анимация - должен быть поставлен правильный суффикс анимации - Alternate
22

» WarCraft 3 / Появление монстров в той же точке

quq_CCCP, но сама система же как-то работает? или они там в рандомных местах карты респавнятся?
я написал как работает триггер, в этом примере никаких координат руками писать не надо
22

» WarCraft 3 / Ошибка синтаксиса

переменные через таймер передаются с помощью хэш-таблицы.
GetHandleId( таймер ) - дает число для этого таймера, и на него ты можешь сохранять нужные переменные:
call SaveUnitHandle(hash, GetHandleId(tm), 1212, u_c) - сохраняет юнита, 1212 число должно быть разным для разных переменных
когда таймер истекает:
local timer tm=GetExpiredTimer()
local unit u_c = LoadUnitHandle(hash, GetHandleId(tm), 1212) загружает юнита
call FlushChildHashtable(hash, GetHandleId(tm)) очищает данные по этому таймеру из таблицы
call DestroyTimer(tm) убить ненужный уже таймер
set tm=null
... действия с u_c
set u_c=null
endfunction
хэш-таблицу можно создать при инициализации карты. достаточно одной на все-все таймеры