0
7
3 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Нагрузка на карту

Если хочешь сделать увеличение/уменьшение регена маны, сделай невидимого даммика игрока, которая повышает/понижает реген через глобальну. ауру.
Допустим взять Brilliance Aura с нужным коэффициентом. То есть сделать её 100-уровневой и на каждый уровень делать +1, +2, +3 + n и т.п.
И так же для минусовой части.
Ещё можно просто каждую секунду брать юнитов игрока, и через нативку менять им реген маны.
Типа каждую секунду игры делать
[Arithmetic ( Base mana regen + X)], где X будет твой коэффициент или константа.

Перебирать массив юнитов и повышать им реген, менее затратная операция чем сорт четырех двумерных массивов для КАЖДОГО игрока. Но это не точно, просто по ощущениям. Так что сори, что без пруфа)
0
7
3 года назад
0

» WarCraft 3 / Перевести интерфейс редактора.

Что собираешься делать на WE?
Есть смысл возвращаться, народ вообще играет?
2
7
4 года назад
2

» WarCraft 3 / Отследить постоянная невидимость

8gabriel8:
PornoMishka, у нейтралов вроде отключён туман по умолчанию?
да)
2
7
4 года назад
2

» WarCraft 3 / Помогите настроить событие триггера

Проверь сначала событие, с выводом рандомного текста.
Если оно работает, значит в Display text есть ошибка
Предположительно она заключается в Triggering Player = Owner of Tauren
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Максимальное количиство призванных юнитов

И правда, если не запариваться, то поставь время жизни.
Условно кулдаун стоит минуту, то ставь время жизни мины 6 минут.
То есть он не сможет физически больше 6 поставить.
0
7
4 года назад
0

» WarCraft 3 / Как создать юнит...?

Что то по типу болотной трясины?
Просто создай его в центре, путем получения координаты действия способности.
GetSpellCastRegion() что-то в таком духе, и создавай его в центре, настраивай ауру как тебе надо
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Лимит триггеров с событием Unit enters playable map area?(WH40k)

prog:
Есть альтернативный путь - выдать всем юнитам все эти способности с визуалом сразу в РО, но отключить их изначально для всех игроков, а потом включить каждому игроку только те способности, которые соответствуют его ордену. Это позволит полностью избавиться от триггеров на вход юнитов на карту.
гений, хорошее решение

Либо реально делай 300 юнитов, ничего страшного, делов то часа на 4-5
0
7
4 года назад
0

» WarCraft 3 / lua переменная и таблица

так компилятор онлайн даже есть, быстренько вбил проверил, не?
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Лимит триггеров с событием Unit enters playable map area?(WH40k)

зачем ты даешь им абилки? я полагаю у тебя есть очень веская причина не добавлять их через РО. Но некоторую оптимизацию ты всё же можешь сделать.
во-первых, если у всех космодесантников есть общие абилки (рюкзак, общие айтемы), то их добавь в РО, чтобы в триггерах было как можно меньше строчек.
Во-вторых не обязательно сразу давать абилку, как только он появился. Можешь сделать систему очереди. То есть когда юнит появляется, он ставится в очередь. А очередь определяет тип юнита и вызывает необходимую функцию добавления абилок.
Как сделать?
1. Добавляются в очередь юниты как раз таки событием Unit enters playable map area и "Занести в очередь".
2. Очередь вызывается таймером каждые (0.05, условно) сек и проходится по юнитам, которые в неё добавлены.
Тут всё обойдется минимальным джассом, но это не сложно и будет тебе только в большой плюс.
Определяет их тип, допустим десантник хаоса и добавлят ему абилки которые ему нужны.
Допустим у тебя будет массив переменных Desantnik_chaos из ability, и там будут нужные для него абилки. Так вот триггер пройдется по массиву и каждый раз будет добавлять абилку, до окончания массива. (Допустим у него 4 способности, то цикл будет состоять из 4х итераций и по итогу добавится 4 абилки).
Условно, когда юнит заносится в очередь она вытаскивает абилки из этого массива и добавляет их юниту.
Если сказать просто, то у тебя будет база данных для каждого юнита. И очередь будет смотреть что это десантник хаоса и вытаскивать из базы какие абилки у него есть и добавлять ему.
Таким образом ты избавишься от создания кучи триггеров и получишь что-то вроде базы данных, когда не надо будет в случае патча менять во всех триггерах, а просто настроить кому что будет даваться. Убиваешь сразу много зайцев.
Разумеется я полагаю у тебя все несколько сложнее, но и структуру ты должен сформировать локально чисто для твоего случая.
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / UnitAddSleepPerm

если рядом кто то из вражин кастует спел. По-моему нейтралы просыпаются, даже, если каст не направлен на них *(возможно ошибаюсь, надо проверить)
Вообще не просыпаются, но опять же если уж решил систему делать, то почему бы не добавить в неё этот пункт. Смотрится органично)
2
7
4 года назад
2

» WarCraft 3 / Проверка приближения даммика

На гуи звучит как DistanceBetweenPoints(Location L, Location L2)
где L,L2 это просто точки
0
7
4 года назад
0

» WarCraft 3 / UnitAddSleepPerm

Смотри способ: неважно нейтральные или не нейтральные.
Просто перебираешь всех юнитов игрока (условно нейтралов), когда начинается день и делаешь PauseUnit и отображаешь эффект сна.
Разумеется должен быть триггер в плане если его атаковали, эффект исчезает и юнит Unpause.
В луа такое сделать намного проще, т.к. даже лишних переменных не надо создавать.
Делаешь массив юнитов и unit.effect туда заносишь эффект.
Далее просто когда его атаковали destroy(unit.effect)
0
7
4 года назад
0

» WarCraft 3 / Триггер на проверку слотов игроков.

я бы циклом прошел от 0 до (кол-во игроков) индекса и проставил босса.
Помоему наиболее простой способ.
Еще как вариант ставить боссов без проверки, если игроки опр. цвета не могут убить босса другого игрока.
0
7
4 года назад
0

» WarCraft 3 / Фильтр урона и вообще фильтры в целом

Не знаю что ты имеешь в виду под фильтрами золота опыта и приказов
Абсолютно то же самое что и с отловом урона. Когда игрок получает золото с крипа, то мы можем вмешаться посередине и изменить сколько золота он получил. Срабатывает на любое получение золота, будь то убийства крипов, награда, тикающее и т.д.
То же самое с приказом и опытом. Видимо такого нет.
В доте2 на движке можно было модифицировать на лету что угодно. Поэтому создавать такие системы было рас плюнуть. Ок, спасибо за пример в любом случае
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Может можно проще сделать или лучше?

массив монстров по лвлам
monster[1] = первый тип
monster[2] = второй тип
и в системе спавна просто придумать currentMonsterSpawn
затем при убийстве босса делать currentMonsterSpawn +1
а система спавна будет спавнить типо монстра monster[currentMonsterSpawn]
это самый простой способ, я его раньше реализовывал для кое-какой своей карты
0
7
4 года назад
0

» WarCraft 3 / Нужно ли удалять эффекты и как?

call DestroyEffect(create SpecialEffect (special_effect))
такая конструкция приемлема, на луа пока не знаю.
Вроде там не надо ничего обнулять, но насчет эффектов я ничего не слышал пока что. В скором времени думаю выяснится
0
7
4 года назад
0

» WarCraft 3 / Пассивка бристлбека в доте

antonpoganui:
Morningstar, допустим у юнита 100 хп и имеет резист 50%(хил после получения урона). если цель получит 150 магического урона, то он умрет, вроде в доте он после получение ульты лиона в спину на лоу хп может выжить.
да, это точно. Пока не могу определить как это делается. Скорее всего мемхак, т.к. дота была на старых патчах, где он был возможен
2
7
4 года назад
2

» WarCraft 3 / Пассивка бристлбека в доте

  1. Если патч 1.31 просто вычесть процент урона
3.5 Если патч <, то мгновенно восполнить потерянные хиты (если в спину) |
0
7
4 года назад
0

» WarCraft 3 / Конвертнуть карту на луа?

Bergi_Bear:
Это действие либо для новой карты...
Либо надо отключить все триггеры с кастом кодом (можно оставить ГУИ триггеры), и тогда пункт LUA в свойствах карты, станет активным
спасибо
0
7
4 года назад
Отредактирован Morningstar
0

» WarCraft 3 / Заклинания на заказ

8gabriel8:
С такими способностями столько возни на самом деле. Простенький вариант состоит из трёх триггеров: в первом запоминаешь атакуемого и вампира в виде пары, а также заносишь атакуемого в третий триггер на отлов урона, во втором триггере делаешь три события на получение приказа (объект, точка, без цели) для вампиров и в действиях разбиваешь пару вампир-атакуемый, чтобы третий триггер не сработал, а в третьем триггере атакуемый получает урон от вампира и рассчитывается шанс срабатывания пассивки на восстановление полного здоровья, а пара разрывается. Но такой триггер будет глючить с жаром преисподней, щитом молний, ядом и прочим периодическим уроном от вампира.
как насчет новых функций в 1.31? Где отслеживается урон и кто его нанёс. Можно и так попробовать проверить имеет ли target пассивку и зароллить шанс.
0
7
4 года назад
0

» WarCraft 3 / Куда податься старому пирату?

Ну правда, купи официалочку. Людей тут очень много
0
7
4 года назад
0

» WarCraft 3 / Жанр для карты

Арена, лучший варик. Но делать это, основываясь чисто на парочке придуманных эффектов - ни о чем.
0
7
4 года назад
0

» WarCraft 3 / Как сделать кнопки для выбора героя? [новые, которые]

Ev3nt:
Я бы предложил RenderEdge, там есть возможность пилить интерфейс, однако, как я понял, вам требуется 1.31+.
да, 1.31 эти фичи с фреймами
1
7
4 года назад
Отредактирован Morningstar
1

» WarCraft 3 / Оптимальная реализация события каста

noyl:
А если они будут не локальными это будет сильно не оптимизировано?
Допустим больше 160 обычных гуи спелов.
Сделай в разных триггерах, распредели по папкам. Чтобы тебе самому удобнее было искать.
В конечном итоге все во время компиляции и сборки всё в один триггер превратится.
Если ты этим пытаешься как-то оптимизировать, то это плохая идея.
Читабельность и структурированность важнее для тебя как разработчика. Проще и быстрее ориентироваться.
Просто следи чтобы спеллы не были утечными и будет уже хорошо
К тому же, если ты планируешь конвертировать готовый код в jass чтобы сделать локалки, то это тоже даст тебе небольшое, но преимущество.
0
7
4 года назад
0

» WarCraft 3 / Можно ли как-то отлавливать количество брони у юнита?

если ты на посл версии, то getUnitReal и берешь защиту