|
c# и координаты x y z - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
23.01.2017, 06:18
|
#1
|
|
|
|
Разведчик
|
Регистрация: 11.04.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
c# и координаты x y z
Считываю координаты с клиенты в float. Что не так?
Код:
public static int[] PosX = new int[] { 0x1c, 0x34, 0x3c};
public float ReadFloat(int baseAddress , int[] offset)
{
bool success;
byte[] buffer = new byte[4];
IntPtr temp;
var handle = OpenProcess(0x001F0FFF, false, pID);
UInt32 nBytesRead = 0;
success = Memory.ReadProcessMemory(handle, (IntPtr)baseAddress, buffer, 4, out temp);
return BitConverter.ToSingle(buffer, 0);
}
public static float PosX
Hero.PosX = m.ReadFloat(offsets.baseAddress, offsets.PosX) / 10 + 400;
MessageBox.Show(Convert.ToString(Hero.PosX));
Оффсеты верные, на autoit работает.
Код:
$base = 0xEFF604
$memory = _MemoryOpen (ProcessExists("elementclient.exe"))
$var =_MemoryRead(_MemoryRead(_MemoryRead ($base, $memory)+0x1c, $memory)+0x34, $memory)
$X = _memoryread($var + 0x3c, $memory, "float")
$y = _memoryread($var + 0x44, $memory, "float")
$z = _memoryread($var + 0x40, $memory, "float") / 10
ConsoleWrite("HP: " & ($X) & @CRLF)
ConsoleWrite("HP: " & ($y) & @CRLF)
ConsoleWrite("HP: " & ($z) & @CRLF)
________________
Всё новое — это хорошо забытое старое
|
|
|
23.01.2017, 13:55
|
#2
|
|
|
|
Разведчик
|
Регистрация: 11.10.2010
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 5 раз(а) в 5 сообщениях
|
Re: c# и координаты x y z
Извиняюсь, что не могу в коде разобраться, немного аврал на работе. Но вот копирнул свой рабочий код:
Код:
//считываем Float по одному оффсету
public static float CalcFloatValue(IntPtr handle, Int32 address)
{
IntPtr read;
byte[] buffer = new byte[50];
WinApi.ReadProcessMemory(handle, (IntPtr)address, buffer, buffer.Length, out read);
float x = BitConverter.ToSingle(buffer, 0);
return x;
}
//считываем значение Float по нашей цепочке оффсетов
//handle получен с OpenProcess
public static float ReadFloat(IntPtr handle, int address, int[] offset)
{
byte[] buffer = new byte[50];
var value = address;
value = CalcInt32Value(handle, value);
if (offset.Length > 0)
{
for (int i = 0; i < offset.Length - 1; i++)
{
value = CalcInt32Value(handle, value + offset[i]);
}
}
return CalcFloatValue(handle, value + offset[offset.Length - 1]); ;
}
x = ReadFloat(openedProcessHandle, Offsets.BaseAdress, Offsets.OffsetsX) / 10 + 400;
y = ReadFloat(openedProcessHandle, Offsets.BaseAdress, Offsets.OffsetsY) / 10 + 550;
z = ReadFloat(openedProcessHandle, Offsets.BaseAdress, Offsets.OffsetsZ) / 10;
Последний раз редактировалось KLAIDY; 23.01.2017 в 15:09.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] Координаты
|
Mr.Phoenix |
Общение и обсуждение Aion |
2 |
12.10.2015 16:53 |
[Информация] координаты боссов в цлк
|
demon443 |
Читы, баги и статьи по WoW |
0 |
08.11.2011 04:33 |
КООРДИНАТЫ WEH
|
liovin |
Читы, баги и статьи по WoW |
3 |
24.03.2011 22:58 |
координаты земель?
|
ex3me |
Архив |
6 |
16.07.2009 15:35 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 15:37.
|
|