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

Правила темы

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

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

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

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

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

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

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

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

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

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

Разумные поиски и тщательное изучение помогут вам добиться результата.
`
ОЖИДАНИЕ РЕКЛАМЫ...
24

Заказ

Название: Отмена сбора
Метод: GUI
Количество уровней: 1
Цель: Ресурс древесины, в ресурсборде
Описание: Необходим следующий триггер, Юнит срубает дерево и несёт в лесопилку, если дерево является определенного вида, например Ашенвальская ёлка, ресурс который он добыл исчезает из буфера, вместо этого он идёт в лесопилку (к зданию не важно в принципе к кому), и когда доходит до него, возле здания появляется другой рабочий.

Примечание: Также планирую размножить данный триггер, и для этого прошу чтобы в триггере присутствовал ID триггера, дабы я потом мог его заменить на другой и создать клон этого триггера.
2
  1. Массовое подчинение
Желаемый метод исполнения: GUI
Цель применения способности: Враждебный юнит
Количество уровней: 5
Описание: Герой подчиняет себе все войска в радиусе:
Характеристики:
Область (в которой происходит подчинение)
1 уровень: 150
2 уровень: 200
3 уровень: 250
4 уровень: 300
5 уровень: 350
Требуется маны: 100 (+25 с увеличением уровня)
Время перезарядки 20 сек.
26

Заказ

Название: Ускорение атаки (пассивная способность)
Метод: желательно GUI, но можно любой (просто другие типы триггеров иногда не работали в кампании)
MUI: Не обязательно
Цель: Только вражеский юнит, не здание и не декорация
Количество уровней: 3
Описание: При атаке врага скорость атаки героя повышается с каждым последующим ударом. Если атаковать что-то другое, то скорость атаки сбросится до нормальной. Скорость сбрасывается в том числе после атаки декораций, хотя это можно опустить, так как особо не принципиально.
Технические характеристики: Скорость атаки после удара можно повышать на фиксированную величину, но лучше на процент от текущей скорости. При этом скорость атаки не может становится выше 167% (170%) на первом уровне, 233% (230%) на втором и 300% на третьем. На первом уровне до максимальной скорости пусть доходит за 5 ударов (по 13,4%, либо по 14% скорости прибавляется за удар), на втором за 6 (по 21,7%, либо 22,2% скорости прибавляется за удар) и на третьем за 7 (по 28,6% скорости прибавляется за удар).
22

Заказ

Название: Искажение времени
Метод: Jass
MUI: Обязательно
Цель: Точка / Область
Количество уровней: 1 (Войн)
Описание: Маг перемещается в указанную точку и наносит магический урон противникам в небольшой области от точка, при каста 1 сек ожидает прыжка.
Технические характеристики: Главное чтоб он не мог прыгать через блокатор пути, а прямо где указано точка перемешен и прыгает если путь закрыт то там и заканчивает..
23
8gabriel8, Могу в принципе сделать
pro100master, Есть такая способность у меня только она на GUI а также знаю что на хайве таких способностей полно.
22
FrigatPlay, выложи хоть гуи я его переделаю просто я не дошел до блокатор пути прыжка
26
FrigatPlay:
8gabriel8, Могу в принципе сделать
Чем скорее, тем лучше)
P. S. А как ты хочешь способность срздавать?
18

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

Заказчик: FrigatPlay
Способность: Толчок (2)
Выполнено: Да

Обновление: теперь цель заклинания не пролетает сквозь юнитов и разрушаемые объекты.
Все инструкции - внутри карты
Загруженные файлы
26
Так чего-то не пойму, FrigatPlay, ты берёшь мой заказ или нет?
26

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

Заказчик: 8gabriel8
Способность: Ускорение атаки (Рвение в бою)
Выполнено: Да

Так как внятного ответа не последовало, то пришлось делать самому:
23
8gabriel8, Меня в реале сильно рыпали так что я не успел.
24
Че, в итоге за это никто не возьмется?

Заказ


Название: Тунель\Портал
Метод: GUI\в крайнем случае Jazz
MUI: На усмотрениа автора
Цель: Два юнита (здания)
Количество уровней: 1
Описание: Создание туннеля между двумя зданиями. Игрок строит здание (Подземелье или портал), в которой можно завести отряды игрока. Игрок строит второе такое же здание, из которого эти отряды можно вывести. В идеале должно получиться, что отряды в подземелье можно вывести, из любого другого подземелья. Если это сложно или не выполнимо. Создать связь, хотя бы с двумя объектами. Подобную систему тоннелей вы можете видеть в Dawn of War, у Имперской гвардии, если конечно играли в неё.

Примечание: если все тоннели уничтожены, войска внутри них погибают.
23
NilasAran_39, Да вот проблема в том что если бы нужно было просто перемещать войска между зданиями то было бы проще хотя есть идея.

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

Заказчик: NilasAran_39
Способность: Тунель
Выполнено: Да

Единственное что нужно сделать это проверку на тип здания чтобы юниты не могли пермиститися и выйти в других зданиях а только в определенной, также поменяй способность дирижабля на погрузку сделай больший радиус.
.
Загруженные файлы
21
Срочно! Разбираться самостоятельно нет ни сил, ни времени, устаю.
Прошу убрать из этого кода для оптимизации точку, заменив на координаты. Т. е. чтобы действовал так же, но без точки. НАЗВАНИЯ ПР. ПЕРЕМЕННЫХ И ФУНКЦИЙ ПРОШУ СОХРАНИТЬ, обнуление точки везде и ее задание, естественно, убрать, другие переменные назвать для координат можно x2, y2 и т. п. Спасибо!
function AuroraMovement takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u5 = LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local location p = GetUnitLoc(u5)
local real facing = (GetUnitAbilityLevelSwapped('A22Z',u5))
local real distance = (1 + (GetUnitAbilityLevelSwapped('A22S',u5) * 0.05)) * 0.01 * 400
local real x
local real y
//Если героя нет, то разрушить таймер, чтобы не крутился и не жрал ресурсы.
if (u5 == null) then
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
else

if (UnitHasBuffBJ(u5,'B0G8') == false) then
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(u5), p, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', GetLastCreatedUnit() )
call UnitAddAbilityBJ('A230',GetLastCreatedUnit())
call IssueTargetOrder(GetLastCreatedUnit(),"ensnare",u5)
endif

call MoveLocation(p, GetLocationX(p) + distance * CosBJ(facing), GetLocationY(p) +  distance * SinBJ(facing))
set x = GetLocationX (p)
set y = GetLocationY (p)
//Задание координат с проверкой на края карты.
if RectContainsCoords(bj_mapInitialPlayableArea,x,y) then
call SetUnitX (u5,x)
call SetUnitY (u5,y)
endif
endif
call RemoveLocation(p)

set t = null
set u5 = null
set p = null
endfunction
23
ClotPh, Может тебе зделать модификацию на другом движке игры чем варкрафт, где возможная реализация твоего проекта намного выше.
21
FrigatPlay, реализовать там 212 героев, и XXX предметов, и XXXX шапок, и 2 играбельные карты, и, и, и... а в будущем еще куча нововведений и игровых параметров, да и этого мало, потому что идей всегда в 100500 раз больше, чем сил для их реализации... А без денег помощь всегда идет вяло или накладывает обязательства, и мне ни то, ни другое не нравится... Уже много раз говорилось, что это НЕВОЗМОЖНО. Не хватит ни времени, ни энергии. Вот выделить бы миллионы на это, чтобы исполнять исключительно роль координатора и раздавать задания и собирать их, тогда да.
quq_CCCP, зачем весь? Весь не нужен. Нужно только эту функцию переписать, только она двигает. Или в функции что-то не понятно?
23
ClotPh, ты же понимаеш что ты безумец и просто не цениш собственное время, хотя я и сам такой.(Нужны деньги? запусти проект на кит стартере)
21
  • игра делается для личного удовлетворения
  • игра всегда видится самой лучшей
  • как раз времени выделяется ровно столько, сколько надо, чтобы игра удовлетворяла и оставалось время на что-то более важное
  • кикстартер не катит, т. к. тут персонажи из других игр и не только, а владельцев этих игр и не только сделать своими рабами, увы, достаточно сложно
  • не надо разводить полемику, если никто не хочет переписать код, если бы писали и переписывали код вместо меня, никаких кикстартеров было бы не нужно для скорости
17
ClotPh:
у тя код просто жесть если не научишься нормально писать то ты врядли со своим будущим проектом справиться сможешь,а с нынешним доделывай как уемеешь
function AuroraMovement takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u5 = LoadUnitHandle(udg_Hash,GetHandleId(t),2)

local real facing = (GetUnitAbilityLevelSwapped('A22Z',u5))
local real distance = (1 + (GetUnitAbilityLevelSwapped('A22S',u5) * 0.05)) * 0.01 * 400

local real x=GetUnitX(u5)
local real y=GetUnitY(u5)


//Если героя нет, то разрушить таймер, чтобы не крутился и не жрал ресурсы.
if (u5 == null) then
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
else

if (UnitHasBuffBJ(u5,'B0G8') == false) then
bj_lastCreatedUnit =CreateUnit(GetOwningPlayer(u5),'n021',x,y,bj_UNIT_FACING)
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', GetLastCreatedUnit() )
call UnitAddAbilityBJ('A230',GetLastCreatedUnit())
call IssueTargetOrder(GetLastCreatedUnit(),"ensnare",u5)
endif


x+=distance*Cos(facing*0.0174)
y+=distance*Sin(facing*0.0174)

//Задание координат с проверкой на края карты.
if RectContainsCoords(bj_mapInitialPlayableArea,x,y) then
call SetUnitX (u5,x)
call SetUnitY (u5,y)
endif
endif


set t = null
set u5 = null

endfunction
21
ledoed, большое спасибо, ты тот, кто мне нужен, вот самостоятельно раскурить было бы куда тяжелее, а по беглой проверке вижу, что все нормально, буду сюда с подобными заданиями обращаться
PS "доделывать" никто ниче не собирается, суммарно-то проект около 8 лет делался и спокойно еще столько же может, просто вопрос в подходе, вот говорили-говорили, что в варе нихрена никогда не будет обсчета-изменения кулдаунов, атаки итэдэ, ан вот же, мемхак, крч, будут вкладываться хотения, задания, собственные усилия в желаемом соотношении, там видно будет
/////
PPS - там себе заметочка - после импорта проверить в рус. соответствие всех равкодов (этот блок из английского опенсорса был вынут, просто потому, что английский открывается гораздо быстрее, а смотреть код через MPQ менее удобно)
//
PPPS - мне так-то в идеале вообще не хотелось бы код писать, даже в своей самодокументируемой системе это очень тяжело
лучше бы с этим помощников, опять же в идеале оплачиваемых, ну крч тяжко с этим, ну ладно, все, уже оффтоп
////
PPPPS - ятп, у Фрога код еще хуже был. И? =))))))) Ладно, все, цели у меня и у него разные
3

Заказ

Название: Explosion Arrows
Метод: GUI
MUI: Не обязательно
Цель: Область
Количество уровней: 1
Описание: Способность будет использовать герой с моделькой Сильваны.
Герой применяет способность на область, при этом герой проигрывает анимацию "stand victory" (в этой анимации герой три раза стреляет из лука в воздух), синхронно с выстрелами вверх от героя летят три огненных снаряда (думаю для них можно будет использовать модельку заклинания "осветительный заряд/ракета). Через небольшой промежуток времени 0.5-1 сек эти снаряды с очень короткими интервалами по очереди падают с неба в случайные точки в области применения заклинания. На месте падения каждого снаряда появляется эффект взрыва и наносится по 100 ед. урона в радиусе 300 от точки взрыва.
Технические характеристики: Область применения заклинания 425, дальность применения 1200.
В качестве моделей самих снарядов, при падении, наверное, лучше всего будет использовать анимацию атаки верховного мага.
21
Нужно дописать способность. Я потом самостоятельно дооформлю и доформатирую. СРОЧНО! 19го числа или отменяется.
Суть такая.
Эта функция реагирует на событие триггера "отдача приказа на действие в точку", если расстояние между этой точкой и точкой героя-обладателя способности меньше или равно 200 + 100 * A29V уровень способности героя и у него нет его особого спеллбука с вороном.
Тогда на героя должна быть накинута 2 секундная дамми-сетка, ему должен даться его особый спеллбук с вороном и спрятаться, он должен получить приказ держать позицию и в течение 2 секунд по координатам переместиться из своей точки в точку отданного приказа, первую секунду подпрыгивая вверх, вторую "опадая" вниз.
Как я себе это представляю - вместо простого движения герой будет прыгать и при этом сохранять возможность атаковать и действовать.
МНЕ СДАВАТЬ КОДОМ, пожалуйста!!! НЕ надо тест-карты никакой, она бесполезна.
Равкод основной способности указан выше. Даммика для кидания сетки - 'n021'. Всех других способностей - пишите что хотите, главное, разное, я поставлю потом, что надо.
Вторую функцию, в которой герой, очевидно, и будет двигаться, назвать RoboJump2, поставить над первой.
function RoboJump takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()

set u5 = null
set t = null
endfunction
//////////
Ладно, завтра будет трещать своя голова =/
15

Заказ

Название: Опустошение
Метод: GUI
MUI: Обязательно
Цель: Указанный противник
Количество уровней: 5
Описание: Чернокнижник кидает проклятие на вражеского юнита, уменьшает урон в %, юнит теряет здоровья каждые 3 сек, в течение 15 сек.
Технические характеристики:
1 уровень уменьшение силы атаки врага на 3%, 20 урона + 200% от разума в течение длительность 15 сек
2 уровень уменьшение силы атаки врага на 6%, 40 урона + 400% от разума в течение длительность 15 сек
3 уровень уменьшение силы атаки врага на 9%, 80 урона + 600% от разума в течение длительность 15 сек
4 уровень уменьшение силы атаки врага на 12%, 160 урона + 800% от разума в течение длительность 15 сек
5 уровень уменьшение силы атаки врага на 15%, 240 урона + 1000% от разума в течение длительность 15 сек
Чтобы оставить комментарий, пожалуйста, войдите на сайт.