Сначала Скверна нежити, а затем вторжение Пылающего Легиона привели к тому, что Альянс Лордерона был уничтожен и разрознен. Бывшие королевства людей и эльфов теперь лежат в руинах, по ним бродят ужасные существа-нежить, а крупные города находятся под железным контролем Повелителей Ужаса. Что ещё хуже, предательство и раздор поразили Альянс изнутри: вероломные эльфы крови вступили в сговор с нелюдьми и подняли оружие против своих собратьев-людей и гномов. Несмотря на подавляющее численное превосходство противника, разрозненные группы сопротивления продолжают свою отчаянную борьбу. Хотя шансы на победу уменьшаются с каждой потерей, говорят, что даже в самые мрачные времена новая надежда может появиться там, где её меньше всего ожидаешь...
Карта
6 2K
13
Прошла неделя, но в посте не появилась ссылка на Хайв. Забыли, или нельзя внешние ссылки делать на этот сайт?
1
smo4ek, Development of the sequel was started right after release of The Violet Gate. We're approaching the first [although partial] release.
WilliamBz, It's WoW Dreadlord model I found on Hive. I made some custom recoloring and mdx tweaking to make it looking more like Varimathras. Balnazzar is the same story.
Нужно поставить над юнитом восклицательный знак в кат-сцене, как это сделать?
Вопрос
2 55
Геймплей достаточно прост, делаешь деревню, строишь здания, рожаешь детей, из них делаешь воинов, или работников, добываешь ресурсы. Так же когда стемнеет к вам идут мобы, они будут атаковать всех своих врагов, для обороны а так же нападения предусмотрены такие виды войск как : Стрелки, Лучники, копьеносцы, кавалерия, наземные и воздушные юниты, осадные катапульты и мортиры ,так же из летающих грифоны, и пегасы, большой выбор и с башнями, довольно много башен, как и магических, так и осадных, стрелковых, так же имеется большой набор улучшений, как для юнитов, так и для башен, присутствует система рыбалки, голода, переход из крестьянина в лорда, а затем короля.
Карта
6 913
5
denissolovev, Это и есть эффект чумы, не баг, а фича. Сделано специально, чтобы мешать игроку, чтобы была "паника", но чуму надо пережить, она пропадает и все приходит в норму (видишь курсор, строение, что куда ставить итд.)
5
denissolovev, задумка такая, люди воют с нежитью - это классика, а классику знать надо)
Четыре стороны сражаются в эпической битве между собой. Войны Элуны, Пылающий Легион, Серебряная Длань и Клан Черного Камня бросают смертельный вызов друг другу. Вам предстоит выбрать, на чьей стороне вы. Выбрав своего персонажа, и разрушив вражеский трон в игре 2х2х2х2, приведя свою сторону к победе. Весь Геймплей данной карты строится вокруг героев и их кастомных спеллов, а так же взаимодействием с союзным героем.
Карта Battle of The Gods - это уникальная возможность поиграть с друзьями и игроками в эпичную арену жанра AOS - MOBA. У вас есть 60 уникальных героев с абсолютно разными скиллами, более 120 различных уникальных предметов, играя от четырех игроков можно Дуэлиться каждые 7 минут игрового времени, цель игры - уничтожить вражеский трон.
Карта
2 970
5
ShadowNinja, Да , была версия старая, где были боты, вот ссылка - >> Открыть
<<
Представляю вашему вниманию весьма уникальную карту в своем жанре - RPG FPS (от 1 лица). В чем ее уникальность ? В том что в данной карте я сделал механику First Person Shooter, тоесть вид от 1 лица. И все это в далеком 2017 году. (Да-да именно тогда вышел первый релиз данной карты) .
Карта
21 1K
Рогалик + диаблоид, сбор команды
Объявляю общий сбор, чтобы забубенить классный рогалик с метой и прокачкой.
В ком я более всего нуждаюсь:
(lua) специалиста по абилкам героя и монстров
(lua) сборщика UI по мокапам из фигмы
Сборщик иконок. Всё равно откуда они будут браться - сгенерированы или взяты из открытых…
Тема
8 251
24
IzobretatelBoom, а ты мне сколько будешь платить за то, что мы вместе будем проект делать?
Кто нанимает, тому и платить
В триггере "юнит вошел в область" нельзя указать определенного юнита, который войдет в область и только тогда триггер начнётся, так как это осуществить?
Вопрос
2 50
10
Принятый ответ
Юнит триггера == твой юнит. В чем проблема?
23
Похожие вопросы:

ответ
Вестник Мондаса:
проверяй целочисленное на условие
Математика - Modulo (n mod 5) равно 0
т.е. берет остаток от деления n на 5 и сравнивает его с нулем
ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
~8gabriel8:
Джентельмены, очень извиняюсь, рассчитываю, что ваши рекомендации пригодятся мне в будущем, но в данном случае как-то умудрился пропустить, что в условиях boolean comparsion в самом низу начального предложения стоит Неуязвимость к магии. Мне конкретно в данном случае этого достаточно. Ещё раз прошу прощения за потраченное вами время)
ответ
Item-Type comparison -> Type of Acquired item == Твой тип.
ответ
Все оказалось куда проще, чем я думала. (PS: rsfghd уже это же и написал, но ты его не понял)
В первом варианте у тебя "Units in range matching condition", к ней подсказка
Use 'Matching Unit' to refer to the unit on whom the comparison is being performed.
А ты использовал (Picked unit)! Почему так нельзя? Потому что, matching condition = значит там Filter внутри, а внутри фильтра используется функция GetFilterUnit т.е. (matching unit).
из triggerstrings.txt:
GetEnumUnitHint="When using the 'Pick Every Unit...' action, this refers to each unit as it is picked."
GetFilterUnitHint="Use this to refer to the unit being considered for 'Units Matching Condition' functions."
А вот (Picked unit) можно использовать, когда просто есть проход по группе, как в твоем втором варианте.

Я тут вытащила код триггера из карты из war3map.j
Сгенерированный код триггера
===========================================================================
Trigger: IshillUltimte
===========================================================================
function Trig_IshillUltimte_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A001' ) ) then
return false
endif
return true
endfunction
function Trig_IshillUltimte_Func002Func001Func002C takes nothing returns boolean
if ( not ( IsUnitType(GetEnumUnit(), UNIT_TYPE_STRUCTURE) == false ) ) then
return false
endif
if ( not ( IsUnitType(GetEnumUnit(), UNIT_TYPE_GROUND) == true ) ) then
return false
endif
if ( not ( IsUnitType(GetEnumUnit(), UNIT_TYPE_MAGIC_IMMUNE) == false ) ) then
return false
endif
if ( not ( IsUnitAlly(GetEnumUnit(), GetOwningPlayer(GetSpellAbilityUnit())) == false ) ) then
return false
endif
if ( not ( IsUnitEnemy(GetEnumUnit(), GetOwningPlayer(GetSpellAbilityUnit())) == true ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetEnumUnit()) != GetOwningPlayer(GetSpellAbilityUnit()) ) ) then
return false
endif
return true
endfunction
function Trig_IshillUltimte_Func002Func001C takes nothing returns boolean
if ( not Trig_IshillUltimte_Func002Func001Func002C() ) then
return false
endif
return true
endfunction
function Trig_IshillUltimte_Func002A takes nothing returns nothing
if ( Trig_IshillUltimte_Func002Func001C() ) then
call GroupAddUnitSimple( GetEnumUnit(), udg_UltimateIshillEffect )
else
endif
endfunction
function Trig_IshillUltimte_Func003A takes nothing returns nothing
call EnableTrigger( gg_trg_IshillPoison )
call UnitAddAbilityBJ( 'A000', GetEnumUnit() )
endfunction
function Trig_IshillUltimte_Func005A takes nothing returns nothing
call DisableTrigger( gg_trg_IshillPoison )
call UnitRemoveAbilityBJ( 'A000', GetEnumUnit() )
endfunction
function Trig_IshillUltimte_Actions takes nothing returns nothing
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_UPDATED, "TRIGSTR_019" )
call ForGroupBJ( GetUnitsInRangeOfLocAll(600.00, GetUnitLoc(GetSpellAbilityUnit())), function Trig_IshillUltimte_Func002A )
call ForGroupBJ( udg_UltimateIshillEffect, function Trig_IshillUltimte_Func003A )
call TriggerSleepAction( 20.00 )
call ForGroupBJ( udg_UltimateIshillEffect, function Trig_IshillUltimte_Func005A )
call GroupClear( udg_UltimateIshillEffect )
endfunction
===========================================================================
function InitTrig_IshillUltimte takes nothing returns nothing
set gg_trg_IshillUltimte = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_IshillUltimte, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_IshillUltimte, Condition( function Trig_IshillUltimte_Conditions ) )
call TriggerAddAction( gg_trg_IshillUltimte, function Trig_IshillUltimte_Actions )
endfunction
Маленькие оптимизации:
  1. IsUnitAlly+GetOwningPlayer(GetSpellAbilityUnit()) и IsUnitEnemy по идее взаимоисключающие, хватило бы только IsUnitEnemy(...)
call ForGroupBJ( GetUnitsInRangeOfLocAll(600.00, GetUnitLoc(GetSpellAbilityUnit())), function Trig_IshillUltimte_Func002A )
  1. Тут утечка локации, потому что GetUnitLoc создает новую, но она потом не удаляется. Решение в ГУИ: записать GetUnitLoc в глобальную (или локальную) переменную, пройтись по группе, и удалить локацию (DestroyLocation).

Проблема: у тебя, как называется в местном жаргоне, триггер не MUI. То есть он работает только с одним юнитом одновременно, если два юнита используют заклинание, то оно сломается.
Посмотри на Trig_IshillUltimte_Actions. Ты там используешь udg_UltimateIshillEffect до засыпания на 20с и после. Что будет если в этот промежуток времени кто-нибудь снова вызовет триггер? Ацская сотона. Я не знаю как принято, но по-моему единственный выход - это локально создать группу, чтобы она у кастующего юнита была своя, а в конце триггера её удалять.
Прочитай пару туториалов про локальные переменные и утечки. Если не прозреешь - перепишу всё на кастомный код за тебя, чтобы как пример был наглядный.