所以我有两个数组,它们可以控制玩家的x,y和z坐标,但是每当我调用它们时,他们会在第一次打印到控制台时更改它们的值,它们会显示正确的结果,但随后会打印到屏幕上产量非常小,
HisPosition = GetPlayerPosition(aPlayer);
std::cout << "TheirPos=" << std::dec << HisPosition[0] << std::endl;
std::cout << "TheirPos1=" << std::dec << HisPosition[0] << std::endl;
if(!isnan(HisPosition[0])){
std::cout << "TheirPos2=" << std::dec << HisPosition[0] << std::endl;
控制台输出示例:
TheirPos=440
TheirPos1=1.7118e-037
TheirPos2=1.7118e-037
它们的定义如下:
float* HisPosition;
和GetPlayerPosition:
float* GetPlayerPosition(DWORD dwBase)
{
float result [3];
DWORD aXPos = dwBase + 0x134;
DWORD aYPos = dwBase + 0x138;
DWORD aZPos = dwBase + 0x13C;
result[0] = Read<float>(aXPos);
result[1] = Read<float>(aYPos);
result[2] = Read<float>(aZPos);
return result;
}
aPlayer代表播放器内存中的地址我试图获取偏移是正确的,因为在第一个控制台打印位置是正确的。
我很擅长在C ++中使用数组,并希望得到任何指导。