30

» WarCraft 3 / Не удаляются точки в триггерной способности

Глянь плз еще раз чтобы юниты предметы подбирали...
Это гадание на кофейной гуще, поправил код на глаз. И проверь равкоды в этой строчке:
if (GetItemType(it) != ITEM_TYPE_POWERUP && itid != 'I000' && itid != 'I002') {
 return;
}
30

» WarCraft 3 / Герой в виде рюкзака

учитывая его предыдущие вопросы мне кажется он не про фреймы имел ввиду)
Это не фреймы.
30

» WarCraft 3 / Не удаляются точки в триггерной способности

Спасибо, но не смог затестить, пишет ошибку при сохранении
Исправил ошибки компиляции, только вот логику я не понял, так что исправил на глаз.
Данная карта открывается только с русификатором триггеров ..)
Грусть тоска.
Как я понимаю для cJass триггера может быть любое название триггера.
Сижасс отстой, выключай его по возможности.
30

» WarCraft 3 / Не удаляются точки в триггерной способности

Вот, держи. Правда не тестил ибо писал на маке.
Нет мастурбации с созданием и удалением групп и ректов. Используется одна группа и рект.
Нет локалок, чтоб не париться с утечками.
Правда может не скомпилиться, но это уже дело третье.
native UnitAlive takes unit u returns boolean
//! zinc
    library MinerMiner {
        group g = CreateGroup();
        unit u;
        integer uid, action, itid, did;
        rect r = Rect(0, 0, 0, 0);
        real ux, uy, dx, dy;
        item it;
        destructable d, dt;

        function distance(destructable d, unit u) -> real {
            real dx = GetUnitX(u) - GetDestructableX(d);
            real dy = GetUnitY(u) - GetDestructableY(d);
            return dx * dx + dy * dy;
        }

        function onInit() {
            trigger t = CreateTrigger();
            TriggerRegisterTimerEventPeriodic(t, .5);
            TriggerAddAction( t, function() {
                integer i = 0;
                for (0 <= i < bj_MAX_PLAYER_SLOTS) {
                    GroupEnumUnitsOfPlayer(g, Player(i), null);
                    ForGroup(g, function() {
                        u = GetEnumUnit();
                        uid = GetUnitTypeId(u);
                        ux = GetUnitX(u);
                        uy = GetUnitY(u);
                        if (!UnitAlive(u)) {
                            return;
                        }
                        // Баф на юните при вкл.скила
                        if (GetUnitAbilityLevel(u, 'BUF1') == 0 && GetUnitAbilityLevel(u, 'BUF2') == 0 && GetUnitAbilityLevel(u, 'BUF3') == 0) {
                            return;
                        }
                        if (GetUnitCurrentOrder(u) != 0) {
                            return;
                        }
                        action = 0;

                        //  около 20 юнитов
                        if(uid == 'UNT1' || uid == 'UNT2' || uid == 'UNT3') {
                            SetRect(r, ux - 300, uy - 300, ux + 300, uy + 300);
                            EnumItemsInRect(r, null, function() {
                                it = GetEnumItem();
                                itid = GetItemTypeId(it);
                                //  Только 2 предмета не ITEM_TYPE_POWERUP
                                if (GetItemType(it) != ITEM_TYPE_POWERUP && itid != 'I000' && itid != 'I002') {
                                    return;
                                }
                                if(UnitInventorySize(u) - UnitInventoryCount(u) <= 0) {
                                    return;
                                }
                                IssueTargetOrder(u, "smart", it);
                                action = 2;                            
                            });
                        }

                        if (action == 0) {
                            SetRect(r, ux - 700, uy - 700, ux + 700, uy + 700);
                            dt = null;
                            EnumDestructablesInRect(r, null, function() {
                                d = GetEnumDestructable();
                                did = GetDestructableTypeId(d);
                                dx = GetDestructableX(d);
                                dy = GetDestructableY(d);

                                //  Ненужный объект
                                if (GetDestructableLife(d) <= 0 && did != 'B003') {
                                    return;
                                }

                                if (dt == null || distance(d, u) < distance(dt, u)) {
                                    action = 1;
                                    dt = d;
                                }
                            });
                        }

                        if (action == 0) {
                            IssuePointOrder(u, "move", GetRandomReal(ux - 300, ux + 300), GetRandomReal(uy - 300, uy + 300));
                        }

                        if (action == 1) {
                            if (distance(dt, u) < 62500) {
                                IssueTargetOrder( u, "attack", dt);
                            } else {
                                IssuePointOrder(u, "move", GetDestructableX(dt), GetDestructableY(dt));
                            }
                        }
                    });
                }
            });
            t = null;
        }
    }
//! endzinc
30

» WarCraft 3 / Раундовая система

Хз как ты можешь понять проблему без кода карты. В зависимости от того как у него организована логика ответ будет разный
Да запросто. Чтоб отменить все действия необходимо сохранить все изменения, а потом откатить их.
Как это реализовать кодом в конкретном случае это уже другой вопрос.
30

» WarCraft 3 / Раундовая система

этой информации недостаточно чтобы решить проблему)
Её достаточно чтоб понять проблему.
30

» WarCraft 3 / Раундовая система

Не понятно что нужно, может скинуть карту
Есть система волн. Когда герой фидит волну, нужно начать всё заново без рестарта карты.
30

» Администрация XGM / Исчезли скриншоты в старых статьях

Перевставил изображения в приведённых статьях. Автоматически всё заменить нет возможности, так что просто кидай сюда статьи с пропавшими изображениями, будем фиксить ручками.
30

» WarCraft 3 / Раундовая система

Сохраняешь все действия и таймеры. После смерти героя их очищаешь.
Если у тебя гуй с вэйтами, то грусть тоска.
30

» Администрация XGM / Исчезли скриншоты в старых статьях

Скриншоты есть в ресурсе. Только вот их нужно перевставить в текст ибо используются старые пути через /pics. Или пройтись регуляркой по бд.
http://xgm.ru/pics/article/29807_1.jpg
30

» XGM Team / Изменения в проектах

у хайва в патронах примерно такие же бонусы

$5

  • Unlocks 20 Human rank icons *
  • Unlocks Human rank banner (Blue)
  • Title "Patron" granted
  • Unique EXP bar
  • Displayed on "Heroes online" widget
  • Hero role on Discord *
  • Hero watermark on messages
  • Removes third-party ads

$10

  • Unlocks 20 Human rank icons
  • Unlocks 20 Undead rank icons *
  • Unlocks Human rank banner (Blue)
  • Unlocks Undead rank banner (Purple)
  • Title "Patron" granted
  • Unique EXP bar
  • Displayed on "Heroes online" widget
  • Name color and glow *
  • Hero role on Discord *
  • Hero watermark on messages
  • Removes third-party ads

$25

  • Unlocks 20 Human rank icons
  • Unlocks 20 Undead rank icons
  • Unlocks 20 Night Elf rank icons *
  • Unlocks Human rank banner (Blue)
  • Unlocks Undead rank banner (Purple)
  • Unlocks Night Elf rank banner (Green)
  • Title "Patron" granted
  • Unique EXP bar
  • Displayed on "Heroes online" widget
  • Name color and glow *
  • Avatar glow *
  • Hero role on Discord *
  • Hero watermark on messages
  • Removes third-party ads
Загруженные файлы
30

» XGM Team / Изменения в проектах

Стоп, а что за идеи вы мне приписать успели???
А это важно для истории?
30

» XGM Team / Изменения в проектах

аля то что Эльрат делал, мы сочли его стратегию не совсем верной, может ошиблись.
У его идей басиса не было. Давайте тупо введём деньги обычно не прокатывает.
У нас любят платить за практические ценности
Что-то я не заметил убыточности мобильного гейминга.
уже сегодня скрин этого поста во всех пабликах и чатах хейтеров
Жаль нельзя публично огласить дорогу, по которой идут хэйтеры.
30

» WarCraft 3 / Баг

Предупреждение автору публикации

замечание: 10.4 Создание ресурса, название которого не отражает суть вопроса.
30

» WarCraft 3 / Баг

Убрать вэйт, добавить проверку на мёртвых юнитов.
30

» XGM Team / Изменения в проектах

нам надо найти как улучшить реально их опыт использования
Может начать с нормальной модерации меток, о которой я уже пол года пишу?
30

» XGM Team / Изменения в проектах

хз куда мы там двигаемся и почему двигаемся без исследования.
Исследования показали, что большинство привыкло жрать говно.
замечание от tysch_tysch: осуждаю, они хотят более быстрых лошадей, нам надо найти как улучшить реально их опыт использования
30

» Блог им. TerrorGold / За каким типом сюжета интересней следить?

А в чём смысл того что ты написал своё субъективное мнение под мои опросом?
А в чём смысл того, что люди выразят своё субъективное мнение в твоём опросе?
30

» Путь режиссёра (way of director) / Путь режиссёра (way of director)

Потому что это битва знаний, в рамках которой ты получаешь и наносишь урон.
Визуально это чисто диалоговая система.