Перейти к содержанию
Авторизация  
Razi

[Cheat Engine] Как отображать значение в hex в editbox?

Рекомендуемые сообщения

Как отображать значение в hex в editbox на языке Lua? Например считываем 4-х байтное значение в editbox. Нужно чтоб это значение отображалось в hex. И также нужно записывать из editbox в hex формате. То есть для записи в адрес, нужно вводить в editbox'е значение в hex формате.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Razi сказал:

значение в hex в editbox на языке Lua

Уже было - ТЫК

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

считывать получилось одним методом

Спойлер

for x = 1, 3 do
    CEEditsnowbt[x].Text = string.format('0%X',readInteger(0x009E93E0+x*4))
  end

 

другим методом не получилось

Спойлер

    for x = 1, 3 do
      CEEditsnowbt[x].Text = tonumer(readInteger(0x009E93E0+x*4),16)
    end

 

 

как исправить ошибку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не такой команды :)

tonumer

 

В CE 6.8 не работает вариант tonumber("0x9999",16). Работает tonumber("0x9999")
 

Спойлер

function DecToHex(stringValue)  return string.format('0x%08X', stringValue) end
function HexToDec(stringValue)  return tonumber(stringValue) end

function CEButton1Click(sender)
  UDF1.CEEdit1.Text = DecToHex(100)
end

function CEButton2Click(sender)
  local value =  HexToDec(UDF1.CEEdit1.Text)
  print(value)
end

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
26 минут назад, MasterGH сказал:

В CE 6.8 не работает вариант tonumber("0x9999",16). Работает tonumber("0x9999")

 

а запись тогда как делать в адрес в hex формате?

Следующий метод не работает как надо:

Спойлер

for x = 1, 3 do
  local currentCEEditsnowbt = CEEditsnowbt[x]
        writeInteger(0x009E93E0+x*4, string.format('0x%08X', currentCEEditsnowbt.Text))
end

 

 

Изменено пользователем Razi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Razi сказал:

тогда как делать в адрес в hex формате?

Я сделал сейчас так:

1. LUA

Спойлер

function CEButton1Click(sender)
text=  tonumber(UDF1.CEEdit1.Text, 16)
writeInteger('071793B0', text)
end

 

2. скрин:image.thumb.png.5fc4c4418f85af79f7a6419858396a8f.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Razi сказал:

а запись тогда как делать в адрес в hex формате?

 

Если CE 6.8, то 

Спойлер

for x = 1, 3 do
  local address = 0x009E93E0 + x * 4
  local stringValue = CEEditsnowbt[x].Text
  local intValue = tonumber(stringValue)  
  writeInteger(address, intValue)
end

 

Если CE 6.7 и ниже

Спойлер

for x = 1, 3 do
  local address = 0x009E93E0 + x * 4
  local stringValue = CEEditsnowbt[x].Text
  local intValue = tonumber(stringValue,16)  
  writeInteger(address, intValue)
end

 

 

В  "CEEditsnowbt[x].Text" должна быть строка с префиксом "0x", т.е. "0x100" например

 

Предлагаю использовать пошаговую отладку Lua для разбора какие значения в каких переменных.

Спойлер

Пошаговая отладка Lua скриптов.png

 

Подробнее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия CE 6.5. Получилось некоторое время назад, как раз именно так, как предлагаете:

Спойлер

for x = 1, 3 do
  local currentCEEditsnowbt = CEEditsnowbt[x]
  CEEditsnowbt[x].OnKeyPress = function(sender, key)
      timer.Enabled = false
      local a = tonumber(sender.Text)
      if (a~=nil) and isKeyPressed(VK_RETURN) then
      
        local tohex=tonumber(currentCEEditsnowbt.Text,16) --в hex
        writeInteger(0x009E93E0+x*4, tohex)
        
        timer.Enabled = true
      end
      return key
    end
end

 

 

А вот другие методы, чтения/записи в hex, не захотели работать.

Изменено пользователем Razi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

local a = 1000
UDF1.CEEdit1.Tex = string.format('%X', a) -- ( X - заглавные, x - маленькие )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В данном топике никто не постил уже 4 месяца. Пости здесь только если твой вопрос точно совпадает с темой данного топика.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр
Авторизация  

×
×
  • Создать...

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

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