30

» Warcraft III - Lua / Warcraft III - Lua

разве оригинальные war3patch.mpq из этих патчей чем то отличаются? Если да, тогда не стоит переусложнять, действительно.
Интересно, а куда изменения в патче вносятся?
30

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

Нет, мы придумаем что-то поинтереснее рандома.
Глобальная очередь плюшек? Кто успел, тот присел.
30

» WarCraft 3 / Хэндл утечки

Еще крайне неприятный факт, когда создается отряд 12 юнитов, то хэндлы повышаются с 6812 до 6835, но при полном уничтожении отряда хэндлы падают даже не до 6812, а до 6823, на 11 больше остается чем было, что страшно.
Хэндл юнита очищается после окончания разложения. Ты подождал?

Спасибо. Но есть ли способ на гуи?
Возможно есть, только я его не знаю.
30

» WarCraft 3 / Проблемы со скилом.

плюс куда автор поста будет это вставлять?
Прям туда же, откуда он взял исходный код триггера.
30

» Warcraft III - Lua / Warcraft III - Lua

приложить и бэкапы из оригинального варкрафта
Из всех патчей между 1.26 и 1.28? Пахнет переусложнением.
30

» Warcraft III - Lua / Warcraft III - Lua

Ещё нужно будет смотреть, как будет на всё это реагировать собственно аудитория.
Плохо она будет реагировать. Ибо никаких манипуляций сложнее запуска карты из игры предпринимать никто не хотит.
30

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

Но напоминание срабатывает зачастую. Не даром же почти каждый ютубер напоминает о подписке и лайке, хотя зрители же и так знают об этом.
А знаешь что ещё срабатывает - лутбоксы. Мобильный гейминг не даст соврать.
30

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

Там после того, как ты скачиваешь ресурс, в личные уведомления падает сообщение, типа " вы скачали такой-то ресурс, пожалуйста, оставьте фидбек".
Зачем раздражать пользователей? А вот уведомление о упоминании было бы неплохо.
30

» WarCraft 3 / Хэндл утечки

Как удалить утечку созданного юнита?
function DoSomething takes nothing returns nothing
		local unit u = CreateUnit( Player( 0 ), 'hpea', 0., 0., 270. )
		....
		set u = null
endfunction
30

» WarCraft 3 / Проблемы со скилом.

глаза на лоб лезут
Переписал на маке, так что хз, скомпилится ли. Но по идее должно работать.
native UnitAlive takes unit u returns boolean
//! zinc
    library MyMissileSpell {
        group g = CreateGroup();
        real x, y;
        unit ua, uf;
        integer count = 0;

        function onInit() {
            TimerStart(CreateTimer(), .025, true, function() {
                local integer i = 1;
                while (1 <= udg_AI) {
                    ua = udg_Arrow[i];
                    if (IsUnitInGroup(ua, udg_Arrow_Group)) {
                        x = GetUnitX(ua);
                        y = GetUnitY(ua);
                        count = 0;
                        GroupEnumUnitsInRange(g, x, y, 50.00, Condition(function() {
                            uf = GetFilterUnit();
                            if (!UnitAlive(uf)) {
                                return false;
                            }
                            if (!IsUnitEnemy(uf, GetOwningPlayer(ua))) {
                                return false;
                            }
                            if (!IsUnitType(uf, UNIT_TYPE_STRUCTURE)) {
                                return false;
                            }
                            if (!IsUnitType(uf, UNIT_TYPE_FLYING)) {
                                return false;
                            }
                            count += 1;
                        }));

                        if (count > 0) {
                            KillUnit(ua);
                            EnableTrigger( gg_trg_Arrow_DiesSpas1 );
                        }
                    }
                    i += 1;
                }

                ForGroup(udg_Arrow_Group, function() {
                    real a;
                    ua = GetEnumUnit();
                    a = GetUnitFacing(ua) * bj_DEGTORAD;
                    SetUnitPathing(ua, false);
                    SetUnitX(ua, GetUnitX(ua) + udg_Speed * Cos(a));
                    SetUnitY(ua, GetUnitY(ua) + udg_Speed * Sin(a));
                });

            });
        }
    }
//! endzinc
30

» Warcraft III - Lua / Warcraft III - Lua

EugeAl, Что это за Звезда Смерти планируется с кучей опций?
Зачем микс, если mpq есть?)
Микс удобней и его всегда можно удалить не повредив оригинальному варкрафту.
30

» WarCraft 3 / Проблемы со скилом.

на jass пока сильно не заглядываюсь сложные системки пока не даются.
Что в этом сложного?
Загруженные файлы
30

» WarCraft 3 / Хэндл утечки

Чем больше карта - тем больше кол-во стартовых хэндлов, но как то не в соизмеримых пропорциях. На карте 64x64 с маленьким кол вом декораций хэндлов аж почти под 7000, в то время как на карте 127x127 с явно большим кол-вом декораций их всего за 10 000.
Ну так 3000 декораций это не мало.
После полного уничтожения отряда кол-во хэндлов становится меньше стартового.
Потому что после разложения юнитов их хэндлы освобождаются и переиспользуются.
Теперь остается выяснить что же из триггеров заставляет расти хэндлы на +1 после подготовки каждого юнита.
30

» Warcraft III - Lua / Warcraft III - Lua

EugeAl, почему такая фиксация на одном файле для мода?

И почему не использовать микс?
30

» WarCraft 3 / 14. Структуры

а как он будет работать, например, в случае, если карта (ы) находятся внутри mpq?
Хороший вопрос. И его лучше задать в ресурсе Warcraft III - Lua.
30

» WarCraft 3 / EnumDestructablesInRectAll случайно не вызывает утечки?

Так как у меня коммерческий опыт в профессии больше 12 лет
Узнать код функции CTRL+ЛКМ, что явно быстрее чем задать вопрос и дожидаться ответа. Неужто за 12 лет разработки и обучения людей не развилась привычка экономить своё и чужое время?
30

» WarCraft 3 / Хэндл утечки

Я ж уже не раз писал, важно не само количество хэндлов, а динамика их роста. Если значение колеблется вокруг некоего числа, то можно забить болт. Если же улетает в космос, то нужно бить тревогу.
И неплохо бы ссылку на UjAPI: Handle Counter привести, чтоб люди не искали.
30

» WarCraft 3 / 14. Структуры

Просто код пишется под мод, и для размещения его в blizzard.j, потому что он должен работать на всех картах сразу.
Подключайте к моду lua и не парьтесь.
30

» WarCraft 3 / Проблемы со скилом.

call RemoveLocation(udg_Arrow[Arrow_integer])???
Я не умею оптимизировать гуй, я приблизительно помню где от течёт.
30

» WarCraft 3 / Скорость поворота

Скорость поворота не у модели, а у юнита. За возможность применять даммиком скилы не поворачиваясь отвечают совсем другие поля. Для моментальных скилов можно использовать вообще одного даммика, как например реализовано здесь.
30

» WarCraft 3 / Проблемы со скилом.

только что тут чистить кроме Arrow_group

Писать о том, чтоб переписать на jass будет проще думаю не нужно.
Загруженные файлы