struct ModelInfo_t
{
float vOutX, vOutY;
};
std::vector<ModelInfo_t>ModelInfo;
float aimheight = 70.0f;
void AddModel(LPDIRECT3DDEVICE9 pDevice)
{
D3DVIEWPORT9 Viewport;
pDevice->GetViewport(&Viewport);
D3DXMATRIX ProjMatrix, ViewMatrix, WorldMatrix;
D3DXVECTOR3 vOut(0, 0, 0), vIn(0, 0, aimheight);
pDevice->GetVertexShaderConstantF(0, ProjMatrix, 4);
pDevice->GetVertexShaderConstantF(230, ViewMatrix, 4);
D3DXMatrixIdentity(&WorldMatrix);
D3DXVec3Project(&vOut, &vIn, &Viewport, &ProjMatrix, &ViewMatrix, &WorldMatrix);
if (vOut.z < 1.0f)
{
ModelInfo_t pModelInfo = { static_cast<float>(vOut.x), static_cast<float>(vOut.y) };
ModelInfo.push_back(pModelInfo);
}
}
if (ModelInfo.size() != NULL)
{
for (int i = 0; i < ModelInfo.size(); i += 1)
{
if (ModelInfo[i].vOutX > 1)
{
DrawCornerBox(Device, (int)ModelInfo[i].vOutX, (int)ModelInfo[i].vOutY+20, 20, 30, 2, D3DCOLOR_ARGB(255, 255, 255, 0));
}
}
}
ModelInfo.clear();
Device->GetVertexShaderConstantF(0, ProjMatrix, 4); Device->GetVertexShaderConstantF(4, ViewMatrix, 4);


