Post: [Release]1.12 Hud elem Designer [with hud elems offsets]
07-19-2013, 06:25 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hey everyone, many people asked for BO II hud elems so there it is BUT i dont have RPC so i made a ghetto function that will call SetText for now. YOU MUST HAVE PS3TMAPI_NET.DLL in the SAME folder as this application with the devcomponents DLL !!!

Preview:
You must login or register to view this content.

You must login or register to view this content.



DOWNLOASad Awesome
You must login or register to view this content.

VIRUS SCAN[might have false positives due to the packing]:
You must login or register to view this content.


Hud elems offsets[C#][Thanks to xSonoro]: You must login or register to view this content.
        public class PS3        {
public static uint ProcessID;
public static uint[] ProcessIDs;


public static void SetMemory(uint Address, byte[] Bytes)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, Bytes);
}
public static void GetMemory(uint Address, ref byte[] Bytes)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, ref Bytes);
}
public static void Connect()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);


}
public static void Attach()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID); PS3TMAPI.ProcessContinue(0, ProcessID);
}
}


public class HElems
{
public static uint //CREDITS: xSonoro <3 <--Da Bes♥
type = 0x6D,
xOffset = 0x00,
yOffset = 0x04,
textOffset = 0x62,
sort = 32,
fontSizeOffset = 0x71,
clientOffset = 0x7C,
colorOffset = 0x18,
widthOffset = 0x58,
heightOffset = 0x5A,
shaderOffset = 0x74,
Material = 0x71;
}


public class HUDS
{


public static byte[] SetTextGhetto(string Text)
{
byte[] clean = new byte[250];
PS3.SetMemory(0x2000000, clean);
PS3.SetMemory(0x2000000, Encoding.ASCII.GetBytes(Text + "\0"));
byte[] BLP = new byte[] { 0x48, 0x44, 0x8D, 0xE5, 0x3C, 0x60, 0x00, 0xD9, 0x80, 0x63, 0xB5, 0xF8, 0x2C, 0x03, 0x00, 0x00, 0x40, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x02, 0x00, 0x30, 0x63, 0x00, 0x00, 0x4B, 0xED, 0xE9, 0x15, 0x3C, 0x80, 0x02, 0x00, 0x90, 0x64, 0x50, 0x00, 0x48, 0x00, 0x00, 0x68, 0x4B, 0xFD, 0x80, 0x09 };
byte[] ORG = new byte[] { 0x48, 0x44, 0x8D, 0xE5, 0x3C, 0x60, 0x00, 0xD9, 0x80, 0x63, 0xB5, 0xF8, 0x2C, 0x03, 0x00, 0x00, 0x41, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x00, 0x39, 0x38, 0x80, 0x00, 0x00, 0x3B, 0xE3, 0x5E, 0x8C, 0x63, 0x43, 0x00, 0x00, 0xC3, 0xFF, 0x00, 0x08, 0xFC, 0x20, 0xF8, 0x90, 0x4B, 0xFD, 0x80, 0x09, };
LIB.PS3.SetMemory(0x396484, BLP);
System.Threading.Thread.Sleep(15);
LIB.PS3.SetMemory(0x396484, ORG);
byte[] GetX = new byte[4];
PS3.GetMemory(0x2005000, ref GetX);


return GetX;
}
public static byte[] uintBytes(uint input) { byte[] data = BitConverter.GetBytes(input); Array.Reverse(data); return data; }


class MenuItems
{
public static uint
Shader = 0,
ScrollBarBackGround = 1;
}


public static byte[] ReverseBytes(byte[] inArray) { Array.Reverse(inArray); return inArray; }
public static byte[] ToHexFloat(float Axis) { byte[] bytes = BitConverter.GetBytes(Axis); Array.Reverse(bytes); return bytes; }
public static byte[] RGBA(decimal R, decimal G, decimal B, decimal A) { byte[] RGBA = new byte[4]; byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R)); byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G)); byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B)); byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A)); RGBA[0] = RVal[0]; RGBA[1] = GVal[0]; RGBA[2] = BVal[0]; RGBA[3] = AVal[0]; return RGBA; }




public static void StoreIcon(int elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, float sort, int r, int g, int b, int a)
{


byte[] Material_ = BitConverter.GetBytes(shader);
Array.Reverse(Material_);
byte[] Height_ = BitConverter.GetBytes(Convert.ToInt32(height));
Array.Resize(ref Height_, 2);
Array.Reverse(Height_);
byte[] width_ = BitConverter.GetBytes(Convert.ToInt32(width));
Array.Resize(ref width_, 2);
Array.Reverse(width_);






uint elem = 0x15df280 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(Cool Man (aka Tustin)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + 0x104, new byte[] { 0x03, 0xff });


PS3.SetMemory(elem + HElems.Material, Material_);


PS3.SetMemory(elem + HElems.heightOffset, Height_);


PS3.SetMemory(elem + HElems.widthOffset, width_);
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);


System.Threading.Thread.Sleep(20);
}


public static void StoreTextElem(int elemIndex, int client, string text, int font, int fontScale, int x, int y, uint align, int sort, int r, int g, int b, int a)
{




string setText = text + "\0";
byte[] TextIndex = SetTextGhetto(setText);
uint elem = 0x15df280 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(1)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + 0x104, new byte[] { 0x03, 0xff });
PS3.SetMemory(elem + HElems.textOffset, TextIndex);
byte[] font_ = BitConverter.GetBytes(Convert.ToInt32(font));
Array.Resize(ref font_, 1);
PS3.SetMemory(elem + HElems.fontSizeOffset, font_);
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
System.Threading.Thread.Sleep(20);
}


public static void DestroyElem(int index)
{
uint elem = 0x15df280 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);

PS3.SetMemory(elem, new byte[0x88]);

}


}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 21 users say thank you to Bad Luck Brian for this useful post:

{H} | Exception, Ansity., BadChoicesZ, Chxii, CodJumper:, DiiMoON_YouTube, ErasedDev, Mango_Knife, MGMoDzHD, network10, NGU-xNiicKzHD, O-H, SC58, Shark, SnaY, therifboy, Wesley_Pipes540, King, Zwiik
07-19-2013, 07:08 PM #20
MoTmrD
Banned
Thenk you
07-20-2013, 05:36 AM #21
Default Avatar
3bodi
Guest
can anyone give me a example on how to Spawn the text or the icon ?
07-21-2013, 02:19 AM #22
King
Little One
Originally posted by Bad
Hey everyone, many people asked for BO II hud elems so there it is BUT i dont have RPC so i made a ghetto function that will call SetText for now. YOU MUST HAVE PS3TMAPI_NET.DLL in the SAME folder as this application with the devcomponents DLL !!!

Preview:
You must login or register to view this content.

You must login or register to view this content.



DOWNLOASad Awesome
You must login or register to view this content.

VIRUS SCAN[might have false positives due to the packing]:
You must login or register to view this content.


Hud elems offsets[C#][Thanks to xSonoro]: You must login or register to view this content.
        public class PS3        {
public static uint ProcessID;
public static uint[] ProcessIDs;


public static void SetMemory(uint Address, byte[] Bytes)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, Bytes);
}
public static void GetMemory(uint Address, ref byte[] Bytes)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, ref Bytes);
}
public static void Connect()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);


}
public static void Attach()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID); PS3TMAPI.ProcessContinue(0, ProcessID);
}
}


public class HElems
{
public static uint //CREDITS: xSonoro <3 <--Da Bes♥
type = 0x6D,
xOffset = 0x00,
yOffset = 0x04,
textOffset = 0x62,
sort = 32,
fontSizeOffset = 0x71,
clientOffset = 0x7C,
colorOffset = 0x18,
widthOffset = 0x58,
heightOffset = 0x5A,
shaderOffset = 0x74,
Material = 0x71;
}


