Заклинания на заказ

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

Правила темы

  • Запрещается дублирование заявок.
  • Любая заявка, написанная непонятным языком (обилие орфографических ошибок, орфоарт, отсутствие знаков препинания, использование рядов восклицательных и вопросительных знаков) будет удалена.
  • Обсуждение технических нюансов исполнения спелла или багов просьба вести через систему личных сообщений.
  • Для составления заявок используйте формы.
Заявки, не удовлетворяющие правилам, будут удалены !

Как составить заявку

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заклинания
  • Желаемый метод исполнения (GUI/Jass/cJass/vJass)
  • Требуется ли возможность использовать спелл несколькими юнитами одновременно (MUI)
  • Цель применения способности
  • Количество уровней
  • Описание (Смысловое, а не художественное)
  • Технические характеристики (кол-во маны, параметры урона, перезарядки, время действия и т.п.) для каждого из уровней
» Форма для составления заявки
Заказ
=
**Название:** Название способности (или системы)
**Метод:** GUI/Jass/cJass/vJass
**MUI:** Обязательно/Не обязательно
**Цель:** Другой юнит / Сам юнит / Точка/ Область/Нет цели/Прочее (указать что именно)
**Количество уровней:** Целое число
**Описание:** Ваше описание. Можно слить со следующим.
**Технические характеристики:** Ваше описание. Можно слить с предыдущим.

Как принимать заказ

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Никнейм заказчика
  • Название выбранного вами заклинания
  • Примерные сроки исполнения (конечно, их соблюдение не критично, но желательно)
» Форма для принятия заявки
Заказ принят
=
**Заказчик:** Никнейм заказчика
**Способность:** Название способности
((центр
**Спелл будет завершен к [дата в формате дд.мм.гггг. без скобок]**
))
[ дата принятия заявки в формате дд.мм.гггг / дата, к которой спелл предположительно будет готов в формате дд.мм.гггг ]

Как сообщить о не/выполнении заказа

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Никнейм заказчика
  • Название выбранного вами заклинания
  • Выполнен ли заказ
  • В случае, если заказ невыполним/не выполнен полностью, рекомендуется описать, что именно вам удалось/не удалось сделать.

  • Предоставить карту
» Форма для не/выполненного заказа
Заклинание готово! [Если заказ выполнен успешно] / Не удалось выполнить заклинание [Если по каким-либо причинам вы не способны его выполнить] (1 из 2)
=
**Заказчик:** Никнейм заказчика
**Способность:** Название способности
**Выполнено:** Да/Нет
-
[Сюда добавить инструкцию по импорту, или описать что у вас не/получилось, если не удалось выполнить заказ]
За качественно выполненный заказ вы получите дополнительно 200 единиц опыта.

Дополнительно: как приобрести спелл, не прибегая к этой теме

A. Для начала загляните в Архив готовых спеллов. Возможно, спелл, аналогичный вашему, уже был сделан.
B. Проверьте, нет-ли нужного спелла в Библиотеке заклинаний. Проверенные спелл-мейкеры изготавливали заклинания специально для общественного использования.
C. Поищите общедоступные для открытия карты - там тоже бывают полезные вещи.
D. Если ничего не помогает, пройдитесь поиском по Академии - вероятно, что такие спеллы уже пытались делать и спрашивали как.
E. Если поиски не помогли, попробуй сделать его сам:
  • Осваиваем триггеры в Базе статей, F.A.Q., если не имеем понятия о них.
  • Существуют специальные статьи по созданию спеллов и баффов: 1, 2, 3, 4, 5
  • Поскольку ваши спеллы будут неоптимизированы, и более того, с кучей утечек - настоятельно рекомендуется читать статьи\темы про JASS. Тяжело читать? Легко делать!
  • Если ну никак не выходит сделать то что требуется, заходим в Академию и используем ее по основному назначению - задаем вопросы.

Разумные поиски и тщательное изучение помогут вам добиться результата.

 

Просмотров: 128 723



» Лучшие комментарии


ledoed #1201 - 11 месяцев назад (отредактировано ) -2

Заклинание готово!

Заказчик: Baltrazar
Способность:Дрожь земли
Выполнено: Да.
Заклинание готово!
прикреплены файлы
Baltrazar #1202 - 11 месяцев назад (отредактировано ) 0
ledoed:

Заклинание готово!

Заказчик: Baltrazar
Способность:Дрожь земли
Выполнено: Да.
Заклинание готово!
В прикреплённой версии карты время запрета на атаку всегда фиксировано- 0,5/0,7/0,9 секунд, однако это значение должно возрастать на 0,5/0,7/0,9 секунд соответственно за каждые пол секунды зарядки способности после первого применения и до второго применения/прошествии 3-ех секунд.

Заказ

Название: Нестабильный посох
Метод: Не важен
MUI: Обязательно
Цель: Выбранный противник
Количество уровней: 1
Описание:
Расстояние: 500
КД: 0
Мана: 0
Задержка применения: 0 секунд (кастуется мгновенно)
Заклинание является активной составляющей предмета.
При активации отмечает выбранного противника на расстоянии 500. Пока противник находится в этом радиусе, он получает чистый урон в размере 15% от затраченной вами маны на применение любых ваших заклинаний. Одновременно может быть отмечен только один противник. Если он удаляется более, чем на 500, метка исчезает.
прикреплены файлы
ledoed #1203 - 11 месяцев назад 2
ledoed:

Заклинание готово!

Заказчик: Baltrazar
Способность:Нестабильный посох
Выполнено: Да.
Заклинание готово!
прикреплены файлы
Это сообщение удалено
Baltrazar #1205 - 11 месяцев назад 1
Перед очередным заказом хочу поблагодарить всех, кто помогает мне со сложными спелами и предметами :D

Заказ

Название: Ливень стрел
Метод: Не важен
MUI: Обязательно
Цель: Область
Количество уровней: 3
Описание:
Поддерживаемое
Мана: 300
КД: 140
Дальность применения: 700
Радиус области: 500
Пока способность поддерживается (ограничения по времени поддержания нет), обстреливает указанную область, атакуя всех противников в ней, нанося физический урон, равный своей атаке. Обстрел идёт со скоростью атаки героя соответственно, т.е. по сути она атакует сразу всех противников в области своей автоатакой. Эффекты от пассивных способностей и способности предметов НЕ распостраняются на "атаки" этой способностью.
Baltrazar #1206 - 11 месяцев назад 0

