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

Правила темы

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

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

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заклинания
  • Желаемый метод исполнения (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
26
5 лет назад
0
  • Запрещается дублирование заявок.

Если никто не берётся за твой заказ, значит просто не хотят. Делай самостоятельно, либо заказывай платно.
P. S. Первая способность делается без триггеров из ножа варденки, где обнуляешь урон и устанавливаешь нужное время и количество урона яду. Вторая способность вообще не понимаю зачем, ослабляешь не вражеских юнитов, а своих.
2
26
5 лет назад
2
так же напоминаю о существовании этого ресурса для желающих
0
2
5 лет назад
0

Заказ

Название: "Когти Ярости"
Метод: GUI
MUI: Не обязательно
Цель: Сам юнит
Количество уровней: 7
Описание: 2 Режима с двумя иконками
Активка
Шанс на наносимый урон увеличивается на 12%, наносимый урон удваивается (т.е. процент урона от Ловкости), а так же скорость боя повышается, на 15/20/25/30/35/40/45%.
Пассивка
При каждой атаке героя, есть 8% шанс, нанести 0.6/0.8/1/1.2/1.4/1.6/1.8хЛовкость ед.урона, а так же, восстановить 15/20/25/30/35/40/45 ед.здоровья.
" Я так понял, это можно сделать через дефолт абилку "Неуязвимость" Утера?
В пассиве дать абилку с иконкой на расположение 0 и -11, а на активку увеличивать стату абилки?
Я на самом деле так и не понял как сделать ((
Технические характеристики: Время действия: 8/8/8/9/9/9/10 сек.
Перезарядка: 34 сек.
Загруженные файлы
1
21
5 лет назад
1
Frozen1338, какая неуязвимость? через жар преисподней делай
0
1
5 лет назад
0
сколько будет стоить наработка 3d + управление стрелками+атака на кнопку без наведения?
0
23
5 лет назад
0
наработка 3d
Смотря что вы вкладываете в это понятие?
0
26
5 лет назад
0
sloterok, вообще тема платных заказов вот: xgm.guru/p/blog-hatsumehate/218684, а тут управление стрелками с мапса: wc3-maps.ru/load/0-0-0-6807-20
4
28
5 лет назад
Отредактирован Roy Mustang
4
Добрый день всем, нужна помощь с одним спеллом.

Заказ

Название : Коконы
Метод : желательно GUI (но можно и на Jass если переменные будут на gui )
Тип : Способность
Уровни : 1
Описание : Паук выкидывает коконы(со своей точки они летят по траектории пока не достигнут земли как на скрине) из коконов после 10 секунды должны выйти по 1-2 паучку но если коконы уничтожат за 10 секунд то из них ни кто не выйдет. - (приложил карту с моделями и коконом)
(желательно дать мне возможность настраивать)
Карта с коконом
- Количество коконов
- Количество паучков которые из них выйдут
- Время через которое паучки выйдут из кокона
- Расстояние на которые будут разбросаны коконы
Загруженные файлы
0
13
5 лет назад
0
  1. Мега Удар
  2. GUI
  3. Не особо понял что это, но предположим да
  4. Все ВИДИМЫЕ враги на карте
  5. 3
  6. При применении наносится X(урон зависит от уровня спелла) урона всем ВИДИМЫМ врагам на карте. Также рядом с тем на кого подействовал скилл появляется огненный эффект (любой).
  7. Первый уровень: Стоимость маны: 80. Перезарядка: 30 секунд. Урона наносит 120. Анимация: Spell Throw
Второй уровень: разница лишь в уроне и стоимости, урон 150, стоит маны 100
Третий уровень: также разница только в уроне и стоимости, урон 180, стоит маны 120
4
22
5 лет назад
Отредактирован Zahanc
4
// globals
//    integer array udg_cocoonSpawnUnitTypeId
//    integer array udg_cocoonSpawnsQuantity
//    integer array udg_cocoonUnitTypeId
//    integer cocoonsQuantity = 0
//    player array udg_cocoonOwner
//    real array udg_cocoonHatchDelay
//    real array udg_cocoonOriginX
//    real array udg_cocoonOriginY
//    real array udg_cocoonTargetY
//    real array udg_cocoonTragetX
//    real array udg_cocoonVectorX
//    real array udg_cocoonVectorY
//    unit array udg_cocoon
//    unit array udg_cocoonMissile
//    timer udg_cocoonsTimer
// endglobals

function CocoonTimerCallback takes nothing returns nothing
    local integer i = 0
    local integer j = 0
    local player owner = null
    local real distanceCovered = 0.0
    local real distanceTotal = 0.0
    local real distanceRemaining = 0.0
    local timer t = GetExpiredTimer()
    local real timeout = TimerGetTimeout(t)
    local real x = 0.0
    local real x0 = 0.0
    local real x1 = 0.0
    local real y = 0.0
    local real y0 = 0.0
    local real y1 = 0.0
    local unit missile = null
    local unit spawn = null
    local unit u = null
    local real z = 0.0

    if udg_cocoonsQuantity <= 0 then
        set t = null
	call DestroyTimer(t)
    endif

    loop
        exitwhen i >= udg_cocoonsQuantity
	if IsUnitDeadBJ(udg_cocoon[i]) and null == udg_cocoonMissile[i] then
	    set udg_cocoonsQuantity = udg_cocoonsQuantity - 1

            set udg_cocoonSpawnUnitTypeId[i] = udg_cocoonSpawnUnitTypeId[udg_cocoonsQuantity] 
	    set udg_cocoonSpawnsQuantity[i] = udg_cocoonSpawnsQuantity[i]
            set udg_cocoonUnitTypeId[i] = udg_cocoonUnitTypeId[udg_cocoonsQuantity] 
            set udg_cocoonOwner[i] = udg_cocoonOwner[udg_cocoonsQuantity] 
            set udg_cocoonHatchDelay[i] = udg_cocoonHatchDelay[udg_cocoonsQuantity] 
            set udg_cocoonOriginX[i] = udg_cocoonOriginX[udg_cocoonsQuantity] 
            set udg_cocoonOriginY[i] = udg_cocoonOriginY[udg_cocoonsQuantity] 
            set udg_cocoonTargetX[i] = udg_cocoonTargetX[udg_cocoonsQuantity] 
            set udg_cocoonTargetY[i] = udg_cocoonTargetY[udg_cocoonsQuantity] 
            set udg_cocoonVectorX[i] = udg_cocoonVectorX[udg_cocoonsQuantity] 
            set udg_cocoonVectorY[i] = udg_cocoonVectorY[udg_cocoonsQuantity] 
	    set udg_cocoon[i] = udg_cocoon[udg_cocoonsQuantity] 
            set udg_cocoonMissile[i] = udg_cocoonMissile[udg_cocoonsQuantity] 
 
            set udg_cocoonSpawnUnitTypeId[udg_cocoonsQuantity] = 0 
	    set udg_cocoonSpawnsQuantity[udg_cocoonsQuantity] = 0
            set udg_cocoonUnitTypeId[udg_cocoonsQuantity] = 0 
            set udg_cocoonOwner[udg_cocoonsQuantity] = null 
            set udg_cocoonHatchDelay[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonOriginX[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonOriginY[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonTargetX[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonTargetY[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonVectorX[udg_cocoonsQuantity] = 0.0 
            set udg_cocoonVectorY[udg_cocoonsQuantity] = 0.0 
	    set udg_cocoon[udg_cocoonsQuantity] = null 
            set udg_cocoonMissile[udg_cocoonsQuantity] = null 
	endif 

        set u = udg_cocoon[i]
	set missile = udg_cocoonMissile[i]
	if missile != null then
	    set x0 = udg_cocoonOriginX[i]
	    set y0 = udg_cocoonOriginY[i]
	    set x1 = udg_cocoonTargetX[i]
	    set y1 = udg_cocoonTargetY[i]

	    call SetUnitPosition(missile, GetUnitX(missile) + udg_cocoonVectorX[i]*timeout, GetUnitY(missile) + udg_cocoonVectorY[i]*timeout)
	    set x = GetUnitX(missile)
	    set y = GetUnitY(missile)
	    set distanceTotal = SquareRoot((x1 - x0)*(x1 - x0) + (y1 - y0)*(y1 - y0))
	    set distanceRemaining = SquareRoot((x1 - x)*(x1 - x) + (y1 - y)*(y1 - y)) 
            set distanceCovered = SquareRoot((x - x0)*(x - x0) + (y - y0)*(y - y0))
	    set z = 4*128.0/distanceTotal*distanceRemaining*(distanceCovered/distanceTotal)
	    call SetUnitFlyHeight(missile, z, 0.0)
	    if distanceRemaining <= 64.0 then
	        call RemoveUnit(missile)
		set udg_cocoon[i] = CreateUnit(udg_cocoonOwner[i], udg_cocoonUnitTypeId[i], x1, y1, 225.0)
		set u = udg_cocoon[i]
		call SetUnitUseFood(u, false)
                call UnitAddType(u, UNIT_TYPE_SUMMONED)
                call SetUnitExploded(u, true)
		call PauseUnit(u, true)
	    endif
	endif
       
	if u != null then
            set udg_cocoonHatchDelay[i] = udg_cocoonHatchDelay[i] - timeout
	endif
	if udg_cocoonHatchDelay[i] <= 0.0 and IsUnitAliveBJ(u) then
            set x1 = udg_cocoonTargetX[i]
	    set y1 = udg_cocoonTargetY[i] 
	    call KillUnit(u)
	    set j = 0
	    loop
	        exitwhen j >= udg_cocoonSpawnsQuantity[i]
		set spawn = CreateUnit(udg_cocoonOwner[i], udg_cocoonSpawnUnitTypeId[i], x1, y1, 225.0)
		call SetUnitUseFood(spawn, false)
                call UnitAddType(spawn, UNIT_TYPE_SUMMONED)
                call SetUnitExploded(spawn, true)
		set j = j + 1
            endloop
	endif
	set i = i + 1
    endloop

    set owner = null
    set t = null
    set missile = null
    set spawn = null
    set u = null
endfunction

function CreateSpellEffectCocoon takes unit c, integer cocoon, integer cq, integer spiderling, integer sq, real delay, real x1, real y1, real r returns nothing
    local integer cocoonsQuantity = IMinBJ(IMaxBJ(cq, 1), IMinBJ(128, JASS_MAX_ARRAY_SIZE - udg_cocoonsQuantity - 1))
    local integer i = 0
    local integer j = 0
    local integer spiderlingsQuantity = IMinBJ(IMaxBJ(sq, 1), 64)
    local player p = GetOwningPlayer(c)
    local real hatchDelay = RMaxBJ(1.0, delay)
    local real radius = RMaxBJ(r, 32.0)
    local real x0 = GetUnitX(c)
    local real y0 = GetUnitY(c)
    local unit u = null

    loop
        exitwhen j >= cocoonsQuantity 
	set u = CreateUnit(p, cocoon, x0, y0, bj_UNIT_FACING)
	call SetUnitUseFood(u, false)
	call UnitAddAbility(u, 'Aloc')
	call UnitAddAbility(u, 'Amrf')
	call SetUnitInvulnerable(u, true)
	call SetUnitX(u, x0)
	call SetUnitY(u, y0)
	call PauseUnit(u, true)

	set i = udg_cocoonsQuantity
	set udg_cocoonSpawnUnitTypeId[i] = spiderling
	set udg_cocoonSpawnsQuantity[i] = spiderlingsQuantity
        set udg_cocoonUnitTypeId[i] = cocoon
        set udg_cocoonOwner[i] = p
        set udg_cocoonHatchDelay[i] = hatchDelay
        set udg_cocoonOriginX[i] = x0
        set udg_cocoonOriginY[i] = y0
        set udg_cocoonTargetX[i] = x1 + radius*Cos(I2R(i)*(360.0/I2R(cocoonsQuantity)*bj_DEGTORAD))
        set udg_cocoonTargetY[i] = y1 + radius*Sin(I2R(i)*(360.0/I2R(cocoonsQuantity)*bj_DEGTORAD)) 
        set udg_cocoonVectorX[i] = (udg_cocoonTargetX[i] - x0)/radius*1100.0
        set udg_cocoonVectorY[i] = (udg_cocoonTargetY[i] - y0)/radius*1100.0
        set udg_cocoon[i] = null
        set udg_cocoonMissile[i] = u
	set udg_cocoonsQuantity = udg_cocoonsQuantity + 1
	set j = j + 1
    endloop
   
    if null == udg_cocoonsTimer or 0 == TimerGetTimeout(udg_cocoonsTimer) then
        set udg_cocoonsTimer = CreateTimer() 
        call TimerStart(udg_cocoonsTimer, 0.05, true, function CocoonTimerCallback)
    endif

    set p = null
    set u = null
endfunction

function CreateSpellEffectCocoonDefault takes unit caster returns nothing
    call CreateSpellEffectCocoon(caster, udg_COCOON_UNITTYPEID, udg_COCOON_QUANTITY, udg_COCOON_SPAWN_UNITTYPEID, udg_COCOON_SPAWN_QUANTITY, udg_COCOON_DELAY, GetUnitX(caster), GetUnitY(caster), udg_COCOON_OFFSET)
endfunction
Настраивается с помощью аргументов к функции, а не глобалок. В карте которую прикрепляю есть пример. Это позволяет иметь разные конфигурации заклинания в одной карте. Например, разные цвета коконов или разные по силе паучки, в зависимости от паучихи.
Как импортировать. Включите копирование глобальных переменных в редакторе. Скопируйте триггер. Удостоверьтесь что все глобальные переменные последовали. Скопируйте скрипт JASS в скрипт карты (корень дерева триггеров). Настройка производится либо передачей аргументов "вручную", либо изменением глобальных переменных, которые начинаются с "COCOON_...". Все что начинаются с малых литер должны оставаться неприкасаемыми.
COCOON_DELAY - задержка перед появлением паучков, секунд.
COCOON_OFFSET - растояние от паучихи до кокона.
COCOON_QUANTITY - количество коконов за применение способности.
COCOON_SPAWN_QUANTITY - количество паучков.
COCOON_SPAWN_UNITTYPEID - тип юнита паучка.
COCOON_UNITTYPEID - тип юнита кокона.
Если у кого проблемы с этой версией заклинания, вот ещё одна для русской 1.26а.
Загруженные файлы
3
26
5 лет назад
3

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

Заказчик: Esea
Способность: Мега Удар
Выполнено: Да

Копируй из карты в свою способность и триггер, после чего давай способность своему герою. Как и полагается, не работает на неуязвимых к магии.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.