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

Правила темы

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

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

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заклинания
  • Желаемый метод исполнения (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. Тяжело читать? Легко делать!
  • Если ну никак не выходит сделать то что требуется, заходим в Академию и используем ее по основному назначению - задаем вопросы.

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
17
7 лет назад
0

Заказ

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

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

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

Заказ

Название: Система камеры от первого лица
Метод: GUI/ если Jass то с коментариями.
MUI: Не обязательно
Цель: Нет цели
Количество уровней: Не требуетса
Описание: Настроить камеру так, чтобы она была встроена ровно в голову какого юнита (на ваше усмотрение) и чтобы в системе была настройка высоты камеры в случае использования модели большей высоты; я прикреплю карту там есть похожая система можете использовать.
Вот карта xgm.guru/files/100/123666/comments/351627/nano_tc_sc_sc_destruct...
Загруженные файлы
0
21
7 лет назад
Отредактирован ClotPh
0
Добрый день.
Сможет ли кто-либо выполнить заклинания отсюда?
Если вы НЕ знаете, что такое локальные переменные и хэш-таблица, дальше не читайте!!!
  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
НИЧЕГО НЕТУ ЕЩЕ!
0
21
7 лет назад
0
Проверка
Ну вот, уже не редактируется, безобразие, ладно, фиг с ним, уже просто коды готовятся...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.