This has already been released, but thread is too messy so people can't figure out. I saw even someone selling it LMAO.
Most clients that are loading 474 data has IdentyKit(IDK) missing, so I guess this will be useful for people who are working on 474 remakes or even make their client look better than 317 clothing. So lets begin.
Requirements:
Your client should be loading 474 models(atleast characters and chatheads)
Tom's Cache Suite
Identy kit file --> Download 474IDK.dat @ UppIT
Being able to: think, read, copy and paste.
Open your Tom's Cache Suite and navigate like this:
View/Edit JaGeX archives > config and replace idk.dat with the one I hve provided in the link.
Next step is to open IDK.java in your client and search for unpackConfig, then you should see something like this:
Code:
public static void unpackConfig(StreamLoader streamLoader)
{
Stream stream = new Stream(streamLoader.getDataForName("idk.dat"));
length = stream.readUnsignedWord();
if(cache == null)
cache = new IDK[length];
for(int j = 0; j < length; j++)
{
if(cache[j] == null)
cache[j] = new IDK();
cache[j].readValues(stream);
}
}
Now under cache[j].readValues(stream); add:
Code:
cache[j].anIntArray659[0] = 55232;
cache[j].anIntArray660[0] = 6798;
And now youre done client sided. It's coming the "HARD" part lol. Go into your server and search for packet 101(it can be also named Character design).
You now may see something like this: (this is different from server to server, mine's Project no-doze)
Code:
client.playerLook[PlayerConstants.HEAD] = head;
client.playerLook[PlayerConstants.BODY] = body;
client.playerLook[PlayerConstants.ARMS] = arms;
client.playerLook[PlayerConstants.HANDS] = hands;
client.playerLook[PlayerConstants.LEGS] = legs;
client.playerLook[PlayerConstants.FEET] = feet;
client.playerLook[PlayerConstants.BEARD] = beard;
Under it you should add:
Code:
if(client.playerLook[PlayerConstants.HEAD] < 0)
client.playerLook[PlayerConstants.HEAD] = head +256;
if(client.playerLook[PlayerConstants.BODY] < 0)
client.playerLook[PlayerConstants.BODY] = body +256;
if(client.playerLook[PlayerConstants.ARMS] < 0)
client.playerLook[PlayerConstants.ARMS] = arms +256;
if(client.playerLook[PlayerConstants.HANDS] < 0)
client.playerLook[PlayerConstants.HANDS] = hands +256;
if(client.playerLook[PlayerConstants.LEGS] < 0)
client.playerLook[PlayerConstants.LEGS] = legs +256;
FOR PI: (ChangeAppearance.java)
You should see:
Code:
if (c.canChangeAppearance) {
c.playerAppearance[0] = gender; // gender
c.playerAppearance[6] = feet; // feet
c.playerAppearance[7] = jaw; // beard
c.playerAppearance[8] = hairColour; // hair colour
c.playerAppearance[9] = torsoColour; // torso colour
c.playerAppearance[10] = legsColour; // legs colour
c.playerAppearance[11] = feetColour; // feet colour
c.playerAppearance[12] = skinColour; // skin colour
Under add this:
Code:
if(head < 0) // head
c.playerAppearance[1] = head + 256;
else
c.playerAppearance[1] = head;
if(torso < 0)
c.playerAppearance[2] = torso + 256;
else
c.playerAppearance[2] = torso;
if(arms < 0)
c.playerAppearance[3] = arms + 256;
else
c.playerAppearance[3] = arms;
if(hands < 0)
c.playerAppearance[4] = hands + 256;
else
c.playerAppearance[4] = hands;
if(legs < 0)
c.playerAppearance[5] = legs + 256;
else
c.playerAppearance[5] = legs;
Compile and youre done.
Comment if you want I make it for more server bases such as Delta, Hyperion and other Shards.
If you get any error or exception post here and we will try all together fix it
Now its time for Media!!
[SPOIL]
[/SPOIL]
Credits:
100% - K4rn4ge for releasing it before
0.0% - Me for making it clear and easy to do/understand.