Заказ

Название: Перстень отчаяния
Метод: Не важен
MUI: Обязательно
Цель: Точка
Количество уровней: 1
Описание: Относится к предмету.
При использовании восстанавливает вам 200 маны и запускает в направлении выбранной точки снаряд со скоростью 1000, наносящий каждому противнику на пути 40 магического урона. Противники, раненные снарядом, получают на 20% магического урона больше в течении 7-ми секунд. Дальность полёта снаряда: 700. Ширина снаряда: 70.
Master113 #1207 - 11 месяцев назад (отредактировано ) 0

Заказ

Название: Гнев Смерти или Взрыв Смерти
Метод: GUI
MUI: Не обязательно
Цель: Нет цели
Количество уровней: 1
Описание: Герой колдует заклинание и происходит взрыв энергии смерти, которая убивает всё живое в радиусе 300 "метров" превращая их в нежить, а остальных отталкивает и заставляет бежать в страхе.
Технические характеристики: Радиус - 800/Мана - 300/Урон(даже не знаю как описать). Он должен убивать все живое в радиусе 300 "метров", но оставлять остальных в живых, ранеными.
Warhamm2000 #1208 - 11 месяцев назад 0

Заказ

Название: Сила Девяти Огров
Метод: Не важен
MUI: Не обязательно
Цель: Область
Количество уровней: 5
Описание: Когда герой использует этот спелл, то по земле идёт землетрясение по линии (каждый враг, находясь в области землетрясения, замедляется (с 3 ур. оглушает) ) и в конце происходит взрыв и из земли происходит разлом, который наносит много урона. После 3 уровня после взрыва появляется " *Страж Преисподней* ", после 4 ур. " Кровожад ", а после 5 ур. " Властитель ".
Технические характеристики: Урон 180/260/340/420/500 (1 ур./2 ур./3 ур./4 ур./5 ур.), Мана 70/120/170/220/270 Область землятрясения 60/80/100 (1-2 ур./3-4 ур./5 ур.), а Те монстры с 3 по 5 ур. оставались навсегда, Перезарядка 4 мин., в обл. Землетряс. с 1-2 Замедляет, с 3-5 оглушает, урон в обл. Землетряс. урон 60/130/190/210/250.
Это сообщение удалено
Kolya12 #1210 - 10 месяцев назад 0

Заказ

Название: Трансмутация артефакта
Метод: GUI
MUI: Не обязательно
Цель: Нет цели
Количество уровней: 1
Описание: Заменяет предмет лежащий в первом слоте инвентаря на случайный предмет.
Технические характеристики: Мана 0/Перезарядка 0/Применение способности расходует 10 золота.
1)Шанс 50% сделать предмет классом выше 2)Шанс 20% сделать предмет такого же класса 3)Шанс 30% сделать предмет классом ниже.
Это сообщение удалено
Aldor_Krevan #1212 - 9 месяцев назад -1
Название: превращение
Метод: не важно
MUI: Не обязательно
Цель: Сам юнит
Количество уровней: 1
Описание: возможность превращения Повелителя Ужаса в Целителя и обратно без изменения атрибутов и заклинаний, просто изменение облика
Технические характеристики: мана 100/ перезарядка 0/ действует постоянно/
FrigatPlay #1213 - 9 месяцев назад (отредактировано ) 0

Заказ

Название: Прилив сил
Метод: GUI
MUI: не обязательно
Цель: Сам юнит
Количество уровней: 1
Описание: Ваше описание. Герой получает прибавку к характеристикам (произвольно) на 50 секунд вовремя действия бафа есть шанс что на любой секунде своего действия баф исчезнет.
Технические характеристики: Главное чтоб работала система с прерыванием бафа во время ево действия другое не важно.
Maniac_91 #1214 - 9 месяцев назад (отредактировано ) 1

Заклинание готово!

Заказчик: Aldor_Krevan
Способность: Превращение
Выполнено: Да

Инструкция: дать герою способность "Превращение 1", скопировать один триггер (Cast) и альтернативную форму (целителя) в карту.

Заклинание готово!

Заказчик: FrigatPlay
Способность: Прилив сил
Выполнено: Да

Инструкции: Скопировать в карту способность, её бафф и 2 триггера (папка "Прилив сил").
прикреплены файлы
FrigatPlay #1215 - 9 месяцев назад 0
Maniac_91, Примного благодарен.
Это сообщение удалено
Extremator #1217 - 8 месяцев назад 1
RunXM, ауру можно сделать из стандартной, выставив процентный показатель. Аура будет считыть от базовой защиты (что почти бесполезно против героев, которые повышают защиту за счёт Ловкости и Предметов). Но на обычных юнитов - вполне работоспособно.
На счёт пехотинцев - просто создаёшь N юнитов, где N = ( (Сила / 10 ) + 1 )
Я бы сделал пример, но... блин... ну уж очень простой заказ
Просто сменить параметры в РО, и одна функция для другого скилла - всё
RunXM #1218 - 8 месяцев назад (отредактировано ) 0

Заказ

Название: Единство
Метод: неважно
MUI: Не обязательно
Цель: Сам воин(мощь гор или аналог)
Количество уровней: 5
Описание: Повышение характеристик(СИЛА, ЛОВКОСТЬ, РАЗУМ) в зависимости от количества войск под контролем игрока(НЕ считая под контролем союзников итд).
Технические характеристики:
1 уровень - повышение характеристик на 1*кол-во воинов под контролем игрока
2 уровень - повышение характеристик на 2*кол-во воинов под контролем игрока
3 уровень - повышение характеристик на 3*кол-во воинов под контролем игрока
4 уровень - повышение характеристик на 4*кол-во воинов под контролем игрока
5 уровень - повышение характеристик на 5*кол-во воинов под контролем игрока
RunXM #1220 - 8 месяцев назад 0
nvc123:
RunXM, каких именно характеристик?
Стандартных, сила, ловкость, разум. Извините забыл указать.
Brutal_bbk #1221 - 7 месяцев назад (отредактировано ) 0

Заказ

