MrFatRambo
Member
I love this tool lmao 

CHANGE LOG FOR LAST UPDATE:
* Added Send Message on Top Left on Screen
CHANGE LOG FOR LAST UPDATE:
* Added Small Mod Menu ( I know it's lagging and bugging, will try to fix it later )
CHANGE LOG FOR LAST UPDATE:
* Moved Mod Menu to another tool
CHANGE LOG FOR LAST UPDATE:
* Moved Mod Menu to another tool
CHANGE LOG FOR THE LAST UPDATE:
* Added Crouch Speed ( Normal, x2, x10, x100, x1000 )
* Added Swim Speed ( Normal, x2, x10, x100, x1000 )
* Added Garage 1 & 2 Set Max Upgrades for any slot
* Added Teleport to WayPoint
* Added Set Vehicle GodMode ( Adder, Torismor, Zentorno )
* Added Fun Things ( Big Guns, Slow Motion, TimeScale x1000, Car Super Jump )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
private uint GTATextOffset = 0x1FAD5E4;
private uint GTAFunctionOffset = 0x1FADCF7;
private uint GTAButtonsOffset = 0x1F20B90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Fixed all offsets for patch 1.14 ( only Car Super Jump + Slow Motion will be fixed soon )
CHANGE LOG FOR THE LAST UPDATE:
* Added Crouch Speed ( Normal, x2, x10, x100, x1000 )
* Added Swim Speed ( Normal, x2, x10, x100, x1000 )
* Added Garage 1 & 2 Set Max Upgrades for any slot
* Added Teleport to WayPoint
* Added Set Vehicle GodMode ( Adder, Torismor, Zentorno )
* Added Fun Things ( Big Guns, Slow Motion, TimeScale x1000, Car Super Jump )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
private uint GTATextOffset = 0x1FAD5E4;
private uint GTAFunctionOffset = 0x1FADCF7;
private uint GTAButtonsOffset = 0x1F20B90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
Thanks for up****** the thread but can you rename the thread to 'Pro-Yousef RTM Tools' please
CHANGE LOG FOR LAST UPDATE:
* Fixed Car Super Jump
* Slow Motion will be fixed soon
CHANGE LOG FOR THE LAST UPDATE:
* All Things Fixed for 1.14 ( Slow Motion will be fixed soon )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Slow Motion Fixed ( Thanks to Krank_Modz )
CHANGE LOG FOR THE LAST UPDATE:
* Fixed Slow Motion ( Thanks to Krank_Modz )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Fixed Change SNS Pistol
CHANGE LOG FOR THE LAST UPDATE:
* Fixed Slow Motion ( Thanks to Krank_Modz )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Fixed Change SNS Pistol
CHANGE LOG FOR THE LAST UPDATE:
* Fixed Slow Motion ( Thanks to Krank_Modz )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Fixed TimeScale x1000
CHANGE LOG FOR THE LAST UPDATE:
* Fixed Slow Motion ( Thanks to Krank_Modz )
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();
CHANGE LOG FOR LAST UPDATE:
* Now you can update the offsets for new GTA patch or your region
* Tool isn't encrypted anymore
CHANGE LOG FOR THE LAST UPDATE:
* Now you can update the offsets for new GTA patch or your region
* Tool isn't encrypted anymore
public class Buttons
{
public static uint DpadUp = 1048576u;
public static uint DpadDown = 4194304u;
public static uint DpadRight = 2097152u;
public static uint DpadLeft = 8388608u;
public static uint Cross = 64u;
public static uint Circle = 32u;
public static uint Triangle = 16u;
public static uint Square = 128u;
public static uint R3 = 262144u;
public static uint R2 = 2u;
public static uint R1 = 8u;
public static uint L3 = 131072u;
public static uint L2 = 1u;
public static uint L1 = 4u;
public static uint Select = 65536u;
public static uint Start = 524288u;
}
// Note: Those offsets for BLES 1.14
private uint GTATextOffset = 0x1F8B984;
private uint GTAFunctionOffset = 0x1F8C097;
private uint GTAButtonsOffset = 0x1EFEE90;
string BLUE = "~HUD_COLOUR_BLUE~";
string YELLOW = "~HUD_COLOUR_YELLOW~";
string RED = "~HUD_COLOUR_RED~";
string WHITE = "~HUD_COLOUR_WHITE~";
private bool IsCurrentMessage(string secondmessage)
{
byte[] AllTextBytes = PS3.GetBytes(GTATextOffset, secondmessage.Length + 1);
byte[] SecondMessageBytes = Encoding.ASCII.GetBytes(secondmessage);
Array.Resize(ref SecondMessageBytes, SecondMessageBytes.Length + 1);
if (AllTextBytes.SequenceEqual(SecondMessageBytes))
{
return true;
}
return false;
}
public bool ButtonPressed(uint Button)
{
bool result;
byte[] array = PS3.GetBytes(GTAButtonsOffset, 4);
Array.Reverse(array);
uint num = BitConverter.ToUInt32(array, 0);
if (num == Button)
{
result = true;
return result;
}
result = false;
return result;
}
private void SendMessageToGTA(string message)
{
byte[] MessageBytes = Encoding.ASCII.GetBytes(message);
Array.Resize(ref MessageBytes, MessageBytes.Length + 1);
PS3.SetMemory(GTATextOffset, MessageBytes);
byte[] StartFunction = new byte[] { 0x04 };
PS3.SetMemory(GTAFunctionOffset, StartFunction);
}
private void RemoveLastMessageFromGTA()
{
byte[] EndFunction = new byte[] { 0x02 };
PS3.SetMemory(GTAFunctionOffset, EndFunction);
}
private static System.Timers.Timer ButtonsTimer;
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
ButtonsTimer = new System.Timers.Timer(100);
ButtonsTimer.Elapsed += ButtonsTimerCheck;
ButtonsTimer.Start();
Pro-Yousef Mod Menu: Main Page
GodMode ( in blue colour )
Unlimited Ammo
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
// HERE
}
if (ButtonPressed(Buttons.DpadRight))
{
// The code here will happen if Dpad Right is pressed
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
// The code here will happen if Dpad Down is pressed
}
}
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here the code will happen if the message equals to 'Pro-Yousef Mod Menu: Main Page~n~ ( Blue Colour ) GodMode~n~ ( White Colour ) Unlimited Ammo'
// that means the code will happen here if he is on 'GodMode~n~' ( because it's the only one blue )
// So we want to make the 'Unlimited Ammo' changes to blue colour and 'GodMode~n~' changes to white colour
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
// This will send another message to make the 'Unlimited Ammo' in blue which it makes it looks like it scrolled down
// I didn't add white color before 'GodMode~n~' because the original colour of the text is white
}
if (ButtonPressed(Buttons.Cross))
{
// The code here will happen if Cross is pressed
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we add the godmode code
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
}
}
private void ButtonsTimerCheck(Object source, ElapsedEventArgs e)
{
if (ButtonPressed(Buttons.DpadDown))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo");
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
SendMessageToGTA("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo");
// Since this is Dpad Down button this means it will scroll and we only have 2 choices in the menu it will come back to 'GodMode~n~'
}
}
else if (ButtonPressed(Buttons.Cross))
{
if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~" + BLUE + "GodMode~n~" + WHITE + "Unlimited Ammo")
{
// here we put god mode code
}
else if(IsCurrentMessage("Pro-Yousef Mod Menu: Main Page~n~GodMode~n~" + BLUE + "Unlimited Ammo")
{
// The code will happen here if the colour blue is on 'Unlimited Ammo'
// Since this is Cross button we will add unlimited ammo code here
}
}
}
RemoveLastMessageFromGTA();