Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    15 696

CE Lua. Заполненение таблицы данными по базовому адресу


MasterGH

767 просмотров

Нажали checkbox — заполнились данные по базовому адресу

Screenshot_1.png

 

Отжали checkbox — удалились данные

Screenshot_2.png

 

Скрытый текст

[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

 

 

Если проще руками забить и поставить опцию раскрытия, то можно и без скрипта.

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.