This is just a radar!
This can not working alone.
It needs a memory reader like: jussihi/PUBG-map-hack.
So please dont ask why it's not working, get your memory reader first!
- Display player (location, health, facing direction)
- Display item
- Display Vehicle
- Track current player location (change that with
/?id=PLAYERINDEX
) - Select map (change with
/?map=(1|2)
or pick one at random if omitted)
- Install Nodejs.
- To your Working directory and run
npm install
to install package. - Run services
node index.js
. - The Map will running at
localhost:7890
.
Configure your memory reader to work with PUBG-Radar.
edit your PUBG-map-hack CURLWrapper.hpp
file:
- Change
CURLOPT_URL
tohttp://127.0.0.1:7890/
- Change
CURLOPT_CUSTOMREQUEST
toPOST
- Save and compile.
exp:
int sendData(std::string& w_data)
{
try
{
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(m_curl, CURLOPT_VERBOSE, 0L);
curl_easy_setopt(m_curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(m_curl, CURLOPT_URL, "http://127.0.0.1:7890/"); // <---- here
curl_easy_setopt(m_curl, CURLOPT_CUSTOMREQUEST, "POST"); // <---- here
// curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 30L);
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(m_curl, CURLOPT_POSTFIELDS, w_data.data());
curl_easy_setopt(m_curl, CURLOPT_NOSIGNAL, 1);
curl_easy_perform(m_curl);
curl_slist_free_all(headers);
curl_easy_reset(m_curl);
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
return -1;
}
}
HTTP POST that JSON struct blow, send it to `http://127.0.0.1:7890'.
{
"locations": {
"players": [{
"t": 0,
"x": 1.00,
"y": 1.00,
"hp": 1.00,
"r": 1.00
}],
"items": [{
"x": 1.00,
"y": 1.00,
"n": "scar"
}],
"vehicles": [{
"x": 1.00,
"y": 1.00,
"v": "buggy"
}]
}
}
// t team id
// x actorLocation X
// y actorLocation Y
// r relativeRotation Y
// n name
- facing direction arrow is no longer displayed when player is driving or parachuting.
- try to add a meter but failed, some junk code here.
- rename project.
- code refactoring, now code is clean and upgradable.
- Add facing direction arrow.
to enable this feature you need edit your PUBG-map-hack GameDataParser.hpp
:
if (std::find(playerIDs.begin(), playerIDs.end(), curActorID) != playerIDs.end())
{
int64_t rootCmpPtr = _Reader->readType<int64_t>(curActor + 0x180);
int64_t playerState = _Reader->readType<int64_t>(curActor + 0x3C0);
Vector3 actorLocation = _Reader->readVec(rootCmpPtr + 0x1A0);
Vector3 relativeRotation = _Reader->readVec(rootCmpPtr + 0x01EC); // <---- here
// ...
w_data["players"].emplace_back(json::object({ { "t", actorTeam }, {"hp", hp}, { "x", actorLocation.X },{ "y", actorLocation.Y }, {"r", relativeRotation.Y } })); // <---- and here
}
- Add fullscreen support (ios safari ONLY).
- Dead body is a black dot right now.
- Add a Health pie chart, The player's health has a visual effect.
to enable this feature you need edit your PUBG-map-hack GameDataParser.hpp
:
if (std::find(playerIDs.begin(), playerIDs.end(), curActorID) != playerIDs.end())
{
// ...
float hp = _Reader->readType<float>(curActor + 0x107C); // <---- here
w_data["players"].emplace_back(json::object({ { "t", actorTeam }, {"hp", hp}, { "x", actorLocation.X },{ "y", actorLocation.Y }/*,{ "z", actorLocation.Z }*/ })); // <---- and here
}
uuaing for facing direction and draw arrow functions.
myloft for the curActor decryption