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

Правила темы

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

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

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
3 комментария удалено
10
Заказ на работу
Название: Железный крюк
версия:2.01
Цель: враги
Кол.во уровней:5
Описание: активная способность, попадая во врага наносит урон и притягивает. Чем больше уровень абилки, тем дальше летит крюк и больше урон. Дальность на первом уровне 900,дальше +по 100,урон 450,дальше +по 80.Если крюк не попал то он летит назад, если на обратном пути кто-то попадается то он притягивается.
В ответы напишите как самому поменять модель снаряда, выполняющего роль крюка.
1

Заказ

Название: Атака по левой кнопкой мыши и управления по wasd
Метод: GUI/Jass/cJass/vJass/lua/angelscript
MUI: Не обязательно
Цели: Прочее
Количество уровней: 0
Нужно чтоб было атака по левой кнопке мыши хочу чтоб было 5 типов оружия типо 5 предметов каждый из них разные 1 пистолет 2 дробаш 3 пулемет 4 ракетница 5 энерго ружье пусть стрелает даже в землю если зажать то безперерыва нужно атаковать и управления wasd я не очень шарю за jass и тд мне только стрельбу и пару мельких тригеров нужно а так самый сложные это стрельба
Этот комментарий удален
10
Brutal_bbk,эмм...на прошлой странице70 проц. заказав сделано.
16
Пчела, их делал один человек преимущественно и если ты посмотришь его профиль, увидишь, что он не заходил уже 4 месяца. Боюсь, что с ним произошло что-то не хорошее, учитывая какая страна указана у него в профиле. Обстановка там, как всем известно, сейчас очень и очень трудная...
17
Meddin, он мне спелл там делал... Пока не сделает ничо не случится с ним!!!
16
LastUchiha, Дай то бог, я ж только за был бы. Надеюсь, что живой. Он хороший, добрый и отзывчивый человек, я к нему иногда обращался за советами, он никогда не отказывал в помощи и ничего не просил взамен, кроме плюсов...
28
LastUchiha, я сделаль, теперь со мной может что-то случиться?
38
Последние новости!
Теперь можно ставить новые типы комментариев: "подать заявку", "заявка принята" и "выполнение принято"
2
Заказ на работу
Название: Мощь Солнца
Метод: GUI или Jass (любой)
Версия варкрафта: 1.26
MUI: обязательно
Цель: сам юнит-владелец способности
Кол-во уровней: 1
Описание: Во время дня ( светового дня, не ночи, а именно дня) владелец пассивной способности получает бафф, увеличивающий урон от атак и восстановление здоровья. Во время ночи способность не работает,и владелец не имеет баффа.
Характеристики: днем урон от атак увеличивается на 30%, а восстановление здоровья на 35%.
Вторая способность:
Название: Сила Ночи
Метод: GUI или Jass (любой удобный)
Версия варкрафта: 1.26
MUI: обязательно
Цель: сам юнит-владелец способности
Кол-во уровней: 1
Описания: Во время ночи (именно ночи, не светового дня) владелец пассивной способности получает бафф, увеличивающий скорость атаки и скорость передвижения. Днем способность не работает.
Характеристики: ночью скорость атаки увеличивается на 25%,а скорость передвижения на 30%.
8
WourldEdit, сравни время если день (12.00) тогда сетай ему дамаг - базовый урон * 30, тоже самое и с хп регеном, базовый хп реген * 35
Такое же и с пассивкой ночьи
4
Panda_95, Гениальная подсказка, а ты в курсе что это топик называется * Способности и алгоритмы на заказ* человек заказал готовый спел, а не подсказку (он может совсем не разбирается в создании спелов)
10
WourldEdit,
Для реализации этих способностей на патче 1.26 с полной поддержкой MUI (многократное применение разными юнитами одновременно) лучше всего использовать Jass (скрипты). GUI (триггеры) в Варкрафте не умеют динамически добавлять/удалять конкретные числовые характеристики без утечек или сложных громоздких систем, а Jass-код через встроенные баффы предметов решит задачу элегантно и без лагов.Ниже представлено готовое решение, использующее скрытые способности-пустышки.Подготовка в Редакторе Объектов (Object Editor)Вам нужно создать базовые пассивные способности (иконки для героя) и скрытые способности, которые будут давать реальные бонусы.1. Способность «Мощь Солнца»Способность-иконка: Создайте пассивную способность на основе «Инженерная модернизация» (Engineering Upgrade) или «Аура меткости» (без радиуса). Назовите её Мощь Солнца. Она нужна только для отображения в панели героя.Скрытый бонус урона: Создайте способность на основе «Когти атаки» (Item Attack Damage Bonus). Установите бонус: 30% (или фиксированное значение, так как в 1.26 проценты от предметов могут считаться от базового урона).Скрытый бонус регенерации: Создайте способность на основе «Кольцо регенерации» (Item Hero Regeneration Bonus) или «Вызов фонтана здоровья». Установите бонус: 35% (или нужное значение).2. Способность «Сила Ночи»Способность-иконка: Создайте пассивную способность Сила Ночи для отображения у героя.Скрытый бонус скорости атаки: Создайте способность на основе «Перчатки скорости» (Item Attack Speed Bonus). Установите бонус: 0.25 (25%).Скрытый бонус скорости передвижения: Создайте способность на основе «Сапоги-скороходы» (Item Move Speed Bonus). Установите бонус: 30 (или 0.30 в зависимости от выбранной основы).⚠️ Важно: Запишите Raw ID (сырые коды) всех созданных способностей. Их можно увидеть в Редакторе объектов, нажав Ctrl + D. Они выглядят как A000, A001 и т.д.Jass-скрипт (Внедрение кода)Откройте редактор триггеров (F4).Создайте новый триггер, назовите его, например, DayNightSystems.Переведите его в текст: выберите меню Правка (Edit) -> Конвертировать в текст (Convert to Custom Text).Полностью замените всё содержимое кодом ниже.jassglobals
=== НАСТРОЙКА RAW ID СПОСОБНОСТЕЙ ===
Замените 'A000' и т.д. на ваши четырехзначные коды из Ctrl+D