Название: названия пока нет
Метод: GUI/Jass/cJass/vJass(без разницы, что будет проще)
MUI: Не обязательно
Цель: Прочее
Количество уровней: 1
Описание:При нажатие на скилл герой создает свою невидимую иллюзию (которая все время в невидимости).Иллюзия не может атаковать ,но иллюзией можно управлять ,через 5 сек. герой окажется в том месте где будет находиться иллюзия.

Заказ №2

Название: Адреналин
Метод: GUI/Jass/cJass/vJass(без разницы, что будет проще)
MUI: Не обязательно
Цель: прочее
Количество уровней: 1 (пасивный)
Описание:Когда у героя остаётся здоровья 20 %, скилл автоматически активируется, дает 20 хп. рег. в сек ,5 мп в сек,+10 брони и 10% вампиризма. действует 10 сек перезарядка 30 сек. и если можно добавить эффект когда действует скилл.
Hate #1222 - 7 месяцев назад (отредактировано ) 1
Название: названия пока нет
Метод: GUI/Jass/cJass/vJass(без разницы, что будет проще)
MUI: Не обязательно
Цель: Прочее
Количество уровней: 1
Описание:При нажатие на скилл герой создает свою невидимую иллюзию (которая все время в невидимости).Иллюзия не может атаковать ,но иллюзией можно управлять ,через 5 сек. герой окажется в том месте где будет находиться иллюзия.
cJass, муи
прикреплены файлы
ledoed #1223 - 7 месяцев назад 1
Brutal_bbk:
Вот тебе все 2 заказа
прикреплены файлы
ArtONcus #1224 - 7 месяцев назад 0
ArtONcus:
Название: Иллюзия: Оцепенение
Метод: GUI
MUI: Обязательно
Цель: БЭ противника
Количество уровней: 1
Описание: Перед применением идёт проверка на угол БЭ противника. Если противник смотрит в лицо кастеру, то способность применяется, если нет то вывести уведомление для игрока (можно через плавающий текст) что "нетушки, я не смотрю" (при провале способность не уходит в КД)
При удачном применении телепортирует кастера за спину врага (к врагу лицом) накладывает на противника сайленс, 80% замедление поворота и 50% замедление бега на 2 секунды. При этом у игрока "жертвы" качается камера эти 2 секунды (желательно).
Перед телепортацией в точке кастера создается иллюзия наносящая урон оригинала, но умирающая с 1 удара. Время жизни иллюзии 10 секунд.
Кулдаун и манакост неважны.
Дальность применения 900
Название: Dizzy
Метод: GUI
MUI: Обязательно
Цель: БЭ противника
Количество уровней: 5
Описание: Пасивка: при атаке противника есть шанс одного из двух, либо противник отлетит на 250 AoE и микробаш на 0.01 сек (после перемещения замедление поворота на 100% на 0.5 секунд, жертва смотрит на "обидчика"), либо атакующий юнит переместится в любую точку в AoE 100 от цели ударит его оттуда (микробаш на 0.01сек, и 75% замедление мс на 2 секунды).
В обеих случаях наносится урон в размере (Сила+Ловкость+Интеллект)\2
Шанс 50\50
Общий шанс одного из двух: 10/15/20/25/30%
Название: Общее зрение
Метод: GUI
MUI: Не обязательно
Цель: Прочее
Количество уровней:1
Описание: Сложно объяснить (чешет репу). Есть герой имеющий "пасивку" и есть крипы у которых есть другая пасивка (крипов максимум 5 штук). И чем больше в радиусе 900 АоЕ от героя крипов с такой пасивкой тем больший шанс уклонится у героя. О как!
1 крип - 15%, 2 крипа - 25%, 3 крипа - 35%, 4 крипа - 45%, 5 крипов (максимум крипов) - 55%
В карте крипы разные, можно каждому крипу присвоить переменную (если потребуется)
3 заказа возможно жирновато, но заранее спасибо!
Ещё раз прошу, пожалуйста, сделайте эти спеллы
карта висит и я не могу её доделать
pro100master #1225 - 7 месяцев назад -2

Заказ

Название: Кислота (Враг)
Метод: Jass/vJass
MUI: Обязательно
Цель: Нет цели
Количество уровней: 1
Описание: Враг имеет способность кислота, когда его наносит урон они теряют здоровья и атаку, а когда урон доходит до предела стаков который был изначально оригинальный урон то сразу умирают.
Например изначально у героя был атака 30-40 и нанес врагу и теряет 1% здоровья и атаку 1.2 * текуший уровень героя = отнимать физ урон. Стак не ограничен.
И когда герой потеряет атаку до 0 то сразу умирает ваншотом.
Технические характеристики:
отнять урон = 1.2 * текущий уровень атакующего
Пример
1 стадия атака потерял 2.4 атаку так как герой 2 уровень
2 статия стак потерял 4.8 и так далее пока он не потеряет все атаку то сразу умирает
RedLegion #1226 - 7 месяцев назад 0

Заказ

Название: Стоительство как в LTD
Метод: GUI
MUI: Обязательно
Цель: Прочее
Количество уровней: -
Описание: Не знаю, относится это к спеллу или нет) Суть в том, чтобы сделать систему спавна юнитов как в LTD. Нужно, чтобы когда строишь здание, отображающее определённого юнита, через некоторое время на его месте спавнился соответствующий юнит.
Meddin #1227 - 6 месяцев назад 0

Заказ

Название: Энергетический щит
Метод: GUI/Jass, способ исполнения не столь важен, главным критерием является сложность добавления в карту
MUI: Обязательно
Цель: Область вокруг применившего героя, радиусом в 1000
Количество уровней: 1
Описание: Подобный заказ был где то выше, но его так и не сделали. Там просили правда создавать такое поле вокруг указанного в качестве цели заклинания юнита. Я же прошу сделать, чтобы такое поле создавалось лишь вокруг мага, применившего заклятье. Суть щита в том, что он не дает пройти любым войскам за свои границы как внутрь, так и наружу, а так же не пропускает любой урон(ближний бой, дальний, магия, артиллерия). Длится 45 секунд или пока маг не прекратит применение способности. Так же есть один ньюанс, который стоит отдельно обговорить с тем, кто возьмется за исполнение.
NilasAran_39 #1228 - 6 месяцев назад 0

Заказ

