Post: [Release]Give/Change Killstreaks All Clients [C#]
06-26-2014, 08:30 AM #1
Mango_Knife
In my man cave
(adsbygoogle = window.adsbygoogle || []).push({}); So, a few people asked me for this, and i released the offsets while ago back on 1.16 days, but people asked me how to use this, so il just post this here

So baisicly you can give killstreaks with that to the clients, exmple for it you can see on the mod menu "Revolution".

So here it is:
Offsets:
    
G_Client = 0x1780F28 (Thanks to Sharks)

Change_1 = G_Client + 0x283;
Change_2 = G_Client + 0x29F;
Change_3 = G_Client + 0x267;

Scorestreak_1 = G_Client + 0x433;
Scorestreak_2 = G_Client + 0x437;
Scorestreak_3 = G_Client + 0x42F;

Enable_1 = G_Client + 0x55F;
Enable_2 = G_Client + 0x557;
Enable_3 = G_Client + 0x553;

Killstreak_1 = G_Client + 0x56F;
Killstreak_2 = G_Client + 0x567;
Killstreak_3 = G_Client + 0x563;


Now the streaks:
    
public class Streaks
{
public static class Nuketown
{
public static Byte[]
UAV = new Byte[] { 0x80 },
RCXD = new Byte[] { 0x94 },
HunterKiller = new Byte[] { 0x8F },
CarePackage = new Byte[] { 0x7A },
CounterUAV = new Byte[] { 0x81 },
Guardian = new Byte[] { 0xA4 },
HellstormMissile = new Byte[] { 0x97 },
LightningStrike = new Byte[] { 0x92 },
SentryGun = new Byte[] { 0xA2 },
DeathMachine = new Byte[] { 0x58 },
WarMachine = new Byte[] { 0x53 },
DragonFire = new Byte[] { 0x9B },
AGR = new Byte[] { 0x7F },
StealthChopper = new Byte[] { 0x87 },
OrbitalVSAT = new Byte[] { 0x82 },
EscortDrone = new Byte[] { 0x88 },
EMPSystems = new Byte[] { 0x83 },
Warthog = new Byte[] { 0x9E },
Loadstar = new Byte[] { 0x99 },
VTOLWarship = new Byte[] { 0x89 },
K9Unit = new Byte[] { 0x6F },
Swarm = new Byte[] { 0x91 };
}
public static class OtherMaps
{
//On other maps its -0x1 from the bytes on nuketown2025
public static Byte[]
UAV = new Byte[] { 0x80 -0x1},
RCXD = new Byte[] { 0x94 -0x1},
HunterKiller = new Byte[] { 0x8F -0x1},
CarePackage = new Byte[] { 0x7A -0x1},
CounterUAV = new Byte[] { 0x81 -0x1},
Guardian = new Byte[] { 0xA4 -0x1},
HellstormMissile = new Byte[] { 0x97 -0x1},
LightningStrike = new Byte[] { 0x92 -0x1},
SentryGun = new Byte[] { 0xA2 -0x1},
DeathMachine = new Byte[] { 0x58 -0x1},
WarMachine = new Byte[] { 0x53 -0x1},
DragonFire = new Byte[] { 0x9B -0x1},
AGR = new Byte[] { 0x7F -0x1},
StealthChopper = new Byte[] { 0x87 -0x1},
OrbitalVSAT = new Byte[] { 0x82 -0x1},
EscortDrone = new Byte[] { 0x88 -0x1},
EMPSystems = new Byte[] { 0x83 -0x1},
Warthog = new Byte[] { 0x9E -0x1},
Loadstar = new Byte[] { 0x99 -0x1},
VTOLWarship = new Byte[] { 0x89 -0x1},
K9Unit = new Byte[] { 0x6F -0x1},
Swarm = new Byte[] { 0x91 -0x1};
}
}


How this work?
First you enable the killstreak in case the client didnt put any scorestreaks, then giving him the streaks, and just fill the box of the streak
Like that:
                public static void Give(Int32 Client, Byte[] Streak)
{
Byte[] On = new Byte[] { 1 };
//1 - Enable Streak
//0 - Take it off
UInt32 G_ClientSize = 0x5808;
UInt32 Index = (UInt32)Client * G_ClientSize;
//Give the streak to whatever Killstreak you want
//1,2 or 3
//Then Enable it, so it wont be blank, in case the client didnt choosed scorestreaks
//So:
PS3.SetMemory(Enable_1 + Index, On);//Enable Streak
//Give Streak:
PS3.SetMemory(Killstreak_1 + Index, Streak);
PS3.SetMemory(Change_1 + Index, Streak);
//We will change 2 Offsets, otherwise it will not work.
//And then, just give the scorestreak:
PS3.SetMemory(Scorestreak_1 + Index, On);
}


Exmple:
                public static void Test()
{
if (getMapName() == "Nuketown 2025")
{
Give(0, Streaks.Nuketown.RCXD);
}
else
{
Give(0, Streaks.OtherMaps.RCXD);
}
}

On nuketown2025 the bytes are diffrent, so you will need the ServerDetails function, you can find the function here:
You must login or register to view this content.

pastebin post:
You must login or register to view this content.

Credits:
Well me for find it , Sharks for the G_Client Offset & seb5594 for server details function

Have fun everybody Smile
(adsbygoogle = window.adsbygoogle || []).push({});

The following 24 users say thank you to Mango_Knife for this useful post:

RawDog2002, ALI ALHILFI, Arrow_Modz, B777x, bbcmodz, FusionIsDaName, Geo, GMTPS3, iNDMx, Deleted-User0000000012210, MegaMister, Miyata, Mx444, John, NotALegitPlayer, SnaY, Sticky, Swaqq, TheSaltCracka, UnknownNightmare, Hash847, Fatality, xProvXKiller, xSynthetic-oJ
06-29-2014, 01:18 AM #20
seb5594
Proud Former Admin
That's not really new, but anyways, your coding is fucking messy, here is my Version of it

    
enum Killstreaks
{
UAV = 0x80,
RCXD = 0x94,
HunterKiller = 0x8F,
CarePackage = 0x7A,
Guardian = 0xA4,
HellstormMissile = 0x97,
LightningStrike = 0x92,
SentryGun = 0xA2,
DeathMachine = 0x58,
WarMachine = 0x53,
DragonFire = 0x9B,
AGR = 0x7F,
StealthChopper = 0x87,
OrbitalVSAT = 0x82,
EscortDrone = 0x88,
EMPSystems = 0x83,
Warthog = 0x9E,
Loadstar = 0x99,
VTOLWarship = 0x89,
K9Unit = 0x6F,
Swarm = 0x91
}
public static UInt32 G_Client(Int32 clientIndex)
{
//1.18 G_Client = 0x1780F28 (Thanks to Sharks)
return 0x1780F28 + (0x5808 * clientIndex);
}
public static void Give(Int32 clientIndex, Killstreaks Streak, Int32 StreakSlot = 1)
{
if(StreakSlot > 3 || StreakSlot < 1)
StreakSlot = 1;
//Server Details Function: https://pastebin.com/ptrKussv
Byte KillstreakIndex = getMapName() == "Nuketown 2025" ? (Byte)Streak : (Byte)Streak -1:
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x55F, 0x557, 0x553 }[StreakSlot], 1);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x56F, 0x567, 0x563 }[StreakSlot], KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + (0x283 + (0x1C * StreakSlot)), KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x433, 0x437, 0x42F }[StreakSlot] , 1);
PS3.Extension.WriteByte(Scorestreak_1 + Index, 1);
}
public static void Test()
{
Give(0, Killstreaks.RCXD, 1);
}

