1, 2. Утечки бывают разные, какие-то более тяжелые, какие-то менее. Стоит попробовать потестить на слабом компе, например в VirtualBox. А стоит ли это фиксить зависит от длительности сессии игры.
Насколько знаю - нет.
Хендл - ССЫЛКА на почти любой объект на карте: юниты, декорации и даже элементы интерфейса, в т.ч. стандартные. Счетчик лишь показывает количество этих ссылок. Утечками же можно считать только необоснованное увеличение их количества. Чаще всего это вызвано тем, что остались ссылки на пустые объекты.
Теоретически в плюс к хостботу можно сделать генерацию .bat файла ( с накоплением статистики по всем играть с участием данного игрока) и просить игроков его запустить для отправки статистики и/или для заявки на бан игрока.
Можно заполнить этот "овал" регионами с пересечениями. При входе в регион добавлять к счетчику для юнита +1, при выходе -1. Тогда если юнит не находится ни в одном регионе, его счетчик равен 0. А пронумеровав регионы степенями двойки и прибавляя/вычитая эти номера из счетчика можно еще и определить последний регион в котором был юнит.
Если твоя арена имеет форму близкую к овалу, можно использовать формулу для эллипса. Точно не припомню, но надо найти константы двух его фокусов и его "радиус", а условием пребывания юнита внутри эллипса будет что сумма расстояний до этих фокусов меньше, чем "радиус" эллипса.
Pashka5, немного упростил. Для того чтобы протестировать функцию, нужно вызвать savetyRun(функция, ее аргументы), тогда при получении ошибки она будет напечатана в чат. Если в последних патчах попробовать вызвать функцию collectgarbage, то получишь однозначный ответ, что ее не существует.
P.S. внутри pcall удобно использовать функцию error, про нее можно почитать в мануалах к луа
NazarPunk, да, ООП ради ООП. Да он только создает лишнюю нагрузку и да в wc3 можно спокойно жить без него. Вообще ООП нахер не нужен и иногда только усложняет. Мне так проще видеть структуру проекта и определять необходимый функционал, плюс это ограничивает некоторые мои ошибки. Зачем используется, например, glib? Который вообще весьма уродлив, на мой взгляд.
ScorpioT1000, в луа это можно решить либами на основе таблиц. Тут больше в мировоззрении дело и в поставленной задаче. Где-то удобнее ООП, где-то функциональное...
ScorpioT1000, да, было бы неплохо всю инфу по lua разжевать и залить в одно место. А я только пару дней назад узнал, что у функции error есть второй параметр, который крайне необходим в реалиях wc3
Bergi_Bear, действительно, не пришло в голову... Можно попробовать на фреймы кнопок абилок повесить скрытие зарядов, а на кнопку 11 скрытие/показ в зависимости от текущего состояния. Но все эти навороты приводят к тому что через замену иконок проще, правда нужно много иконок.
Bergi_Bear, если устраивает отображение зарядов только в случае выбора одного юнита, то можно сделать наследников параметров юнита, тогда они будут видны только одновременно с этим фреймом. Чтобы цифры не перекрывали кнопки, поставь им лвл меньше чем у кнопок. Но все равно придется детектить текущего выбранного юнита, чтобы знать чьи заряды отображать, но там ничего сложного через события SelecetedUnit и DeselectedUnit
NazarPunk, может не у всех так, но у меня нотации от sumneko в vscode захлебываются и перестаются адекватно работать на примерно 50-70 файлах. Аналогично с EmmyLua в PyCharm. На счет подхода к написаю кода соглашусь. Что для тебя ересь (require или ООП на lua), то для меня наиболее адекватное решение. Lua, конечно, не устареет быстро, но вот выкатят близы патч с возможностью использовать несколько .lua файлов, и все системы сборки станут неактуальны.
ScorpioT1000, командная разработка - крайне сложно огранизационно... Собрать команду, выбрать лидера, выбрать систему документирования кода. На данный момент ни EmmyLua, ни Lua 0.15.4 от sumneko не дают необходимых инструментов. Необходимо совместно разработать стандарт кодирования. А люди на добровольных неоплачиваемых началах не склонных уделять достаточное время подобным вещам. Нам всем гораздо интереснее процесс созидания, нежели грамотная его организация. А в связи с тем что сейчас идет бета тестирование, все разработанное может устареть с выходом релиза или даже просто нового патча.
» WarCraft 3 / Как "запаузить" любые действия с юнитом. (Не в прямом смысле)
» WarCraft 3 / [Lua] Совместная работа над WC3 проектами
» WarCraft 3 / Несколько вопросов об утечках
Отредактирован Nelloy
» WarCraft 3 / Цикл от 1 до 5 не всегда до 5-ти
» WarCraft 3 / Экспорт/импорт информации между картой и сервером
» WarCraft 3 / Дребезг при движении юнита
Отредактирован Nelloy
» WarCraft 3 / Какая проверка будет наиболее подходящей выхода юнита из круга
Если твоя арена имеет форму близкую к овалу, можно использовать формулу для эллипса. Точно не припомню, но надо найти константы двух его фокусов и его "радиус", а условием пребывания юнита внутри эллипса будет что сумма расстояний до этих фокусов меньше, чем "радиус" эллипса.
Отредактирован Nelloy
» WarCraft 3 / что то не так с LUA
P.S. внутри pcall удобно использовать функцию error, про нее можно почитать в мануалах к луа
Отредактирован Nelloy
» WarCraft 3 / что то не так с LUA
Отредактирован Nelloy
» WarCraft 3 / lua переменная и таблица
» WarCraft 3 / Проверка приближения даммика
» WarCraft 3 / Релиз Reforged, оценки метакритиков, блогеры не могут ошибаться
» WarCraft 3 / Релиз Reforged, оценки метакритиков, блогеры не могут ошибаться
» WarCraft 3 / garbagecollect
» WarCraft 3 / Новые туториалы
» WarCraft 3 / ООП lua
Отредактирован Nelloy
» WarCraft 3 / ООП lua
Отредактирован Nelloy
» WarCraft 3 / ООП lua
» WarCraft 3 / Заряды способности
Отредактирован Nelloy
» WarCraft 3 / Заряды способности
» WarCraft 3 / Заряды способности
» WarCraft 3 / [Lua] Совместная работа над WC3 проектами
» WarCraft 3 / [Lua] Совместная работа над WC3 проектами
» WarCraft 3 / [Lua] Совместная работа над WC3 проектами
Отредактирован Nelloy
» WarCraft 3 / [Lua] Совместная работа над WC3 проектами