首页 > 解决方案 > Mem.ReadInt 总是返回 0

问题描述

我遵循了有关如何制作触发机器人的指南,找到了正确的地址,但是每当我从 Mem.ReadInt 读取它时,它总是返回 0。在作弊引擎中,每当我瞄准敌人时,值都会改变,因为某种原因这不会发生在我的程序中。

namespace GTAvTriggerBot
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        static extern short GetAsyncKeyState(Keys vKey);
        [DllImport("user32.dll")]
        public static extern void mouse_event(int a, int b, int c, int d, int damnIwonderifpeopleactuallyreadsthis);

        int leftDown = 0x02;
        int leftUp = 0x04;
        int flag = 0;


        Mem m = new Mem();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int PID = m.GetProcIdFromName("GTA5");
            if (PID > 0)
            {
                m.OpenProcess(PID);
                Thread TB = new Thread(triggerbot) { IsBackground = true };
                TB.Start();
            }
        }


        void shoot(int delay)
        {
            mouse_event(leftDown, 0, 0, 0, 0);
            Thread.Sleep(1);
            mouse_event(leftUp, 0, 0, 0, 0);
            Thread.Sleep(delay);
        }

        void triggerbot()
        {
            while (true)
            {
                if (GetAsyncKeyState(Keys.E) < 0)
                {
                    flag = m.ReadInt("GTA5.exe+0x1FACDF0");
                    if (flag == 16)
                    {
                        shoot(10);
                        shoot(1);
                    }
                }
                Thread.Sleep(1);
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = "" + m.ReadInt("GTA5.exe+0x1FACDF0");
        }
    }
}

标签: c#cheat-engine

解决方案


推荐阅读