Extremator, Это мало вероятно, даже в течении игры, в лтд в среднем 150 юнитов раз в 2-3 минуты, это не "тысячи и сотни юнитов на карте" как вещает наш друг. Потом даже 1000 событий на триггер - ерунда, они расходуют очень мало озу, и триггер после волны можно удалить вместе с ивентами, когда все юниты подохнут.
Вам нужно изучить в редакторе звука как сделаны озвучки стандартных юнитов, тогда поймете по какому принципу формируются пакеты озвучки из отдельных файлов. Самый простой вариант - менять дефолт на импорт, карта Funny Bunny egg hunt от близзардов в помощь, это наглядное пособие по импорту озвучки и не только.
Стандартными средствами особо никак, импакт отследить можно лишь делая хук на мемхаке, обычно просто отлавливают урон.
Особенно портит жизнь щиты и способности со снарядами, в спелл щит снаряд то может и прилететь но урона не нанести.
Про тысячи юнитов - ты это харе врать, у тебя на 500+ игра зависнет, детект через урон как раз быстрее ваших костылей с замахами и даммиками. Событие - юнит получает урон есть на мемхаке и на 1.31+ на всех юнитов на карте, т.е глобальное, но это не обязательно, нет ничего плохого что ты навшал сотню событий на триггер, если все юниты умерли (и не будут воскрешены) то триггер можно удалить, и создать заного, таким образом избежать утечек.
Вычисляешь координаты кастера, от него уже делаешь расчет точек в цикле, для каждого расчета, есть функция защающая время жизни, так же можно проще сделать задержку без вейтов.
Открывать ненужно, ибо вам ничего это не даст, все в "перемолотом" виде и раз вы задаёте такие вопросы, изменить там вряд-ли что сможите, нужно найти читора который ломанет карту под вас или играть в старую версию.
local unit cast = GetSpellAbilityUnit()
local unit dummy = CreateUnit( GetOwningPlayer(cast),'hmtm', GetUnitX(cast), GetUnitY(cast), 270.00 ) // создаем юнита по принципу: игрок, ид, х, у, угол взгляда.
У тебя же все неправильно, глобалки какие то присваиваются перед локалками, такого быть не должно! Сначала идут локальные переменные, как в примере кода, сразу заносишь в них значения, это не гуи и всякие глупоконструкции тут никчему.
Далее что должен делать этот спелл, ибо судя по коду какая то ахинея и замысел не просматривается, опиши подробно словами что должно быть?
Далее использование точек и прочих BJ функций с ними вроде PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(udg_Unitper) - плодят утечки, и нафиг ненужны, ибо координаты рулят.
quq_CCCP, А если ещё глубже посмотреть?) Вот представим что есть 10 триггеров которые будут запущены каждый по истечении 5 сек. игрового времени, все эти триггеры будут выполняться последовательно ведь? на очень большой вычислительной скорости разумеется
quq_CCCP, у посоха возвращения нет ведь анимации для героя, откуда там каст тайм не пойму?
easypeasy, само собой триггеры выполняются последовательно, как и все действия в коде карты, параллельно там ничего не происходит.
Ты в любом случае поворачиваешься к цели и сбиваешь текущий приказ, это уже касттайм, то что ты там не пляшешь а смотришь на цель - не принципиально важно, мгновенных абилок штук 6 на весь варкравт, и они внезапно без указания цели - вроде виндвалка или божественного щита. Хоть и предметы не заставляют героя порой проигрывать визуальные анимации вроде 'Spell', 'channel' кроме некоторых исключений, мнгновенной это абилку не делает.
easypeasy, смерть и получение урона - происходят не одновременно, + снаряд то еще и юнита догнать может, а так же всякие яды, горения, отравления - они дейсвтуют, юнит телепортировался и подох, ибо ничего не мешает передвигать свежеподохших юнитов. Есть еще 1 фишка, у посоха есть каст тайм и он телепортируется не мгновенно, в юнита запустил снаряд юнит дальнего боя, и в момент прилета снаряда ты кастанул телепорт, юнит улетит, но по прелету у него отнимется хп от удара, и он умрет.
easypeasy, так ты про этот, это нормально, тупо перемещение, тебе может удар прилететь в последний момент, и уже труп улетит, в знаменитой доте фрога тоже иногда бывает, что юнит улетел на базу уже мертвым.
easypeasy, насчет стафа хуманов, важно оно накладывает неуяз по прилету, неуяз не защитит от некоторых ядов, вовсе неуязвимость баффы не диспелит.
Просто есть пару типов неуязвимости, и внезапно неуязвимость не спасает от гибели. Я делал кастомный посох спасения в своей карте, и представляете, юниты дохнут от яда будучи неуязвимыми.
Ну и по стандартной механике, юнит неуязвим не сразу, а как улетит в место назначения.
Taurenus, базовые вещи вроде синтаксиса языка объяснять подробно, на пальцах - зашквар. Должен прочитать и сам пробовать, там четко и ясно указано, что как и почему. Потом уже думать об алгоритмах и прочем.
Делать за тебя - толку, чемту ты научишся? Это не мы плохие и жадные, просто вас уже очень много, нубья (уж простите меня), которые карты делают тям\ляп а потом лагает, багает, вылетает... Ты не захочешь - никто не захочет, базовая инфа есть, начинай по немногу, я вот изумляюсь вашему упорству сделать супер-пупер спел, зачем?
Делайте все по минимуму и самые простые вещи, разбирайтесь, переходите к более сложным.
Для начала создай дамми юнита и прикажи ему кинуть некоторый спелл. Покажи код тут.
Extremator, смотрел реализацию в дотке фрога? Там и 1 в 1 анимация подобрана, и стан сделан как у оригинала, чтобы работало на невидимок и линку не активировало.
Там довольно сложная система, если хочется без багов, ибо стандартные шипы неруба - делают врагов неуязвимыми, поэтому в доте кроме доисторических версий сделан кастомный аналог, причем довольно умело - могу вытащить.
Ну есть триггерное действие - установить максимум юнитов доступных для покупки, подготвки. При покупке героя, устанавливается лимит на 0, и для игрока герой пропадает в таверне.
Если героев много и у них полно нестандартных способностей, имеет смысл продавать в таверне дамми юнитов или преметы, т.к их создание не требует таких ресурсов как создание героя, а данные героя потом подргужать постепенно и создать героя кодом с задержкой, это поможет избавится от лагов при выборе героя (инвокера в доте вспомните).
» WarCraft 3 / Мульти атака одного юнита.
» WarCraft 3 / Как сделать событие срабатывания пассивки
» WarCraft 3 / Как отловить момент попадания снаряда
» WarCraft 3 / Как сделать кастомную озвучку
» WarCraft 3 / Как отловить момент попадания снаряда
Особенно портит жизнь щиты и способности со снарядами, в спелл щит снаряд то может и прилететь но урона не нанести.
Про тысячи юнитов - ты это харе врать, у тебя на 500+ игра зависнет, детект через урон как раз быстрее ваших костылей с замахами и даммиками. Событие - юнит получает урон есть на мемхаке и на 1.31+ на всех юнитов на карте, т.е глобальное, но это не обязательно, нет ничего плохого что ты навшал сотню событий на триггер, если все юниты умерли (и не будут воскрешены) то триггер можно удалить, и создать заного, таким образом избежать утечек.
» WarCraft 3 / Lua или jass?
» WarCraft 3 / Первый призванный юнит, не хочет выполнять приказ
» WarCraft 3 / Первый призванный юнит, не хочет выполнять приказ
» WarCraft 3 / как открыть карту ?
» WarCraft 3 / Первый призванный юнит, не хочет выполнять приказ
Далее что должен делать этот спелл, ибо судя по коду какая то ахинея и замысел не просматривается, опиши подробно словами что должно быть?
Далее использование точек и прочих BJ функций с ними вроде PolarProjectionBJ(GetRectCenter(RectFromCenterSizeBJ(GetUnitLoc(udg_Unitper) - плодят утечки, и нафиг ненужны, ибо координаты рулят.
» WarCraft 3 / Отследить нажатие кнопки "Строительство"
» WarCraft 3 / Механика посоха спасения
» WarCraft 3 / Механика посоха спасения
Ты в любом случае поворачиваешься к цели и сбиваешь текущий приказ, это уже касттайм, то что ты там не пляшешь а смотришь на цель - не принципиально важно, мгновенных абилок штук 6 на весь варкравт, и они внезапно без указания цели - вроде виндвалка или божественного щита. Хоть и предметы не заставляют героя порой проигрывать визуальные анимации вроде 'Spell', 'channel' кроме некоторых исключений, мнгновенной это абилку не делает.
» WarCraft 3 / Механика посоха спасения
» WarCraft 3 / Механика посоха спасения
» WarCraft 3 / Механика посоха спасения
» WarCraft 3 / Механика посоха спасения
» WarCraft 3 / Отследить нажатие кнопки "Строительство"
» WarCraft 3 / Помогите с Jass (novic)
Делать за тебя - толку, чемту ты научишся? Это не мы плохие и жадные, просто вас уже очень много, нубья (уж простите меня), которые карты делают тям\ляп а потом лагает, багает, вылетает... Ты не захочешь - никто не захочет, базовая инфа есть, начинай по немногу, я вот изумляюсь вашему упорству сделать супер-пупер спел, зачем?
Делайте все по минимуму и самые простые вещи, разбирайтесь, переходите к более сложным.
» WarCraft 3 / Помогите с Jass (novic)
» WarCraft 3 / Помогите с Jass (novic)
» WarCraft 3 / Помогите с Jass (novic)
» WarCraft 3 / Ульт тайдхантера из доты
» WarCraft 3 / Ульт тайдхантера из доты
» WarCraft 3 / Таверна и Герои в ней
Если героев много и у них полно нестандартных способностей, имеет смысл продавать в таверне дамми юнитов или преметы, т.к их создание не требует таких ресурсов как создание героя, а данные героя потом подргужать постепенно и создать героя кодом с задержкой, это поможет избавится от лагов при выборе героя (инвокера в доте вспомните).