Там вроде как настраиваются игровые константы типа разных типов урона и брони.
Проверил, ни один из трех не меняет того что при проверке карты требует щелчок.
Может что-то быть с файлом .w3i?
Не знаю чем его открыть, блокнот во всех кодировках дает только путь к лоадскрину, несколько ссылок на TRIGSTR_ и бессмысленные символы.
Спс
Сделал героя дредлорда и кровь, у нежити/демонов кровь зеленая, из голема искры летят, а еще он дымится когда сбит с ног
Осталось 5 героев, модели из вов думаю будут криво смотреться на фоне стандартных варовских, а если переделывать 12 готовых героев на вов-модели, придется переписывать данные по приемам (в каком кадре наносится урон и т.д.)
Я думаю финальный размер будет 4-5 мб, единственный проблематичный герой иллидан т.к. больно много костей там и всяких крыльев.
Переменная "точка" это не просто два числа.
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
treepoint утекает, нигде не видно уничтожения точки, каждый раз создается точка в первой строке и внутри блока if-then-else
еще непонятно зачем записывать в точку центр региона, который уже был отцентрован на эту точку.
Когда ты записываешь в переменную точку вроде Center of Region, тот объект точки который там был до этого утекает и его по этой переменной больше не найти. Надо удалять точку call RemoveLocation(udg_treepoint) после всех действий с ней, до того как туда записывается что-то еще.
Была проблема с даммиками-тенями чтобы был след за героем. Я заранее создавал и запускал у них анимацию, а потом переносил туда где герой и останавливал анимацию, чтобы эти следы героя не двигались сами по себе.
Но почему-то у мастера клинка при остановке анимации проигрывается нулевой кадр (где он стоит а меч перед ним летает в воздухе).
Почему-то проблема решилась, когда я добавил задержку после перемещения юнита, но перед остановкой анимации.
не удаленных объектов, таких как точки, юниты, группы
не обнуленных локальных переменных объектов
такое встречается даже внутри стандартных гуи-функций, так что лучше юзать джасс
проблемы возникают, когда таких объектов накапливается много, самый распространенный пример, каждый раз когда в триггере вызывается "Position of Unt (...)" создается точка и остается в памяти как объект. Такое происходит каждый раз когда мы получаем какую-либо точку, будь то местонахождение юнита, центр области, сдвиг другой точки в каком-то направлении, и т.д.
Эту точку надо заносить в переменную, а после всех действий с ней удалять - на гуи триггерах такого действия нет, нужно писать в Custom Script - "call RemoveLocation(udg_имя_точки)"
Также кроме точек, распространенной проблемой являются группы/отряды юнитов. Например, если каждые 0,05 секунд получать список всех живых юнитов игрока и перебирать их. Перед такой функцией перебора надо писать Custom Script - "set bj_wantDestroyGroup = true", тогда после перебора группа удалится.
Edit: скачал карту.
Убери все эти бессмысленные вейты по 0.01 сек. между действиями триггеров.
Ожидание всегда действуют не менее 0.1 сек, даже если указать 0 сек.
У тебя этот "DieUnitsCapGold" может сто раз выдать золото не тем игрокам, если за время этих вейтов поменяется глобалка "Aubiv". Например если разные игроки за секунду убьют несколько мобов.
Edit 2: триггер Win в папке ПиП
создает группу каждый раз когда умирает какой-либо юнит на карте, что может привести к утечкам
смысл триггера не ясен. возможно нужно заменить условие на Unit Type of Triggering Unit == Старейшина йети
Edit 3:
триггер Kill в папке Таблицы тоже создает кучу утекающих групп в условиях Dying unit== Random unit...
Random unit in ... возвращает случайного юнита из группы - внутри этой функции лежит перебор с рандомным шансом. Замени это на проверку Unit type of ...unit.
Bender2000, в принципе уже есть один файтинг тут на xgm и еще один на hiveworkshop, но они давно заброшены и в них нету всех этих фич вроде нокдауна, буфера и приседаний.
Первый файтинг я делал на GUI лет семь назад, тогда еще на форуме а не сайте.
А этому файтингу тоже уже пару лет, просто я забросил его ненадолго из-за того что мне лень рисовать кучу анимаций для всех этих приседаний, и того что они иногда пропадали и глючили.
Ред. biridius
» WarCraft 3 / Как заблокировать видимость для летающих юнитов?
Ред. biridius
» WarCraft 3 / Fighting for Azeroth
» WarCraft 3 / LoadingScreen без щелчка
или это очередной приступ дежа вю
Ред. biridius
» WarCraft 3 / LoadingScreen без щелчка
Проверил, ни один из трех не меняет того что при проверке карты требует щелчок.
» WarCraft 3 / LoadingScreen без щелчка
» WarCraft 3 / LoadingScreen без щелчка
Не знаю чем его открыть, блокнот во всех кодировках дает только путь к лоадскрину, несколько ссылок на TRIGSTR_ и бессмысленные символы.
Ред. biridius
» WarCraft 3 / Fighting for Azeroth
Сделал героя дредлорда и кровь, у нежити/демонов кровь зеленая, из голема искры летят, а еще он дымится когда сбит с ног
Осталось 5 героев, модели из вов думаю будут криво смотреться на фоне стандартных варовских, а если переделывать 12 готовых героев на вов-модели, придется переписывать данные по приемам (в каком кадре наносится урон и т.д.)
Я думаю финальный размер будет 4-5 мб, единственный проблематичный герой иллидан т.к. больно много костей там и всяких крыльев.
Ред. biridius
» WarCraft 3 / Есть ли тут утечки и если есть как их устранить?
Она хранит объект - ссылку на место в памяти, где хранятся эти два числа.
Пока ты не вызовешь RemoveLocation, эта точка будет висеть в памяти.
Когда ты присваиваешь переменной новое значение, старый объект не удален, но появляется новый объект с другими координатами, и твой триггер создает 200 точек в секунду.
Чтобы поменять координаты не создавая новый объект, есть функция MoveLocation
Ред. biridius
» WarCraft 3 / Есть ли тут утечки и если есть как их устранить?
еще непонятно зачем записывать в точку центр региона, который уже был отцентрован на эту точку.
Когда ты записываешь в переменную точку вроде Center of Region, тот объект точки который там был до этого утекает и его по этой переменной больше не найти. Надо удалять точку call RemoveLocation(udg_treepoint) после всех действий с ней, до того как туда записывается что-то еще.
Ред. biridius
» WarCraft 3 / Fighting for Azeroth
» WarCraft 3 / LoadingScreen без щелчка
Ред. biridius
» WarCraft 3 / Fighting for Azeroth
» WarCraft 3 / LoadingScreen без щелчка
Никакой галочки "требовать нажатия любой клавиши" в параметрах карты, свойствах игрока и т.д. нету.
» WarCraft 3 / Нужна строка название приказа при правом щелчке мыши на юните.
Ред. biridius
» WarCraft 3 / Нужна строка название приказа при правом щелчке мыши на юните.
Ред. biridius
» WarCraft 3 / SetUnitX не работает
Ред. biridius
» WarCraft 3 / Триггер работает не полностью
» WarCraft 3 / Нужна строка название приказа при правом щелчке мыши на юните.
Ред. biridius
» WarCraft 3 / Fighting for Azeroth
пока потихоньку добавляю героев, комбо и спецэффекты, через месяц-два может выложу новую версию.
Ред. biridius
» WarCraft 3 / Оптимизация карты.
Ожидание всегда действуют не менее 0.1 сек, даже если указать 0 сек.
У тебя этот "DieUnitsCapGold" может сто раз выдать золото не тем игрокам, если за время этих вейтов поменяется глобалка "Aubiv". Например если разные игроки за секунду убьют несколько мобов.
Edit 2: триггер Win в папке ПиП
создает группу каждый раз когда умирает какой-либо юнит на карте, что может привести к утечкам
смысл триггера не ясен. возможно нужно заменить условие на Unit Type of Triggering Unit == Старейшина йети
Edit 3:
триггер Kill в папке Таблицы тоже создает кучу утекающих групп в условиях Dying unit== Random unit...
Random unit in ... возвращает случайного юнита из группы - внутри этой функции лежит перебор с рандомным шансом. Замени это на проверку Unit type of ...unit.
Ред. biridius
» WarCraft 3 / Значение функций
Ред. biridius
» WarCraft 3 / Как сделать аналог пасивки хускара?
armor = log .94 (damage) = -log10 (damage) / 0.026
armor = -log(.85)/0.026 = 2,7
Ред. biridius
» WarCraft 3 / Как посчитать количество игроков
» WarCraft 3 / Fighting for Azeroth
Первый файтинг я делал на GUI лет семь назад, тогда еще на форуме а не сайте.
А этому файтингу тоже уже пару лет, просто я забросил его ненадолго из-за того что мне лень рисовать кучу анимаций для всех этих приседаний, и того что они иногда пропадали и глючили.
» WarCraft 3 / Краш Карты
иначе ничего не понятно