Makeba, если внимательно прочитаешь, то я указал потом что работает, а что не работает.
В любом случае я проверил твой код, он является более предпочтительным, он гораздо меньше, что здорово
С версии 2.0.0 данный код не работает, из-за обращения к "groupframe = BlzFrameGetChild(bottomUI, 5)", когда у фрейма всего 4 ребенка, где индексы с 0 - 3, то есть 5 не существует но пока не понимаю, как определить выделенного юнита в группе
С версии 2.0.2 теперь обращаться к фрейму панели отряда надо так:
private function init_functionAt0s takes nothing returns nothing
local integer i = 0
local framehandle console = BlzGetFrameByName("ConsoleUI", 0)
local framehandle bottomUI = BlzFrameGetChild(console, 1)
local framehandle groupframe = BlzFrameGetChild(bottomUI, 2)
local framehandle SquadPanel = BlzFrameGetChild(groupframe, 5)
local framehandle buttonContainer
set containerFrame = BlzFrameGetChild(SquadPanel, 0)
Это вызовет краш игры в версии 2.0.3:
function InitGlobalsSelect()
console = BlzGetFrameByName("ConsoleUI", 0)
bottomUI = BlzFrameGetChild(console, 1)
groupframe = BlzFrameGetChild(bottomUI, 5) //Детей в версии 2.0.3 4
containerFrame = BlzFrameGetChild(groupframe, 0) //Краш игры
по нему можно щелкнуть, запустив FRAMEEVENT_CONTROL_CLICK. К сожалению, это единственное событие, которое доступно этому simple button. А еще нельзя повесить на эту кнопку несколько событий, при регистре событий старое событие заменяется на новое
Можно повесить 3 события точно и не только FRAMEEVENT_CONTROL_CLICK, но и ещё FRAMEEVENT_MOUSE_ENTER, FRAMEEVENT_MOUSE_LEAVE. С остальным не проверял
Соответственно нужно статью обновлять в нескольких разделах
Obelick, спасибо большое за ОС, при следующем обновлении попытаюсь все учесть 😎
Я уже думаю сделать 9 слотов именно где основные:
Проблема скрыть инвентарь основной(пока не решил как сделать это), потому что он исчезает с панелью где и атака, но можно как вариант наложить текстуру , текстуру под ним даже не сдвинуть, я не нашел как к ней подцепится
Моя система сейчас подвязывается абсолютно к любому герою, их не надо заносить в БД, все автоматизировано
Кнопки (7,8,9 слот) тоже идеально считывают Итемы от описания до кастомных характеристик , поэтому сделать 1-6 будет не проблема
Очень хороши подметил что итемы с активной способностью мертвы становятся из за того что помещаются в слоты через кнопки, учту при следующим обновлении
PUVer, некоторые приказы создают утечки на быдло гуи, например, если отдаёшь приказ юниту или группе юнитов отправиться в область, там создаётся точка и группа
63 мб это много и это как раз та штука что у тебя вызывает краш
PUVer, все верно, есть какой то лимит в 256 мб на один регион памяти (предположение)
Касаемо журнала не знаю, не слышал даже о возможной такой причине )
Когда у игры неполучается выделить память, она показывает сообщение об ошибке "Недостаточно памяти для обработки команды".
Произойти это может, если память доступная процессу игры кончилась.
Даже если у вас 64-битный процессор и десятки гигабайт оперативной памяти, игра 32-битная и не может использовать больше 4-ех гигабайт памяти.
А на практике, даже больше 2-ух гигабайт будет проблемно занять, из-за особенности устройства используемых варкрафтом связных списков.
Регионы памяти:
По моим наблюдениям, выделение памяти может также провалиться в случае, когда размер одного региона менеджера памяти достигает лимита, равного примерно 256-ми мегабайтам.Так что, даже если память еще не закончилась, но блоков памяти в одном регионе выделено слишком много, то игра всё равно может крашнуться. Также, могу предположить, что если игра попытается одним куском выделить много памяти (например, 300 МБ), то последствия будут теми же.
По сигнатуре региона можно попытаться догадаться о причине произошедшего.Например, если имя объекта CUnitListNode, то можно заподозрить утечки памяти, связанные с неудаляемыми групами в скрипте карты.
LongbowMan, через 5-10 лет будет уже и Варкрафт 4 какой нибудь, интузиасты в пару человек пытаются конкурировать с командой
Проблема интузиастов в том что онлайн они вряд ли наберут, хотя ИринаБот хороший пример, но опять же все почти пляски вокруг Легиона ТД, а вот на серверах Reforged можно запускать катки на 24 тела, онлайн позволяет, правда к сожалению РусскоГоворящих там почти нет :(
Если у тебя рефа, то можно поменять имя
call BlzSetUnitName
Или подменять юнита ReplaceUnitBJ
Либо 100% ВИЗУАЛЬНО рабочий вариант через фреймы
local framehandle tooltipFrame = BlzCreateFrame("MyTooltipTemplate", ...
call BlzFrameSetText(tooltipFrame, "Новое описание юнита")
» WarCraft 3 / GetMainSelectedUnit
В любом случае я проверил твой код, он является более предпочтительным, он гораздо меньше, что здорово
» WarCraft 3 / GetMainSelectedUnit
Ред. Smeto
» WarCraft 3 / GetMainSelectedUnit
» WarCraft 3 / [2.0.2 vjass] Инвентарь на фреймах 9 слотов (+3 слота)
» WarCraft 3 / SIMPLEBUTTON (кнопка пользовательского интерфейса)
» WarCraft 3 / [2.0.2 vjass] Инвентарь на фреймах 9 слотов (+3 слота)
Ред. Smeto
» WarCraft 3 / [2.0.2 vjass] Инвентарь на фреймах 9 слотов (+3 слота)
Ред. Smeto
» WarCraft 3 / [2.0.2 vjass] Инвентарь на фреймах 9 слотов (+3 слота)
» WarCraft 3 / [2.0.2 vjass] Инвентарь на фреймах 9 слотов (+3 слота)
» WarCraft 3 / Data Chunk Fatal Error
» WarCraft 3 / Data Chunk Fatal Error
Снимаем защиту с процесса игры xgm.guru/p/wc3/jass-view#h1
Ред. Smeto
» WarCraft 3 / Data Chunk Fatal Error
Касаемо журнала не знаю, не слышал даже о возможной такой причине )
» WarCraft 3 / Data Chunk Fatal Error
Произойти это может, если память доступная процессу игры кончилась.
Даже если у вас 64-битный процессор и десятки гигабайт оперативной памяти, игра 32-битная и не может использовать больше 4-ех гигабайт памяти.
А на практике, даже больше 2-ух гигабайт будет проблемно занять, из-за особенности устройства используемых варкрафтом связных списков.
По моим наблюдениям, выделение памяти может также провалиться в случае, когда размер одного региона менеджера памяти достигает лимита, равного примерно 256-ми мегабайтам.Так что, даже если память еще не закончилась, но блоков памяти в одном регионе выделено слишком много, то игра всё равно может крашнуться. Также, могу предположить, что если игра попытается одним куском выделить много памяти (например, 300 МБ), то последствия будут теми же.
По сигнатуре региона можно попытаться догадаться о причине произошедшего.Например, если имя объекта CUnitListNode, то можно заподозрить утечки памяти, связанные с неудаляемыми групами в скрипте карты.
» WarCraft 3 / Нужна помощь с Мемхаком
» WarCraft 3 / Нужна помощь с Мемхаком
» WarCraft 3 / Data Chunk Fatal Error
» Администрация XGM / Баг. Авторизированный пользователям не показываются ресурсы «Путь новичка: изучаем Lua»
» Администрация XGM / Баг. Авторизированный пользователям не показываются ресурсы «Путь новичка: изучаем Lua»
» WarCraft 3 / Reforged PTR 2.0.3: Оптимизация, новые настройки и изменения баланса (+ исправления нативных функций)
Ред. Smeto
» WarRaft / JASS-ANTLR-Kotlin: CLI
» WarCraft 3 / как сделать путь крипам по которому они должны идти
» WarCraft 3 / [REF 2.0.2]Расширите инвентарь в 3 столбика или какой фрейм дергать, чтоб можно было переключать стандартные 6 слотов итемов?
Через какой фрейм ? fdf файлы?
» WarCraft 3 / Как триггерно изменить описание юнита?
call BlzSetUnitName
Или подменять юнита ReplaceUnitBJ
local framehandle tooltipFrame = BlzCreateFrame("MyTooltipTemplate", ...
call BlzFrameSetText(tooltipFrame, "Новое описание юнита")
» WarCraft 3 / Ищу карту
Ред. Smeto
» WarCraft 3 / [JASS] - Буран
На 10000 вызовов же, 13ms задержка