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

Правила темы

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

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

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заклинания
  • Желаемый метод исполнения (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
1
5 лет назад
Отредактирован Zikok247
0
NazarPunk:
Я немного не знаю как его добавить в формулу
0
22
5 лет назад
0
NazarPunk:
За каждый 1% потерянного здоровья надо регенить вот столько 0.01*AbilityLvl*str
Шо не так
2
28
5 лет назад
2
NazarPunk, а что не понятно. Реген равен (0.01 * AbilityLvl * Strength * (1 - PercentHP / 100))
0
29
5 лет назад
0
1 - PercentHP
Отрицательный реген?
Zikok247:
Я немного не знаю как его добавить в формулу
А зачем тогда заказываете, если даже ТЗ описать не можете?
0
28
5 лет назад
0
Реген равен (0.01 * AbilityLvl * Strength * (1 - PercentHP / 100))
(0.01 * AbilityLvl * Strength * (100 - PercentHP)).
NazarPunk, он адекватно описал ТЗ, а так как сам не умеет, то и пишет тут.
0
1
5 лет назад
Отредактирован Zikok247
0
А зачем тогда заказываете, если даже ТЗ описать не можете?
Думал что и так понятно, но вроде формула готова:
(0.01*AbilityLvL*str*(100-PercentHP)
Под PercentHP я подразумеваю процент хп на данный момент.
0
29
5 лет назад
0
Даже MUI получилось
//! beginusercode
do
    -- На момент патча 1.31 эта функция всегда возвращает 0. Поэтому создадим её локальный аналог.
    local function AbilityId(id)
        return id:byte(1) * 0x1000000 + id:byte(2) * 0x10000 + id:byte(3) * 0x100 + id:byte(4)
    end

    -- Настройки
    local ABILITY_ID = AbilityId('AEev')

    -- Код
    local trigger = CreateTrigger()
    for i = 0, bj_MAX_PLAYER_SLOTS - 1, 1 do
        TriggerRegisterPlayerUnitEvent(trigger, Player(i), EVENT_PLAYER_HERO_SKILL)
    end
    TriggerAddAction(trigger, function()
        local caster = GetTriggerUnit()
        TimerStart(CreateTimer(), 1, true, function()
            if 
                not UnitAlive(caster)
                or
                BlzGetUnitMaxHP(caster) == GetWidgetLife(caster)
            then return end
            local hp = 0.01 * GetUnitAbilityLevel(caster, ABILITY_ID) * GetHeroStr(caster, true) * (100 - GetWidgetLife(caster)/BlzGetUnitMaxHP(caster)*100)
            SetWidgetLife(caster, GetWidgetLife(caster) + hp)
        end)
    end)
end
//! endusercode
Сделал из Змеиной ловкости.
Загруженные файлы
0
1
5 лет назад
0
NazarPunk:
У меня не открывается в редакторе это. Пишет "Сведения об уровнях отсутствуют или неверны"
0
29
5 лет назад
0
У меня не открывается в редакторе это
Это версия 1.31
0
22
5 лет назад
Отредактирован PROSHELDOTU
0
Zikok247:
NazarPunk:
У меня не открывается в редакторе это. Пишет "Сведения об уровнях отсутствуют или неверны"
Нужна версия 1.31+ и отключить джасс хелпер
PT153:
NazarPunk, а что не понятно. Реген равен (0.01 * AbilityLvl * Strength * (1 - PercentHP / 100))
NazarPunk:
Отрицательный реген?
(0.01 * AbilityLvl * Strength * (100 - PercentHP))
0
1
5 лет назад
Отредактирован Zikok247
0
NazarPunk:
Вот блин, я на 1.26. Как мне быть тогда?
Proshel_Doty:
0.01 * AbilityLvl * Strength * (100 - PercentHP)
100 - PercentHP больше или равно нулю ибо проценты или равны 100 или меньше сотни. Так что это положительный реген
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.