Мощь Солнца
constant integer ABIL_SUN_ICON = 'A000' Иконка способности в панели
constant integer ABIL_SUN_DMG = 'A001' Скрытый урон
constant integer ABIL_SUN_REGEN = 'A002' Скрытый реген

Сила Ночи
constant integer ABIL_NIGHT_ICON = 'A003' Иконка способности в панели
constant integer ABIL_NIGHT_ASPD = 'A004' Скрытая скорость атаки
constant integer ABIL_NIGHT_MSPD = 'A005' Скрытая скорость бега

Группы для отслеживания юнитов
group SunUnits = CreateGroup()
group NightUnits = CreateGroup()
endglobals
Функция проверки: день сейчас или ночь
function IsDaytime takes nothing returns boolean
local real hour = GetFloatGameState(GAME_STATE_TIME_OF_DAY)
В Warcraft 3 день длится с 6:00 до 18:00
return (hour >= 6.00 and hour < 18.00)
endfunction
Фильтр для добавления юнитов в группы при изучении
function HistoryCheck takes nothing returns boolean
local unit u = GetLearningUnit()
local integer abil = GetLearnedSkill()

if abil == ABIL_SUN_ICON then
if not IsUnitInGroup(u, SunUnits) then
call GroupAddUnit(SunUnits, u)
endif
elseif abil == ABIL_NIGHT_ICON then
if not IsUnitInGroup(u, NightUnits) then
call GroupAddUnit(NightUnits, u)
endif
endif

set u = null
return false
endfunction
Периодическая проверка и раздача баффов (каждые 1.0 сек)
function UpdateDayNightBuffs takes nothing returns nothing
local unit u
local boolean isDay = IsDaytime()

Обработка Мощи Солнца
local group tempSun = CreateGroup()
call GroupAddGroup(SunUnits, tempSun)
loop
set u = FirstOfGroup(tempSun)
exitwhen u == null
call GroupRemoveUnit(tempSun, u)

Если юнит умер, удаляем его из глобального отслеживания
if GetUnitState(u, UNIT_STATE_LIFE) <= 0 or GetUnitAbilityLevel(u, ABIL_SUN_ICON) == 0 then
call GroupRemoveUnit(SunUnits, u)
else
if isDay then
Наступил день — включаем скрытые бонусы, если их еще нет
if GetUnitAbilityLevel(u, ABIL_SUN_DMG) == 0 then
call UnitAddAbility(u, ABIL_SUN_DMG)
call UnitMakeAbilityPermanent(u, true, ABIL_SUN_DMG)
call UnitAddAbility(u, ABIL_SUN_REGEN)
call UnitMakeAbilityPermanent(u, true, ABIL_SUN_REGEN)
endif
else
Наступила ночь — отключаем бонусы
if GetUnitAbilityLevel(u, ABIL_SUN_DMG) > 0 then
call UnitRemoveAbility(u, ABIL_SUN_DMG)
call UnitRemoveAbility(u, ABIL_SUN_REGEN)
endif
endif
endif
endloop

