Post: XP Lobby Offsets
03-23-2014, 05:28 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hello, fellow NGU members,

Been trying to find XP Lobby offsets for hours now for a RTM tool I am creating. Could someone please provide me with these offsets and I would be very grateful.

Thanks in advance.
03-23-2014, 09:04 PM #2
jwm614
NextGenUpdate Elite
Originally posted by VikModz View Post
Hello, fellow NGU members,

Been trying to find XP Lobby offsets for hours now for a RTM tool I am creating. Could someone please provide me with these offsets and I would be very grateful.

Thanks in advance.


its a dvar you need rpc to use it

The following user thanked jwm614 for this useful post:

VikModz
03-24-2014, 04:00 AM #3
kiwi_modz
I defeated!
Originally posted by VikModz View Post
Hello, fellow NGU members,

Been trying to find XP Lobby offsets for hours now for a RTM tool I am creating. Could someone please provide me with these offsets and I would be very grateful.

Thanks in advance.


I use cbuf to set dvars cause sendserver commands are old and annoying. this is how i have it set for the game mode FFA in my tool.

uint CBuf_AddText = 0x1DB240;
CallFunc(CBuf_AddText, 0, str_pointer("scr_dm_score_kill " + this.textBox46.Text));
//put the amount of xp you wish to set in the text box eg 35000

There's a easier way but this will work for you atm :P
Originally posted by jwm614 View Post
its a dvar you need rpc to use it

jwm614 is right this is done using rpc Smile

The following 3 users say thank you to kiwi_modz for this useful post:

jwm614, RaGE_LoLo69, VikModz
03-24-2014, 12:20 PM #4
Thanks for the insight both of you's Smile
03-25-2014, 02:16 PM #5
Originally posted by kiwi
I use cbuf to set dvars cause sendserver commands are old and annoying. this is how i have it set for the game mode FFA in my tool.

uint CBuf_AddText = 0x1DB240;
CallFunc(CBuf_AddText, 0, str_pointer("scr_dm_score_kill " + this.textBox46.Text));
//put the amount of xp you wish to set in the text box eg 35000

There's a easier way but this will work for you atm :P

jwm614 is right this is done using rpc Smile


Ok so i have done some research on RPC, im using a CCAPI RPC compatible library for this.
I have enabledRPC on attach but my problem occurs while trying to declare str_pointer.

My Code:

    

private void SetMW3LobbyXPKill_Click(object sender, EventArgs e)
{

uint CBuf_AddText = 0x1DB240;
//uint str_pointer = 0x523B30;
MW3CCAPI.RPC.CallFunc(CBuf_AddText, 0, str_pointer("scr_war_score_suicide_" + this.MW3LobbyXPKill.Text));
}

private uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0xFFFFFFFF, addr, ref check);
if (check[0] == 0x00) break;
if (i == 4)
{
i = 0;
break;
}
}
addr = (0x523B30 + (i * 0x6Cool Man (aka Tustin));
MW3CCAPI.PS3.SetMemory(addr, new byte[0x68]);
MW3CCAPI.PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}


Error i get when trying to set XP ammount

    
An unhandled exception of type 'System.ExecutionEngineException' occurred in PS3TMAPI_NET.dll


Also if im approaching this the wrong way please let me know Smile Any help would be grateful.
Last edited by VikModz ; 03-25-2014 at 03:29 PM.
03-30-2014, 11:30 AM #6
kiwi_modz
I defeated!
Originally posted by VikModz View Post
Ok so i have done some research on RPC, im using a CCAPI RPC compatible library for this.
I have enabledRPC on attach but my problem occurs while trying to declare str_pointer.

My Code:

    

private void SetMW3LobbyXPKill_Click(object sender, EventArgs e)
{

uint CBuf_AddText = 0x1DB240;
//uint str_pointer = 0x523B30;
MW3CCAPI.RPC.CallFunc(CBuf_AddText, 0, str_pointer("scr_war_score_suicide_" + this.MW3LobbyXPKill.Text));
}

private uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0xFFFFFFFF, addr, ref check);
if (check[0] == 0x00) break;
if (i == 4)
{
i = 0;
break;
}
}
addr = (0x523B30 + (i * 0x6Cool Man (aka Tustin));
MW3CCAPI.PS3.SetMemory(addr, new byte[0x68]);
MW3CCAPI.PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));
return addr;
}


Error i get when trying to set XP ammount

    
An unhandled exception of type 'System.ExecutionEngineException' occurred in PS3TMAPI_NET.dll


Also if im approaching this the wrong way please let me know Smile Any help would be grateful.


I suggest you use PS3.lib for your "RPC" as the errors you're getting could be related to the "RPC" you're using.
I don't know i could be wrong. But this works for me. CEX/DEX

This is straight out of the source of my released tool. works for me.

     //Enable RPC on your attach Button 

public static void RPC_Enable_124()
{
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 uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
PS3.GetMemory(addr,check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x6Cool Man (aka Tustin));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));

return addr;
}


    
public static void CallFunc(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];
PS3.GetMemory(0x114AE64, 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[i] = addr[i];
}
Array.Reverse(instruction);
return instruction;
}

    
public void CBuf_AddText(uint client, string command)
{
uint CBuf_AddText = 0x1DB240;
Call(CBuf_AddText, 0, str_pointerRPC(command));
}


Put This in a Button.
    
uint CBuf_AddText = 0x1DB240;
CallFunc(CBuf_AddText, 0, str_pointer("set scr_war_score_suicide_" + this.MW3LobbyXPKill.Text));

The following user thanked kiwi_modz for this useful post:

VikModz
03-30-2014, 12:08 PM #7
Originally posted by kiwi
I use cbuf to set dvars cause sendserver commands are old and annoying. this is how i have it set for the game mode FFA in my tool.

uint CBuf_AddText = 0x1DB240;
CallFunc(CBuf_AddText, 0, str_pointer("scr_dm_score_kill " + this.textBox46.Text));
//put the amount of xp you wish to set in the text box eg 35000

There's a easier way but this will work for you atm :P

jwm614 is right this is done using rpc Smile


Thanks ! Smile
03-30-2014, 01:25 PM #8
Originally posted by kiwi
I suggest you use PS3.lib for your "RPC" as the errors you're getting could be related to the "RPC" you're using.
I don't know i could be wrong. But this works for me. CEX/DEX

This is straight out of the source of my released tool. works for me.

     //Enable RPC on your attach Button 

public static void RPC_Enable_124()
{
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 uint str_pointer(string str)
{
uint addr = 0x523B30;
byte[] check = new byte[1];
uint i;
for (i = 0; i < 5; i++)
{
PS3.GetMemory(addr,check);
if (check[0] == 0x00)
break;
if (i == 4)
{
i = 0; break;
}
}
addr = (0x523B30 + (i * 0x6Cool Man (aka Tustin));
PS3.SetMemory(addr, new byte[0x68]);
PS3.SetMemory(addr, Encoding.UTF8.GetBytes(str));

return addr;
}


    
public static void CallFunc(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];
PS3.GetMemory(0x114AE64, 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[i] = addr[i];
}
Array.Reverse(instruction);
return instruction;
}

    
public void CBuf_AddText(uint client, string command)
{
uint CBuf_AddText = 0x1DB240;
Call(CBuf_AddText, 0, str_pointerRPC(command));
}


Put This in a Button.
    
uint CBuf_AddText = 0x1DB240;
CallFunc(CBuf_AddText, 0, str_pointer("set scr_war_score_suicide_" + this.MW3LobbyXPKill.Text));


Thank you so much it is working for me now Happy
05-01-2014, 11:32 PM #9
ItzMatriix
Are you high?
this may be old, but i was having the same problems. I added everything you said Kiwi, but the
    
public void CBuf_AddText(uint client, string command)
{
uint CBuf_AddText = 0x1DB240;
Call(CBuf_AddText, 0, str_pointerRPC(command));
}

gives me an error.
05-13-2014, 07:07 PM #10
Try this:

// old code: Call(CBuf_AddText, 0, str_pointerRPC(command));

CallFunc(CBuf_AddText, 0, str_pointer(command));

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo