Заполненение таблицы данными по базовому адресу
-
Нажали checkbox — заполнились данные по базовому адресу
Отжали checkbox — удалились данные
[ENABLE] {$lua} baseAddress = 0x40000000 function FillValues(baseAddress, userValue) stringData = [[ Голод 20 Болезнь -10 Депрессия -40 Усталость 8 Ранения -28 Скрытность 6c Изготовление 84 Исследования 54 Собирательство 3c Охота b4 Рыбалка e4 Сбор cc Готовка 9c Сила 114 Ловкость fc Телосложение 144 Борьба 12c Интелект 1a4 Речь 174 Медицина 18c Знания 15c ]] -- Захват данных включая знак for name, value in stringData:gmatch('(%S+).-(%S?%x+)') do local stringPointer = '' local indexMinus = value:find('-') if indexMinus then stringPointer = string.format('[%08X - %s]', baseAddress, value:sub(indexMinus + 1)) else stringPointer = string.format('[%08X + %s]', baseAddress, value) end -- Добавить дочерний memrec -- memrec это ссылка на memrec, в котором написан этот скрипт local newMemRect = getAddressList().createMemoryRecord() newMemRect.Description = name newMemRect.Address = stringPointer newMemRect.Type = vtDword newMemRect.appendToEntry(memrec) end end \-- Запись userValue по baseAddress FillValues(baseAddress, userValue) [DISABLE] {$lua} for i = 0, memrec.Count-1 do memrec[0].destroy() end
Если проще руками забить и поставить опцию раскрытия, то можно и без скрипта.