Название: Энтропия Смерти
Метод: GUI
MUI: Обязательно
Цель: Область вокруг здания, радиусом в 1000 (пассивка)
Описание: Альтернативное зиккурату средство защиты базы. Созданный кланом Морозного Вихря, излучатель смерти медленно вытягивает жизнь из врагов находящихся поблизости от него, нанося по 2% урона в секунду, до тех пор пока вражеский солдат не падает замертво.
bazeba #1229 - 6 месяцев назад 0

Заказ

Название: Волна омоложения
Метод: GUI
MUI: Обязательно
Цель: Одиночная цель (как волна исцеления)
Описание: Альтернатива волне исцеления, на все пораженные цели накладывается способность друида-медведя "омоложение".
AntiMage #1230 - 6 месяцев назад 0
Название: Проклятие
Метод: JASS или GUI
MUI: Обязательно
Цель: Мгновенно
Описание: Берет врагов,которые ударили применившего в течении 20 секунды. Если применивший способность умер в течении 20 секунд (то есть когда способность все еще действует), то тогда применивший берет последнего обидчика который нанес ему урон и пред.последнего обидчика тоже и проклинает обоих, заставляя их промахиваться на 100% и снижая их скорость передвижения на 100%.
LordDracula #1231 - 6 месяцев назад 0

Заклинание готово!

Заказчик: AntiMage
Способность: Проклятие
Выполнено: Да
прикреплены файлы
datar1231 #1232 - 6 месяцев назад (отредактировано ) 0
Название: Печать преисподни
Метод: Любой, главное чтобы можно было изменять.
Mui: Нет
Цель: Существо
Описание: Как и обычная печать, только не тому кто применил заклинание дается существо, а тому на кого. Внизу написано как мне ответили.
Ответ на вопрос
Триггер реагирует на каст печати не от даммика.
Заносишь кастанувшего (юнит А) и цель (юнит Б) в переменные.
Запускаешь таймер.
В таймере периодически проверяешь, жива ли цель, а потом есть ли на ней бафф.
Если цель мертва - создать даммика от игрока-контроллера юнита Б в позиции юнита А, дать ему печать и приказать закастить.
Если цель жива, а баффа на ней уже нет - то сразу рушим таймер нахрен. (Мне так на вопрос ответили) )
ClotPh #1233 - 6 месяцев назад (отредактировано ) 0
^ Заказ выше это вот из вопроса xgm.guru/p/wc3/191810#lastpost .
Мной там не правильно отвечено, до меня дошло!
Короче, запилите просто товарищу печать преисподней-пустышку для кастера и после применения пусть даммик от игрока-цели кастанет обычную печать преисподней, но с целями в союзников. Дела на 10 минут от силы, вот это уже мб и самостоятельно и мб и после сна таки сделаю... ща уже сплю...
datar1231 #1234 - 6 месяцев назад 0
datar1231, ClotPh:
^ Заказ выше это вот из вопроса xgm.guru/p/wc3/191810#lastpost .
Ятп, что нужно было, чтобы после смерти цели стандартной печати преисподней бафф перекидывался на применившего ее, но после внимательного перепрочтения вопроса и того, что написано уже появились некоторые сомнения. Короче, лучше уточнить у заказчика.
Мне только нужно чтобы юнит давался не тому, кто применил скилл, а тому на кого. Например: Пит лорд кинул на рабочего печать, он умирает и дается демон игроку этого рабочего)
ClotPh #1235 - 6 месяцев назад 0
datar1231, да-да, все, вот см. выше. Нужно просто вместо геройской печати сделать пустышку, а при ее применении создавать даммика под контролем того игрока с печатью цель-союзники и кастить им в цель способности.
Roy Mustang #1236 - 6 месяцев назад (отредактировано ) 0
datar1231:
Название: Печать преисподни
Метод: Любой, главное чтобы можно было изменять.
Mui: Нет
Цель: Существо
Описание: Как и обычная печать, только не тому кто применил заклинание дается существо, а тому на кого. Внизу написано как мне ответили.
Ответ на вопрос
Триггер реагирует на каст печати не от даммика.
Заносишь кастанувшего (юнит А) и цель (юнит Б) в переменные.
Запускаешь таймер.
В таймере периодически проверяешь, жива ли цель, а потом есть ли на ней бафф.
Если цель мертва - создать даммика от игрока-контроллера юнита Б в позиции юнита А, дать ему печать и приказать закастить.
Если цель жива, а баффа на ней уже нет - то сразу рушим таймер нахрен. (Мне так на вопрос ответили) )
просто тригерно меняй владельца после смерти юнита под баффом Печати.
datar1231:
Вот я сделал по быстрому пример
(иногда может глючить - если рядом с целью - находится еще один такой же тип юнита который вызывается )
прикреплены файлы
FrigatPlay #1237 - 6 месяцев назад (отредактировано ) 0

Заказ

Название: Система камеры от первого лица
Метод: GUI/ если Jass то с коментариями.
MUI: Не обязательно
Цель: Нет цели
Количество уровней: Не требуетса
Описание: Настроить камеру так, чтобы она была встроена ровно в голову какого юнита (на ваше усмотрение) и чтобы в системе была настройка высоты камеры в случае использования модели большей высоты; я прикреплю карту там есть похожая система можете использовать.
Вот карта xgm.guru/files/100/123666/comments/351627/nano_tc_sc_sc_destruct...
прикреплены файлы
ClotPh #1238 - 6 месяцев назад (отредактировано ) -3
Добрый день.
Сможет ли кто-либо выполнить заклинания отсюда?
Если вы НЕ знаете, что такое локальные переменные и хэш-таблица, дальше не читайте!!!
  1. Просто спелл наносит урон в области по врагам, скейлящийся от уровня спелла. Цифры вписывайте какие хотите, просто чтобы была формула фиксированный урон + урон от уровня спелла. Я потом самостоятельно нужные цифры впишу.
  2. Тут, короче, спелл должен реагировать на смерть каждого героя, ЗАПОМИНАТЬ ЕГО В ПЕРЕМЕННУЮ, создавать в его позиции даммика, этот даммик должен взлетать в воздух, подлетать к обладателю пассивки и дальше... фактически исчезать, а на нём крутиться эффект периодического урона врагам вокруг, урон тем больше, чем больше лвл пассивки; а мы помним, что мы погибшего запомнили?... Так вот там таймер должен проверять, не реснулся ли он уже, если реснулся - сбрасываем этот наш триггерный иммолэйшен-эффект сразу и кончаем спелл.
  3. Пассивка должна периодически через таймер считать кол-во всех мертвых героев на карте и регать ману обладателю пассивки по их числу. Опять же, главное, чтобы формула учитывала лвл спелла, а дальше я ее подстрою.
  4. Спелл должен в течение 10 секунд после применения ждать и ежесекундно сиять эффектами на вражеских героях, а потом, если кастер не получил урон > 0, все враждебные ему герои умирают (событие Kill, никакого дамага). Если кастер в течение 10 секунд после каста получит урон > 0, сразу прерывать всё (сияние прекращается, никто не умрёт).