Обработка Силы Ночи
local group tempNight = CreateGroup()
call GroupAddGroup(NightUnits, tempNight)
loop
set u = FirstOfGroup(tempNight)
exitwhen u == null
call GroupRemoveUnit(tempNight, u)

if GetUnitState(u, UNIT_STATE_LIFE) <= 0 or GetUnitAbilityLevel(u, ABIL_NIGHT_ICON) == 0 then
call GroupRemoveUnit(NightUnits, u)
else
if not isDay then
Наступила ночь — включаем скрытые бонусы ночи
if GetUnitAbilityLevel(u, ABIL_NIGHT_ASPD) == 0 then
call UnitAddAbility(u, ABIL_NIGHT_ASPD)
call UnitMakeAbilityPermanent(u, true, ABIL_NIGHT_ASPD)
call UnitAddAbility(u, ABIL_NIGHT_MSPD)
call UnitMakeAbilityPermanent(u, true, ABIL_NIGHT_MSPD)
endif
else
Наступил день — отключаем бонусы ночи
if GetUnitAbilityLevel(u, ABIL_NIGHT_ASPD) > 0 then
call UnitRemoveAbility(u, ABIL_NIGHT_ASPD)
call UnitRemoveAbility(u, ABIL_NIGHT_MSPD)
endif
endif
endif
endloop

call DestroyGroup(tempSun)
call DestroyGroup(tempNight)
set u = null
endfunction
Инициализация триггеров
function InitTrig_DayNightSystems takes nothing returns nothing
local trigger tLearn = CreateTrigger()
local trigger tTimer = CreateTrigger()
local integer i = 0

Регистрируем событие изучения навыка для всех игроков
loop
exitwhen i > 15
call TriggerRegisterPlayerUnitEvent(tLearn, Player(i), EVENT_PLAYER_HERO_SKILL, null)
set i = i + 1
endloop
call TriggerAddCondition(tLearn, Condition(function HistoryCheck))

Таймер, обновляющий состояние каждую секунду игрового времени
call TriggerRegisterTimerEvent(tTimer, 1.00, true)
call TriggerAddAction(tTimer, function UpdateDayNightBuffs)
endfunction
Преимущества этого метода Полная MUI-совместимость: Код использует глобальные группы юнитов. Сколько бы героев на карте ни выучили эти способности, скрипт корректно обработает каждого индивидуально. Отсутствие утечек памяти (Leaks): Локальные группы внутри периодического таймера корректно уничтожаются (DestroyGroup), что гарантирует стабильную работу карты без падения FPS на патче 1.26.Надежность сохранения: Функция UnitMakeAbilityPermanent гарантирует, что скрытые бонусы не пропадут, если герой, например, залезет в дирижабль или воскреснет у алтаря. Если у вас обычные не копируемые воины (не герои) тоже должны иметь эту способность, дайте знать. Потребуется слегка изменить событие регистрации с EVENT_PLAYER_HERO_SKILL на появление юнита на карте.
5
Заказ на работу
Добрый день. Сделайте пожалуйста триггер, в котором воин заходит в середину здания (Пусть будет основана на способности гоблинского дирижабля) и пока он находится в середине здания, его регенерация здоровья увеличивается.
17
Daroro, тебе нужно 2 события, на вход / выход в регион и добавлять / забирать соответственно абилку на реген.
17
LastUchiha, на триггерах вроде были специальные события для подобных целей.
5
ы
К сожалению, как бы я это ни делал, но не получается. Он входит в здание, начинает регенерировать, все хорошо, но при выходе регенерация остается.
5
LastUchiha, К сожалению, этот триггер я удалил, поэтому не смогу вам его показать, так как я его не делал сам, а пытался скопировать с карты. Но у меня он почему-то не работает (хотя я внимательно все копировал).
17
Daroro, ну сделать я смогу только завтра, возможно кто-то другой поможет быстрее.
5
Daroro, Вот карта, с которой я пытался скопировать триггер способносты. Там у бандитов есть палатка (аналог фермы) и палатка использую способность, которую я описывал вам выше. Если возможно, то скопируйте триггер этой способности для меня.
Загруженные файлы
17
LastUchiha, на, вот затести там неуяз даётся правильно, если будут проблемы - пиши сюда же.
Загруженные файлы
5
LastUchiha, (не работает карта.) она на варкрафт 1.29, если что.
5
Скорее всего, вы меня неправильно поняли (или я такой тупой, что вам неправильно объяснил). Кароч, есть способность у дережаблей гоблинов, позволяющая перевозить юнитов. Так вот каким должен быть триггер, который мне нужен – когда юнит загружается в дережабель, то находясь в середине дережабля он должен получать способность, ускоряющую регенерацию здоровья (аура смерти, например). А уж когда он покидает дережабиль, то способность должна исчезать. Надеюсь я вам смог донести, о каком триггере я имею в виду.
17
Daroro, а понял, ты когда сказал "в середину здания" я и подумал что имеется ввиду регион какой нибудь.
17
Блин, знал бы я как отследить выгрузку юнита из транспорта...
17
Daroro, так ? Но тут проблема почему то не хочет работать с приказом "unloadall". А это значит если игрок захочет выгрузить через Выгрузить Всех то инвул останется ну в твоём случае реген.
Загруженные файлы
1
Daroro,
Если еще актуально забирайте >
Стандарт на GUI, так же сделал вариант на vJass включен по умолчанию настраивать можно по желанию
Загруженные файлы
2
Заказ на работу

Заказ

Название: Поступь великана
Метод: GUI/Jass
MUI: Обязательно
Цели: Область/Нет цели
Количество уровней: 1
Описание: Когда юнит ходит, всем наземным врагам рядом с ним (250 ед.) наносится урон (0,25 ед. урона за 1 пройденного пути)
10
Заказ на работу
Здраствуйте, умоляю, скиньте мне хук пуджа (в смысле способность),у меня любое нажатие в редакторе с открытой картой доты под угрозой вылета,и мне немного лень там копаться. Пожалуйста скиньте, буду очень благодарен. Если важно,на какую версию, на 2.0
8
Заказ на работу
Название: защита добычи
Метод: GUI/Jass
MUI: Обязательно
Цели: юнит
Количество уровней: 1
Описание: послушник начинает добывать золото, ему дается +5 к броне и 50% к защите от магии.
как только добыча золота на руднике заканчивается, этот бафф спадает.
хочу защитить послушников нежити на проклятом руднике, чтоб они не были такой уязвимой целью для врагов.
разумеется без утечек, например если послушника сьедят трансгумацией или он мгновенно умрет.
5
Заказ на работу
Название: "Всё куплено"
Метод: GUI
MUI: Необязательно.
Цели: Сам юнит.
Количество уровней: 1
Описание: Пассивка, которая позволяет герою тратить золото вместо маны при использовании активных способностей.
8
Vandread, условие какое должно быть? (если у героя недостаточно маны?)
5
Panda_95, Пассивка либо лишает героя маны, либо запрещает ею пользоваться, и вместо этого позволяет тратить золото на способности, как ману. Причём стандарное золото, которое добывается стандартными способами.
8
Vandread, Как то так:
```function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
call SetUnitCurrentMana( Твой Юнит, I2R( GetPlayerState( GetOwningPlayer( Твой Юнит ), PLAYER_STATE_RESOURCE_GOLD ) ) )
endfunction
===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
set gg_trg_Untitled_Trigger_001 = CreateTrigger( )
call TriggerRegisterPlayerStateEvent( gg_trg_Untitled_Trigger_001, Player(0), PLAYER_STATE_RESOURCE_GOLD, GREATER_THAN, GetUnitStateSwap(UNIT_STATE_MANA, Твой Юнит ) )
call TriggerRegisterPlayerStateEvent( gg_trg_Untitled_Trigger_001, Player(0), PLAYER_STATE_RESOURCE_GOLD, LESS_THAN, GetUnitStateSwap(UNIT_STATE_MANA, Твой Юнит ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_001, function Trig_Untitled_Trigger_001_Actions )
endfunction```
2
Panda_95, Просили так-то на гуй реализацию... И твоё чудо работать не будет!
28
Просили так-то на гуй реализацию
Так GetUnitStateSwap в коде палит, что это конвертированный гуи триггер.
8
DiZzicH, на гуи не нащел GetPlayerState, да и воопще зачем гуи вам? хотите делать карту изучите Jass
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.