Было скучно, решил поиграться с указателями. Получился такой триггербот (работает по зеленому треугольнику). Может кому-то пригодится для примера
Код
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
const UInt32 WM_KEYDOWN = 0x0100;
const UInt32 WM_KEYUP = 0x0101;
const int VK_CONTROL = 0x11;
private static IntPtr hwnd = FindWindow(null, "GTA: San Andreas");
private static VAMemory mem;
int[] target = new int[1];
static unsafe void Main(string[] args)
{
mem = new VAMemory("gta_sa");
while (true)
{
target[0] = mem.ReadInt32((IntPtr)0xB6F3B8);
target[0] = target[0] + 0x79c;
if (mem.ReadInt32((IntPtr)target[0]) > 0)
{
PostMessage(hwnd, WM_KEYDOWN, VK_CONTROL, 0);
Thread.Sleep(150);
PostMessage(hwnd, WM_KEYUP, VK_CONTROL, 0);
}
}
}