Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ok so basically why am making this is because so many people ask me everyday , how do you do clients ? , how do you get there names to show up? , how do i add mods for the clients , how do you code for a certain mod and really i don't have time to be explaining everything to everyone. So am making this ! NOTE:This is coded in C#
- It includes:
- How to code mods for clients
- How to do modded weapons.
- how to get client names
- And some other stuff...
- Part 1: How to get client names
- //Get client name. All this does is just produce the names on the data grid view.
- #region GetName
- public static uint NameAddress = 0x0110d60c;
- public static string GetName(int client)
- {
- byte[] buffer = new byte[16];
- PS3.GetMemory(NameAddress + 0x3980 * (uint)client, buffer);
- string names = Encoding.ASCII.GetString(buffer);
- names = names.Replace("\0", "");
- return names;
- }
- #endregion
- one might ask why it says NameAddress instead of the offset. Reason being that its quicker than writing out an offset all the time.
- //This gets the names of clients + the client number when the button is pressed.
- try
- {
- for (int i = 0; i < 18; i++)
- {
- dataGridView1.Enabled = true;
- dataGridView1.RowCount = 18;
- dataGridView1.Rows[i].Cells[0].Value = i;
- dataGridView1.Rows[i].Cells[1].Value = GetName(i);
- Application.DoEvents();
- }
- }
- catch
- {
- for (int i = 0; i < 18; i++)
- {
- dataGridView1.RowCount = 18;
- dataGridView1.Rows[i].Cells[0].Value = i;
- dataGridView1.Rows[i].Cells[1].Value = "";
- }
- }
- what you wanna do here is just add this to a button below your data grid view so that when you press it the client name + number shows up
- PART 2: How to add mods for clients
- int client = dataGridView1.CurrentRow.Index;
- PS3.SetMemory(GodmodeAddress + 0X280 * (uint)client, new byte[] { 0xFF });
- Ok well first off what your going to need to add client mods is a context menu strip.You are then going to have press on the data grid view and scroll down untill you see this on the right hand side http://prntscr.com/5ahdbj.You wont see ContextmenuStrip1 you just click on it and it should say something along the lines of Add a context menu strip.It will show up only one context menu strip anyway i assume.Then go back to your tool go to the bottom and click on the context menu strip like showing here http://prntscr.com/5ahend.
- You then will see an emtpy box appear which you will then enter the name of the mod you want. Just to keep it clean looking also add in an option inside of that mod saying On or off ( pretty obvious ) Like showin here http://prntscr.com/5ahg0a. You will double click on the On option and it will open up the form and you can add the above code. In this example this is for god mode. You may ask again why it says GodModeAddress. Dont worry ill give a list of address so it easier for all of you to use mods rather than typing out offsets.
- PART 3: Modded weapons
- First of all your gonna need this in your project.
- public static class WeaponList
- {
- //3 Bytes: 0x00,0x00,0x00
- //First is 2nd Attachment
- //Second is 1st Attachment + Camo
- //Third is Weapon
- public static class Seatown
- {
- public static byte[] DefaultWeapon = new byte[] { 0x00, 0x00, 0x01 };
- public static byte[] Stick = new byte[] { 0x00, 0x00, 0x02 };
- public static byte[] RiotShield = new byte[] { 0x00, 0x00, 0x03 };
- public static byte[] RiotShield_2 = new byte[] { 0x00, 0x00, 0x04 };
- public static byte[] Magnum_44 = new byte[] { 0x00, 0x00, 0x05 };
- public static byte[] USP_45 = new byte[] { 0x00, 0x00, 0x06 };
- public static byte[] USP_45_2 = new byte[] { 0x00, 0x00, 0x07 };
- public static byte[] Desert_Eagle = new byte[] { 0x00, 0x00, 0x08 };
- public static byte[] MP412 = new byte[] { 0x00, 0x00, 0x09 };
- public static byte[] MP412_2 = new byte[] { 0x00, 0x00, 0x0A };
- public static byte[] P99 = new byte[] { 0x00, 0x00, 0x0B };
- public static byte[] Five_Seven = new byte[] { 0x00, 0x00, 0x0C };
- public static byte[] FMG9 = new byte[] { 0x00, 0x00, 0x0D };
- public static byte[] Skorpion = new byte[] { 0x00, 0x00, 0x0E };
- public static byte[] MP9 = new byte[] { 0x00, 0x00, 0x0F };
- public static byte[] G18 = new byte[] { 0x00, 0x00, 0x10 };
- public static byte[] MP5 = new byte[] { 0x00, 0x00, 0x11 };
- public static byte[] PM_9 = new byte[] { 0x00, 0x00, 0x12 };
- public static byte[] P90 = new byte[] { 0x00, 0x00, 0x13 };
- public static byte[] PP90M1 = new byte[] { 0x00, 0x00, 0x14 };
- public static byte[] UMP45 = new byte[] { 0x00, 0x00, 0x15 };
- public static byte[] MP7 = new byte[] { 0x00, 0x00, 0x16 };
- public static byte[] AK47 = new byte[] { 0x00, 0x00, 0x17 };
- public static byte[] M16A4 = new byte[] { 0x00, 0x00, 0x18 };
- public static byte[] M4A1 = new byte[] { 0x00, 0x00, 0x19 };
- public static byte[] FAD = new byte[] { 0x00, 0x00, 0x1A };
- public static byte[] ACR6_8 = new byte[] { 0x00, 0x00, 0x1B };
- public static byte[] Type95 = new byte[] { 0x00, 0x00, 0x1C };
- public static byte[] MK14 = new byte[] { 0x00, 0x00, 0x1D };
- public static byte[] SCAR_L = new byte[] { 0x00, 0x00, 0x1E };
- public static byte[] G36C = new byte[] { 0x00, 0x00, 0x1F };
- public static byte[] CM901 = new byte[] { 0x00, 0x00, 0x20 };
- public static byte[] M203 = new byte[] { 0x00, 0x00, 0x21 };
- public static byte[] M320_GLM = new byte[] { 0x00, 0x00, 0x22 };
- public static byte[] RPG = new byte[] { 0x00, 0x00, 0x23 };
- public static byte[] SMAW = new byte[] { 0x00, 0x00, 0x24 };
- public static byte[] Stinger = new byte[] { 0x00, 0x00, 0x25 };
- public static byte[] Javelin = new byte[] { 0x00, 0x00, 0x26 };
- public static byte[] XM25 = new byte[] { 0x00, 0x00, 0x27 };
- public static byte[] Dragunov = new byte[] { 0x00, 0x00, 0x28 };
- public static byte[] MSR = new byte[] { 0x00, 0x00, 0x29 };
- public static byte[] Barret_50Cal = new byte[] { 0x00, 0x00, 0x2A };
- public static byte[] RSASS = new byte[] { 0x00, 0x00, 0x2B };
- public static byte[] AS50 = new byte[] { 0x00, 0x00, 0x2C };
- public static byte[] L118A = new byte[] { 0x00, 0x00, 0x2D };
- public static byte[] KSG12 = new byte[] { 0x00, 0x00, 0x2E };
- public static byte[] Model1887 = new byte[] { 0x00, 0x00, 0x2F };
- public static byte[] Striker = new byte[] { 0x00, 0x00, 0x30 };
- public static byte[] AA_12 = new byte[] { 0x00, 0x00, 0x31 };
- public static byte[] USAS_12 = new byte[] { 0x00, 0x00, 0x32 };
- public static byte[] SPAS12 = new byte[] { 0x00, 0x00, 0x33 };
- public static byte[] M60E4_Juggernaut = new byte[] { 0x00, 0x00, 0x34 };
- public static byte[] AUG_HBAR = new byte[] { 0x04, 0x06, 0x34 };
- public static byte[] M60E4 = new byte[] { 0x00, 0x00, 0x35 };
- public static byte[] MK46 = new byte[] { 0x00, 0x00, 0x36 };
- public static byte[] PKP_PECHENEG = new byte[] { 0x00, 0x00, 0x37 };
- public static byte[] L86_LSW = new byte[] { 0x00, 0x00, 0x38 };
- public static byte[] MG36 = new byte[] { 0x00, 0x00, 0x39 };
- public static byte[] C4 = new byte[] { 0x00, 0x00, 0x3A };
- public static byte[] C4_Glitch /*(Throw it, and after 8 seconds, it blowing)*/ = new byte[] { 0x00, 0x00, 0x3B };
- public static byte[] Claymore = new byte[] { 0x00, 0x00, 0x3C };
- public static byte[] Trophy_System = new byte[] { 0x00, 0x00, 0x3D };
- public static byte[] MZ3_Designanator /*(F2000)*/ = new byte[] { 0x00, 0x00, 0x3E };
- public static byte[] Scrambler = new byte[] { 0x00, 0x00, 0x3F };
- public static byte[] NoWeapon = new byte[] { 0x00, 0x00, 0x40 };
- public static byte[] Semtex = new byte[] { 0x00, 0x00, 0x41 };
- public static byte[] Frag = new byte[] { 0x00, 0x00, 0x42 };
- public static byte[] Flash = new byte[] { 0x00, 0x00, 0x43 };
- public static byte[] Smoke = new byte[] { 0x00, 0x00, 0x44 };
- public static byte[] Stun = new byte[] { 0x00, 0x00, 0x45 };
- public static byte[] EMP_Grande = new byte[] { 0x00, 0x00, 0x46 };
- public static byte[] Throwing_Knife = new byte[] { 0x00, 0x00, 0x47 };
- public static byte[] Bouncing_Betty = new byte[] { 0x00, 0x00, 0x48 };
- public static byte[] Tactical_Insertion = new byte[] { 0x00, 0x00, 0x49 };
- public static byte[] Flashing_Weapon = new byte[] { 0x00, 0x00, 0x4A };
- public static byte[] Frag_2 = new byte[] { 0x00, 0x00, 0x4B };
- public static byte[] NoWeapon_2 = new byte[] { 0x00, 0x00, 0x4C };
- public static byte[] NoWeapon_3 = new byte[] { 0x00, 0x00, 0x4D };
- public static byte[] Portable_Radar /*(Fake)*/ = new byte[] { 0x00, 0x00, 0x4E };
- public static byte[] Bomb = new byte[] { 0x00, 0x00, 0x4F };
- public static byte[] Bomb_2 = new byte[] { 0x00, 0x00, 0x50 };
- public static byte[] Phone = new byte[] { 0x00, 0x00, 0x5F };
- public static byte[] Laptop = new byte[] { 0x00, 0x00, 0x52 };
- public static byte[] Phone_2 = new byte[] { 0x00, 0x00, 0x62 };
- public static byte[] Laptop_2 = new byte[] { 0x00, 0x00, 0x56 };
- public static byte[] Airdrop_Marker = new byte[] { 0x00, 0x00, 0x5D };
- public static byte[] Vest = new byte[] { 0x00, 0x00, 0x60 };
- public static byte[] Airdrop_Trap_Marker = new byte[] { 0x00, 0x00, 0x61 };
- public static byte[] Airdrop_Escort_Marker = new byte[] { 0x00, 0x00, 0x66 };
- public static byte[] AC130_25mm = new byte[] { 0x00, 0x00, 0x67 };
- public static byte[] AC130_40mm = new byte[] { 0x00, 0x00, 0x68 };
- public static byte[] AC130_105mm = new byte[] { 0x00, 0x00, 0x69 };
- public static byte[] Stinger_Bullet = new byte[] { 0x00, 0x00, 0x6A };
- public static byte[] Javelin_Fake = new byte[] { 0x00, 0x00, 0x6B };
- public static byte[] Harriar_Bullets = new byte[] { 0x00, 0x00, 0x6F };
- public static byte[] Harriar_Rockets = new byte[] { 0x00, 0x00, 0x70 };
- public static byte[] Helicopter_Bullets = new byte[] { 0x00, 0x00, 0x71 };
- public static byte[] Frag_Airdrop_Trap /*(Explode like carapackage trap)*/ = new byte[] { 0x00, 0x00, 0x72 };
- public static byte[] Osprey_Vision = new byte[] { 0x00, 0x00, 0x73 };
- public static byte[] Strafe_Run = new byte[] { 0x00, 0x00, 0x74 };
- public static byte[] Pavelow_Bullets = new byte[] { 0x00, 0x00, 0x75 };
- public static byte[] EscortAirdrop_Bullets = new byte[] { 0x00, 0x00, 0x76 };
- public static byte[] Ripper_Vision = new byte[] { 0x00, 0x00, 0x7F };
- public static byte[] Ripper_Vision_Other = new byte[] { 0x00, 0x00, 0x80 };
- public static byte[] Walking_IMS = new byte[] { 0x00, 0x00, 0x81 };
- public static byte[] Remote_Sentry_Bullets = new byte[] { 0x00, 0x00, 0x82 }; //Must give IMS Before using this, otherwise its freeze!
- public static byte[] Remote_Sentry_Vision = new byte[] { 0x00, 0x00, 0x84 };
- public static byte[] Recon_Drone_Vision = new byte[] { 0x00, 0x00, 0x85 };
- public static byte[] Recon_Drone_Weapon = new byte[] { 0x00, 0x00, 0x86 };
- public static byte[] AssaultDrone_Vision = new byte[] { 0x00, 0x00, 0x89 };
- public static byte[] AssaultDrone_Rockets = new byte[] { 0x00, 0x00, 0x8A };
- public static byte[] Osprey_Bullets = new byte[] { 0x00, 0x00, 0x7D };
- }
- public static class Dome
- {
- public static byte[] DefaultWeapon = new byte[] { 0x00, 0x00, 0x02 };
- public static byte[] Stick = new byte[] { 0x00, 0x00, 0x03 };
- public static byte[] RiotShield = new byte[] { 0x00, 0x00, 0x04 };
- public static byte[] RiotShield_2 = new byte[] { 0x00, 0x00, 0x05 };
- public static byte[] Magnum_44 = new byte[] { 0x00, 0x00, 0x06 };
- public static byte[] USP_45 = new byte[] { 0x00, 0x00, 0x07 };
- public static byte[] USP_45_2 = new byte[] { 0x00, 0x00, 0x08 };
- public static byte[] Desert_Eagle = new byte[] { 0x00, 0x00, 0x09 };
- public static byte[] MP412 = new byte[] { 0x00, 0x00, 0x0A };
- public static byte[] MP412_2 = new byte[] { 0x00, 0x00, 0x0B };
- public static byte[] P99 = new byte[] { 0x00, 0x00, 0x0C };
- public static byte[] Five_Seven = new byte[] { 0x00, 0x00, 0x0D };
- public static byte[] FMG9 = new byte[] { 0x00, 0x00, 0x0E };
- public static byte[] Skorpion = new byte[] { 0x00, 0x00, 0x0F };
- public static byte[] MP9 = new byte[] { 0x00, 0x00, 0x10 };
- public static byte[] G18 = new byte[] { 0x00, 0x00, 0x11 };
- public static byte[] MP5 = new byte[] { 0x00, 0x00, 0x12 };
- public static byte[] PM_9 = new byte[] { 0x00, 0x00, 0x13 };
- public static byte[] P90 = new byte[] { 0x00, 0x00, 0x14 };
- public static byte[] PP90M1 = new byte[] { 0x00, 0x00, 0x15 };
- public static byte[] UMP45 = new byte[] { 0x00, 0x00, 0x16 };
- public static byte[] MP7 = new byte[] { 0x00, 0x00, 0x17 };
- public static byte[] AK47 = new byte[] { 0x00, 0x00, 0x18 };
- public static byte[] M16A4 = new byte[] { 0x00, 0x00, 0x19 };
- public static byte[] M4A1 = new byte[] { 0x00, 0x00, 0x1A };
- public static byte[] FAD = new byte[] { 0x00, 0x00, 0x1B };
- public static byte[] ACR6_8 = new byte[] { 0x00, 0x00, 0x1C };
- public static byte[] Type95 = new byte[] { 0x00, 0x00, 0x1D };
- public static byte[] MK14 = new byte[] { 0x00, 0x00, 0x1E };
- public static byte[] SCAR_L = new byte[] { 0x00, 0x00, 0x1F };
- public static byte[] G36C = new byte[] { 0x00, 0x00, 0x20 };
- public static byte[] CM901 = new byte[] { 0x00, 0x00, 0x21 };
- public static byte[] M203 = new byte[] { 0x00, 0x00, 0x22 };
- public static byte[] M320_GLM = new byte[] { 0x00, 0x00, 0x23 };
- public static byte[] RPG = new byte[] { 0x00, 0x00, 0x24 };
- public static byte[] SMAW = new byte[] { 0x00, 0x00, 0x25 };
- public static byte[] Stinger = new byte[] { 0x00, 0x00, 0x26 };
- public static byte[] Javelin = new byte[] { 0x00, 0x00, 0x27 };
- public static byte[] XM25 = new byte[] { 0x00, 0x00, 0x28 };
- public static byte[] Dragunov = new byte[] { 0x00, 0x00, 0x29 };
- public static byte[] MSR = new byte[] { 0x00, 0x00, 0x2A };
- public static byte[] Barret_50Cal = new byte[] { 0x00, 0x00, 0x2B };
- public static byte[] RSASS = new byte[] { 0x00, 0x00, 0x2C };
- public static byte[] AS50 = new byte[] { 0x00, 0x00, 0x2D };
- public static byte[] L118A = new byte[] { 0x00, 0x00, 0x2E };
- public static byte[] KSG12 = new byte[] { 0x00, 0x00, 0x2F };
- public static byte[] Model1887 = new byte[] { 0x00, 0x00, 0x30 };
- public static byte[] Striker = new byte[] { 0x00, 0x00, 0x31 };
- public static byte[] AA_12 = new byte[] { 0x00, 0x00, 0x32 };
- public static byte[] USAS_12 = new byte[] { 0x00, 0x00, 0x33 };
- public static byte[] SPAS12 = new byte[] { 0x00, 0x00, 0x34 };
- public static byte[] M60E4_Juggernaut = new byte[] { 0x00, 0x00, 0x35 };
- public static byte[] M60E4 = new byte[] { 0x00, 0x00, 0x36 };
- public static byte[] MK46 = new byte[] { 0x00, 0x00, 0x37 };
- public static byte[] PKP_PECHENEG = new byte[] { 0x00, 0x00, 0x38 };
- public static byte[] L86_LSW = new byte[] { 0x00, 0x00, 0x39 };
- public static byte[] MG36 = new byte[] { 0x00, 0x00, 0x3A };
- public static byte[] C4 = new byte[] { 0x00, 0x00, 0x3B };
- public static byte[] C4_Glitch /*(Throw it, and after 8 seconds, it blowing)*/ = new byte[] { 0x00, 0x00, 0x3C };
- public static byte[] Claymore = new byte[] { 0x00, 0x00, 0x3D };
- public static byte[] Trophy_System = new byte[] { 0x00, 0x00, 0x3E };
- public static byte[] MZ3_Designanator /*(F2000)*/ = new byte[] { 0x00, 0x00, 0x3F };
- public static byte[] Scrambler = new byte[] { 0x00, 0x00, 0x40 };
- public static byte[] NoWeapon = new byte[] { 0x00, 0x00, 0x41 };
- public static byte[] Semtex = new byte[] { 0x00, 0x00, 0x42 };
- public static byte[] Frag = new byte[] { 0x00, 0x00, 0x43 };
- public static byte[] Flash = new byte[] { 0x00, 0x00, 0x44 };
- public static byte[] Smoke = new byte[] { 0x00, 0x00, 0x45 };
- public static byte[] Stun = new byte[] { 0x00, 0x00, 0x46 };
- public static byte[] EMP_Grande = new byte[] { 0x00, 0x00, 0x47 };
- public static byte[] Throwing_Knife = new byte[] { 0x00, 0x00, 0x48 };
- public static byte[] Bouncing_Betty = new byte[] { 0x00, 0x00, 0x49 };
- public static byte[] Tactical_Insertion = new byte[] { 0x00, 0x00, 0x4A };
- public static byte[] Flashing_Weapon = new byte[] { 0x00, 0x00, 0x4B };
- public static byte[] Frag_2 = new byte[] { 0x00, 0x00, 0x4C };
- public static byte[] NoWeapon_2 = new byte[] { 0x00, 0x00, 0x4D };
- public static byte[] NoWeapon_3 = new byte[] { 0x00, 0x00, 0x4E };
- public static byte[] Portable_Radar /*(Fake)*/ = new byte[] { 0x00, 0x00, 0x4F };
- public static byte[] Bomb = new byte[] { 0x00, 0x00, 0x50 };
- public static byte[] Bomb_2 = new byte[] { 0x00, 0x00, 0x51 };
- public static byte[] Phone = new byte[] { 0x00, 0x00, 0x60 };
- public static byte[] Laptop = new byte[] { 0x00, 0x00, 0x53 };
- public static byte[] Phone_2 = new byte[] { 0x00, 0x00, 0x63 };
- public static byte[] Laptop_2 = new byte[] { 0x00, 0x00, 0x57 };
- public static byte[] Airdrop_Marker = new byte[] { 0x00, 0x00, 0x5E };
- public static byte[] Vest = new byte[] { 0x00, 0x00, 0x61 };
- public static byte[] Airdrop_Trap_Marker = new byte[] { 0x00, 0x00, 0x62 };
- public static byte[] Airdrop_Escort_Marker = new byte[] { 0x00, 0x00, 0x67 };
- public static byte[] AC130_25mm = new byte[] { 0x00, 0x00, 0x68 };
- public static byte[] AC130_40mm = new byte[] { 0x00, 0x00, 0x69 };
- public static byte[] AC130_105mm = new byte[] { 0x00, 0x00, 0x6A };
- public static byte[] Stinger_Bullet = new byte[] { 0x00, 0x00, 0x6B };
- public static byte[] Javelin_Fake = new byte[] { 0x00, 0x00, 0x6C };
- public static byte[] Harriar_Bullets = new byte[] { 0x00, 0x00, 0x70 };
- public static byte[] Harriar_Rockets = new byte[] { 0x00, 0x00, 0x71 };
- public static byte[] Helicopter_Bullets = new byte[] { 0x00, 0x00, 0x72 };
- public static byte[] Frag_Airdrop_Trap /*(Explode like carapackage trap)*/ = new byte[] { 0x00, 0x00, 0x73 };
- public static byte[] Osprey_Vision = new byte[] { 0x00, 0x00, 0x74 };
- public static byte[] Strafe_Run = new byte[] { 0x00, 0x00, 0x75 };
- public static byte[] Pavelow_Bullets = new byte[] { 0x00, 0x00, 0x76 };
- public static byte[] EscortAirdrop_Bullets = new byte[] { 0x00, 0x00, 0x77 };
- public static byte[] Ripper_Vision = new byte[] { 0x00, 0x00, 0x80 };
- public static byte[] Ripper_Vision_Other = new byte[] { 0x00, 0x00, 0x81 };
- public static byte[] Walking_IMS = new byte[] { 0x00, 0x00, 0x82 };
- public static byte[] Remote_Sentry_Bullets = new byte[] { 0x00, 0x00, 0x83 }; //Must give IMS Before using this, otherwise its freeze!
- public static byte[] Remote_Sentry_Vision = new byte[] { 0x00, 0x00, 0x85 };
- public static byte[] Recon_Drone_Vision = new byte[] { 0x00, 0x00, 0x86 };
- public static byte[] Recon_Drone_Weapon = new byte[] { 0x00, 0x00, 0x87 };
- public static byte[] AssaultDrone_Vision = new byte[] { 0x00, 0x00, 0x8A };
- public static byte[] AssaultDrone_Rockets = new byte[] { 0x00, 0x00, 0x8B };
- public static byte[] Osprey_Bullets = new byte[] { 0x00, 0x00, 0x7E };
- }
- This just makes using weapons a whole lot easier. Credit to MangoKnife for this.
- Also add the following to a new class Name it RPC. http://prntscr.com/5ahmuk.
- #region GiveWeapon
- public static void G_GivePlayerWeapon(int client, int ammo, int weapon, int akimbo)
- {
- for (int i = 0; i < 18; i++)
- {
- long GClients = Addresses.G_Client + (i * 0x3980);
- Call(Addresses.G_GivePlayerWeapon, GClients, (uint)weapon, akimbo);
- Call(Addresses.Add_Ammo, (uint)(Addresses.G_Entity + (i * 640)), (uint)weapon, 0, ammo, 1);
- Call(Addresses.SV_GameSendServerCommand, i, 0, "a \"" + weapon + "\"");
- }
- long GClient = Addresses.G_Client + (client * 0x3980);
- Call(Addresses.G_GivePlayerWeapon, GClient, (uint)weapon, akimbo);
- Call(Addresses.Add_Ammo, (uint)(Addresses.G_Entity + (client * 0x280)), (uint)weapon, 0, ammo, 1);
- Call(Addresses.SV_GameSendServerCommand, client, 0, "a \"" + weapon + "\"");
- }
- #endregion
- //Different Region
- #region G_ClientFunction
- public static uint G_ClientFunction(int client)
- {
- return Addresses.G_Client + ((uint)client * 0x3980);
- }
- #endregion
- //Different region
- #region Set_ClientDvar
- public static void Set_ClientDvar(int client, string Text)
- {
- SV_GameSendServerCommand(client, "q \"" + Text + "\"");
- Thread.Sleep(20);
- }
- #endregion
- //Different region
- #region SV_GameSendServerCommand
- public static void SV_GameSendServerCommand(int client, string command)
- {
- Call(Addresses.SV_GameSendServerCommand, (uint)client, 0, command);
- }
- #endregion
- Also here is rpc. Thanks again to MangoKnife for this
- #region RPC
- public static class RPC
- {
- #region RPC
- public static uint func_address = 0x0277208; //FPS Address 1.24
- /*
- * MW3 FPS RPC by VezahMoDz!
- * This function get written at the FPS Offset!
- *
- lis r28, 0x1005
- lwz r12, 0x48(r28)
- cmpwi r12, 0
- beq loc_277290
- lwz r3, 0x00(r28)
- lwz r4, 0x04(r28)
- lwz r5, 0x08(r28)
- lwz r6, 0x0C(r28)
- lwz r7, 0x10(r28)
- lwz r8, 0x14(r28)
- lwz r9, 0x18(r28)
- lwz r10, 0x1C(r28)
- lwz r11, 0x20(r28)
- lfs f1, 0x24(r28)
- lfs f2, 0x28(r28)
- lfs f3, 0x2C(r28)
- lfs f4, 0x30(r28)
- lfs f5, 0x34(r28)
- lfs f6, 0x38(r28)
- lfs f7, 0x3C(r28)
- lfs f8, 0x40(r28)
- lfs f9, 0x44(r28)
- mtctr r12
- bctrl
- li r4, 0
- stw r4, 0x48(r28)
- stw r3, 0x4C(r28)
- stfs f1, 0x50(r28)
- b loc_277290
- */
- public static uint GetFuncReturn()
- {
- byte[] ret = new byte[4];
- GetMemoryR(0x114AE64, ref ret);
- Array.Reverse(ret);
- return BitConverter.ToUInt32(ret, 0);
- }
- private static void GetMemoryR(uint Address, ref byte[] Bytes)
- {
- PS3.GetMemory(Address, Bytes);
- }
- public static void Enable()
- {
- if (PS3.Extension.ReadByte(0x27720C) == 0x80)
- {
- byte[] WritePPC = new byte[] {0x3F,0x80,0x10,0x05,0x81,0x9C,0x00,0x48,0x2C,0x0C,0x00,0x00,0x41,0x82,0x00,0x78,
- 0x80,0x7C,0x00,0x00,0x80,0x9C,0x00,0x04,0x80,0xBC,0x00,0x08,0x80,0xDC,0x00,0x0C,
- 0x80,0xFC,0x00,0x10,0x81,0x1C,0x00,0x14,0x81,0x3C,0x00,0x18,0x81,0x5C,0x00,0x1C,
- 0x81,0x7C,0x00,0x20,0xC0,0x3C,0x00,0x24,0xC0,0x5C,0x00,0x28,0xC0,0x7C,0x00,0x2C,
- 0xC0,0x9C,0x00,0x30,0xC0,0xBC,0x00,0x34,0xC0,0xDC,0x00,0x38,0xC0,0xFC,0x00,0x3C,
- 0xC1,0x1C,0x00,0x40,0xC1,0x3C,0x00,0x44,0x7D,0x89,0x03,0xA6,0x4E,0x80,0x04,0x21,
- 0x38,0x80,0x00,0x00,0x90,0x9C,0x00,0x48,0x90,0x7C,0x00,0x4C,0xD0,0x3C,0x00,0x50,
- 0x48,0x00,0x00,0x14};
- PS3.SetMemory(func_address, new byte[] { 0x41 });
- PS3.SetMemory(func_address + 4, WritePPC);
- PS3.SetMemory(func_address, new byte[] { 0x40 });
- Thread.Sleep(10);
- RPC.DestroyAll();
- }
- else
- {
- }
- }
- public static Int32 Call(UInt32 address, params Object[] parameters)
- {
- Int32 length = parameters.Length;
- Int32 index = 0;
- UInt32 count = 0;
- UInt32 Strings = 0;
- UInt32 Single = 0;
- UInt32 Array = 0;
- while (index < length)
- {
- if (parameters[index] is Int32)
- {
- PS3.Extension.WriteInt32(0x10050000 + (count * 4), (Int32)parameters[index]);
- count++;
- }
- else if (parameters[index] is UInt32)
- {
- PS3.Extension.WriteUInt32(0x10050000 + (count * 4), (UInt32)parameters[index]);
- count++;
- }
- else if (parameters[index] is Int16)
- {
- PS3.Extension.WriteInt16(0x10050000 + (count * 4), (Int16)parameters[index]);
- count++;
- }
- else if (parameters[index] is UInt16)
- {
- PS3.Extension.WriteUInt16(0x10050000 + (count * 4), (UInt16)parameters[index]);
- count++;
- }
- else if (parameters[index] is Byte)
- {
- PS3.Extension.WriteByte(0x10050000 + (count * 4), (Byte)parameters[index]);
- count++;
- }
- else
- {
- UInt32 pointer;
- if (parameters[index] is String)
- {
- pointer = 0x10052000 + (Strings * 0x400);
- PS3.Extension.WriteString(pointer, Convert.ToString(parameters[index]));
- PS3.Extension.WriteUInt32(0x10050000 + (count * 4), pointer);
- count++;
- Strings++;
- }
- else if (parameters[index] is Single)
- {
- WriteSingle(0x10050024 + (Single * 4), (Single)parameters[index]);
- Single++;
- }
- else if (parameters[index] is Single[])
- {
- Single[] Args = (Single[])parameters[index];
- pointer = 0x10051000 + Array * 4;
- WriteSingle(pointer, Args);
- PS3.Extension.WriteUInt32(0x10050000 + count * 4, pointer);
- count++;
- Array += (UInt32)Args.Length;
- }
- }
- index++;
- }
- PS3.Extension.WriteUInt32(0x10050048, address);
- Thread.Sleep(20);
- return PS3.Extension.ReadInt32(0x1005004c);
- }
- public static void DestroyAll()
- {
- Byte[] clear = new Byte[0xB4 * 1024];
- PS3.SetMemory(0xF0E10C, clear);
- }
- #endregion
- #region WriteSingle & ReverseBytes [Needed For RPC]
- public static void WriteSingle(uint address, float[] input)
- {
- int length = input.Length;
- byte[] array = new byte[length * 4];
- for (int i = 0; i < length; i++)
- {
- ReverseBytes(BitConverter.GetBytes(input[i])).CopyTo(array, (int)(i * 4));
- }
- PS3.SetMemory(address, array);
- }
- public static void WriteSingle(uint address, float input)
- {
- byte[] numArray = new byte[4];
- BitConverter.GetBytes(input).CopyTo(numArray, 0);
- Array.Reverse(numArray, 0, 4);
- PS3.SetMemory(address, numArray);
- }
- private static byte[] ReverseBytes(byte[] inArray)
- {
- Array.Reverse(inArray);
- return inArray;
- }
- #endregion
- //Another region
- #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
- //Last thing we need
- #region Offsets
- public static class Offsets
- {
- public static uint Akimbo_Secondary = 0x0110a531;
- public static uint Akimbo_Primary = 0x0110a549;
- public static uint GrandeLuncherBullets = 0x0110a6b4;
- public static uint GrandeLuncherClip = 0x0110a630;
- public static class Primary
- {
- public static uint
- Weapon1 = 0x0110a4fd,
- Weapon2 = 0x0110a5f1,
- Weapon3 = 0x0110a6a5,
- AmmoClip = 0x0110a628,
- AmmoBullets = Primary.Weapon3 + 0x3,// = 0x0110a6a8,
- AkimboAmmo = 0x0110a6ac;
- }
- public static class Secondary
- {
- public static uint
- Weapon1 = 0x0110a4f5,
- Weapon2 = 0x0110a5f1,
- Weapon3 = 0x0110a68d,
- AmmoClip = 0x0110a618,
- AmmoBullets = Secondary.Weapon3 + 0x3,// = 0x0110a690
- AkimboAmmo = 0x0110a694;
- }
- public static class _3Weapon
- {
- public static uint
- Weapon1 = 0x0110a505,
- Weapon2 = 0x0110a63d,
- Weapon3 = 0x0110a6c9,
- AmmoBullets = _3Weapon.Weapon3 + 0x3, // = 0x0110a640
- AmmoClip = _3Weapon.Weapon2 + 0x3; // = 0x0110a6cc
- }
- public static class _4Weapon
- {
- public static uint
- Weapon1 = 0x0110a509,
- Weapon2 = 0x0110a645,
- Weapon3 = 0x0110a6d5,
- AmmoBullets = _4Weapon.Weapon3 + 0x3, // = 0x0110a648
- AmmoClip = _4Weapon.Weapon2 + 0x3; // = 0x0110a6d8
- }
- public static class _5Weapon
- {
- public static uint
- Weapon1 = 0x0110a50d,
- Weapon2 = 0x0110a64d,
- Weapon3 = 0x0110a6e1,
- AmmoBullets = _5Weapon.Weapon3 + 0x3, // = 0x0110a6e4
- AmmoClip = _5Weapon.Weapon2 + 0x3; // = 0x0110a6d8
- }
- public static class _6Weapon
- {
- public static uint
- Weapon1 = 0x0110a511,
- Weapon2 = 0x0110a655,
- Weapon3 = 0x0110a6bd,
- AmmoBullets = _6Weapon.Weapon3 + 0x3, // = 0x0110a6c0
- AmmoClip = _6Weapon.Weapon2 + 0x3; // = 0x0110a658
- }
- public static class Tactical
- {
- public static uint
- Weapon1 = 0x0110a501,
- Weapon2 = 0x0110a635,
- Weapon3 = 0x0110a6bd,
- AmmoBullets = Tactical.Weapon3 + 0x3, // = 0x0110a6c0
- AmmoClip = Tactical.Weapon2 + 0x3; // = 0x0110a638
- }
- public static class Lethal
- {
- public static uint
- Weapon1 = 0x0110a4f9,
- Weapon2 = 0x0110a61d,
- Weapon3 = 0x0110a6c9,
- AmmoBullets = Lethal.Weapon3 + 0x3, // = 0x0110a620
- AmmoClip = Lethal.Weapon2 + 0x3, // = 0x0110a6cc
- RealAmmo = 0x0110a69c;
- }
- }
- #endregion
- #region Bullet
- class map
- {
- public static bool SetUp1 = (((((((getMapName() == "Seatown") | (getMapName() == "Arkaden")) |
- (getMapName() == "Downturn")) | (getMapName() == "Bootleg")) | (getMapName() == "Lockdown")) |
- (getMapName() == "Village")) | (getMapName() == "Mission"));
- }
- #region GetMapDetails
- private static string ReturnInfos(Int32 Index)
- {
- return Encoding.ASCII.GetString(PS3.GetBytes(0X008360d5, 0x100)).Replace(@"\", "|").Split('|')[Index];
- }
- public static string getMapName()
- {
- String map = ReturnInfos(6);
- switch (map)
- {
- default: return "Unknown Map";
- case "mp_alpha": return "Lockdown";
- case "mp_bootleg": return "Bootleg";
- case "mp_bravo": return "Mission";
- case "mp_carbon": return "Carbon";
- case "mp_dome": return "Dome";
- case "mp_exchange": return "Downturn";
- case "mp_hardhat": return "Hardhat";
- case "mp_interchange": return "Interchange";
- case "mp_lambeth": return "Fallen";
- case "mp_mogadishu": return "Bakaara";
- case "mp_paris": return "Resistance";
- case "mp_plaza2": return "Arkaden";
- case "mp_radar": return "Outpost";
- case "mp_seatown": return "Seatown";
- case "mp_underground": return "Underground";
- case "mp_village": return "Village";
- case "mp_aground_ss": return "Aground";
- case "mp_cement": return "Foundation";
- case "mp_hillside_ss": return "GETAWAY";
- case "mp_italy": return "Piazza";
- case "mp_meteora": return "Sanctuary";
- case "mp_morningwood": return "Black Box";
- case "mp_overwatch": return "Overwatch";
- case "mp_park": return "Liberation";
- case "mp_qadeem": return "Oasis";
- case "mp_restrepo_ss": return "Lookout";
- case "mp_terminal_cls": return "Terminal";
- }
- }
- public string getGameMode()
- {
- String GM = ReturnInfos(2);
- switch (GM)
- {
- default: return "Unknown Gametype";
- case "war": return "Team Deathmatch";
- case "dm": return "Free for All";
- case "sd": return "Search and Destroy";
- case "dom": return "Domination";
- case "conf": return "Kill Confirmed";
- case "sab": return "Sabotage";
- case "koth": return "Head Quartes";
- case "ctf": return "Capture The Flag";
- case "infect": return "Infected";
- case "sotf": return "Hunted";
- case "dd": return "Demolition";
- case "grnd": return "Drop Zone";
- case "tdef": return "Team Defender";
- case "tjugg": return "Team Juggernaut";
- case "jugg": return "Juggernaut";
- case "gun": return "Gun Game";
- case "oic": return "One In The Chamber";
- }
- }
- public String getHostName()
- {
- String Host = ReturnInfos(16);
- if (Host == "Modern Warfare 3")
- return "DEDICATED SERVER (No Player is Host)";
- else if (Host == "")
- return "You are not In-Game";
- else return Host;
- }
- #endregion
- #region Weapons
- public static void Rockets(uint client)
- {
- PS3.SetMemory((Offsets.Akimbo_Secondary + ((uint)client * 0x3980)), new byte[] { 0x00 });//REMOVE the akimbo, to prevent Freeze issus!
- byte[] Rocket_Dome = WeaponList.Dome.Harriar_Rockets;
- byte[] Rocket_Seatown = WeaponList.Seatown.Harriar_Rockets;
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), Rocket_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), Rocket_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), Rocket_Seatown);
- }
- else//If the MAPS are not the maps that are on "SetUp1"(The maps dome and etc)
- {
- //It will give diffrent bytes
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), Rocket_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), Rocket_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), Rocket_Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region Default Weapon
- public static void DefaultWeapon(uint client)
- {
- PS3.SetMemory((Offsets.Akimbo_Secondary + ((uint)client * 0x3980)), new byte[] { 0x00 });//REMOVE the akimbo, to prevent Freeze issus!
- byte[] DefaultWeapon_Dome = WeaponList.Dome.DefaultWeapon;
- byte[] DefaultWeapon_Seatown = WeaponList.Seatown.DefaultWeapon;
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), DefaultWeapon_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), DefaultWeapon_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), DefaultWeapon_Seatown);
- }
- else//If the MAPS are not the maps that are on "SetUp1"(The maps dome and etc)
- {
- //It will give diffrent bytes
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), DefaultWeapon_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), DefaultWeapon_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), DefaultWeapon_Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region MSR
- public static void MSR(uint client)
- {
- PS3.SetMemory((Offsets.Akimbo_Secondary + ((uint)client * 0x3980)), new byte[] { 0x00 });//REMOVE the akimbo, to prevent Freeze issus!
- byte[] MSR_Dome = WeaponList.Dome.MSR;
- byte[] MSR_Seatown = WeaponList.Seatown.MSR;
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), MSR_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), MSR_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), MSR_Seatown);
- }
- else//If the MAPS are not the maps that are on "SetUp1"(The maps dome and etc)
- {
- //It will give diffrent bytes
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), MSR_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), MSR_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), MSR_Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region OspreyBullets
- public static void OspreyBullets(uint client)
- {
- PS3.SetMemory((Offsets.Akimbo_Secondary + ((uint)client * 0x3980)), new byte[] { 0x00 });//REMOVE the akimbo, to prevent Freeze issus!
- byte[] Osprey_Bullets_Dome = WeaponList.Dome.Osprey_Bullets;
- byte[] Osprey_Bullets_Seatown = WeaponList.Seatown.Osprey_Bullets;
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), Osprey_Bullets_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), Osprey_Bullets_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), Osprey_Bullets_Seatown);
- }
- else//If the MAPS are not the maps that are on "SetUp1"(The maps dome and etc)
- {
- //It will give diffrent bytes
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), Osprey_Bullets_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), Osprey_Bullets_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), Osprey_Bullets_Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region AssaultDroneRockets
- public static void AssaultDroneRockets(uint client)
- {
- PS3.SetMemory((Offsets.Akimbo_Secondary + ((uint)client * 0x3980)), new byte[] { 0x00 });//REMOVE the akimbo, to prevent Freeze issus!
- byte[] AssaultDrone_Rockets_Dome = WeaponList.Dome.AssaultDrone_Rockets;
- byte[] AssaultDrone_Rockets_Seatown = WeaponList.Seatown.AssaultDrone_Rockets;
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), AssaultDrone_Rockets_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), AssaultDrone_Rockets_Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), AssaultDrone_Rockets_Seatown);
- }
- else//If the MAPS are not the maps that are on "SetUp1"(The maps dome and etc)
- {
- //It will give diffrent bytes
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (0x3980 * client), AssaultDrone_Rockets_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (0x3980 * client), AssaultDrone_Rockets_Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (0x3980 * client), AssaultDrone_Rockets_Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #endregion
- #endregion
- #endregion
- #endregion
- #endregion
- #region AC130
- #region RemovenecessaryStuff
- public static void RemovenecessaryStuff(UInt32 client)
- {
- byte[] Remove = new byte[] { 0x00, 0, 0 };
- byte[] RemoveAkimbo = new byte[] { 0x00 };
- PS3.SetMemory(Offsets._3Weapon.Weapon1 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._3Weapon.Weapon2 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._3Weapon.Weapon3 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._4Weapon.Weapon1 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._4Weapon.Weapon2 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._4Weapon.Weapon3 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._5Weapon.Weapon1 + (client * 0x3980), Remove);
- PS3.SetMemory(Offsets._5Weapon.Weapon2 + (client * 0x3980), Remove);
- }
- #endregion
- #region 25mm
- public static void AC130_25mm(UInt32 client)
- {
- byte[] _25Dome = WeaponList.Dome.AC130_25mm;
- byte[] _25Seatown = WeaponList.Seatown.AC130_25mm;
- RemovenecessaryStuff(client);
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Seatown);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Seatown);
- }
- else//For the other maps...
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Dome);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new Byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region 105mm
- public static void AC130_105mm(UInt32 client)
- {
- byte[] _25Dome = WeaponList.Dome.AC130_105mm;
- byte[] _25Seatown = WeaponList.Seatown.AC130_105mm;
- RemovenecessaryStuff(client);
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Seatown);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Seatown);
- }
- else//For the other maps...
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Dome);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new Byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #region 40mm
- public static void AC130_40mm(UInt32 client)
- {
- byte[] _25Dome = WeaponList.Dome.AC130_40mm;
- byte[] _25Seatown = WeaponList.Seatown.AC130_40mm;
- RemovenecessaryStuff(client);
- if (map.SetUp1)
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Seatown);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Seatown);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Seatown);
- }
- else//For the other maps...
- {
- PS3.SetMemory(Offsets.Primary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Primary.Weapon3 + (client * 0x3980), _25Dome);
- //Now the secondary need to have the same bytes aswell, so:
- PS3.SetMemory(Offsets.Secondary.Weapon1 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon2 + (client * 0x3980), _25Dome);
- PS3.SetMemory(Offsets.Secondary.Weapon3 + (client * 0x3980), _25Dome);
- }
- //And Ammo:
- byte[] UltimateAmmo = new Byte[] { 0x0F, 0xFF, 0xFF, 0xFF };
- PS3.SetMemory(Offsets.Secondary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Secondary.AmmoClip + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AkimboAmmo + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoBullets + (0x3980 * client), UltimateAmmo);
- PS3.SetMemory(Offsets.Primary.AmmoClip + (0x3980 * client), UltimateAmmo);
- }
- #endregion
- #endregion
- #endregion
- #endregion
- #endregion
- Ok so now that you have basically all you need for Modded weapons lets begin.
- Ok so add a modded weapons option to the context menu strip.Add inside of that Ac-130 (Example) and put inside that say 105mm.
- And add this to it
- AC130_105mm((uint)dataGridView1.CurrentRow.Index);
- Ok your gonna be thinking ? how the hell does this get get 105mm walking ac-130.Heres how :
- Ok so bassically when you added This http://prntscr.com/5ahs7h when you copied http://prntscr.com/5ahsgs this region. It basically just made you able to dumb down the coding a whole lot. So when you say AC130_105mm((uint) etc etc. It just is adding the code you put in that region to where you have the coding above in your 105mm option in your context menu.
- Ok so i know am not the best at explaining all this as it took me awhile to grasp all this stuff and where to put certain things and all that and how to understand how things work. If you still don't understand then please tell me and ill make a quick Open source of everything i try'd explaining on here so that you can learn for yourself.
- Credits :
- Mango Knife: ( For pretty much everything on here as i took most of it from his pastebins and ngu posts ).
- Me: ( CrEaTiiOn_LiiMiT ) for this tut.
- Also heres the addresses for god mode an such:
- #region Addresses
- public static uint
- G_GivePlayerWeapon = 0x1C3034,
- GodmodeAddress = 0x0FCA41E,
- AmmoAddress = 0x0110a6ab, //0X3980 * i
- LeathalAmmo = 0x0110a69f, //0x3980 * i
- secandaryammo = 0x011a693, //0X3980 * i
- tacticalammo = 0x0110a6b7, //0X3980 * i
- ingamescore = 0x0110d598,
- ingamekills = 0x0110d5a0,
- ingameassist = 0xF46C57,
- ingamedeaths = 0x0110d59F,
- captures = 0x00F46C59;
- #endregion
- Thanks for reading.
- Skype:CrEaTiiOn_LiiMiT
- Any questions on this. Add me (y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement