Post: [Release] Better RPC
08-10-2014, 04:25 PM #1
-JM-
Space Ninja
(adsbygoogle = window.adsbygoogle || []).push({}); Hello Guys Since Mango asked Me to Do another RPC but FPS
I decide To Share with You Guys

This quote is Me Talking My way out of keeping it because People are little Wannabe
as if keeping something for yourself will make you better
here The function
put that in a function like enable
    
byte[] WritePPC = new byte[] {0x3F,0x80,0x10,0x02,0x81,0x9C,0x00,0x48,0x2C,0x0C,0x00,0x00,0x41,0x82,0x00,0x6C,
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,0x08};
PS3.SetMemory(0x3979FC, new byte[] { 0x41 });
PS3.SetMemory(0x3979FC + 4, WritePPC);
PS3.SetMemory(0x3979FC, new byte[] { 0x40 });

drop it some where in your code
    
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(0x10020000 + (count * 4), (Int32)parameters[index]);
count++;
}
else if (parameters[index] is UInt32)
{
PS3.Extension.WriteUInt32(0x10020000 + (count * 4), (UInt32)parameters[index]);
count++;
}
else if (parameters[index] is Int16)
{
PS3.Extension.WriteInt16(0x10020000 + (count * 4), (Int16)parameters[index]);
count++;
}
else if (parameters[index] is UInt16)
{
PS3.Extension.WriteUInt16(0x10020000 + (count * 4), (UInt16)parameters[index]);
count++;
}
else if (parameters[index] is Byte)
{
PS3.Extension.WriteByte(0x10020000 + (count * 4), (Byte)parameters[index]);
count++;
} //Should work now Happy let me try
else
{
UInt32 pointer;
if (parameters[index] is String)
{
pointer = 0x10022000 + (Strings * 0x400);
PS3.Extension.WriteString(pointer, Convert.ToString(parameters[index]));
PS3.Extension.WriteUInt32(0x10020000 + (count * 4), pointer);
count++;
Strings++;
}
else if (parameters[index] is Single)
{
WriteSingle(0x10020024 + (Single * 4), (Single)parameters[index]);
Single++;
}
else if (parameters[index] is Single[])
{
Single[] Args = (Single[])parameters[index];
pointer = 0x10021000 + Array * 4;
WriteSingle(pointer, Args);
PS3.Extension.WriteUInt32(0x10020000 + count * 4, pointer);
count++;
Array += (UInt32)Args.Length;
}

}
index++;
}
PS3.Extension.WriteUInt32(0x10020048, address);
Thread.Sleep(20);
return PS3.Extension.ReadInt32(0x1002004c);
}

Say Thanks To Mango He Made Me do it lol
Say Thanks To brian for teaching Me
Say Thanks To Milky For The FPS offset
Enjoy While RTM last
Only Tested In Zombie
(adsbygoogle = window.adsbygoogle || []).push({});

The following 2 users say thank you to -JM- for this useful post:

ALI ALHILFI, Hash847
08-10-2014, 04:28 PM #2
Esker
Samurai Poster
good stuff lol
08-10-2014, 10:46 PM #3
-JM-
Space Ninja
Originally posted by Lavecy View Post
good stuff lol


thanks

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo