при конвертации картинки в уровни LOD крашится, сделай текстуру со степенью двойки и без сжатия.
сам можешь повторить баг, поставь текстуры на минимум
А какие критерии получения крита?
Поставить графику на минимум, а эта моделька должна загрузиться?
Или она должна отрисоваться?
Я пока пытался и не сумел получить крит.
Но сама идея того, что крит вызван проблемами с текстурой мне кажется весьма вероятной - примерно перед этим было уменьшено качество нескольких излишне тяжелых текстур из хотса.
Верну те, которые были, возможно подробнее разберусь с правильным обжиманием.
Если криты прекратятся, будет понятен источник проблем.
Спасибо.
В общем, вот что сумел выяснить: У всех потерпевших графика не максимальная, Единственная добавленная с версий до краша модель - вот эта (вроде). Используется как аттач для некоторых юнитов, важность которых хочется показать, но героями они не являются. Вешается на ауру смерти.
Точно было выяснено, что краши происходят не более чем в несколько первых секунд игры.
В целом, особого смыла в сложной защите кода в реалиях варкрафта нет, в любом случае, получение правильного кода в примерно любых условиях для понимающего человека задача не больше чем на пол часа, но если хочется разнообразных кодов, можно реализовать какой-нибудь простенький алгоритм шифрования константой в коде карты. Не то, чтобы это кого-то остановило, но визуально может быть покрасивее. Коды для сейв-лоада - кринж.
Карта не совсем моя, я ей потихоньку занимаюсь, но крит - новый, а сейчас за десяток игр примерно 4 сообщения с таким логом, раньше таких не встречалось, скорее всего моя вина. В одиночке я не воспроизвел крит, реплея пока не добился от игроков, но надеюсь все-таки получу оный.
Пока надеюсь, что возможно, кто-то что-то подобное видел и догадывается в чем причина.
Вроде как, крит происходит на этапе загрузки карты. В какой момент загрузки это происходит я пока не выяснил, но надеюсь уточнить этот момент. (Нужна доп. статистика, я её пока не получил)
Крит проявляется нестабильно, изредка, не у всех игроков единовременно, у 1-2, максимум, по наблюдениям.
Берешь рект 1, берешь рект 2, считаешь расстояние по x и y - dx, dy между их центрами.
Для каждого юнита из ректа 1 берешь x,y, поворот и создаешь юнита с теми же типами, x+dx,y + dy, и тем же поворотом. Не сильно просадит производительность даже если юнитов будет прилично.
В результате довольно тривиального исследования я выяснил, что все предметы(как минимум руны и сфера яда) после смерти остаются лежать на земле, и не удаляются. Только моделька пропадет или уменьшается. Через UnitAddItem они после этого могут быть положены в инвентарь.
Предположу, что какой-то хитрый игрок с книгами характеристик сможет накрутить себе статов столько, сколько нужно.
Надежно - заменять юнита, это избавит от проблем со сменой типов движения, опытом, способностями, но если не хранить где-то все бонусные характеристики юнита и потом их восстанавливать новому юниту, то бонусы например от книг будут утеряны.
Ну раз она работает везде, какие могут быть проблемы чтобы сделать её под все версии?
Но, с точки зрения тех версий, на которых играют - 1.26/1.27 и рефорж. На других людей я особо не видел. На айкапе играют во что-то кроме доты?)
quq_CCCP
Спасибо за помощь.
Виновником, судя по всему оказалась распаковка библиотек в корень игры, которая лежала в "системной" папке "C:\Program Files (x86)", без явно данных прав админа программы оказываются не имеют прав на изменение и не хотят распаковывать в неё свои библиотеки, пока распаковываю их в темп, вроде работает получше. У человека, у которого такое происходило теперь такое не происходит в карте.
Надеюсь, что решение будет достаточно стабильным.
Никак, эта функция снимает все дебафы.
Но можно создавать приста который будет кидать очищение, по идее, дум сниматься не должен, но вроде это можно настроить.
Еще есть нативка:
Карта - настоящий шедевр, каких мало, но автор, ответь пожалуйста, сколько нужно ждать, конца катсцены, в которой есть куча героев наших и противников и кто-то призывает кучу щупалец?
Лучшая версия лучшей карты для 26 варкрафта, возможно работает. Я горд великим трудом, проделаным для того, чтобы каждый человек смог играть в эту великую карты. Я думаю, что уже завтра мы всем айкапом будем в неё задротить.
Нет никаких проблем восстановить на карте примерно все кроме гуи триггеров, а карта повреждена - значит, что разработчик постарался сделать все, чтобы она не открылась вообще никак, и то, что используется на иринке открыть её способно не оказывается.
Ну там иринке нужно узнать сколько игроков, кто они, конфиг карты она читать вроде не научилась.
И если соответствующие данные частично запороты, она иногда с ними не справляется, в отличие от варкрафта.
прочитай статью об утечках там написано что 1 переменная весит 4 байта это меньше даже чем одна иконка но решать тебе если тебе это нужно делай но от этого толку уж совсем мало
В некоторых картых это очень важно, например если у тебя рпг дрочильня на 3+ часов, то из-за утечек она имеет все шансы стать непроходимой дрочильней.
Например в карте Journey To The End (карта ужасна, играть не советую, но некоторые модели приятны), игра фаталит где-то на третьем-четвертом часу благодаря как раз таки необнуленным локалкам, во многом в bj функциях. (CountLivingPlayerUnitsOfTypeId - ей спасибо) .
Остальные утечки автор закрыл, во многом благодаря кастом скрипту с bj_wantdestroygroup.
Конечно, если бы кто-то решился и написал бы правильную версию blizzard.j и внес некоторые изменения в гуиишные функции - гуи бы работал сильно лучше, но я таких проектов не видел, может это никому неинтересно, не знаю.
И да, UnitApplyTimedLife - утечек не вызывает, так как просто вешает на юнита баф призванного. Если бы бафы текли варкрафт долго бы не прожил.
Если я не ошибаюсь, событие "юнит атакован" срабатывает уже после начала замаха у атакующего, там ему уже все равно, какую ты поставишь ему скорость атаки, он будет замахиваться столько, сколько запомнил, с кд атаки также.
Функции добавления защиты и атаки не обновляют соответствующие цифирки. Перевыделение юнита или обновление соотв. информации все решат.
Добавлять зеленую атаку нельзя, насколько я помню, напрямую, нужно редактировать бонус от абилки когтей, при прямом изменении лишние бонусы сложатся в белую атаку.
Оставить нужные тебе api можно просто не копируя лишние - тебе понадобится скопировать только init и нужные тебе api, В init отключить функции инициализации лишних api.
» WarCraft 3 / Неизвестная причина критов.
Поставить графику на минимум, а эта моделька должна загрузиться?
Или она должна отрисоваться?
Я пока пытался и не сумел получить крит.
Но сама идея того, что крит вызван проблемами с текстурой мне кажется весьма вероятной - примерно перед этим было уменьшено качество нескольких излишне тяжелых текстур из хотса.
Верну те, которые были, возможно подробнее разберусь с правильным обжиманием.
Если криты прекратятся, будет понятен источник проблем.
Спасибо.
Ред. goodlyhero
» WarCraft 3 / Неизвестная причина критов.
» WarCraft 3 / Неизвестная причина критов.
Такого вида:
» WarCraft 3 / Неизвестная причина критов.
Точно было выяснено, что краши происходят не более чем в несколько первых секунд игры.
» WarCraft 3 / Разнообразие save/load кода
Коды для сейв-лоада - кринж.
Ред. goodlyhero
» WarCraft 3 / Неизвестная причина критов.
Пока надеюсь, что возможно, кто-то что-то подобное видел и догадывается в чем причина.
Вроде как, крит происходит на этапе загрузки карты. В какой момент загрузки это происходит я пока не выяснил, но надеюсь уточнить этот момент. (Нужна доп. статистика, я её пока не получил)
Крит проявляется нестабильно, изредка, не у всех игроков единовременно, у 1-2, максимум, по наблюдениям.
» WarCraft 3 / Копирование юнитов во время игры
Для каждого юнита из ректа 1 берешь x,y, поворот и создаешь юнита с теми же типами, x+dx,y + dy, и тем же поворотом. Не сильно просадит производительность даже если юнитов будет прилично.
Ред. goodlyhero
» WarCraft 3 / Предметы, интересные баги и фитчи!
Предположу, что какой-то хитрый игрок с книгами характеристик сможет накрутить себе статов столько, сколько нужно.
» WarCraft 3 / Как сбросить уровень и оставить предметы при эволюции
» WarCraft 3 / Какая версия варкрафта сейчас актуальна?
Но, с точки зрения тех версий, на которых играют - 1.26/1.27 и рефорж. На других людей я особо не видел.
На айкапе играют во что-то кроме доты?)
» WarCraft 3 / Не удается загрузить библиотеку.
» WarCraft 3 / Не удается загрузить библиотеку.
Спасибо за помощь.
Виновником, судя по всему оказалась распаковка библиотек в корень игры, которая лежала в "системной" папке "C:\Program Files (x86)", без явно данных прав админа программы оказываются не имеют прав на изменение и не хотят распаковывать в неё свои библиотеки, пока распаковываю их в темп, вроде работает получше. У человека, у которого такое происходило теперь такое не происходит в карте.
Надеюсь, что решение будет достаточно стабильным.
Ред. goodlyhero
» WarCraft 3 / Добавить в исключение бафф Печать преисподней.
Но можно создавать приста который будет кидать очищение, по идее, дум сниматься не должен, но вроде это можно настроить.
Еще есть нативка:
Но полной настройки и чего хотите без ограничений она не даст.
» WarCraft 3 / [Конкурс становления героев] Re-Stored Chronicles
» Commander! Blue Alert / Спец-новость: Старые здания СССР.
» WarCraft 3 / Кнопка главы доп. кампании не открывает главу
» WarCraft 3 / замена StringHash()
Ред. goodlyhero
» WarCraft 3 / [Конкурс становления героев] Алегрит
Ред. goodlyhero
» WarCraft 3 / Rpg Arena
» WarCraft 3 / Rpg Arena
» IrInA Host Bot / Параметры карты повреждены
Ред. goodlyhero
» WarCraft 3 / Cоздать юнит дамми (эффект) с переменным или без?
Ред. goodlyhero
» WarCraft 3 / Применение способности "Иллюзии"
» WarCraft 3 / Применение способности "Иллюзии"
» WarCraft 3 / Несколько вопросов про мемхак
Функции добавления защиты и атаки не обновляют соответствующие цифирки. Перевыделение юнита или обновление соотв. информации все решат.
Добавлять зеленую атаку нельзя, насколько я помню, напрямую, нужно редактировать бонус от абилки когтей, при прямом изменении лишние бонусы сложатся в белую атаку.
Оставить нужные тебе api можно просто не копируя лишние - тебе понадобится скопировать только init и нужные тебе api, В init отключить функции инициализации лишних api.