bool WorldToScreen(D3DXVECTOR3 inpos, D3DXVECTOR3 &outpos, LPDIRECT3DDEVICE9 pDevice)
{
DWORD dwRenderData = (DWORD)GetModuleHandleA("i3GfxDx.dll") + 0x0000;
CRenderData* RenderData = (CRenderData*)(dwRenderData);
D3DXVECTOR3 vScreen;
D3DVIEWPORT9 g_ViewPort;
pDevice->GetViewport(&g_ViewPort);
g_ViewPort.X = g_ViewPort.Y = 0;
g_ViewPort.MinZ = 0;
g_ViewPort.MaxZ = 1;
D3DXVec3Project(&vScreen, &inpos, &g_ViewPort,
&RenderData->RenderData->ProjectMatrix,
&RenderData->RenderData->ViewMatrix,
&RenderData->RenderData->WorldMatrix);
if (vScreen.z < 1.0f && vScreen.x > 0.0f && vScreen.y > 0.0f && vScreen.x < g_ViewPort.Width && vScreen.y < g_ViewPort.Height)
{
outpos.x = vScreen.x;
outpos.y = vScreen.y;
outpos.z = vScreen.z;
return true;
}
return false;
}
void AddModel(LPDIRECT3DDEVICE9 Device)
{
ModelInfo_t* pModel = new ModelInfo_t;
DWORD dwRenderData = (DWORD)GetModuleHandleA("i3GfxDx.dll") + 0x0000;
CRenderData* RenderData = (CRenderData*)(dwRenderData);
Device->GetViewport(&viewport);
D3DXVECTOR3 vScreenCoord(0, 0, (float)aimheight), vWorldLocation(0, 0, 0);
D3DXVec3Project(&vScreenCoord, &vWorldLocation, &viewport, &RenderData->ToMyProject, &RenderData->ToMyView, &RenderData->ToMyWOrld); //Pointed to my game
if (vScreenCoord.z < 1)
{
pModel->Position2D.x = vScreenCoord.x;
pModel->Position2D.y = vScreenCoord.y;
}
ModelInfo.push_back(pModel);
}
. Hey, if you want, you could add me in skype, and maybe we can make some fun bot or something, " fuzzu_wuzzu " not with 1.Device->GetViewport(&viewport);
D3DXMATRIX projection, view, world;
D3DXVECTOR3 vScreenCoord(0, 0, (float)aimheight), vWorldLocation(0, 0, 0);
Device->GetTransform(D3DTS_VIEW, &view);
Device->GetTransform(D3DTS_PROJECTION, &projection);
Device->GetTransform(D3DTS_WORLD, &world);
D3DXVec3Project(&vScreenCoord, &vWorldLocation, &viewport, &projection, &view, &world);
if (vScreenCoord.z < 1)
{
pModel->Position2D.x = vScreenCoord.x;
pModel->Position2D.y = vScreenCoord.y;
}
if(Base==NULL)Base=(UINT_PTR)GetModuleHandle("TERA.exe");
CrosshairIDBase = read<DWORD>(Base + 0x1D17BA4);
if(CrosshairIDBase != NULL)CrosshairIDBaseOffset1 = read<DWORD>(CrosshairIDBase + 0x14);
if(CrosshairIDBaseOffset1 != NULL)CrosshairIDBaseOffset2 = read<DWORD>(CrosshairIDBaseOffset1 + 0x2e4);
if(CrosshairIDBaseOffset2 != NULL)CrosshairID = read<DWORD>(CrosshairIDBaseOffset2 + 0x28);
DWORD FFS = mem.read<int>((DWORD)Base + 0x1D17BA4); DWORD FirstPointer = mem.read<int>((DWORD)FFS + 0x14); DWORD SecondPointer = mem.read<int>((DWORD)FirstPointer + 0x2e4); DWORD CurrentDistance = mem.read<int>((DWORD)SecondPointer + 0x28); DWORD HealthAddress1 = mem.read<int>((DWORD)Base + 0x01D17BA4); DWORD HealthAddressOffset1 = mem.read<int>((DWORD)HealthAddress1 + 0x14); DWORD HealthAddressOffset2 = mem.read<int>((DWORD)HealthAddressOffset1 + 0x40); DWORD HealthAddressOffset3 = mem.read<int>((DWORD)HealthAddressOffset2 + 0x10); DWORD CurrentDistance = mem.read<int>((DWORD)SecondPointer + 0x28); DWORD CurrentHealth = mem.read<int>((DWORD)HealthAddressOffset3 + 0x48); DWORD CurrentMana = mem.read<int>((DWORD)HealthAddressOffset3 + 0x78); DWORD CurrentResolve = mem.read<int>((DWORD)HealthAddressOffset3 + 0x498); DWORD IdCheck = mem.read<int>((DWORD)SecondPointer + 0x1c);
D3DXVECTOR3 VectorMiddle.. D3DXVec3Unproject(&VectorMiddle, &ScreenMiddlee, &Viewport, &ProjMatrix, &ViewMatrix, &WorldMatrix); D3DXVec3Project(&vOut, &vIn, &Viewport, &ProjMatrix, &ViewMatrix, &WorldMatrix); float RealDistance = GetDistance(VectorMiddle.x, VectorMiddle.y, vIn.x, vIn.y);

void AddModel(LPDIRECT3DDEVICE9 Device)
{
ModelInfo_t* pModel = new ModelInfo_t;
DWORD dwRenderData = (DWORD)GetModuleHandleA("i3GfxDx.dll") + 0x0000;
CRenderData* RenderData = (CRenderData*)(dwRenderData);
Device->GetViewport(&viewport);
D3DXVECTOR3 vScreenCoord(0, 0, (float)aimheight), vWorldLocation(0, 0, 0);
D3DXVec3Project(&vScreenCoord, &vWorldLocation, &viewport, &RenderData->ToMyProject, &RenderData->ToMyView, &RenderData->ToMyWOrld); //Pointed to my game
if (vScreenCoord.z < 1)
{
pModel->Position2D.x = vScreenCoord.x;
pModel->Position2D.y = vScreenCoord.y;
}
ModelInfo.push_back(pModel);
}