codhexi позволяет перевести шестнадцатеричный hex код в целое число int. Если число более 2 147 483 647 записывать в double. Подробнее..
Применяется для чтения числовых значений с памяти процесса.
синтаксис
codhexi(#char_hex[0], 4);
параметр первый - указатель на массив char в котором находится считанный код с памяти с помощью readmemory - Работа с памятью процесса. Поиск, чтение, запись в память процесса игры
второй - количество байт в массиве которые переводятся в число.
CODE:char xp[8]={112, 186, 44, 0, 1, 0, 0, 0};//тут надо преобразовать в число с 8 байт
double result=codhexi(#xp[0], 8);
messagebox (result);
Внимание - в памяти процесса байты считываются справа налево. codhexi, также как и codhex и codhexd специально заточена для удобного использования именно для работы с процессами, поэтому в массиве char после чтения с процесса не надо переворачивать байты. Обработка идет уже сразу справа налево.
Однако если есть необходимость использовать codhexi для обычного перевода шестнадцатеричного кода в десятеричный, то необходимо перевернуть байты шестнадцатеричного кода наоборот. не так как пишем в калькуляторе.
Пример если в калькуляторе забить такой шестнадцатеричный код 5E A8 1C и конвертировать в десятичное число, то получим 6203420.
В памяти программ это же число будет записано наоборот в шестнадцатеричной системе 1C A8 5E. Байты задом наперед. И при чтение в массив char они и будут так же записаны
CODE:char hex[3];
hex[0]=formatic(28);//1C
hex[1]=formatic(168);//A8
hex[2]=formatic(94);//5E
int uy=codhexi(#hex[0], 3);
messagebox (uy);//6203420
|