• 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.

MW3 RPC Class [1.24]

Chris

ROKETO PAAAAAAAAAAAAAANCH!
Retired Staff
Determined Poster
Active Member
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
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Chat Bot:
    Christo has joined the room.
  • Chat Bot:
    cPwqA is our newest member. Welcome!
  • Chat Bot:
    keonhacaifootball is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    Keonhacai5vip11 is our newest member. Welcome!
  • Chat Bot:
    smoore99 is our newest member. Welcome!
  • Chat Bot:
    Pagliosa is our newest member. Welcome!
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    prototypefox is our newest member. Welcome!
  • Chat Bot:
    maogege is our newest member. Welcome!
  • Chat Bot:
    ShadowPsy974 is our newest member. Welcome!
  • Chat Bot:
    Ghost8099 is our newest member. Welcome!
  • @ Ghost8099:
    Yurrrrrr
  • @ Ghost8099:
    Can we get a new link here brotha
  • Chat Bot:
    Mason Fo has left the room.
  • Chat Bot:
    QM|T_JinX has joined the room.
  • Chat Bot:
    wzxcvcv is our newest member. Welcome!
  • Chat Bot:
    cnood is our newest member. Welcome!
  • Chat Bot:
    zoumar is our newest member. Welcome!
  • Chat Bot:
    bestsmmlike is our newest member. Welcome!
  • Chat Bot:
    josuelton silva is our newest member. Welcome!
  • Chat Bot:
    josuelton silva has posted a new reply in the thread "Console ID #8671".
  • Chat Bot:
    ideasforlifetv is our newest member. Welcome!
  • Chat Bot:
    wzxcvcv has posted a new profile post.
      Chat Bot: wzxcvcv has posted a new profile post.
      Back
      Top