public class HUDS
{


public static byte[] SetTextGhetto(string Text)
{
byte[] clean = new byte[250];
PS3.SetMemory(0x2000000, clean);
PS3.SetMemory(0x2000000, Encoding.ASCII.GetBytes(Text + "\0"));
byte[] BLP = new byte[] { 0x48, 0x44, 0x8D, 0xE5, 0x3C, 0x60, 0x00, 0xD9, 0x80, 0x63, 0xB5, 0xF8, 0x2C, 0x03, 0x00, 0x00, 0x40, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x02, 0x00, 0x30, 0x63, 0x00, 0x00, 0x4B, 0xED, 0xE9, 0x15, 0x3C, 0x80, 0x02, 0x00, 0x90, 0x64, 0x50, 0x00, 0x48, 0x00, 0x00, 0x68, 0x4B, 0xFD, 0x80, 0x09 };
byte[] ORG = new byte[] { 0x48, 0x44, 0x8D, 0xE5, 0x3C, 0x60, 0x00, 0xD9, 0x80, 0x63, 0xB5, 0xF8, 0x2C, 0x03, 0x00, 0x00, 0x41, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x00, 0x39, 0x38, 0x80, 0x00, 0x00, 0x3B, 0xE3, 0x5E, 0x8C, 0x63, 0x43, 0x00, 0x00, 0xC3, 0xFF, 0x00, 0x08, 0xFC, 0x20, 0xF8, 0x90, 0x4B, 0xFD, 0x80, 0x09, };
LIB.PS3.SetMemory(0x396484, BLP);
System.Threading.Thread.Sleep(15);
LIB.PS3.SetMemory(0x396484, ORG);
byte[] GetX = new byte[4];
PS3.GetMemory(0x2005000, ref GetX);


return GetX;
}
public static byte[] uintBytes(uint input) { byte[] data = BitConverter.GetBytes(input); Array.Reverse(data); return data; }


class MenuItems
{
public static uint
Shader = 0,
ScrollBarBackGround = 1;
}


public static byte[] ReverseBytes(byte[] inArray) { Array.Reverse(inArray); return inArray; }
public static byte[] ToHexFloat(float Axis) { byte[] bytes = BitConverter.GetBytes(Axis); Array.Reverse(bytes); return bytes; }
public static byte[] RGBA(decimal R, decimal G, decimal B, decimal A) { byte[] RGBA = new byte[4]; byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R)); byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G)); byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B)); byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A)); RGBA[0] = RVal[0]; RGBA[1] = GVal[0]; RGBA[2] = BVal[0]; RGBA[3] = AVal[0]; return RGBA; }




public static void StoreIcon(int elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, float sort, int r, int g, int b, int a)
{


byte[] Material_ = BitConverter.GetBytes(shader);
Array.Reverse(Material_);
byte[] Height_ = BitConverter.GetBytes(Convert.ToInt32(height));
Array.Resize(ref Height_, 2);
Array.Reverse(Height_);
byte[] width_ = BitConverter.GetBytes(Convert.ToInt32(width));
Array.Resize(ref width_, 2);
Array.Reverse(width_);






uint elem = 0x15df280 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(Cool Man (aka Tustin)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + 0x104, new byte[] { 0x03, 0xff });


PS3.SetMemory(elem + HElems.Material, Material_);


PS3.SetMemory(elem + HElems.heightOffset, Height_);


PS3.SetMemory(elem + HElems.widthOffset, width_);
PS3.SetMemory(elem + HElems.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);


System.Threading.Thread.Sleep(20);
}


public static void StoreTextElem(int elemIndex, int client, string text, int font, int fontScale, int x, int y, uint align, int sort, int r, int g, int b, int a)
{




string setText = text + "\0";
byte[] TextIndex = SetTextGhetto(setText);
uint elem = 0x15df280 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + HElems.type, ReverseBytes(BitConverter.GetBytes(1)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + 0x104, new byte[] { 0x03, 0xff });
PS3.SetMemory(elem + HElems.textOffset, TextIndex);
byte[] font_ = BitConverter.GetBytes(Convert.ToInt32(font));
Array.Resize(ref font_, 1);
PS3.SetMemory(elem + HElems.fontSizeOffset, font_);
PS3.SetMemory(elem + HElems.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + HElems.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + HElems.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + HElems.clientOffset, ClientID);
System.Threading.Thread.Sleep(20);
}


public static void DestroyElem(int index)
{
uint elem = 0x15df280 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);

PS3.SetMemory(elem, new byte[0x88]);

}


}


Good Job! Very Nice!
07-21-2013, 02:19 AM #23
King
Little One
Good Job Nice Work!

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo