THREAD: bo1 rpc
  1. 01-04-2019, 12:53 PM
    24
    Posts
    90
    Reputation
    Dec 2017
    NextGenUpdate
    look i hate asking but i been looking for a bo1 rpc that will work for ccapi and i need it for multiplayer and zombies thanks , it would be amazing if some one could help, it is just so i can use cbuf_addtext so help me out thanks <3


    aslo i needs to not have error, dont send me anything that is allready existing cause it either requires tmapi and i need it for ccapi without errors
    Last edited by Screw 0xFF ; 01-04-2019 at 12:54 PM.

  2. 01-05-2019, 12:18 AM
    24
    Posts
    90
    Reputation
    Dec 2017
    NextGenUpdate
    help some one
  3. 08-15-2020, 10:41 PM
    HlDE1's Avatar
    HlDE1
    Rookie
    HlDE1's Avatar
    HlDE1
    Rookie
    2
    Posts
    10
    Reputation
    Jul 2017
    NextGenUpdate

    public static void FPS_RPC()
    {
    PS3.SetMemory(0x00466299, new byte[] { 0x9A });
    PS3.SetMemory(0x4667B4, new byte[] { 0x3F, 0x80, 0x10, 0x05, 0x81, 0x9C, 0x00, 0x48, 0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x7C, 0x00, 0x00, 0x80, 0x9C, 0x00, 0x04, 0x80, 0xBC, 0x00, 0x08, 0x80, 0xDC, 0x00, 0x0C, 0x80, 0xFC, 0x00, 0x10, 0x81, 0x1C, 0x00, 0x14, 0x81, 0x3C, 0x00, 0x18, 0x81, 0x5C, 0x00, 0x1C, 0x81, 0x7C, 0x00, 0x20, 0xC0, 0x3C, 0x00, 0x24, 0xC0, 0x5C, 0x00, 0x28, 0xC0, 0x7C, 0x00, 0x2C, 0xC0, 0x9C, 0x00, 0x30, 0xC0, 0xBC, 0x00, 0x34, 0xC0, 0xDC, 0x00, 0x38, 0xC0, 0xFC, 0x00, 0x3C, 0xC1, 0x1C, 0x00, 0x40, 0xC1, 0x3C, 0x00, 0x44, 0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x38, 0x80, 0x00, 0x00, 0x90, 0x9C, 0x00, 0x48, 0x90, 0x7C, 0x00, 0x4C, 0xD0, 0x3C, 0x00, 0x50, 0x48, 0x00, 0x00, 0x40 });
    PS3.SetMemory(0x10050000, new byte[0x2854]);
    PS3.SetMemory(0x00466299, new byte[] { 0x00 });
    }
    public static Int32 Call(UInt32 address, params Object[] parameters)

    {

    Int32 length = parameters.Length;

    Int32 index = 0;

    UInt32 count = 0;

    UInt32 Strings = 0;

    UInt32 Single = 0;

    UInt32 Array = 0;

    while (index < length)

    {

    if (parameters[index] is Int32)

    {

    PS3.Extension.WriteInt32(0x10050000 + (count * 4), (Int32)parameters[index]);

    count++;

    }

    else if (parameters[index] is UInt32)

    {

    PS3.Extension.WriteUInt32(0x10050000 + (count * 4), (UInt32)parameters[index]);

    count++;

    }

    else if (parameters[index] is Int16)

    {

    PS3.Extension.WriteInt16(0x10050000 + (count * 4), (Int16)parameters[index]);

    count++;

    }

    else if (parameters[index] is UInt16)

    {

    PS3.Extension.WriteUInt16(0x10050000 + (count * 4), (UInt16)parameters[index]);

    count++;

    }

    else if (parameters[index] is Byte)

    {

    PS3.Extension.WriteByte(0x10050000 + (count * 4), (Byte)parameters[index]);

    count++;

    }

    else

    {

    UInt32 pointer;

    if (parameters[index] is String)

    {

    pointer = 0x10052000 + (Strings * 0x400);

    PS3.Extension.WriteString(pointer, Convert.ToString(parameters[index]));

    PS3.Extension.WriteUInt32(0x10050000 + (count * 4), pointer);

    count++;

    Strings++;

    }

    else if (parameters[index] is Single)

    {

    Games.BO2.Methods.Lib.WriteSingle(0x10050024 + (Single * 4), (Single)parameters[index]);

    Single++;

    }

    else if (parameters[index] is Single[])

    {

    Single[] Args = (Single[])parameters[index];

    pointer = 0x10051000 + Array * 4;

    Games.BO2.Methods.Lib.WriteSingle(pointer, Args);

    PS3.Extension.WriteUInt32(0x10050000 + count * 4, pointer);

    count++;

    Array += (UInt32)Args.Length;

    }



    }

    index++;

    }

    PS3.Extension.WriteUInt32(0x10050048, address);

    Thread.Sleep(20);

    return PS3.Extension.ReadInt32(0x1005004c);

    }



    public static void SV_GameSendServerCommand(int clientIndex, string Cmd)
    {
    Call(0x003E95F0, clientIndex, 0, Cmd);
    }
    public static void Cbuff_AddText(string Cmd)
    {
    Call(0x00399CC8, 0, Cmd);
    }