32

» WarCraft 3 / Запуск .exe из архива карты

map_maiker, нет, карту нужно перепаковать, игра открывает карту в режиме Read only, а нужно For Update.

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

» WarCraft 3 / Непонятки с Map optimizer 5.0

Rejuvenation, ладик глючный, у него почему то при перепаковке начинаются траблы.
32

» WarCraft 3 / Запуск .exe из архива карты

map_maiker, в мемхаке у тебя есть возможность юзать все методы, которые юзает игра, в том числе kernel32.dll благодаря которой мы и грузим либы, создаем файлы и так далее.

чо это такое и как его юзать поло инфы в гугле

map_maiker, собственно пример из мемхака:

    function LoadLibrary takes string nDllName returns integer
		if pLoadLibraryA == 0 then
			set pLoadLibraryA = GetModuleProcAddress( "Kernel32.dll", "LoadLibraryA" )
		endif

		if pLoadLibraryA != 0 then
			return std_call_1( pLoadLibraryA, GetStringAddress( nDllName ) )
		endif

		return 0
    endfunction
32

» WarCraft 3 / Непонятки с Map optimizer 5.0

мпк корявый, там 2 скрипт файла, один реальный а второй фикция... надо ковырятся.

нужен А, нормальный файллист, Б - нужно удалять иэти фалы и в мпк редакторе зелулы и в мпк мастере, и там же их добавить, вот тогда заведётся. Но почему тулы векса?
32

» WarCraft 3 / Запуск .exe из архива карты

Обычно все юзают длл, подгружая её в процесс игры и используя её функции в игре. Так то конечно, все что предлагает WINAPI будет работать.
32

» WarCraft 3 / Оптимальна ли реализация?

map_maiker, потому что нужно думать, ибо пока летит снаряд, юнит уже завершил атаку и может быть отдан новый приказ, что само собой все сломает.
Зачем секунда, другая - а чтобы исключить возможность промаха. чтобы у снаряда было время долететь и ударить, и если за отведенное время это го не получилось - то значит промах и отключаем и удаляем триггер. Как удалять триггеры правильно можно глянуть в доте айсфрога или в наработках на сайте (код баратрума и урсы кто то выкладывал).
Еще раз - подобные способы очень ограничены и их старается никто не юзать, кроме совсем простых вещей, плодить триггеры для сотен юнитов очень хреновая идея, потому что есть способы куда проще и оптимальнее.
32

» WarCraft 3 / Оптимальна ли реализация?

map_maiker, проблема в другом - что такая реализация очень хромает и хоть как то еще годится для мили юнитов, для ренжей никак, можно стопя атаку провоцировать создание пачки триггеров, все яды, или другие виды урона от лица героя тоже заставят триггер сработать. Ибо нужно ставить еще событие время вышло (секунды полторы), события - юнит отдал приказ - цель точка, цель обьект, без указания цели, чтобы удалять триггер не дожидаясь урона по цели, но это годится для милишников, ренжам - только собтие время вышло (примерное время за сколько долетит снаряд до цели +- секунда). И все. Есть вариация еще с отрецательным маг уроном, это когда всем на карте вручена пассивка рунных браслетов, если урон выше 0 - он физический или чистый, иначе магический (ну условно, не будем вдаватся в подробности типов урона и атаки).
Ну и естественно компенсировать лечение от отрицательного маг урона, забирать пассивку браслетов и еще раз наносить урон от лица того кто до этого нанес урон, при этом отключив триггеры реагирующие на урон, после вернуть все наместо. Вот такая реализация кроме ресурсоемкости уже почти идеальна и как то заобузить или забаговать её не получится.

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

кстати там какраз выше производительность.
32

» WarCraft 3 / Оптимальна ли реализация?

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

» WarCraft 3 / Момент запуска снаряда

map_maiker, а где ты такое событие видел? Это не юнит замазнулся а именно вылет снаряда когда атаку уже отменить нельзя и все модификаторы готовы.
32

» WarCraft 3 / Действие с задержкой

jasonrus96, ну да, конечно, было бы желание учится, уж что что а таймеры очень просты,там нет ничего сложного.
32

» WarCraft 3 / Насчёт косвенной работы книги заклинаний

Fly123, ну сделай руной, и нафига писать триггер если есть абилки требующие золот и дерево?
32

» WarCraft 3 / Краш редактора при сохранении карты

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

map_maiker, потом скрин из редактора даммика в студию, то часто многие тупят и делают даммика из кого попало, идеальные кандидаты - светлячок\тень нежити, им модель на dummy.mdx, атак нету, теней и прочего тоже, способности 'Aloc'- москиты и можно вручить пустышку на которую можно проверить, чтобы исключать даммиков, расходы хп, регены и опыты с наградами - убираем в 0, апгрейды тоже, имя по вкусу, хп можно 150к, тоже можно юзать как способ чтобы отличать технических юнитов от всех других, макс хп такое, какого нет у никаких других юнитов кроме даммиков.
32

» WarCraft 3 / Краш редактора при сохранении карты

map_maiker, какой то глупый код, у тебя если нет аргумента dummy - то идет обрыв потока, ибо обращение к пустой переменной.
	function DummyTargetCast takes unit cast, unit targ, integer spellid, integer order returns nothing
    	local unit dummy = CreateUnit( GetOwningPlayer(cast), 'hdum', GetUnitX(targ), GetUnitY(targ), bj_UNIT_FACING )
		call SetUnitPathint( dummy, false )
		call UnitAddAbility( dummy, spellid )
		call UnitApplyTimedLife( dummy, 'BTLF', 5.00 )
		call UnitShareVision( targ, GetOwningPlayer(cast). true )
		call IssueTargetOrder( dummy, order, targ )
		call UnitShareVision( targ, GetOwningPlayer(cast). false )
		set dummy = null
	endfunction
	// пример использования
	call DummyTargetCast( GetSpellAbiliutyUniut(), GetSpellTargetUnit(), 'Ahtb', OrderId("thunderbolt"))

Код не универсальный, да и вовсе можно круче и оптимальнее, ты совершенно не учитываешь следующие вещи:
  1. выгоднее юзать специально заготовленные глобальные переменные чтобы хранить того же даммика.
  2. даммик может мешатся, толкатся, желательно создавать его в позиции цели, и убирать карту путей.
  3. не стоит ставить короткое время жизни даммикам, если они наносят урон, может случится конфуз - кто убил не известно
  4. Даммик может не видеть цель, поэтому нужно создавать даммика за врага (но в настройках способности указать цели - союзники) что катит только для спеллов не наносящих урон, или делать SharedVision.
32

» WarCraft 3 / Момент запуска снаряда

Есть, хук кину на успешное завершение атаки, но код под его мемхак поправить нужно.
Вот ссылка
32

» WarCraft 3 / Действия после Передачи Ресурсов другим игрокам

Эмм, карта монолит от близзард, а так же замок скиби, в одной есть конфискация ресурсов при передаче, а в другой налог в некоторых режимах игры, передал 100 а пришло 50.
32

» WarCraft 3 / Помогите со сборкой предметов как в Доте 1

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

» WarCraft 3 / Сохранение в хэш-таблицу

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

» WarCraft 3 / Сохранение в хэш-таблицу

Лучше событие spell effect, так же помни что у молотка бурь сперва идёт основной урон, а только потом 0.00 урона и бафф, на первом ивенте урона юнит ещё не оглушен и баффа нету.