Привет. Воспользуйся функцией "Написать менеджеру" или кнопку [!] или обратись напрямую к любому админу или менеджеру и перечисли что хочешь удалить.
Если необходимо удалить проект - обращайся напрямую к админу. Менеджеры не могут удалять проекты которые уже прошли публикацию. Если необходимо удалить ресурс - достаточно обратиться к менеджеру.
Разворошили... Я имел в виду что нет смысла учить Jass с целью использовать custom script-вставки чтоб все было на GUI(триггерах) и не страшно. До сих пор считаю что затея тупейшая.
Bergi_Bear, я бы совмещал геометрический центр формации с точкой отдачи приказа. Дальше бы узнавал средний угол от выделенных игроком юнитов к точке отдачи приказа и разворачивал формацию соответственно. Сама формация - двумерный массив интов (сетка?), где 0 означает что ячейка пуста, 1 что ее может занять юнит. При отдаче приказа узнается ближайший к центру ячейки выбранный игроком юнит и получает приказ двигаться к центру ячейки, удерживать позицию.
Но там много кейсов надо продумать и мне лень писать. Хорошо что вы есть.
Невозможно сделать так чтоб способность "Волна Силы" выпускала 3 волны, но можно сделать так чтоб это выглядело так будто она это делает. Тут у тебя имеется три концептуально разные способа:
Первый
способность-пустышка у героя
способность с уроном у дамми-юнита
Перезарядка способности: 0
Стоимость маны: 0
откалиброванный дамми-юнит
Art - Animation - Cast Backswing (Обратный бросок)
Art - Animation - Cast Point (Точка каста)
Одного такого юнита достаточно чтоб обслужить все не-channelled триггерные способности
при касте героем способности-пустышки приказывать дамми-юниту запускать способность в нужных направлениях (юнит с такими настройками способен мгновенно кастовать несколько способностей).
задать направление применения способности даммиком:
периодический таймер с низким периодом, регулярно проверяющий нет ли соответствующих указанным тобой условиям юнитов вокруг любого их твоих дамми-юнитов. Если есть - наносить урон и заносить в группу (чтоб при слудующем тике таймера не продамажить повторно).
Двигать даммиков в направлении поворота или под нужным углом относительно точки каста
Удалить экземпляр структуры/очистить хеш-таблицу спустя расстояние/скорость секунд
Убить даммиков. Удаление даммиков из игры оставить на отдельную систему.
???
PROFIT (Надеюсь, ничего не пропустил)
Третий
То же самое что с даммиками, только с эффектами и без структур
О синхронизации описаний дамми-абилок, о том что добавлять способности даммику и повышать уровни способности (даже не-геройской) можно триггерно перед самим кастом и о многом другом пока умолчу.
Если хочешь сделать сам и в ближайшее время - рекомендую первый способ и учебник по алгебре, раздел тригонометрия (если испытываешь трудности). Но в любом случае придется пройтись по статьям, так как на триггерной оболочке ты это напишешь не раньше чем изучишь внутренности. А когда изучишь - предпочтешь скрипт оболочке.
Максим7, возможно. Но нужно уметь использовать скриптовый язык (Jass). Технически, это осуществимо и через триггерную оболочку, но для этого необходимо ознакомится с локальными переменными, массивами и хеш-таблицами.
Не рекомендую пытаться реализовать это через триггерную оболочку, так как уже посередине с трудом будешь понимать что у тебя происходит в триггерах. Лучше пройдись по статьям на сайте и делай это человеческим способом.
Да и вообще не существует такого события "юнит входит в облать"
это всего лишь конвертация области в регион и запись события на вход в регион
Полагаю, его интересует не содержит ли область сведений о юнитах внутри. Это стоит спросить у тех кто видел исходники. На Хайве несколько ребят работают на близзов. Я бы спросил там.
Но если я не ошибся, то вопрос бессмысленный т.к. даже если ответ положительный, у нас нет доступа.
считаешь количество юнитов, соответствующих твоим условиям
устанавливаешь уровень абилки обладателю ауры, равный получившемуся значению
пример
//Это скорее псевдокод, т.к. с Jass'ом я давно не игрался
globals
unit enumUnit
endglobals
function groupSize takes group passedGroup returns integer
local integer size = 0
local group dummyGroup = passedGroup
loop
set enumUnit = FirstOfGroup(dummyGroup)
exitwhen enumUnit == null
set size += 1
call GroupRemoveUnit(dummyGroup, enumUnit)
endloop
return size
endfunction
function adjustAbilityLevel takes unit target, integer abilId, code filterFunc returns nothing
local group spellUnits = CreateGroup()
call GroupEnumUnitsInRange(spellUnits, GetUnitX(target), GetUnitY(target), filterFunc)
call SetUnitAbilityLevel(target, abilId, groupSize(spellUnits))
endfunction
Это не область видимости. Прежде чем вызывать функцию, ее нужно декларировать (объявить?). Автор доставляет. Даже кажется что он надеется самостоятельно понять как работать с Jass. И это не хорошо. Незачем самостоятельно идти по полю, усеянному граблями, когда под рукой у тебя комьюнити и возможность получить инсайд о лучших практиках в почти любом вопросе. Времени не жалко?
Frzctions, вижу. Но опять же, я уверен что ты пытаешься решить проблему способом который тебе кажется подходящим, но в действительности может не являться оптимальным решением. Рекомендую описать что ты хочешь сделать.
Что касается перенесения (записи) чего-либо в локальную переменную - тебе нужно объявить переменную в начале функции и записать в нее ссылку объект-участник события. Если тебе необходимо спустя какое-то время* выполнить какие-то действия над объектом, который ты записал в переменную, необходимо воспользоватся связкой (таймер + хеш-таблица).
Лучше не кидай конвертированные триггеры, так как это нечитаемо. Из-за длинных, замусоренных, названий приходится долго разбирать что что запускает. Куда дольше чем я (как и многие другие) могут себе позволить.
Локальная переменная - ссылка на игровой объект, доступная только внутри функции. Как вариант в конце функции возвращать ее значение (returns yourType). Дальше использовать эту функцию в качестве принимаемого аргумента другой функции, а другую - в третьей. Но это как минимум странный подход.
Лучше опиши задачу, которую ты пытаешься решить, а мы подскажем наиболее оптимальное решение.
pusha1999, хочешь сказать что с соответствующими проверками (флаги + расстояние от точки каста), ближайший юнит найденный триггером не равняется ближайшему юниту, которого находит спелл? Ты точно умеешь определять ближайшего юнита?
Bergi_Bear, PT153, мдэ, до такого я бы не додумался. Проверял только исходник карты после того как менял тестовые триггеры местами и сохранял карту. Не хочу даже спрашивать как вы это обнаружили
Порядок инициализации триггеров определяется порядком в котором они были созданы и не меняется, сколько их не перетаскивай. Это можно обойти используя библиотеки или перезаписав скрип карты напрямую.
Ред. ScorpioT1000
» Администрация XGM / Как удалить свой ресурс.
А если аккаунт - к Богу» WarCraft 3 / Способности героя "Волна силы"
» WarCraft 3 / Создание формации
» WarCraft 3 / Создание формации
» WarCraft 3 / Помогите с системой формации
» WarCraft 3 / Создание формации
Ред. Raised
» WarCraft 3 / Способности героя "Волна силы"
Первый
Второй
Третий
Ред. Raised
» WarCraft 3 / Создание формации
» WarCraft 3 / Область утечки
» WarCraft 3 / Область утечки
Ред. Raised
» WarCraft 3 / Доспехи веры, зависящие от кол-ва юнитов вокруг ауроносца
Ред. Raised
» WarCraft 3 / Передача локальной переменной
» WarCraft 3 / Передача локальной переменной
» WarCraft 3 / Передача локальной переменной
Ред. Raised
» WarCraft 3 / Передача локальной переменной
» WarCraft 3 / Передача локальной переменной
» WarCraft 3 / Передача локальной переменной
» WarCraft 3 / wait течет или капает?
PT153:
» WarCraft 3 / wait течет или капает?
» Мир безумного / Лохотрон в сети | Rage of Hero
Ред. Raised
» WarCraft 3 / Юнит цель стандартной телепортации
» WarCraft 3 / Юнит цель стандартной телепортации
» WarCraft 3 / Порядок инициализации
Ред. Raised
» WarCraft 3 / Порядок инициализации
Ред. Raised
» WarCraft 3 / Патч 1.31, скоро?