32

» WarCraft 3 / интересные карты

Гуванч, а версия 1.32 пока не готова, но есть 1.31, там пару багов и баланс надо менять... То скелетам шибко много поблажек.
32

» WarCraft 3 / интересные карты

Гуванч, ну вот
Хз, я и тут выкладывал, да и карта прекрасно гуглится - "Как достать скелета?", начиналось все еще тут
32

» Мир безумного / Warcraft 3 Reforged на Unreal Engine 5

Ну на вид не варкравт а вов, или какая то рпг с моделями рефаунда, анриал насколько помню для шутанов, а вар ртс...
Ну и ярко и красочно, прикольно, только ума не приложу как контролить юнитами на карте с такими домами?
32

» WarCraft 3 / интересные карты

Гуванч, ну у меня еще есть ссылка
То я любитель TAG карт, и решил сделать нестандартный tag, то че одни клоны вампиризма....
32

» WarCraft 3 / интересные карты

Принятый ответ
На ирине чет народ долго собирается, надо свою карту таки допилить... А так дотка, лтд, uther paty, давно не играл в алкоголизм, петров, замок скиби и бомбардировщики, достаточно увлекательные карты.
32

» WarCraft 3 / как двигать несколько дамми юнитов одновременно

rsfghd, ну или структуры vjass чтобы двигать юнтитов в цикле, я как раз помнится делал такие спеллы и даже выкладывал.

32

» WarCraft 3 / Есть ли модели дота в открытом доступе?

Nikolay36, онив Game.dll, и их нет в привычном тебе понимании, они написаны на с++ и далеки от алгоритмов простого jass.
Существует методы - своего рода заготовки всего насвете, даже того что в текущей версии нет, сайленсы, станы, промахи, совершенно все, включая всякие заряды и кулдауны. И струкутра абилки которая набирает из готовых методов сам спелл, в структуре всегда содержится основа, таким образом получается делать безчисленное количество клонов одной способности, к примеру creep thunder bolt (кинуть камень у голема) в движке игры ссылается на молоток бурь горного короля.
Разберем пример, старый старт кулдауна из мемхака:
unction StartAbilityCooldownFx takes unit whichUnit, integer abilityId, real cd returns boolean
	local integer pAbility = 0
	if GetUnitAbilityLevel( whichUnit, abilityId  ) == 0 or cd == 0.00  then
		return false
	endif
	set pAbility = GetUnitAbility(whichUnit, abilityId)
	if pAbility < 1 then
		return false
	else
		if RMem(pAbility+0x134)==-1 and RMem(pAbility+0x138)==-1 then
			call WMem(pAbility+0x134,0)
			call WMem(pAbility+0x138,0)
		endif
		set Memory[pReserverdIntArg1 / 4] = mR2I(cd)
		call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
		return IsAbilityOnCooldown( pAbility )
	endif
	return false
endfunction
pStartAbilityCD = GameDLL + 0x62D4C0
Что тут делается, ну мы ищем адресс абилки у юнита, и вызываем этот самый метод - pStartAbilityCD, который как выяснилось насамом деле RestoreManaAoe (спасибо IseFog), котрый и является целиком эффектом абилки 'AImr', предмет-массовое восстановление маны, оно принимает в качестве аргументов структуру абилки и кулдаун, но эта функция фаталила на некоторых абилках, обратите на 2 оффсетаь которые проверяются в функции, там должна лежать структура из которой этот метод прочитает радиус, допустимые цели и остальные нужные параметры, если их нет - игра крашится. А этот метод использовали как запуск абилки в кд, ибо его юзают совсем другие абилки.
Теперь немного понятнее как там все сделано?
32

» WarCraft 3 / Утечки в коде

Гуванч, ептить...
globals
integer ExMySpellKey = StringHash("Ура в жопе дыра")
endglobals
....
set t = LoadTriggerHandle( HashTable, ExMySpellKey, GetHandleId(unit))
32

