(C#)为什么我的程序没有更改游戏中的值



我对编码比较陌生。我想为游戏"突击魔方"创建一个教练。我已经实现了一个";无限弹药";这个选项非常好,现在我想做一个神模式(无限健康(选项。它不起作用,我不明白为什么。我已经从游戏中获得了正确的偏移量(用作弊引擎检查(,对弹药和生命值做了所有的事情,并添加了应该冻结的新生命值。这个程序有问题吗?这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Memory;
namespace AssaultHack
{
public partial class Form1 : Form
{
Mem meme = new Mem();
public static string RifleAmmo = "ac_client.exe+0x00109B74,150";
public static string PlayerHealth = "ac_client.exe+0x0010A280,338,34,98,8";
public Form1()
{
InitializeComponent();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
int PID = meme.GetProcIdFromName("ac_client");
if(PID > 0)
{
meme.OpenProcess(PID);
Thread WA = new Thread(writeAmmo) { IsBackground = true };
Thread PH = new Thread(godMode) { IsBackground = true };
PH.Start();
WA.Start();
}
}
private void writeAmmo()
{
while(true)
{
if (checkBox1.Checked)
{
meme.WriteMemory(RifleAmmo, "int", "99999");
Thread.Sleep(2);
}
Thread.Sleep(2);
}    
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
}
private void godMode()
{
while(true)
{
if (checkBox2.Checked)
{
meme.WriteMemory(PlayerHealth, "int", "99999");
Thread.Sleep(2);
}
Thread.Sleep(2);
}
}
}
}

在所有游戏中,有两种类型的vars:
1.netvars:这种类型的var由服务器的主机管理,只有当你是服务器的主机时(在这种情况下,你可以更改所有玩家的vars(,或者如果你利用了服务器中的发送套接字,你才能更改它们可以随时更改此变量,如:视野/视图矩阵/角度
在你的攻击魔方中,生命值/shield/xyz/score/ammo是netvars,只有当你是宿主时,你才能更改它们。但你可以反向进入游戏,找到可以帮助你创造漏洞的东西,比如飞行等。。。

最新更新