Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===================================================================================================//
- // BO1 1.13 RPC By: CrEaTiiOn_420 //
- //===================================================================================================//
- // IF You Like My RPC Then Check Out My Thread And Give Me A Thanks Also If You Have Problems Then Just Post Your Question On The Thread Also -----> http://www.nextgenupdate.com/forums/black-ops-mods-patches-tutorials/770811-released-1-13-c-rpc-make-menu-mp-zm-stable-works.html
- //===================================================================================================//
- // Also Check Out My New Channel <3--------> http://youtube.com/CrEaTiiOn420OG //
- //===================================================================================================//
- 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);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement