MW3 RPC Class [1.24]

  • Hello Guest! Welcome to ConsoleCrunch, to help support our site check out the premium upgrades HERE! to get exclusive access to our hidden content.
  • Unable to load portions of the website...
    If you use an ad blocker addon, you should disable it because it interferes with several elements of the site and blocks more than just adverts.
  • Read Rules Before Posting Post Virus Scans with every program.

Chris

ROKETO PAAAAAAAAAAAAAANCH!
Retired Staff
Determined Poster
Active Member
Dec 11, 2013
572
494
163
Here ye go

Credits - Mango_Knife

//Mw3 RPC Class
public static class RPC
{
#region RPC
public static void EnableRPC()
{
PS3.SetMemory(0x523B10, new byte[2175]);
PS3.SetMemory(0x18BE6C, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x3BC9CC, new byte[] { 0x60, 0x00, 0x00, 0x00 });
PS3.SetMemory(0x18BE74, new byte[] { 0x48, 0x00, 0x00, 0x68 });
PS3.SetMemory(0x1DB1244, new byte[4]);
PS3.SetMemory(0x114AE64, new byte[4]);
PS3.SetMemory(0x3BC9E4, new byte[] { 0x41, 0x82, 0x02, 0x20, 0x3D, 0x00, 0x00, 0x52, 0x80, 0x68, 0x3B, 0x10, 0x80, 0x88, 0x3B, 0x14, 0x80, 0xA8, 0x3B, 0x18, 0x80, 0xC8, 0x3B, 0x1C, 0x80, 0xE8, 0x3B, 0x20, 0x39, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1D, 0x3C, 0x80, 0x01, 0x15, 0x90, 0x64, 0xAE, 0x64, 0x38, 0x80, 0x00, 0x00, 0x3C, 0x60, 0x01, 0xDB, 0x90, 0x83, 0x12, 0x44, 0x48, 0x00, 0x01, 0xE8, 0x4E, 0x80, 0x00, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 });
}
public static void GetMemoryR(uint Address, ref byte[] Bytes)
{
PS3.GetMemory(Address, Bytes);
}
public static uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
GetMemoryR(addr, ref check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x68));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}
public static void CallFunction(uint func_addr, uint param1 = 0, uint param2 = 0, uint param3 = 0, uint param4 = 0, uint param5 = 0)
{
byte[] par1 = BitConverter.GetBytes(param1);
byte[] par2 = BitConverter.GetBytes(param2);
byte[] par3 = BitConverter.GetBytes(param3);
byte[] par4 = BitConverter.GetBytes(param4);
byte[] par5 = BitConverter.GetBytes(param5);
Array.Reverse(par1);
Array.Reverse(par2);
Array.Reverse(par3);
Array.Reverse(par4);
Array.Reverse(par5);
PS3.SetMemory(0x523B10, par1);
PS3.SetMemory(0x523B14, par2);
PS3.SetMemory(0x523B18, par3);
PS3.SetMemory(0x523B1C, par4);
PS3.SetMemory(0x523B20, par5);
PS3.SetMemory(0x3BCA04, MakeBl(0x3BCA04, func_addr));
PS3.SetMemory(0x1DB1244, new byte[] { 0x00, 0x00, 0x00, 0x01 });
}
public static uint GetFuncReturn()
{
byte[] ret = new byte[4];
GetMemoryR(0x114AE64, ref ret);
Array.Reverse(ret);
return BitConverter.ToUInt32(ret, 0);
}
public static byte[] MakeBl(uint callAddr, uint addrToBlTo)
{
byte[] instruction = new byte[4];
uint addr_t = (uint)(((int)addrToBlTo - (int)callAddr) + 1);
if ((int)addrToBlTo > (int)callAddr) instruction[3] = 0x48;
else
{
instruction[3] = 0x4B; addr_t = (uint)(0x1000000 - ((int)callAddr - (int)addrToBlTo) + 1);
}
byte[] addr = BitConverter.GetBytes(addr_t);
for (int i = 0; i < 3; i++)
{
instruction = addr;
}
Array.Reverse(instruction);
return instruction;
}
#endregion
#region Cbuf_AddText
public static void CBuf_AddText(int client, string command)
{
CallFunction(Addresses.CBuf_AddText, (uint) client, str_pointer(command),0,0,0);
}
#endregion
#region SV_GameSendServerCommand
public static void SV_GameSendServerCommand(int client, string command)
{
CallFunction(Addresses.SV_GameSendServerCommand, (uint)client, 0, str_pointer(command), 0, 0);
}
#endregion
#region iPrintln
public static void iPrintln(int client, string Text)
{
SV_GameSendServerCommand(client, "f \"" + Text + "\"");
Thread.Sleep(20);
}
#endregion
#region iPrintlnBold
public static void iPrintlnBold(int client, string Text)
{
SV_GameSendServerCommand(client, "c \"" + Text + "\"");
Thread.Sleep(20);
}
#endregion
#region Set_ClientDvar
public static void Set_ClientDvar(int client, string Text)
{
SV_GameSendServerCommand(client, "q " + Text);
Thread.Sleep(20);
}
#endregion
#region Fov
public static void Fov(int client, string Text)
{
SV_GameSendServerCommand(client, "q \"cg_fov \"" + Text + "\"");
Thread.Sleep(20);
}
#endregion
#region Vision
public static void Vision(int client, string Text)
{
SV_GameSendServerCommand(client, "J \"" + Text + "\"");
Thread.Sleep(20);
}
#endregion
#region KickWithError
public static void Kick(int client, string Text)
{
SV_GameSendServerCommand(client, "r \"" + Text + "\"");
Thread.Sleep(20);
}
#endregion
#region GiveWeapon
public static void GiveWeapon(int client, int weapon,int akimbo)
{
CallFunction(Addresses.G_GivePlayerWeapon, (uint)G_ClientFunction(client), (uint)weapon, 0);
CallFunction(Addresses.Add_Ammo, (uint)(Addresses.G_Entity + (client * 0x280)), (uint)weapon, 0, 9999, 1);
}
#endregion
#region G_ClientFunction
public static uint G_ClientFunction(int client)
{
return Addresses.G_Client + ((uint)client * 0x3980);
}
#endregion
#region SetModel
public static void SetModel(int client, string model)
{
CallFunction(Addresses.G_SetModel, (uint)(Offsets.Addresses.G_Entity + (client * 640)), str_pointer(model), 0, 0, 0);
}
#endregion
#region Cmd_ExecuteSingleCommand
public static void Cmd_ExecuteSingleCommand(uint client, string command)
{
CallFunction(Addresses.Cmd_ExecuteSingleCommand, (uint)client, str_pointer(command), 0, 0, 0);
}
#endregion
}
#region Addresses
public static class Addresses
{
public static uint
G_Client = 0x110A280,
g_client = 0x110A280,
G_ClientIndex = 0x3980,
EntityIndex = 0x280,
G_Entity = 0xFCA280,
MapBrushModel = 0x7F80,
BG_GetPerkIndexForName = 0x210B0,
BG_GetNumWeapons = 0x3CFBC,
BG_FindWeaponIndexForName = 0x3CFD0,
BG_GetWeaponIndexForName = 0x3D434,
BG_GetViewModelWeaponIndex = 0x3D7D8,
Cmd_ExecuteSingleCommand = 0x1DB240,
BG_WeaponFireRecoil = 0x3FBD0,
CG_FireWeapon = 0xBE498,
Key_IsDown = 0xD1CD8,
Key_StringToKeynum = 0xD1D18,
Key_IsValidGamePadChar = 0xD1E64,
Key_KeyNumToString = 0xD1EA4,
Key_Unbind_f = 0xD2368,
Key_Bind_f = 0xD247C,
BG_TakePlayerWeapon = 0x1C409C,
G_GivePlayerWeapon = 0x1C3034,
SV_GameSendServerCommand = 0x228FA8,
SV_GetConfigString = 0x22A4A8,
SV_SetConfigString = 0x22A208,
va = 0x299490,
G_SetModel = 0x1BEF5C,
G_LocalizedStringIndex = 0x1BE6CC,
G_MaterialIndex = 0x1BE744,
G_ModelIndex = 0x1BE7A8,
G_ModelName = 0x1BE8A0,
Add_Ammo = 0x18A29C,
PlayerCmd_SetPerk = 0x17EBE8,
G_Damage = 0x183E18,
G_RadiusDamage = 0x185600,
G_GetClientScore = 0x18EA74,
G_GetClientDeaths = 0x18EA98,
Cmd_AddCommandInternal = 0x1DC4FC,
CBuf_AddText /*(int localClientNum, const char *text)*/ = 0x001DB240,
SV_SendDisconnect /*(client_s *client, int state, const char *reason)*/ = 0x0022472C,
SV_SendClientGameState /*(client_s *client)*/ = 0x002284F8,
SV_KickClient /*(client_s *cl, char *playerName, int maxPlayerNameLen)*/ = 0x00223BD0,
G_CallSpawnEntity /*(gentity_s *ent)*/ = 0x001BA730,
Player_Die /*(unsigned int *self, unsigned int *inflictor, unsigned int *attacker, int damage, int meansOfDeath, int iWeapon, const float *vDir, unsigned int hitLoc, int psTimeOffset)*/ = 0x00183748,
SV_DropClient /*(client_s *drop, const char *reason, bool tellThem)*/ = 0x002249FC,
SV_SendServerCommand /*(client_s *,svscmd_type,char const *,...)*/ = 0x0022CEBC,
Scr_Notify /*(gentity_s *ent, unsigned __int16 stringValue, unsigned int paramcount)*/ = 0x001BB1B0,
Sv_SetGametype /*(void)*/ = 0x00229C1C,
Sv_Maprestart /*(int fast_restart)*/ = 0x00223774,
sv_maprestart_f = 0x00223B20,
sv_spawnsever /*(const char *server)*/ = 0x0022ADF8,
sv_map_f = 0x002235A0,
sv_matchend /*(void)*/ = 0x0022F7A8,
R_AddCmdDrawText /*(const char *text, int maxChars, void *font, float x, float y, float xScale, float yScale, float rotation, const float *color, int style)*/ = 0x00393640,
R_RegisterFont /*(char* asset, int imagetrack)*/ /*(const char *name, int imageTrack)*/ = 0x003808B8,
R_AddCmdDrawStretchPic /*(float x, float y, float w, float h, float xScale, float yScale, float xay, float yay, const float *color, int material)*/ = 0x00392D78,
CL_DrawTextHook /*(const char *text, int maxChars, void *font, float x, float y, float xScale, float yScale, const float *color, int style)*/ = 0x000D93A8,
R_AddCmdDrawTextWithEffects /*(char const *,int,Font_s *,float,float,float,float,float,float const * const,int,float const * const,Material *,Material *,int,int,int,int)*/ = 0x003937C0,
CG_BoldGameMessage /*(int LocalClientNum, const char *Message)*/ = 0x0007A5C8,
UI_FillRectPhysical /*(float x, float y, float width, float height, const float *color)*/ = 0x0023A810,
UI_DrawLoadBar /*(ScreenPlacement *scrPlace, float x, float y, float w, float h, int horzAlign, int vertAlign, const float *color, Material *material)*/ = 0x0023A730,
Scr_MakeGameMessage /*(int iClientNum, const char *pszCmd)*/ = 0x001B07F0,
Scr_ConstructMessageString /*(int firstParmIndex, int lastParmIndex, const char *errorContext, char *string, unsigned int stringLimit)*/ = 0x001B04F4,
R_NormalizedTextScale /*(Font_s *font, float scale)*/ = 0x003808F0,
TeleportPlayer /*(gentity_s *player, float *origin, float *angles)*/ = 0x00191B00,
CL_DrawText /*(ScreenPlacement *scrPlace, const char *text, int maxChars, Font_s *font, float x, float y, int horzAlign, int vertAlign, float xScale, float yScale, const float *color, int style)*/ = 0x000D9490,
CL_DrawTextRotate /*(ScreenPlacement *scrPlace, const char *text, int maxChars, Font_s *font, float x, float y, float rotation, int horzAlign, int vertAlign, float xScale, float yScale, const float *color, int style)*/ = 0x000D9554,
SV_GameDropClient /*(int clientNum, const char *reason)*/ = 0x00229020,
Dvar_GetBool /*(const char *dvarName)*/ = 0x00291060,
Dvar_GetInt /*(const char *dvarName)*/ = 0x002910DC,
Dvar_GetFloat /*(const char *dvarName)*/ = 0x00291148,
Dvar_RegisterBool /*(const char *dvarName, bool value, unsigned __int16 flags, const char *description)*/ = 0x002933F0,
Dvar_IsValidName /*(const char *dvarName)*/ = 0x0029019C,
Material_RegisterHandle /*(const char *name, int imageTrack)*/ = 0x0038B044,
CL_RegisterFont /*(const char *fontName, int imageTrack)*/ = 0x000D9734,
SetClientViewAngle /*(gentity_s *ent, const float *angle)*/ = 0x001767E0,
R_RegisterDvars /*(void)*/ = 0x0037E420,
PlayerCmd_SetClientDvar /*(scr_entref_t entref)*/ = 0x0017CB4C,
Jump_RegisterDvars /*(void)*/ = 0x00018E20,
AimTarget_RegisterDvars = 0x00012098,
G_FreeEntity /*(gentity_s *ed)*/ = 0x001C0840,
G_EntUnlink /*(gentity_s *ent)*/ = 0x001C4A5C,
SV_DObjGetTree /*(gentity_s *ent)*/ = 0x00229A68,
BG_GetEntityTypeName /*(const int eType)*/ = 0x0001D1F0,
CL_GetClientState /*(int localClientNum, uiClientState_s *state)*/ = 0x000E26A8,
CL_GetConfigString /*(int localClientNum, int configStringIndex)*/ = 0x000C5E7C,
Info_ValueForKey /*(const char *s, const char *key)*/ = 0x00299604,
Scr_GetInt /*(unsigned int index)*/ = 0x002201C4,
ClientSpawn /*(gentity_s *ent, const float *spawn_origin, const float *spawn_angles)*/ = 0x00177468,
Sv_ClientCommand /*(client_s *cl, msg_t *msg)*/ = 0x00228178,
Sv_ExecuteClientMessage /*(client_s *cl, msg_t *msg)*/ = 0x00228B50,
Sv_ExecuteClientCommand /*(client_s *cl, const char *s, int clientOK)*/ = 0x00182DEC,
ClientCommand /*(int clientNum)*/ = 0x00182440,
CalculateRanks /*(void)*/ = 0x0019031C,
ClientScr_SetScore /*(gclient_s *pSelf, client_fields_s *pField)*/ = 0x00176150,
ClientScr_SetMaxHealth /*(gclient_s *pSelf, client_fields_s *pField)*/ = 0x00176094,
Sv_ReceiveStats /*(netadr_t from, msg_t *msg)*/ = 0x002244E0,
ClientConnect /*(int clientNum, unsigned __int16 scriptPersId)*/ = 0x001771A0,
Sv_DirectConnect /*(netadr_t from)*/ = 0x00255BB4,
Sv_SetConfigstring /*(int index, const char *val)*/ = 0x0022A208,
Sv_AddServerCommand /*(client_s *client, svscmd_type type, const char *cmd)*/ = 0x0022CBA0,
IntermissionClientEndFrame /*(gentity_s *ent)*/ = 0x001745F8,
memset = 0x0049B928,
str_pointer = 0x523b30,
g_gametype = 0x8360d5;
}
#endregion
 

Nostafaru

Moderating the Crunch Bunch.
Retired Staff
Community Elite
Community Veteran
Determined Poster
Active Member
Console ID Poster
Apr 6, 2014
2,020
1,783
443
#OFFSETSFTW :p
 
General chit-chat
Help Users
    @ QM|T_JinX: :weed: