За автокаст лучше бери "Паразит".
или через орбэффект, как сказали выше (Орб сферы молний можно настроить на шансовое заклинание с кулдауном и тратой маны. Правда, на башнях не все заклы работают. Например, Буран работает, волна силы работает, а вот пронизывающая смерть - нет).
Mrachny, про скилл котла. Если ты не заметил, то кулдаун там не полный. Вернее, графически то, что обозначает кулдаун, проделывает не полный круг, а прерывается. Полагаю, есть массив способностей, где записал кулдаун или где-то еще это храниться. В общем, по любому нужна БД, где хранятся кд способностей, да еще и разноуровневый. Как только котл кидает скилл, Высчитывается время (если правильно помню, там скилл на 4 сек быстрее кд), по истечению которого, нужный скилл у героя убирается и дается вновь.
В общем, само кд сделать просто... А вот высчитать кд - это задница, ибо триггерно никак его не высчитать, а значит эту информацию надо изначально хранить и забивать в массив. Вообще лучше сделать свою систему кд скиллов: скажем, при касте, заменяешь скилл на способность-пустышку и по истечению времени убираешь пустышку и даешь способность. Единственно, что отобразить кд скила придется другим способом.
Ну, кроме перечисленных с свежими моделями знаю лишь wc3-maps. Чаще всего, там модельки, стыренные с хайва, но иногда попадаются уникальные модели (Например, модели из Героев меча и магии 3).
Diaboliko, нет, не с тем же. Вообще, очень плохой вариант с точки зрения графики, да и эту пассивку нельзя скрыть. Так что предложенный вариант человеком под ником ssbbssc гораздо лучше.
Ige, если уж писать код по-хорошему, надо учесть все, что хочет пользователь. А судя по тому, что хочет автор, надо добавить проверку, когда пикаешь юнитов в группу, что хотя бы один жив.
local integer first = 1 //первый элемент массива
local integer last = 3 //последний элемент
local integer random = GetRandomInt(first, last) //случайное число от первого элемента до последнего, т.е. от 1 до 3
local integer units_index = GetRandomInt(1, 3) //случайное число от 1 до 3
local integer UnitNumber=4
local group G = CreateGroup() //создаем группу
local integer i = random //счетчик цикла
local unit Ufirst
local boolean UnitDie=FALSE
loop
call GroupEnumUnitsInRect(G, udg_locations[i], null) //добавляем в группу всех юнитов из области
loop
set Ufirst = FirstOfGroup(G)
exitwhen Ufirst==null
if GetWidgetLife( Ufirst ) > .405 then
set B=TRUE
endif
call GroupRemoveUnit(G, Ufirst)
endloop
If B==FALSE then
call CreateUnit(p, udg_buildings[units_index], GetRectCenterX(udg_locations[i]), GetRectCenterY(udg_locations[i]), 270.)
call CreateUnit(p, udg_units[units_index], GetRectCenterX(udg_locations[i]), GetRectCenterY(udg_locations[i]), 0.)
call CreateUnit(p, udg_units[units_index], GetRectCenterX(udg_locations[i]), GetRectCenterY(udg_locations[i]), 0.)
call CreateUnit(p, udg_units[units_index], GetRectCenterX(udg_locations[i]), GetRectCenterY(udg_locations[i]), 0.)
call CreateUnit(p, udg_units[units_index], GetRectCenterX(udg_locations[i]), GetRectCenterY(udg_locations[i]), 0.)
endif
call GroupClear(G)
set i = i + 1
if i > last then
set i = first
endif
exitwhen i == random
endloop
Выбери custom scripts и копируй по одной строчке.
\\Ошибки
Если я правильно понял, переменные locations и bildings - глобальные. Если так, то их надо писать "udg_locations" (без кавычек, конечно же).
"local" пиши с маленькой буквы. "Local" не равно "local". Другими словами, у тебя выдаст ошибку и не запустится. Тоже самое относится к "call", "set", "if" и другим служебным словам. Пиши с маленькой буквы. Иначе везде выдаст ошибку. И внимательно посмотри, как пишутся стандартные функции. Ты пишешь "createUnitAtLoc", а правильно "CreateUnitAtLoc". Там, где маленькая буква, выдаст ошибку. Будь внимателен. (Для справки, правильно "RemoveLocation")
По сути твоя переменная h имеет фиксированное значение и используется один раз. Можно её убрать и написать "set p = GetRectCenter( locations[GetRandomInt(1,3)] )". Это не ошибка, но так меньше строчек. Объявляют фиксированные переменные обычно тогда, когда она используется в коде несколько раз (твоя переменная i тому пример), а на один разок - слишком много чести.
Последние две строчки поменяй местами. Могу тут ошибаться, но переменные, типо локации надо обнулять, даже если ты её ничему не присвоил.
Отдельно взятого юнита никак. Только определенный тип юнитов. Есть вариант вычислять трэкаблами, где мышка и насколько тот или иной юнит далеко от щелканья мышки... Но это геморрой. При чем бессмысленный.
Starman2222, ты, видимо, пытаешься удалить одну утечку, но не замечаешь еще две. "Позиция target" тоже надо заносить в переменную и обнулять. Это я про второй скрин. Учти еще один момент: когда пытаешься удалять несуществующую точку, возникает ошибка, действие триггера прерывается и дальше не работает. Иными словами: если у тебя в массиве точек есть элемент, которому ничего не присвоено, удалить в цикле точку он не сможет и произойдет сбой, мгновенное прерывание цикла и всего триггера. Поэтому сначала убедись, что все элементы массива заполнены, а потом запускай "цыкал". Это как вариант, почему цикл может не проходить до конца.
Каждый “unit” является “handle”, но не каждый “handle” является “unit”. Другими словами не факт, что утечки из-за юнитов. Да и ты уверен, что утечки вообще создаются с увеличением handle?
Zhan10, Есть вероятность, что проблема может быть в том, что ты создаешь големов Нейтрально-враждебными. У данного типа игрока есть свойство, что юниты не уходят до определенного расстояния. Я вижу два варианта решения проблемы:
Попробуй сделать у големов владельца, скажем Коричневый игрок (у тебя же 10 задействовано по твоим словам).
Если хочешь оставить нейтрально-враждебными, тебе надо зайти "Дополнительно"/"Игровые константы" и там менять "Монстры радиус охраны" на бесконечно большое число и "Монстры Время возвращения сек" на бесконечно большое число.
Аура плоха тем, что эффект меняется не мгновенно, а с заметной задержкой. Поэтому если уровень ауры менять по ходу дела, будет коряво (если по примеру, вот юнит решил подойти поближе в этом луче, то замедление будет иным). по сути предложенный автором вариант наиболее рациональный и эффективный. Правда, я бы все-таки убрал фильтр. Вот за секунду юнит в этом луче отошел/телепортировался на значительное расстояние, а замедление то же... Без фильтра новый баф перекрывался старым.
koloff, по мне, так если кино нравится человеку - то он не видит в нем недостатков или они для него незначительны. Ни в коем случае мозг не отключают. Скорее наоборот. Согласен, что есть недочеты, условности и ограничения везде... Но ведь они не везде одинаковые. Мне показалась очень уж глупой история создания мира, да и оружия богов. До меня никто этого не высказал...
В любом случае, работу проделали большую и кропотливую. Респект и уважуха.
Почему? Можно. Но опять же это трудоёмко, нужно использовать дополнительные анимации, а не только разговорные, двигать модельки, что бы было похоже как в жизни. Вот, к примеру, сериал "Король Мёртвых", там в большинстве случаев, все модельки тупо стоят на месте,
Я и не говорил, что нельзя. Можно... Если ты Тарантино) Однако в данном сериале, болтовня не сильно интересная.
Только сейчас начал смотреть. Очень много ошибок. Некоторые прям доставляют. Чего только стоит "Тем сильнее вы станните." Довольно глупая история мира. Ординатор говорит, что изначально было два бога, а потом вдруг "появились младшие боги"... Откуда появились, если эти два существа не создавали никого из них? И почему, когда эти два бога перебили всех, кроме одного, младшие боги перестали появляться? Да и как-то слабо вериться, что раз эти два бога боялись, что младшие могут стать на уровне с ними, то они друг с другом не враждовали ни капельки. Ну, и конечно, чем дальше, тем хуже( Ординатор говорит, что оружие богов - это заключенный в оружии младший бог и чем больше этот заточенный бог верит в обладателя, тем сильнее связь... То есть в вашем мире боги должны верить в смертных, а не наоборот? Ладно, дальше смотреть не буду...
Ну, раз ты не хочешь его отключать, а потом включать... Можно юниту давать способность-пустышку, когда он кастует, и когда ты его двигаешь на пкм, если у него есть эта способность-пустышка, триггер на него не работает.
В общем, это уже другой вопрос. Пкм можно отследить лишь этими событиями. Конечно, есть еще трэкаблы, но отличить способность от движения они тоже не смогут.
» WarCraft 3 / Активность
или через орбэффект, как сказали выше (Орб сферы молний можно настроить на шансовое заклинание с кулдауном и тратой маны. Правда, на башнях не все заклы работают. Например, Буран работает, волна силы работает, а вот пронизывающая смерть - нет).
» WarCraft 3 / "Как отловить пассивную способность"
» WarCraft 3 / Почему резко перестали работать все триггеры на карте?
» WarCraft 3 / Фиксация
Отредактирован Sumert
» WarCraft 3 / Ускорение кулдауна
Ищи ошибку у себя.
» WarCraft 3 / Ускорение кулдауна
В общем, само кд сделать просто... А вот высчитать кд - это задница, ибо триггерно никак его не высчитать, а значит эту информацию надо изначально хранить и забивать в массив. Вообще лучше сделать свою систему кд скиллов: скажем, при касте, заменяешь скилл на способность-пустышку и по истечению времени убираешь пустышку и даешь способность. Единственно, что отобразить кд скила придется другим способом.
» WarCraft 3 / Свежие модели Варкрафт
» WarCraft 3 / Как сделать чтобы во время каста можно было двигаться?
» WarCraft 3 / Как сделать чтобы во время каста можно было двигаться?
Отредактирован Sumert
» WarCraft 3 / Как сделать это на gui
» WarCraft 3 / Как сделать это на gui
\\Ошибки
» WarCraft 3 / Выделение юнита
» WarCraft 3 / Цыкал он работает или нет
» WarCraft 3 / Как бороться с утечкой Handle при волнах
» WarCraft 3 / Спавнящиеся существа не хотят нападать
Отредактирован Sumert
» WarCraft 3 / Спавнящиеся существа не хотят нападать
» WarCraft 3 / Возможно ли сменить иконку способности во время игры
» WarCraft 3 / Замедление с малым периодом
» WarCraft 3 / Warcraft Editor преобразование строку в приказ
» Семь Смертных грехов: Право вечности / Семь смертных грехов: Право вечности(2 сезон 5 серия)
В любом случае, работу проделали большую и кропотливую. Респект и уважуха.
» Семь Смертных грехов: Право вечности / Семь смертных грехов: Право вечности(2 сезон 5 серия)
Только сейчас начал смотреть. Очень много ошибок. Некоторые прям доставляют. Чего только стоит "Тем сильнее вы станните." Довольно глупая история мира. Ординатор говорит, что изначально было два бога, а потом вдруг "появились младшие боги"... Откуда появились, если эти два существа не создавали никого из них? И почему, когда эти два бога перебили всех, кроме одного, младшие боги перестали появляться? Да и как-то слабо вериться, что раз эти два бога боялись, что младшие могут стать на уровне с ними, то они друг с другом не враждовали ни капельки. Ну, и конечно, чем дальше, тем хуже( Ординатор говорит, что оружие богов - это заключенный в оружии младший бог и чем больше этот заточенный бог верит в обладателя, тем сильнее связь... То есть в вашем мире боги должны верить в смертных, а не наоборот? Ладно, дальше смотреть не буду...
» Страж / Новости по созданию сериала "Страж"
» WarCraft 3 / Warcraft Editor преобразование строку в приказ
В общем, это уже другой вопрос. Пкм можно отследить лишь этими событиями. Конечно, есть еще трэкаблы, но отличить способность от движения они тоже не смогут.
» WarCraft 3 / Warcraft Editor преобразование строку в приказ
» WarCraft 3 / Warcraft Editor преобразование строку в приказ
По умолчанию, стандартом, это события "Игрок N отдал приказ (Цель точка) " и "Игрок N отдал приказ (Цель объект)"