【发布时间】:2020-03-07 00:26:16
【问题描述】:
我一直在尝试为游戏制作培训师,作为视觉工作室中的一种学习项目,但我完全陷入困境。
我想要做的是读取游戏中的 Y 位置值,并在点击 btnConnect 按钮时将返回的浮点值放入文本框中,以便显示玩家的 Y 位置,但无论我尝试什么,我总是得到“ 0" 回到 valPosY 文本框中,而不是我在作弊引擎中看到的 "2992.065918"。
代码:
private void btnConnect_Click(object sender, EventArgs e)
{
btnConnect.Enabled = false;
Process[] processes = Process.GetProcessesByName("QUBE-Win64-Shipping");
if (processes.Length > 0)
{
btnConnect.Text = "Connected!";
Process GameProcess = processes[0];
VAMemory vam = new VAMemory("QUBE-Win64-Shipping");
IntPtr Base = GameProcess.MainModule.BaseAddress + 0x0290B008;
Base = IntPtr.Add((IntPtr)vam.ReadInt32(Base), 0x58);
Base = IntPtr.Add((IntPtr)vam.ReadInt32(Base), 0x340);
Base = IntPtr.Add((IntPtr)vam.ReadInt32(Base), 0x18);
Base = IntPtr.Add((IntPtr)vam.ReadInt32(Base), 0x100);
Base = IntPtr.Add((IntPtr)vam.ReadInt32(Base), 0x198);
float valY = vam.ReadFloat(Base);
valPosY.Text = valY.ToString();
}
else
{
btnConnect.Enabled = true;
MessageBox.Show("Could not find a process named 'QUBE-Win64-Shipping'!", "Error Finding Process", MessageBoxButtons.OK);
}
}
如果我关闭游戏,if 语句没有通过,这意味着它应该得到我需要的正确进程。
This is the pointer i got with Cheat Engine.
我也没有收到任何错误或警告消息。
如果需要更多信息,请告诉我,任何帮助将不胜感激!
【问题讨论】: