Post: PS3 Multithreading method [DEX]
03-04-2014, 11:38 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hi everyone, nothing hidden here but many people didn't knew about this and using multiple threads can improve your tools and reduce the crashes !

You can use up to 4 threads i think, im not really sure about it.

Personally i use them like this:

Thread 0: setting values in the memory normally
Thread 1: Huds elements
Thread 3: RPC
Thread 4: reserved for other uses !

you can use them like you want, you don't have to use them like i do :P


You use them like this:

    

PS3.SetMemory(ADDRESS, BYTES[], THREAD);

example:

PS3.SetMemory(0x12345678, new byte[] {0xFF, 0xFF}, 0);



Here is the PS3 functions for it:


    

public static class PS3
{
public static uint[] ProcessIDs;
public static uint ProcessID;
public static void Connect()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);
}
public static void TurnOFF()
{
PS3TMAPI.PowerOff(0, true);
}
public static void Pause()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
}

public static void Continue()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
}
public static void Attach()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
}

public static void SetMemory(uint Address, byte[] Bytes, uint thread = 0)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, thread, Address, Bytes);
}

public static byte[] GetMemory(uint Address, int length, uint thread = 0)
{
byte[] x = new byte[length];
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, thread, Address, ref x);
return x;
}


}






CREDITS:
Me
D3ch
xSonoro
Last edited by Bad Luck Brian ; 03-04-2014 at 11:42 PM.

The following 12 users say thank you to Bad Luck Brian for this useful post:

ResistTheJamsha, milky4444, Notorious, RatchetBooty, SC58, Dacoco, SnaY, Taylor, TypicalModder, Winter, xkoeckiiej, TheSourDzL
03-05-2014, 03:27 AM #2
RatchetBooty
Former Staff
Great release BLB :yes: Do you know any fix for the player_die function freezing my console, it's rpc that freezes u when u use it. I think its bcuz it cant handle all the arguments, do you know a fix for it?
03-06-2014, 11:02 AM #3
Originally posted by Bad
Hi everyone, nothing hidden here but many people didn't knew about this and using multiple threads can improve your tools and reduce the crashes !

You can use up to 4 threads i think, im not really sure about it.

Personally i use them like this:

Thread 0: setting values in the memory normally
Thread 1: Huds elements
Thread 3: RPC
Thread 4: reserved for other uses !

you can use them like you want, you don't have to use them like i do :P


You use them like this:

    

PS3.SetMemory(ADDRESS, BYTES[], THREAD);

example:

PS3.SetMemory(0x12345678, new byte[] {0xFF, 0xFF}, 0);



Here is the PS3 functions for it:


    

public static class PS3
{
public static uint[] ProcessIDs;
public static uint ProcessID;
public static void Connect()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);
}
public static void TurnOFF()
{
PS3TMAPI.PowerOff(0, true);
}
public static void Pause()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
}

public static void Continue()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
}
public static void Attach()
{
PS3TMAPI.GetProcessList(0, out ProcessIDs);
ulong uProcess = ProcessIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
}

public static void SetMemory(uint Address, byte[] Bytes, uint thread = 0)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, thread, Address, Bytes);
}

public static byte[] GetMemory(uint Address, int length, uint thread = 0)
{
byte[] x = new byte[length];
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, thread, Address, ref x);
return x;
}


}






CREDITS:
Me
D3ch
xSonoro


Awesome release as always! Happy
03-09-2014, 05:53 AM #4
Originally posted by RatchetBooty View Post
Great release BLB :yes: Do you know any fix for the player_die function freezing my console, it's rpc that freezes u when u use it. I think its bcuz it cant handle all the arguments, do you know a fix for it?

dont use player_die, there is another function Winky Winky

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo