CrEaTiiOn_420
Member
hey guys im just releasing a RPC that i have made for BO1 that allows you to create a stable menu for Multiplayer and Zombies and i included alot of functions like detect map and shit like that so have fun and if you make any menu's etc. just leave credit 
[C#] (Released, 1.13, C#) RPC To Make A Menu For MP and ZM (Stabl - Pastebin.com
Check Out My New Channel--> [ http://youtube.com/CrEaTiiOn420OG ]

HTML:
//RPC By: CrEaTiiOn_420
//===
public class RPC
{
public static UInt32 function_address = 0x6E34E0; //MP = 0x7A21E0 || ZM = 0x6E34E0
public static void Enable_RPC()
{
PS3.SetMemory(function_address, new byte[] { 0x4e, 0x80, 0, 0x20 });
System.Threading.Thread.Sleep(20);
byte[] memory = new byte[] {
0x7c, 8, 2, 0xa6, 0xf8, 1, 0, 0x80, 60, 0x60, 0x10, 5, 0x81, 0x83, 0, 0x4c,
0x2c, 12, 0, 0, 0x41, 130, 0, 100, 0x80, 0x83, 0, 4, 0x80, 0xa3, 0, 8,
0x80, 0xc3, 0, 12, 0x80, 0xe3, 0, 0x10, 0x81, 3, 0, 20, 0x81, 0x23, 0, 0x18,
0x81, 0x43, 0, 0x1c, 0x81, 0x63, 0, 0x20, 0xc0, 0x23, 0, 0x24, 0xc0, 0x43, 0, 40,
0xc0, 0x63, 0, 0x2c, 0xc0, 0x83, 0, 0x30, 0xc0, 0xa3, 0, 0x34, 0xc0, 0xc3, 0, 0x38,
0xc0, 0xe3, 0, 60, 0xc1, 3, 0, 0x40, 0xc1, 0x23, 0, 0x48, 0x80, 0x63, 0, 0,
0x7d, 0x89, 3, 0xa6, 0x4e, 0x80, 4, 0x21, 60, 0x80, 0x10, 5, 0x38, 160, 0, 0,
0x90, 0xa4, 0, 0x4c, 0x90, 100, 0, 80, 0xe8, 1, 0, 0x80, 0x7c, 8, 3, 0xa6,
0x38, 0x21, 0, 0x70, 0x4e, 0x80, 0, 0x20
};
PS3.SetMemory(function_address + 4, memory);
PS3.SetMemory(0x10050000, new byte[0x2854]);
PS3.SetMemory(function_address, new byte[] { 0xf8, 0x21, 0xff, 0x91 });
}
public static uint Call(uint func_address, params object[] parameters)
{
int length = parameters.Length;
uint num2 = 0;
for (uint i = 0; i < length; i++)
{
if (parameters[i] is int)
{
byte[] array = BitConverter.GetBytes((int)parameters[i]);
Array.Reverse(array);
PS3.SetMemory(0x10050000 + ((i + num2) * 4), array);
}
else if (parameters[i] is uint)
{
byte[] buffer2 = BitConverter.GetBytes((uint)parameters[i]);
Array.Reverse(buffer2);
PS3.SetMemory(0x10050000 + ((i + num2) * 4), buffer2);
}
else if (parameters[i] is string)
{
byte[] buffer3 = Encoding.UTF8.GetBytes(Convert.ToString(parameters[i]) + "\0");
PS3.SetMemory(0x10050054 + (i * 0x400), buffer3);
uint num4 = 0x10050054 + (i * 0x400);
byte[] buffer4 = BitConverter.GetBytes(num4);
Array.Reverse(buffer4);
PS3.SetMemory(0x10050000 + ((i + num2) * 4), buffer4);
}
else if (parameters[i] is float)
{
num2++;
byte[] buffer5 = BitConverter.GetBytes((float)parameters[i]);
Array.Reverse(buffer5);
PS3.SetMemory(0x10050024 + ((num2 - 1) * 4), buffer5);
}
}
byte[] bytes = BitConverter.GetBytes(func_address);
Array.Reverse(bytes);
PS3.SetMemory(0x1005004c, bytes);
System.Threading.Thread.Sleep(20);
byte[] memory = new byte[4];
PS3.GetMemoryR(0x10050050, ref memory);
Array.Reverse(memory);
return BitConverter.ToUInt32(memory, 0);
}
}
//Hud Elements
//============
public class Huds
{
public class HudStruct
{
public static uint
G_HudElems = 0x00EE7B84,
IndexSize = 0x84,
x = 0x0,
y = 0x4,
z = 0x8,
fontScaleStartTime = 0x14,
fontScale = 0xC,
entNum = 0x18,
color = 0x18,
teamNum = 0x1C,
fromColor = 0x1C,
icon = 0x20,
fadeStartTime = 0x20,
scaleStartTime = 0x24,
fromX = 0x28,
fromY = 0x2C,
moveStartTime = 0x30,
time = 0x34,
duration = 0x38,
value = 0x3C,
sort = 0x40,
glowColor = 0x44,
fxBirthTime = 0x48,
targetEntNum = 0x4C,
fontScaleTime = 0x4E,
fadeTime = 0x50,
label = 0x52,
width = 0x54,
height = 0x56,
fromWidth = 0x58,
fromHeight = 0x5A,
scaleTime = 0x5C,
moveTime = 0x5E,
text = 0x60,
fxDecayStartTime = 0x64,
fxDecayDuration = 0x66,
fxRedactDecayStartTime = 0x68,
fxRedactDecayDuration = 0x6A,
flags = 0x6C,
type = 0x6E,
font = 0x6F,
alignOrg = 0x70,
alignScreen = 0x71,
materialIndex = 0x72,
fxLetterTime = 0x62,
offscreenMaterialIdx = 0x73,
fromAlignOrg = 0x74,
fromAlignScreen = 0x75,
soundID = 0x76,
ui3dWindow = 0x77,
clientNum = 0x78,
team = 0x7C,
archived = 0x80;
}
public static short G_LocalizedStringIndex(string Text)
{
return (short)RPC.Call(0x00304BA0, Text);
}
public static void ChangeText(UInt32 elemIndex, String Text)
{
PS3.Extension.WriteInt16(elemIndex + HudStruct.text, G_LocalizedStringIndex(Text));
}
public static uint SetText(int clientIndex, string TextString, int Font, Single FontSize, Single X, Single Y, uint align = 0, int r = 255, int g = 255, int b = 255, int a = 255, int glowr = 255, int glowg = 255, int glowb = 255, int glowa = 0)
{
uint text = HudElem_Alloc();
PS3.Extension.WriteByte(text + HudStruct.type, 1);
Funcs.WriteSingle(text + HudStruct.fontScale, FontSize);
PS3.Extension.WriteByte(text + HudStruct.font, Convert.ToByte(Font));
if (align != 0)
{ PS3.Extension.WriteByte(text + HudStruct.alignOrg, 5); PS3.Extension.WriteByte(text + HudStruct.alignScreen, Convert.ToByte(align)); }
else
{ Funcs.WriteSingle(text + HudStruct.x, X); Funcs.WriteSingle(text + HudStruct.y, Y); }
PS3.Extension.WriteInt32(text + HudStruct.clientNum, clientIndex);
PS3.Extension.WriteInt16(text + HudStruct.text, G_LocalizedStringIndex(TextString));
PS3.Extension.WriteBytes(text + HudStruct.color, new Byte[] { (Byte)r, (Byte)g, (Byte)b, (Byte)a });
PS3.Extension.WriteBytes(text + HudStruct.glowColor, new Byte[] { (Byte)glowr, (Byte)glowg, (Byte)glowb, (Byte)glowa });
PS3.Extension.WriteByte(text + HudStruct.ui3dWindow, 0xFF);
return text;
}
public static uint SetShader(int clientIndex, int Material, short Width, short Height, Single X, Single Y, uint align = 0, int r = 255, int g = 255, int b = 255, int a = 255)
{
uint Shader = HudElem_Alloc();
PS3.Extension.WriteByte(Shader + HudStruct.type, 4);
PS3.Extension.WriteByte(Shader + HudStruct.materialIndex, Convert.ToByte(Material));
PS3.Extension.WriteInt16(Shader + HudStruct.height, Height);
PS3.Extension.WriteInt16(Shader + HudStruct.width, Width);
if (align != 0)
{ PS3.Extension.WriteByte(Shader + HudStruct.alignOrg, 5); PS3.Extension.WriteByte(Shader + HudStruct.alignScreen, Convert.ToByte(align)); }
else
{ Funcs.WriteSingle(Shader + HudStruct.x, X); Funcs.WriteSingle(Shader + HudStruct.y, Y); }
PS3.Extension.WriteInt32(Shader + HudStruct.clientNum, clientIndex);
PS3.SetMemory(Shader + HudStruct.ui3dWindow, new Byte[] { 0xFF });
PS3.Extension.WriteBytes(Shader + HudStruct.color, new Byte[] { (Byte)r, (Byte)g, (Byte)b, (Byte)a });
return Shader;
}
public static uint HudElem_Alloc()
{
for (uint i = 40; i < 1024; i++)
{
uint Index = HudStruct.G_HudElems + (i * HudStruct.IndexSize);
if (PS3.Extension.ReadByte(Index + HudStruct.type) == 0)
{
PS3.Extension.WriteBytes(Index, new Byte[0x88]);
return Index;
}
}
return 0;
}
public static void DestroyElement(uint Element)
{
PS3.SetMemory(Element, new byte[HudStruct.IndexSize]);
}
}
//Buttons Monitoring
//==================
public static class Buttons
{
public static Int32
L1 = 1048704,
L2 = 72704,
L3 = 1074003968,
R1 = -2147483648,
R2 = 131072,
R3 = 536870912,
Square = 67108864,
Cross = 2104320,
Crouch = 4194304,
Prone = 8388608,
Triangle = 8;
}
public static bool ButtonPressed(int client, int Button)
{
if (Convert.ToInt32(PS3.Extension.ReadInt32(0x11007E8 + ((uint)client * 0x1D30))) == Button)
return true;
else return false;
}
//Addresses
//=========
class Addresses
{
public static uint
G_entityZM = 0xFA805C,
G_entitySizeZM = 0x34C,
G_clientZM = 0x010fed78,
G_clientSizeZM = 0x1D30;
}
//Functions
//=========
public static string GetPlayerNameForMenu(Int32 clientIndex)
{
String Name = PS3.Extension.ReadString(0x011008B8 + ((uint)clientIndex * 0x1d30));
if (Name == "")
return "Not Connected";
else
return Name;
}
public string GetMap()
{
return PS3.Extension.ReadString(0x0138E1B8);
}
public int getMapMaterialWhiteShader()
{
string map = GetMap();
if (map == "zombie_theater")
{
return 18;
}
if (map == "zombie_pentagon")
{
return 17;
}
if (map == "zombie_cod5_prototype")
{
return 16;
}
if (map == "zombie_asylum")
{
return 16;
}
if (map == "zombie_swamp")
{
return 16;
}
if (map == "zombie_cod5_factory")
{
return 16;
}
if (map == "zombie_cosmodrome")
{
return 16;
}
if (map == "zombie_coast")
{
return 19;
}
if (map == "zombie_temple")
{
return 17;
}
if (map == "zombie_paris")
{
return 16;
}
else
{
return 0;
}
}
public int getMapMaterialBlackShader()
{
string map = GetMap();
if (map == "zombie_theater")
{
return 11;
}
if (map == "zombie_pentagon")
{
return 10;
}
if (map == "zombie_cod5_prototype")
{
return 9;
}
if (map == "zombie_asylum")
{
return 9;
}
if (map == "zombie_swamp")
{
return 9;
}
if (map == "zombie_cod5_factory")
{
return 9;
}
if (map == "zombie_cosmodrome")
{
return 9;
}
if (map == "zombie_coast")
{
return 12;
}
if (map == "zombie_temple")
{
return 10;
}
if (map == "zombie_paris")
{
return 9;
}
else
{
return 0;
}
}
public static int GetHost()
{
string Host = PS3.Extension.ReadString(0x01C33DB0);
int i = 0;
if (Host == "")
{
i = 0;
}
else if (Host == PS3.Extension.ReadString(0x011008B8 + (0 * 0x1d30)))
{
i = 0;
}
else if (Host == PS3.Extension.ReadString(0x011008B8 + (1 * 0x1d30)))
{
i = 1;
}
else if (Host == PS3.Extension.ReadString(0x011008B8 + (2 * 0x1d30)))
{
i = 2;
}
else if (Host == PS3.Extension.ReadString(0x011008B8 + (3 * 0x1d30)))
{
i = 3;
}
return i;
}
public static void SV_GameSendServerCommand(int client, string command)
{
RPC.Call(0x003C33A8, client, 1, command);
}
[C#] (Released, 1.13, C#) RPC To Make A Menu For MP and ZM (Stabl - Pastebin.com
Check Out My New Channel--> [ http://youtube.com/CrEaTiiOn420OG ]