I didn't tested it, coded in Notepad Enzo

The following 2 users say thank you to seb5594 for this useful post:

Hash847, xReaperv3
07-01-2014, 01:23 PM #21
Hash847
Purple God
Here's my function for anyone that wants it (It's a little more advanced)

    

public static uint G_Client(uint Client)
{
return 0x1780F28 + Client * 0x5808;
}
public static void GiveScorestreak(uint Client, int Slot, byte[] Streak, bool Off = false)
{
if (Slot == 0)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x55F, new byte[] { 0x01 }); //Enable // Enables the Scorestreak for the Client so Scorestreaks can be used.
PS3.SetMemory(G_Client(Client) + 0x56F, Streak); //Killstreak // These two are needed or it wont work.
PS3.SetMemory(G_Client(Client) + 0x283, Streak); //Change // These two are needed or it wont work.
PS3.SetMemory(G_Client(Client) + 0x433, new byte[] { 0x01 }); //Scorestreak // Enables the Scorestreak.
}
else if (Off == true) { PS3.SetMemory(G_Client(Client) + 0x433, new byte[] { 0x00 }); }
}
else if (Slot == 1)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x557, new byte[] { 0x01 });
PS3.SetMemory(G_Client(Client) + 0x567, Streak);
PS3.SetMemory(G_Client(Client) + 0x29F, Streak);
PS3.SetMemory(G_Client(Client) + 0x437, new byte[] { 0x01 });
}
else if (Off == false) { PS3.SetMemory(G_Client(Client) + 0x437, new byte[] { 0x00 }); }
}
else if (Slot == 2)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x553, new byte[] { 0x01 });
PS3.SetMemory(G_Client(Client) + 0x563, Streak);
PS3.SetMemory(G_Client(Client) + 0x267, Streak);
PS3.SetMemory(G_Client(Client) + 0x42F, new byte[] { 0x01 });
}
else if (Off == true) { PS3.SetMemory(G_Client(Client) + 0x42F, new byte[] { 0x00 }); }
}
else { System.Windows.Forms.MessageBox.Show("There are a max of 3 slots."); }
}//Credits to Mango_Knife for the offsets Winky Winky
07-02-2014, 08:21 AM #22
Mango_Knife
In my man cave
Originally posted by Winter View Post
Here's my function for anyone that wants it (It's a little more advanced)

    

public static uint G_Client(uint Client)
{
return 0x1780F28 + Client * 0x5808;
}
public static void GiveScorestreak(uint Client, int Slot, byte[] Streak, bool Off = false)
{
if (Slot == 0)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x55F, new byte[] { 0x01 }); //Enable // Enables the Scorestreak for the Client so Scorestreaks can be used.
PS3.SetMemory(G_Client(Client) + 0x56F, Streak); //Killstreak // These two are needed or it wont work.
PS3.SetMemory(G_Client(Client) + 0x283, Streak); //Change // These two are needed or it wont work.
PS3.SetMemory(G_Client(Client) + 0x433, new byte[] { 0x01 }); //Scorestreak // Enables the Scorestreak.
}
else if (Off == true) { PS3.SetMemory(G_Client(Client) + 0x433, new byte[] { 0x00 }); }
}
else if (Slot == 1)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x557, new byte[] { 0x01 });
PS3.SetMemory(G_Client(Client) + 0x567, Streak);
PS3.SetMemory(G_Client(Client) + 0x29F, Streak);
PS3.SetMemory(G_Client(Client) + 0x437, new byte[] { 0x01 });
}
else if (Off == false) { PS3.SetMemory(G_Client(Client) + 0x437, new byte[] { 0x00 }); }
}
else if (Slot == 2)
{
if (Off == false)
{
PS3.SetMemory(G_Client(Client) + 0x553, new byte[] { 0x01 });
PS3.SetMemory(G_Client(Client) + 0x563, Streak);
PS3.SetMemory(G_Client(Client) + 0x267, Streak);
PS3.SetMemory(G_Client(Client) + 0x42F, new byte[] { 0x01 });
}
else if (Off == true) { PS3.SetMemory(G_Client(Client) + 0x42F, new byte[] { 0x00 }); }
}
else { System.Windows.Forms.MessageBox.Show("There are a max of 3 slots."); }
}//Credits to Mango_Knife for the offsets Winky Winky


Originally posted by seb5594 View Post
That's not really new, but anyways, your coding is fucking messy, here is my Version of it

    
enum Killstreaks
{
UAV = 0x80,
RCXD = 0x94,
HunterKiller = 0x8F,
CarePackage = 0x7A,
Guardian = 0xA4,
HellstormMissile = 0x97,
LightningStrike = 0x92,
SentryGun = 0xA2,
DeathMachine = 0x58,
WarMachine = 0x53,
DragonFire = 0x9B,
AGR = 0x7F,
StealthChopper = 0x87,
OrbitalVSAT = 0x82,
EscortDrone = 0x88,
EMPSystems = 0x83,
Warthog = 0x9E,
Loadstar = 0x99,
VTOLWarship = 0x89,
K9Unit = 0x6F,
Swarm = 0x91
}
public static UInt32 G_Client(Int32 clientIndex)
{
//1.18 G_Client = 0x1780F28 (Thanks to Sharks)
return 0x1780F28 + (0x5808 * clientIndex);
}
public static void Give(Int32 clientIndex, Killstreaks Streak, Int32 StreakSlot = 1)
{
if(StreakSlot > 3 || StreakSlot < 1)
StreakSlot = 1;
//Server Details Function: https://pastebin.com/ptrKussv
Byte KillstreakIndex = getMapName() == "Nuketown 2025" ? (Byte)Streak : (Byte)Streak -1:
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x55F, 0x557, 0x553 }[StreakSlot], 1);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x56F, 0x567, 0x563 }[StreakSlot], KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + (0x283 + (0x1C * StreakSlot)), KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x433, 0x437, 0x42F }[StreakSlot] , 1);
PS3.Extension.WriteByte(Scorestreak_1 + Index, 1);
}
public static void Test()
{
Give(0, Killstreaks.RCXD, 1);
}

I didn't tested it, coded in Notepad Enzo


Really nice :yes:
07-02-2014, 11:03 AM #23
Mango_Knife
In my man cave
Originally posted by seb5594 View Post
That's not really new, but anyways, your coding is fucking messy, here is my Version of it

    
enum Killstreaks
{
UAV = 0x80,
RCXD = 0x94,
HunterKiller = 0x8F,
CarePackage = 0x7A,
Guardian = 0xA4,
HellstormMissile = 0x97,
LightningStrike = 0x92,
SentryGun = 0xA2,
DeathMachine = 0x58,
WarMachine = 0x53,
DragonFire = 0x9B,
AGR = 0x7F,
StealthChopper = 0x87,
OrbitalVSAT = 0x82,
EscortDrone = 0x88,
EMPSystems = 0x83,
Warthog = 0x9E,
Loadstar = 0x99,
VTOLWarship = 0x89,
K9Unit = 0x6F,
Swarm = 0x91
}
public static UInt32 G_Client(Int32 clientIndex)
{
//1.18 G_Client = 0x1780F28 (Thanks to Sharks)
return 0x1780F28 + (0x5808 * clientIndex);
}
public static void Give(Int32 clientIndex, Killstreaks Streak, Int32 StreakSlot = 1)
{
if(StreakSlot > 3 || StreakSlot < 1)
StreakSlot = 1;
//Server Details Function: https://pastebin.com/ptrKussv
Byte KillstreakIndex = getMapName() == "Nuketown 2025" ? (Byte)Streak : (Byte)Streak -1:
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x55F, 0x557, 0x553 }[StreakSlot], 1);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x56F, 0x567, 0x563 }[StreakSlot], KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + (0x283 + (0x1C * StreakSlot)), KillstreakIndex);
PS3.Extension.WriteByte(G_Client(clientIndex) + new UInt32[] { 0x433, 0x437, 0x42F }[StreakSlot] , 1);
PS3.Extension.WriteByte(Scorestreak_1 + Index, 1);
}
public static void Test()
{
Give(0, Killstreaks.RCXD, 1);
}

I didn't tested it, coded in Notepad Enzo


Hmmm...
You must login or register to view this content.
07-02-2014, 01:22 PM #24
seb5594
Proud Former Admin
Originally posted by Knife View Post
Hmmm...
You must login or register to view this content.


Try that, how i said i didnt tested it in any way, just coded in notepad ^^

    
Byte KillstreakIndex = getMapName() == "Nuketown 2025" ? (Byte)Streak : (Byte)(Streak -1):
07-02-2014, 03:02 PM #25
Mango_Knife
In my man cave
Originally posted by seb5594 View Post
Try that, how i said i didnt tested it in any way, just coded in notepad ^^

    
Byte KillstreakIndex = getMapName() == "Nuketown 2025" ? (Byte)Streak : (Byte)(Streak -1):


Thats all? O
I thought to do Convert.ToByte(Streak), but didnt worked
This will work just fine.
07-17-2014, 09:26 PM #26
Mango_Knife
In my man cave
hmmm nvm...

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo