opd_s mat15 = { 0x3705D0, TOC };//material function
int(*G_MaterialIndex)(char* name) = (int(*)(char*))&mat15;
int G_LocalizedStringIndex(const char* Text)
{
opd_s Localized = { 0x00370638, TOC };
int(*LocalizedStringIndex)(const char* Text) = (int(*)(const char*))&Localized;
return LocalizedStringIndex(Text);
}
int HudElem_Alloc()//alloc huds not the Game function but I like it idk why
{
int elem;
for (int i = 0; i < 1024; i++)
{
elem = (0x11F26D4 + (i * 0x7C));
if (*(char*)elem + 0x64 == 0x00)
{
Newbyte(elem,124);
return elem;
}
}
return -1;
}
namespace HElems
{
namespace elem
{
int x = 0x0;
int y = 0x4;
int z = 0x8;
int fontScale = 0xC;
int color = 0x10;
int fromColor = 0x14;
int fadeStartTime = 0x18;
int ScaleStartTime = 0x1C;
int FromX = 0x20;
int FromY = 0x24;
int moveStartTime = 0x28;
int time = 0x2C;
int duration = 0x30;
int value = 0x34;
int sort = 0x38;
int glowColor = 0x3C;
int fxBirthTime = 0x40;
int targetEntNum = 0x44;
int fadetime = 0x46;
int label = 0x48;
int width = 0x4A;
int height = 0x4C;
int fromWidth = 0x4E;
int fromHeigth = 0x50;
int scaleTime = 0x52;
int moveTime = 0x54;
int text = 0x56;
int fxLetterTime = 0x58;
int fxDecayStartTime = 0x5A;
int fxDecayDuration = 0x5C;
int fxRedactDecayStartTime = 0x5E;
int fxRedactDecayDuration = 0x60;
int flags = 0x62;
int type = 0x64;
int font = 0x65;
int alignOrg = 0x66;
int alignScreen = 0x67;
int materialIndex = 0x68;
int offscreenMaterialIdx = 0x69;
int fromAlignOrg = 0x6A;
int fromAlignScreen = 0x6B;
int soundID = 0x6C;
int ui3dWindow = 0x6D;
//0x6E _padding
//0x70 hudelem_s ends
int clientNum = 0x70;//all client offset Jo-Milk
int team = 0x74;
int archived = 0x78;
//0x7C game_hudelem_s ends
}
void SetShader(int Element, int clientIndex, int Material, int Width, int Height, float X, float Y, int R = 255, int G = 255, int B = 255, int A = 255, float Sort = 0)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 8;
*(short*)(Element + elem::width) = Width;
*(short*)(Element + elem::height) = Height;
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(char*)(Element + elem::materialIndex) = Material;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
}
}
void SetText(int Element, int clientIndex, char* Text, float X, float Y, float FontScale, char Font, float Sort = 0, int R = 255, int G = 255, int B = 255, int A = 255,int GlowR = 0, int GlowG = 0, int GlowB = 0, int GlowA = 0)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 1;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(short*)(Element + elem::text) = G_LocalizedStringIndex(Text);
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(float*)(Element + elem::fontScale) = FontScale;
*(char*)(Element + elem::font) = Font;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::glowColor) = GlowR;
*(char*)(Element + elem::glowColor+1) = GlowG;
*(char*)(Element + elem::glowColor+2) = GlowB;
*(char*)(Element + elem::glowColor+3) = GlowA;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
}
}
void TypeWriter(int Element, int clientIndex, char* Text, float X, float Y, float FontScale, char Font, float Sort = 0, int R = 255, int G = 255, int B = 255, int A = 255,int GlowR = 0, int GlowG = 0, int GlowB = 0, int GlowA = 0,short fxLetterTime = 80,short fxDecayStartTime = 10000,short fxDecayDuration = 2500)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 1;
*(short*)(Element + elem::flags) = 0x1004;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(short*)(Element + elem::text) = G_LocalizedStringIndex(Text);
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(float*)(Element + elem::fontScale) = FontScale;
*(char*)(Element + elem::font) = Font;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::glowColor) = GlowR;
*(char*)(Element + elem::glowColor+1) = GlowG;
*(char*)(Element + elem::glowColor+2) = GlowB;
*(char*)(Element + elem::glowColor+3) = GlowA;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
*(short*)(Element + elem::fxLetterTime) = fxLetterTime;
*(short*)(Element + elem::fxDecayStartTime) = fxDecayStartTime;
*(short*)(Element + elem::fxDecayDuration) = fxDecayDuration;
*(int*)(Element + elem::fxBirthTime) = *(int*)0x1213F4C;
}
}
void MoveOverTime(int Element,float X, float Y,short time)
{
*(float*)(Element + elem::FromX) = *(float*)(Element + elem::x);
*(float*)(Element + elem::FromY) = *(float*)(Element + elem::y);
*(short*)(Element + elem::moveTime) = time;
*(int*)(Element + elem::moveStartTime) = *(int*)0x1213F4C;
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
}
void FadeOverTime(int Element,short time,int R = 0, int G = 0, int B = 0, int A = 0)
{
*(char*)(Element + elem::fromColor) = *(char*)(Element + elem::color);
*(char*)(Element + elem::fromColor+1) = *(char*)(Element + elem::color+1);
*(char*)(Element + elem::fromColor+2) = *(char*)(Element + elem::color+2);
*(char*)(Element + elem::fromColor+3) = *(char*)(Element + elem::color+3);
*(short*)(Element + elem::fadetime) = time;
*(int*)(Element + elem::fadeStartTime) = *(int*)0x1213F4C;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
}
void changecolor(int elem,int R,int G,int B,int A)
{
*(char*)(elem + elem::color) = R;
*(char*)(elem + elem::color+1) = G;
*(char*)(elem + elem::color+2) = B;
*(char*)(elem + elem::color+3) = A;
}
void changealpha(int elem,int A)
{
*(char*)(elem + elem::color+3) = A;
}
void changeRGB(int elem,int R,int G,int B)
{
*(char*)(elem + elem::color) = R;
*(char*)(elem + elem::color+1) = G;
*(char*)(elem + elem::color+2) = B;
}
void changeGlowRGB(int elem,int R,int G,int B)
{
*(char*)(elem + elem::glowColor) = R;
*(char*)(elem + elem::glowColor+1) = G;
*(char*)(elem + elem::glowColor+2) = B;
}
void testY(int elem, float Y)
{
*(float*)(elem + elem::y) = Y;
}
void testx(int elem, float X)
{
*(float*)(elem + elem::x) = X;
}
void ChangeText(int elem, char* Text)
{
*(short*)(elem + elem::text) = G_LocalizedStringIndex(Text);
}
void Changematerial(int elem,char* name)
{
*(char*)(elem + elem::materialIndex) = G_MaterialIndex(name);
}
}
a perk to this community
opd_s mat15 = { 0x3705D0, TOC };//material function
int(*G_MaterialIndex)(char* name) = (int(*)(char*))&mat15;
int G_LocalizedStringIndex(const char* Text)
{
opd_s Localized = { 0x00370638, TOC };
int(*LocalizedStringIndex)(const char* Text) = (int(*)(const char*))&Localized;
return LocalizedStringIndex(Text);
}
int HudElem_Alloc()//alloc huds not the Game function but I like it idk why
{
int elem;
for (int i = 0; i < 1024; i++)
{
elem = (0x11F26D4 + (i * 0x7C));
if (*(char*)elem == 0x00)
{
Newbyte(elem + 0x64,124);
return elem;
}
}
return -1;
}
namespace HElems
{
namespace elem
{
int x = 0x0;
int y = 0x4;
int z = 0x8;
int fontScale = 0xC;
int color = 0x10;
int fromColor = 0x14;
int fadeStartTime = 0x18;
int ScaleStartTime = 0x1C;
int FromX = 0x20;
int FromY = 0x24;
int moveStartTime = 0x28;
int time = 0x2C;
int duration = 0x30;
int value = 0x34;
int sort = 0x38;
int glowColor = 0x3C;
int fxBirthTime = 0x40;
int targetEntNum = 0x44;
int fadetime = 0x46;
int label = 0x48;
int width = 0x4A;
int height = 0x4C;
int fromWidth = 0x4E;
int fromHeigth = 0x50;
int scaleTime = 0x52;
int moveTime = 0x54;
int text = 0x56;
int fxLetterTime = 0x58;
int fxDecayStartTime = 0x5A;
int fxDecayDuration = 0x5C;
int fxRedactDecayStartTime = 0x5E;
int fxRedactDecayDuration = 0x60;
int flags = 0x62;
int type = 0x64;
int font = 0x65;
int alignOrg = 0x66;
int alignScreen = 0x67;
int materialIndex = 0x68;
int offscreenMaterialIdx = 0x69;
int fromAlignOrg = 0x6A;
int fromAlignScreen = 0x6B;
int soundID = 0x6C;
int ui3dWindow = 0x6D;
//0x6E _padding
//0x70 hudelem_s ends
int clientNum = 0x70;//all client offset Jo-Milk
int team = 0x74;
int archived = 0x78;
//0x7C game_hudelem_s ends
}
void SetShader(int Element, int clientIndex, int Material, int Width, int Height, float X, float Y, int R = 255, int G = 255, int B = 255, int A = 255, float Sort = 0)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 8;
*(short*)(Element + elem::width) = Width;
*(short*)(Element + elem::height) = Height;
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(char*)(Element + elem::materialIndex) = Material;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
}
}
void SetText(int Element, int clientIndex, char* Text, float X, float Y, float FontScale, char Font, float Sort = 0, int R = 255, int G = 255, int B = 255, int A = 255,int GlowR = 0, int GlowG = 0, int GlowB = 0, int GlowA = 0)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 1;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(short*)(Element + elem::text) = G_LocalizedStringIndex(Text);
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(float*)(Element + elem::fontScale) = FontScale;
*(char*)(Element + elem::font) = Font;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::glowColor) = GlowR;
*(char*)(Element + elem::glowColor+1) = GlowG;
*(char*)(Element + elem::glowColor+2) = GlowB;
*(char*)(Element + elem::glowColor+3) = GlowA;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
}
}
void TypeWriter(int Element, int clientIndex, char* Text, float X, float Y, float FontScale, char Font, float Sort = 0, int R = 255, int G = 255, int B = 255, int A = 255,int GlowR = 0, int GlowG = 0, int GlowB = 0, int GlowA = 0,short fxLetterTime = 80,short fxDecayStartTime = 10000,short fxDecayDuration = 2500)
{
if(Element == -1)
{
iPrintln(Host, "^1Couldn't allocate");
}
else
{
*(char*)(Element + elem::type) = 1;
*(short*)(Element + elem::flags) = 0x1004;
*(int*)(Element + elem::clientNum) = clientIndex;
*(int*)(Element + elem::targetEntNum) = clientIndex;
*(short*)(Element + elem::text) = G_LocalizedStringIndex(Text);
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
*(float*)(Element + elem::sort) = Sort;
*(float*)(Element + elem::fontScale) = FontScale;
*(char*)(Element + elem::font) = Font;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
*(char*)(Element + elem::glowColor) = GlowR;
*(char*)(Element + elem::glowColor+1) = GlowG;
*(char*)(Element + elem::glowColor+2) = GlowB;
*(char*)(Element + elem::glowColor+3) = GlowA;
*(char*)(Element + elem::ui3dWindow) = 0xFF;
*(short*)(Element + elem::fxLetterTime) = fxLetterTime;
*(short*)(Element + elem::fxDecayStartTime) = fxDecayStartTime;
*(short*)(Element + elem::fxDecayDuration) = fxDecayDuration;
*(int*)(Element + elem::fxBirthTime) = *(int*)0x1213F4C;
}
}
void MoveOverTime(int Element,float X, float Y,short time)
{
*(float*)(Element + elem::FromX) = *(float*)(Element + elem::x);
*(float*)(Element + elem::FromY) = *(float*)(Element + elem::y);
*(short*)(Element + elem::moveTime) = time;
*(int*)(Element + elem::moveStartTime) = *(int*)0x1213F4C;
*(float*)(Element + elem::x) = X;
*(float*)(Element + elem::y) = Y;
}
void FadeOverTime(int Element,short time,int R = 0, int G = 0, int B = 0, int A = 0)
{
*(char*)(Element + elem::fromColor) = *(char*)(Element + elem::color);
*(char*)(Element + elem::fromColor+1) = *(char*)(Element + elem::color+1);
*(char*)(Element + elem::fromColor+2) = *(char*)(Element + elem::color+2);
*(char*)(Element + elem::fromColor+3) = *(char*)(Element + elem::color+3);
*(short*)(Element + elem::fadetime) = time;
*(int*)(Element + elem::fadeStartTime) = *(int*)0x1213F4C;
*(char*)(Element + elem::color) = R;
*(char*)(Element + elem::color+1) = G;
*(char*)(Element + elem::color+2) = B;
*(char*)(Element + elem::color+3) = A;
}
void changecolor(int elem,int R,int G,int B,int A)
{
*(char*)(elem + elem::color) = R;
*(char*)(elem + elem::color+1) = G;
*(char*)(elem + elem::color+2) = B;
*(char*)(elem + elem::color+3) = A;
}
void changealpha(int elem,int A)
{
*(char*)(elem + elem::color+3) = A;
}
void changeRGB(int elem,int R,int G,int B)
{
*(char*)(elem + elem::color) = R;
*(char*)(elem + elem::color+1) = G;
*(char*)(elem + elem::color+2) = B;
}
void changeGlowRGB(int elem,int R,int G,int B)
{
*(char*)(elem + elem::glowColor) = R;
*(char*)(elem + elem::glowColor+1) = G;
*(char*)(elem + elem::glowColor+2) = B;
}
void testY(int elem, float Y)
{
*(float*)(elem + elem::y) = Y;
}
void testx(int elem, float X)
{
*(float*)(elem + elem::x) = X;
}
void ChangeText(int elem, char* Text)
{
*(short*)(elem + elem::text) = G_LocalizedStringIndex(Text);
}
void Changematerial(int elem,char* name)
{
*(char*)(elem + elem::materialIndex) = G_MaterialIndex(name);
}
}
np
Copyright © 2026, NextGenUpdate.
All Rights Reserved.