» WarCraft 3 / Утечки в коде

стрингхеши тоже можно вывести в глобалки, это хоть немного но быстрее.
32

» WarCraft 3 / Утечки в коде

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

JackFastGame, просто создавать и удалять группу никчему, есть глобалки внезапно, вот и не будут утечки плодится, очистка происходит не сразу а спустя некоторое время.
32

» WarCraft 3 / Сменить Имя Юниту на МемХаке

Принятый ответ
Да можно, серия функций для работы со строками Tip\Ubertip и тому подобное.
32

» WarCraft 3 / Утечки в коде

ArhiMEN, а что за код, я чето не понял что это за триггер с переодическим таймером 100 раз в сек, чето делает. Каждый раз создается новая группа, зачем? Обьясни что собрался делать?
32

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

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

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

goodlyhero, менеджер памяти, мне показалось многовато там подгружено, точно ниче такого нету вроде кеев или читов, они нагружают сам вар и еще и порой вызвают фаталы.
32

» WarCraft 3 / Есть ли модели дота в открытом доступе?

Nikolay36, он был "менеджер", его познания были +- на уровне ваших, очень сильно средних, на него трудились кодеры высшего уровня и англоязычное комьюнити (и нетолько), он же вводил идеи и балансил их, посмотрите код доты, как качестванные и продуманные системы, те же кастомные шипы неруба, сделаны в доте кодом 1 в 1 как оригинал, без неуязвимости в полете. Так и гуи с утечками и туповатый индусский код, явно jass начального уровня...
32

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

DESo3latorTro0pe, ну статью написать как можно управлять мобами?
У одного триггера может быть множество событий, причем разных, а юнитам можно поставить custom value (в гуях) и таким образом проверять какой чекпоинт он преодалел и в какой отправить его сейчас, ну и брать от областей GetCenterOfPos (или как там в гуях) тоже ненадо, делаем массив куда заносим все эти точки, и о чудо все в одном триггере, обьекты не создаются, и кода маньше в 10 раз.
Стоит только подумать или посмотреть как сделано у других.
32

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

DESo3latorTro0pe, ну для начла вот, еще вот
Тут ищем что конкретно интересует, ну есть статья про jass
Ибо полностью на гуи от утечек не избавится, да и будет масса неудобств, все твои пути крипов в 1 триггере можно было сделать. Потом нужно практиковатся, я и предложил для начала карту близардов конфетные войны.

хм, ntdll.dll - случаем никаких читов или прог не было включено?
32

» WarCraft 3 / Видимость юнита

Принятый ответ
Есть такая функция IsUnitVisibleToPlayer и аналог для детекции (типа инвизера спалили труесайтом или нет).
Но юнит виден игроку, юнит види юнита, это есть такое событие - юнит обнаружил цель в пределах досигаймости или как то так на гуях...

На мемхаке тоже куча функций, насчет видимости и детекции.
32

» WarCraft 3 / Перезарядка пассивного навыка

Гуванч, до до, щяс, драколич так делал для доты 6.85, но оно не работало как надо, и было решено отказаться.
32

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

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

» WarCraft 3 / Перезарядка пассивного навыка

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

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

DESo3latorTro0pe, юнита лучше скрывать (HideUnit) и убивать. Так же советую не плодить по 10 триггеров на перемещение юнитов, это мало того что глупая и неоправданная реализация, так еще и утечек море. GetPosition все эти функции создают обьект location которые не удаляются, хотябы посмотри конфетные войны близзардов.
32

» WarCraft 3 / Есть ли модели дота в открытом доступе?

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

» WarCraft 3 / Телепортация через диалог

Принятый ответ
Ну GetTriggerPlayer () - тот игрок что нажал кнопку, нужно событие на кнопку диалога что она нажата.
32

» WarCraft 3 / Начала внезапно вылетать карта. (редактор 1.26а)

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