Uma URL que devolve os offsets em texto puro. O external baixa e lê. Roblox atualizou? Eu subo o dump novo e o mesmo binário já pega os valores certos, sem recompilar.
Abre no navegador, no curl, no que você quiser. Só responde com a key.
# AnimeSouls Offsets | roblox # version=version-a1b2c3d4 # hash=9f2c1a...e4 DataModel=0x6926BB8 Humanoid::Health=0x190 Humanoid::MaxHealth=0x194 Camera::CameraType=0x114 Workspace::CurrentCamera=0x38
Uma linha por offset, Nome=0xVALOR.
Offset de grupo vira Grupo::Campo.
Linha com # é metadado.
Você parseia com um split — não precisa de lib de JSON.
~40 linhas, só WinHTTP. Baixa o raw e devolve um mapa. Vem no painel com a sua key já dentro.
#include "AnimeSoulsOffsets.h" int main() { auto off = AnimeSouls::Fetch(); if (off.empty()) { /* API fora ou key invalida */ } uintptr_t hp = off["Humanoid::Health"]; uintptr_t cam = off["Workspace::CurrentCamera"]; }
/api/v1/* exige keyTrês formas de mandar. Escolha uma.
X-API-Key: as_SUA_KEY <- recomendado Authorization: Bearer as_SUA_KEY ?key=as_SUA_KEY <- só pra testar no navegador
Base: https://animesouls.xyz/api/v1
| Rota | O que devolve |
|---|---|
GET /offsets.txt |
É o que o Update() consome. Nome=0xVALOR por linha, parseia sem lib de JSON. |
GET /offsets.h | Header C/C++ com #define, para quem prefere compilar os valores. Não se atualiza sozinho. |
GET /offsets | JSON cru, estruturado. |
GET /version | Só hash, version e updated_at. Resposta minúscula, pra checar se mudou. |
GET /status | Dados da sua key: validade e rate limit. |
Toda resposta vem com ETag.
Mande de volta em If-None-Match e,
se nada mudou, o servidor responde 304 com corpo vazio.
$ curl -sI -H "X-API-Key: as_SUA_KEY" \ "https://animesouls.xyz/api/v1/offsets.txt" ETag: "9f2c1a...e4" X-Offsets-Version: version-a1b2c3d4 X-Offsets-Updated: 1758300000 $ curl -s -o /dev/null -w "%{http_code}" \ -H "X-API-Key: as_SUA_KEY" \ -H 'If-None-Match: "9f2c1a...e4"' \ "https://animesouls.xyz/api/v1/offsets.txt" 304
Se você não quer chamada de rede quando o external abre, baixe o header
com #define e
compile os valores. O custo é recompilar a cada atualização do Roblox.
O external baixa e lê. Offset novo e valor novo chegam sozinhos, no mesmo binário. Custa uma requisição na inicialização.
offsets.hZero rede, zero WinHTTP, e os offsets viram identificador de verdade. Mas Roblox atualizou, você baixa, recompila e redistribui.
curl -o Offsets.h "https://animesouls.xyz/api/v1/offsets.h?key=as_SUA_KEY"
#define DataModel 0x6926BB8 /* Humanoid */ #define Humanoid_Health 0x190 #define Humanoid_MaxHealth 0x194
Grupo_Campo,
porque :: não vale em
#define. No raw o mesmo
offset é Grupo::Campo.