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

Правила темы

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

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

Необходимо, используя форму составить сообщение в данной теме, где указать:
  • Желаемое название заказа
  • Желаемый метод исполнения (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 комментария удалено
11
  • Система вейв-лоад для рпг
  • Jass/memhack 1.26 любой доступный вариант, работающий на ванильной версии игры
  • Муи (несколько игроков в мультиплеере)
  • Хочу систему сохранений с большим кол-вом разных переменных.
Т.е. чтобы в нее можно произвольно добавлять разные переменные, и они сохранялись.
  1. Система должна работать через создание и чтение файла на пк
  2. С минимальным шифрованием (чтобы элементальное открытие в блокноте не позволяло редактировать сейв).
  3. Должно поддердиваться несколько "слотов" сохранения у игрока. Т.е игрок нажимает "сохранить", у него есть 3 (настраиваемое колво) слота сейвов (имя сохранений так же настраиваемое через переменные"
  4. Сохранение и добавление для сохранений произвольное колво переменных разных типов
Например, я сохраняю игру, значения переменных
hero[1] = 'Кека'
gold[1] = 3228
exp[1] = 3199,648
quest_243_state[1] = true
сохраняются в файле. (1 - id игрока)
После загрузки игры, переменные выставляются в эти значения.
Что делать с этими данными я разберусь сам, нужен именно синк переменных между сессиями.
  1. При старте карты 3 варианта:
Новая игра - (тут любая заглушка, сценарий под нее сделаю сам)
Продолжить - загрузить ласт сейв
Загрузить - показать список сейвов.
При нажатии сейва (произвольное действие, подстрою сам)
Показывает слоты сохранений, которые есть. Если указывать уже занятый слот, то переписывать его
  1. Должен быть понятный механизм добавления новых данных для сохранения
Вроде ничего не забыл, если не учел чего-то, по пути готов ответиьь на вопросы. Если уровень пота запределеный, то можно кнопочки лупануть на фреймах
Готов донат 3 тыс, больше на свое усмотрение
8

Заказ

Название: монетизация
Метод: GUI или Jass
версия варика: 1.26
MUI: Обязательно!!!
Цели: Прочее
Количество уровней: 1
Описание: Это исследование, которое дает тому кто его исследовал возможность зарабатывать с нейтральных крипов дополнительное золото.
Технические характеристики: Задумка такая. Сделать исследование которое будет давать за каждое убийство нейтрального врага дополнительное золото.
Пример:
  1. Герой убивает мурлока = получает 20 золота.
  2. Проводите исследование, и идет бить мурлока.
  3. После исследования получает за убитого мурлока 20+ 10. ед. золота. (например прирост 50% или фиксировано 10 голды, или процент от стоимости нейтрала, как угодно).
Важно: Версия варика 1.26. Бонус к золоту только за убийство нейтральных монстров. Прошу помощи =(
8
Заказ выполнен
Спасибо работягам с сайта, допилил сам по чертежам konvan5.
мб кому пригодиться, линк на карту ниже.
Загруженные файлы
1
Название: Psi Blades
Метод: GUI/MUI
MUI: Обязательно
Цели: Подразделение
Описание: Пси-удары тамплиера-ассасина наносят урон целевому юниту, разделяя и повреждая вражеских юнитов прямо за ним, получая при этом дополнительную дальность атаки.
Характеристики: Это способность TA в DotA, атаки TA происходят в зависимости от угла, под которым он атакует.
2
Заказ на работу
Название: Алый поход
Метод: GUI
MUI: Обязательно
Версия варкрафта: 1.26
Цели: Подразделение
Описание: Призыв отправиться в Алый поход. Особый режим, в котором армия получает 1% урона в секунду в обмен на увеличение скорости атаки и передвижения. Эффект усиливается по мере того, как дольше способность остается активной.
Уровень 1 (0 сек): Не влияет
Уровень 2 (>0 сек): +10% скорости атаки, +10% скорости передвижения
Уровень 3 (≥15 сек): +20% скорости атаки, +20% скорости передвижения
Уровень 4 (≥30 сек): +30% скорости атаки, +30% скорости передвижения
Уровень 5 (≥45 сек): +40% скорости атаки, +40% скорости передвижения
Уровень 6 (≥60 сек): +50% скорости атаки, +50% скорости передвижения
Не влияет на рабочих или механические юниты.
8
Заказ на работу
Название: пожирание
Метод: GUI или Jass
версия варика: 1.26 (классика)
MUI: Обязательно!!!
Цели: Враги
Количество уровней: 1
Описание: Это пассивная способность. Изучая ее, герой за каждого убитого вражеского воина получает +1 к текущему значению здоровья (навсегда).
Пример: паладин имеет 500 здоровья, убивая одного врага его здоровье становится 501 ед.
убивая 50 врагов, его здоровье становится 550 и так далее.
при смерти героя значение здоровья сохраняется.
5
Заказ выполнен
Особых пояснений не будет:
Создаём любую пустышку способность с описанием способности.
Копируем способность-усилитель 'A001' из окна Object Editor (F6). Основа способности 'AIlf' с 2 уровнями.
Копируем папку "Skill" из окна Trigger Editor (F4).
В триггере "DevourInitVariables" устанавливаем значения для пустышки и для усилителя.
Добавляем герою способность.
Помогаем в отрицании мира Warcraft любому кроме зданий и механике - получаем +1 к максимальному здоровью.
Карта ТЫК
Загруженные файлы
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 на появление юнита на карте.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.