Исполнять только на Jass/vJass!!! GUI даром не надо. Никаких вейтов, только таймеры, хороший MUI код.
Равкоды абил, даммиков, пути моделей ставьте любые!!! Я это все потом поправлю.
МНЕ СДАТЬ ТОЛЬКО КОД, ВСЕ СПЕЛЛЫ РАЗОМ!!! Карту качать не буду. Куда какие куски вставить, чтобы все действовало, поверьте, разберусь :D Мне все равно это под свою систему еще менять. Вам надо просто сделать эти 4 MUI способности, дальше моя забота.
Вообще эффекты для абил эти: xgm.guru/p/heavens-gallery/effect-case?postid=351626#comment24 , но в коде можете прописывать любые call DestroyEffect.
ЗАДАНИЕ НЕ ПРОСТОЕ, но если раньше 16-го не будет в готовом виде - уже и не надо. Займусь, значит, с нуля самостоятельно.
ЕЩЕ РАЗ: МНЕ СДАВАТЬ ВСЕ В ЭТОЙ ТЕМЕ КАК КОД НА JASS, ЕСЛИ БЕРЕТЕСЬ. ИМЕННО В ФОРМАТЕ ТЕКСТОВОГО КОДА. ЛЮБОЙ ДРУГОЙ ФОРМАТ ЖУТКО ВЫБЕСИТ.
Спасибо за внимание.
************************************
Так... Слабаки, богохульники! )))
Короче я, наверное, тогда прямо тут буду выкладывать себе же куски кода и инфу. Почему-то именно так хочется. Другие варианты сильно бесят. Создаю себе фабрику самостоятельно.
*************************************
Прим. - потом просто изи аддить и редактить.
Я покажу, как надо )))
*************************************
Крч, так: равкоды ожидаемых абил получаются такие-то:
A296, A297, A298, A299 базовые
A29A маркер для ульты
A29B маркер для озвучки
Равкод самого U0FV
Эффекты будут названы так: SingerOfDeath1, SingerOfDeath2, SingerOfDeath3, SingerOfDeath4
Коды конкретно спеллов (с использованием мемхака и тады уже нужными равкодами) будут под катами:
» ОБЩИЕ КУСКИ КОДА В СИСТЕМУ
****************************************
ПЕРВАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ
function Trig_SingerOfDeathAll_Func002Func001C takes nothing returns boolean
if ( not ( GetLearnedSkillBJ() == 'A296' ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A296', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
ПЕРВАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ - ЗАКРЫТО
ВТОРАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ
function Trig_SingerOfDeathAll_Func002Func002C takes nothing returns boolean
if ( not ( GetLearnedSkillBJ() == 'A297' ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A297', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
ВТОРАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ - ЗАКРЫТО
ТРЕТЬЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ
function Trig_SingerOfDeathAll_Func002Func003C takes nothing returns boolean
if ( not ( GetLearnedSkillBJ() == 'A298' ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A298', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
ТРЕТЬЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ - ЗАКРЫТО
ЧЕТВЁРТАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ
function Trig_SingerOfDeathAll_Func002Func004C takes nothing returns boolean
if ( not ( GetLearnedSkillBJ() == 'A299' ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A299', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
ЧЕТВЁРТАЯ ГЕРОЙСКАЯ СПОСОБНОСТЬ - РАВКОД ДОЛЖЕН ВЕЗДЕ СОВПАДАТЬ - ЗАКРЫТО
****************************************
if ( Trig_SingerOfDeathAll_Func002Func001C() ) then
return true
endif
if ( Trig_SingerOfDeathAll_Func002Func002C() ) then
return true
endif
if ( Trig_SingerOfDeathAll_Func002Func003C() ) then
return true
endif
if ( Trig_SingerOfDeathAll_Func002Func004C() ) then
return true
endif
****************************************
local timer t18 = CreateTimer()
*****************************************
ДВА РАЗА СВЕРХУ И СНИЗУ, ПРОВЕРИТЬ:
t18,
*****************************************
set t18 = null
*****************************************
Если первый спелл, то заносим функцию для него
if ( GetLearnedSkillBJ() == 'A296' ) then
call TriggerRegisterUnitEvent(hero,GetTriggerUnit(), EVENT_UNIT_SPELL_EFFECT)
call TriggerAddAction(hero,function DevastatingMagic)
else
endif
Если второй спелл, то регаем все юниты на смерть
if ( GetLearnedSkillBJ() == 'A297' ) then
if (IsUnitInGroup(u5, udg_AnimusCopies) == false) then
call TriggerRegisterAnyUnitEventBJ(hero, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction(hero, function DeathScreams)
endif
endif
Если третий спелл, то рушим триггер, а если не третий, то рушим таймер t18
if ( GetLearnedSkillBJ() == 'A298' ) then
call DestroyTrigger(hero)
call SaveUnitHandle(udg_Hash,GetHandleId(t18),2,u5)
call TimerStart(t,1,true,function DeadMana)
else
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif
Если четвертый спелл, то заносим функцию для него
if ( GetLearnedSkillBJ() == 'A299' ) then
call TriggerRegisterUnitEvent(hero,GetTriggerUnit(), EVENT_UNIT_SPELL_EFFECT)
call TriggerAddAction(hero,function Requiem)
else
endif
*****************************************
» Devastating Magic
НИЧЕГО НЕТУ ЕЩЕ!
» Death Screams
НИЧЕГО НЕТУ ЕЩЕ!
» Dead Mana
НИЧЕГО НЕТУ ЕЩЕ!
» Requiem
НИЧЕГО НЕТУ ЕЩЕ!
ClotPh #1239 - 5 месяцев назад 0
Проверка
Ну вот, уже не редактируется, безобразие, ладно, фиг с ним, уже просто коды готовятся...
ledoed #1240 - 5 месяцев назад (отредактировано ) 2
ClotPh:
вот тебе сразу 4 скила без хэш таблицы, а на массивах
все настройки для всех спелов находятся в триггере SpellClotch
все 4 спела и системы для них используют 1 поток(1 таймер периуд 0.025) если хочешь подключить к своему потоку то посмотри в тригере Global
папку инициализации можно удалить но всеровно нужно инициализировать Global_init()
Мемхака нету 1 скил перезаряжается как сказано в описании
Скилы МУИ
могу дать модельку полностью анимированную она немного похожа только подкрасить
прикреплены файлы
ClotPh #1241 - 5 месяцев назад 0
ledoed, лайк за старания, но мной уже выполнено 60% дела самостоятельно + включена новая глобалка, короче, так по коду пока не сработаемся, вот я доделаю, выложу демонстрационные образцы сюда мб, чтобы было всем понятно, как в моей системе код пишется, и тогда посмотрим... хотя мб посмотрю, мб куски твоего кода пригодятся
ClotPh #1242 - 5 месяцев назад 0
Вот, короче, образцы
Мне так и с таким оформлением надо
Буду или самостоятельно постепенно втч тут, или как получится
» Devastating Magic
function DevastatingMagic takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: p, u5, u6, enemies
local location p
local unit u5 = GetTriggerUnit()
local unit u6
local group enemies = CreateGroup()
local real damage = 0
local real cdreduct = 0
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
if ( GetSpellAbilityId() == 'A296' ) then
set p = GetSpellTargetLoc()
call DestroyEffect(AddSpecialEffectLoc("SingerOfDeath1.mdx",p))
if udg_deadheroes > 7 then
set cdreduct = 7
else
set cdreduct = udg_deadheroes
endif
ЗАДАЁМ КД
call SetAbilityCD ('A296', 1, 8 - cdreduct)
call SetAbilityCD ('A296', 2, 8 - cdreduct)
call SetAbilityCD ('A296', 3, 8 - cdreduct)
call SetAbilityCD ('A296', 4, 8 - cdreduct)
call SetAbilityCD ('A296', 5, 8 - cdreduct)
ЗАДАЁМ КД - ЗАКРЫТО.
set enemies = GetUnitsInRangeOfLocAll(250.00,p)
loop
УРОН
set u6=FirstOfGroup(enemies)
exitwhen u6==null
call GroupRemoveUnit(enemies,u6)
if ( GetUnitAbilityLevelSwapped('Avul', u6) != 1 ) and ( IsUnitAliveBJ(u6) == true ) and ( IsUnitEnemy(u6,GetOwningPlayer(u5))==true ) then
set damage = 70 + 80 * (GetUnitAbilityLevelSwapped ('A296', u5))
call UnitDamageTargetBJ( u5, u6, damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endif
endloop
call RemoveLocation (p)
УРОН - ЗАКРЫТО.

else
endif
call DestroyGroup (enemies)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: p, u5, u6, enemies
set p = null
set u5 = null
set u6 = null
set enemies = null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
» Death Screams
function DeathScreams2 takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p, p2, p3, enemies
local timer t = GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u6=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local unit u7=LoadUnitHandle(udg_Hash,GetHandleId(t),4)
local location p = GetUnitLoc (u6)
local location p2
local location p3
local group enemies = CreateGroup()
local integer i = LoadInteger(udg_Hash,GetHandleId(t),3)
local real damage = LoadReal(udg_Hash,GetHandleId(t),5)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
set i = i+1
call SaveInteger (udg_Hash, GetHandleId(t),3,i)
ПЕРЕМЕЩЕНИЕ ВВЕРХ-ВНИЗ
if (i>0) and (i<13) and (u6!= null) then
call SetUnitFlyHeightBJ( u6, ( GetUnitFlyHeight(u6) + 50.00 ), 10000.00 )
else
call SetUnitFlyHeightBJ( u6, ( GetUnitFlyHeight(u6) - 50.00 ), 10000.00 )
endif
ПЕРЕМЕЩЕНИЕ ВВЕРХ-ВНИЗ - ЗАКРЫТО.
ПРОЛЁТ КРИКОВ ОТ ПОГИБШЕГО К ПЕВЦУ
if (u6!=null) then
set p2 = GetUnitLoc(u5)
set p3 = PolarProjectionBJ(p, ( DistanceBetweenPoints (p, p2) / 12.50 ), AngleBetweenPoints(p, p2))
call SetUnitPositionLoc (u6, p3)
call RemoveLocation (p2)
call RemoveLocation (p3)
endif
ПРОЛЁТ КРИКОВ ОТ ПОГИБШЕГО К ПЕВЦУ - ЗАКРЫТО.
if (i>24) then
set i = 0
call SaveInteger (udg_Hash, GetHandleId(t),3,i)
call RemoveUnit(u6)
ЕСЛИ ТОТ ОЖИЛ, ТО ВСЁ
if IsUnitAliveBJ(u7) == true or IsUnitDeadBJ(u7) == false or GetUnitState(u7,UNIT_STATE_LIFE)>0 then
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
else
endif
ЕСЛИ ТОТ ОЖИЛ, ТО ВСЁ - ЗАКРЫТО.
ЭФФЕКТЫ НА ПЕВЦЕ И УРОН ВРАГАМ
set p2 = GetUnitLoc(u5)
if udg_deadheroes >= GetRandomInt(1,11) then
else
call AddSpecialEffectTargetUnitBJ( "chest", u5, "SingerOfDeath2.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )

endif
set enemies = GetUnitsInRangeOfLocAll(225.00,p2)
УРОН
loop
set u6=FirstOfGroup(enemies)
exitwhen u6==null
call GroupRemoveUnit(enemies,u6)
if ( GetUnitAbilityLevelSwapped('Avul', u6) != 1 ) and ( IsUnitAliveBJ(u6) == true ) and ( IsUnitEnemy(u6,GetOwningPlayer(u5))==true ) then
call UnitDamageTargetBJ( u5, u6, damage, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endif
endloop
УРОН - ЗАКРЫТО.
ЭФФЕКТЫ НА ПЕВЦЕ И УРОН ВРАГАМ - ЗАКРЫТО.
call RemoveLocation (p2)
else
endif
call RemoveLocation (p)
call DestroyGroup(enemies)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p, p2, p3, enemies
set t = null
set u5 = null
set u6 = null
set u7 = null
set p = null
set p2 = null
set p3 = null
set enemies = null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
function DeathScreamsDamage takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p
local timer t = CreateTimer()
local unit u5=GetTriggerUnit()
local unit u6
local unit u7=GetEventDamageSource()
local location p = GetUnitLoc(u7)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
local real damage = 20 + 10 * ( GetUnitAbilityLevelSwapped('A297', u5))
local integer i = 0
call DisableTrigger(GetTriggeringTrigger())
call CreateNUnitsAtLocFacingLocBJ( 1, 'n393', GetOwningPlayer(u5), p, p)
set u6 = GetLastCreatedUnit()
call PlaySoundOnUnitBJ( gg_snd_SingerOfDeathDeathScreams, 100, u7 )
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u6)
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call SaveUnitHandle(udg_Hash,GetHandleId(t),4,u7)
call SaveReal(udg_Hash,GetHandleId(t),5,damage)
call TimerStart(t,0.04,true,function DeathScreams2)
call RemoveLocation (p)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p
set t = null
set u5 = null
set u6 = null
set u7 = null
set p = null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
function DeathScreams takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: u5, u6, heroes, heroadded, heroaction
local unit u5 = GetTriggerUnit()
local unit u6
local group heroes = GetUnitsInRectAll(GetPlayableMapRect())
local trigger heroadded
local triggeraction heroaction
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
if ( IsUnitType(u5, UNIT_TYPE_HERO) == true ) then
set heroadded=CreateTrigger()
set heroaction=TriggerAddAction(heroadded,function DeathScreamsDamage)
loop
set u6=FirstOfGroup(heroes)
exitwhen u6==null
call GroupRemoveUnit(heroes,u6)
if ( IsUnitType(u6, UNIT_TYPE_HERO) == true ) and ( GetUnitAbilityLevelSwapped('A297', u6) >= 1 ) then
call TriggerRegisterUnitEvent(heroadded, u6, EVENT_UNIT_DAMAGED)
call UnitDamageTargetBJ(u5,u6,0.00,ATTACK_TYPE_HERO,DAMAGE_TYPE_NORMAL)
else
endif
endloop
else
endif
call DestroyGroup (heroes)
call TriggerRemoveAction (heroadded, heroaction)
call DestroyTrigger (heroadded)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: u5, u6, heroes, heroadded, heroaction
set u5 = null
set u6 = null
set heroes = null
set heroadded = null
set heroaction = null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
» Dead Mana
function DeadMana takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
Если героя нет, то разрушить таймер, чтобы не крутился и не жрал ресурсы.
if (u5 == null) then
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
else
ДОБАВЛЯЕМ МАНУ + ЗА МЁРТВЫХ
call DestroyEffect(AddSpecialEffectTarget("SingerOfDeath3.mdx",u5,"chest"))
call SetUnitState(u5, UNIT_STATE_MANA, GetUnitState(u5, UNIT_STATE_MANA) + GetUnitAbilityLevelSwapped('A298',u5) + GetUnitAbilityLevelSwapped('A298',u5) * udg_deadheroes )
ДОБАВЛЯЕМ МАНУ + ЗА МЁРТВЫХ - ЗАКРЫТО
endif
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5
set t=null
set u5=null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
» Requiem
function Requiem takes nothing returns nothing
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: u5, u6, enemyheroes, alliedheroes
local unit u5 = GetTriggerUnit()
local unit u6
local group enemyheroes = GetUnitsInRectAll(GetPlayableMapRect())
local group alliedheroes = GetUnitsInRectAll(GetPlayableMapRect())
local real enemiesfordeath = 0
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
if ( GetSpellAbilityId() == 'A299' ) then
СПЕРВА ВСЕ С СОЮЗАМИ И СЧИТАЕМ ИХ
loop
set u6=FirstOfGroup(enemyheroes)
exitwhen u6==null
call GroupRemoveUnit(enemyheroes,u6)
if IsUnitType(u6, UNIT_TYPE_HERO) == true and IsUnitAliveBJ(u6) == true and IsUnitAlly(u6,GetOwningPlayer(u5)) == true and GetUnitStateSwap(UNIT_STATE_LIFE, u6) > 0.00 then
call DestroyEffect(AddSpecialEffectTarget("SingerOfDeath4.mdx",u6,"origin"))
set enemiesfordeath = enemiesfordeath + 1
if (u5 != u6) then
call KillUnit (u6)
else
endif
endif
endloop
СПЕРВА ВСЕ С СОЮЗАМИ И СЧИТАЕМ ИХ - ЗАКРЫТО.
ТЕПЕРЬ ВСЕ С ВРАГАМИ, ПРЕРВАТЬ РАНЬШЕ, ЕСЛИ СОЮЗОВ МАЛО
loop
set u6=FirstOfGroup(alliedheroes)
exitwhen u6==null or enemiesfordeath==0
call GroupRemoveUnit(alliedheroes,u6)
if IsUnitType(u6, UNIT_TYPE_HERO) == true and IsUnitAliveBJ(u6) == true and IsUnitEnemy(u6,GetOwningPlayer(u5)) == true and GetUnitStateSwap(UNIT_STATE_LIFE, u6) > 0.00 then
call DestroyEffect(AddSpecialEffectTarget("SingerOfDeath4.mdx",u6,"origin"))
set enemiesfordeath = enemiesfordeath - 1
call KillUnit (u6)
else
endif
endloop
ТЕПЕРЬ ВСЁ С ВРАГАМИ - ЗАКРЫТО.
else
endif
call DestroyGroup (enemyheroes)
call DestroyGroup (alliedheroes)
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: u5, u6, enemyheroes, alliedheroes
set u5 = null
set u6 = null
set enemyheroes = null
set alliedheroes = null
ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
GADees15 #1243 - 5 месяцев назад 0

Заказ

Название: Ещё нету
Метод: Всё равно
MUI: Не обязательно
Цель: Нету цели
Количество уровней: 3
Описание: Подчинение крипа(монстра) на определённое время который убил вашего героя.
Технические характеристики: 1 уровень:10 секунд
2 уровень:15 секунд
3 уровень:20 секунд
KingMaximax #1244 - 5 месяцев назад (отредактировано ) 0
GADees15:

Заказ

Название: Ещё нету
Метод: Всё равно
MUI: Не обязательно
Цель: Нету цели
Количество уровней: 3
Описание: Подчинение крипа(монстра) на определённое время который убил вашего героя.
Технические характеристики: 1 уровень:10 секунд
2 уровень:15 секунд
3 уровень:20 секунд
globals
    hashtable yourhash      = InitHashtable()
    trigger   YourTrigger   = null 
endglobals



scope COD initializer TriggerHeroCharmOfDeath

function IF_ofcbsh takes nothing returns boolean
    return GetUnitAbilityLevel( GetTriggerUnit(), 'your' ) > 0 
endfunction

function cofcbsh takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local integer id = GetHandleId(t)
    local integer timeleft = LoadInteger( yourhash, id, StringHash("CharmTime") )
    if timeleft > 0 then
        if IsUnitType(LoadUnitHandle(yourhash, id, StringHash("CharmedCreep")), UNIT_TYPE_DEAD ) then
            call DestroyTimer(t)
            if LoadUnitHandle(yourhash, id, StringHash("CharmedCreep")) != null then
                call SetUnitOwner( LoadUnitHandle(yourhash, id, StringHash("CharmedCreep")), LoadPlayerHandle(yourhash, id, StringHash("CreepPlayer")), true )
            endif
            call FlushChildHashtable( yourhash, id)
        else
            call SaveInteger( yourhash, id, StringHash("CharmTime"), timeleft - 1 )
        endif
    else
        call DestroyTimer(t)
        if LoadUnitHandle(yourhash, id, StringHash("CharmedCreep")) != null then
            call SetUnitOwner( LoadUnitHandle(yourhash, id, StringHash("CharmedCreep")), LoadPlayerHandle(yourhash, id, StringHash("CreepPlayer")), true )
        endif
        call FlushChildHashtable( yourhash, id)
    endif
    set t = null
endfunction

function CharmOfCritterBySlainHero takes nothing returns nothing
    local unit k = GetKillingUnit()
    local unit u = GetTriggerUnit()
    local integer id
    local timer t
    if GetWidgetLife(k)>.405 and  not IsUnitType( k, UNIT_TYPE_DEAD ) and k != null then
        set t = CreateTimer()
        set id = GetHandleId(t)
        call SavePlayerHandle(yourhash, id, StringHash("CreepPlayer"), GetOwningPlayer(k))
        call SaveInteger( yourhash, id, StringHash("CharmTime"), (GetUnitAbilityLevel(u, 'your') * 50) + 49 )
        call SaveUnitHandle(yourhash, id, StringHash("CharmedCreep"), k )
        call SetUnitOwner( k, GetOwningPlayer(u), true )
        call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\Charm\\CharmTarget.mdl", k, "origin"))
        call TimerStart(t, .1, true, function cofcbsh )
    endif
    set t = null
endfunction

function TriggerHeroCharmOfDeath takes nothing returns nothing
    set YourTrigger = CreateTrigger()
    call TriggerAddAction( YourTrigger, function CharmOfCritterBySlainHero )
    call TriggerAddCondition( YourTrigger, Condition(function IF_ofcbsh) )
    //call TriggerRegisterDeathEvent( YourTrigger, YourUnit )
endfunction 

endscope
Вместо 'your' - rave код вашей способности
Вместо YourTrigger код вашего триггера
Вместо yourhash - ваша хеш-таблица, хоть udg_;
Героя сами добавите в триггер //call TriggerRegisterDeathEvent( YourTrigger, YourUnit ) или своим методом, где YourTrigger - ваш триггер, YourUnit - ваш герой...
ClotPh #1245 - 5 месяцев назад 0
KingMaximax, посмотри, пожалуйста, мои ПОСЛЕДНИЕ образцы под катами, все понятно? Выполнять так сможешь?
Вместо равкодов абил AXXX, вместо равкодов даммиков nxxx. Нужные равкоды вставлю и впишу в систему самостоятельно.
P. S. Там выше код для Картуса clawbfs.ucoz.ru/forum/3-1827-1 на альфа-тест, он уже изменяется (в частности, крики, если Картусов два, только к одному герою летели, это уже исправлено), но как образцы должны быть понятны. Сможешь так делать?
Нужда в кодере. Самостоятельно уже задолбалось, потому что так никогда много героев не сделать.
NilasAran_39 #1246 - 5 месяцев назад 0
NilasAran_39:

Заказ

Название: Энтропия Смерти
Метод: GUI
MUI: Обязательно
Цель: Область вокруг здания, радиусом в 1000 (пассивка)
Описание: Альтернативное зиккурату средство защиты базы. Созданный кланом Морозного Вихря, излучатель смерти медленно вытягивает жизнь из врагов находящихся поблизости от него, нанося по 2% урона в секунду, до тех пор пока вражеский солдат не падает замертво.

Ранее публиковал, примерно месяц назад. Думаю что скорей всего заказ пропустили ибо, бываю в сети не часто. Думаю спустя месяц, не грех и напомнить, и в любом случае хоть что то узнать.
ssbbssc #1247 - 5 месяцев назад 2
NilasAran_39 #1248 - 5 месяцев назад 0
ssbbssc, Мои благодарности, всё работает как швейцарские часы. Отлично, просто отлично!)
ssbbssc #1249 - 5 месяцев назад 0
NilasAran_39:
ssbbssc, Мои благодарности, всё работает как швейцарские часы. Отлично, просто отлично!)
да было бы за что, склепал за 2 минуты
в теории можно прикрутить фильтры на проверку маг неуяза
NilasAran_39 #1250 - 5 месяцев назад (отредактировано ) 0
ssbbssc, Не, спасибо вот так вот то что надо.

Заказ:

Название: Обитель Мудрости
Метод: GUI
MUI: На усмотрение автора
Цель: Сам кастер
Количество уровней: 1
Описание: Школа магии, производит юнит, то беж мага, при этом восстанавливая 5 ед. собственной маны. Которая у неё в других условиях не восстанавливается. Когда она накапливает к примеру 300 маны, то получает способность пустышку. (в дальнейшем я сам пропишу способность которая нужна)

ssbbssc, К слову говоря, если для тебя предыдущая была легкой мишенью, может и это возьмешь?