Thread: 474 IDK (Clothes & Haircuts) Fully Working!

Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1 474 IDK (Clothes & Haircuts) Fully Working! 
    Registered Member Beershake's Avatar
    Join Date
    Mar 2011
    Age
    28
    Posts
    287
    Thanks given
    49
    Thanks received
    25
    Rep Power
    2
    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.
    Reply With Quote  
     


  2. #2  
    « Pokémon Master »
    Ash Ketchum's Avatar
    Join Date
    Jun 2011
    Age
    29
    Posts
    1,423
    Thanks given
    275
    Thanks received
    153
    Rep Power
    39
    Bookmarked for later use. thanks
    Attached image
    Spoiler for Galkon:

    Spoiler for Great Quotes:
    Quote Originally Posted by i am prod View Post
    **** YOU this just erased everyones passwords and no one can log in!!!
    Quote Originally Posted by blade2 View Post
    did i ****ing say it was a ****ing virus u dip shit i said virus scan dont scan java files i didn't say its a virus... l2****ingreadkid
    Spoiler for (╯°□°)╯︵┻━┻:
    Reply With Quote  
     

  3. #3  
    Registered MrClassic
    MrClassic's Avatar
    Join Date
    Oct 2008
    Age
    15
    Posts
    2,063
    Thanks given
    24,154
    Thanks received
    551
    Rep Power
    5000
    thanks, also bookmarked
    Reply With Quote  
     

  4. #4  
    only shallow

    Join Date
    Apr 2011
    Age
    26
    Posts
    1
    Thanks given
    2,907
    Thanks received
    413
    Rep Power
    0
    nice contribution
    Reply With Quote  
     

  5. #5  
    Registered Member

    Join Date
    Jun 2013
    Posts
    1,353
    Thanks given
    77
    Thanks received
    139
    Rep Power
    243
    oh wow very nice, might try this myself.
    Reply With Quote  
     

  6. #6  
    Registered Member
    Join Date
    Oct 2011
    Posts
    116
    Thanks given
    47
    Thanks received
    7
    Rep Power
    19
    Know of a way for like all 711 characters or even 667?
    Reply With Quote  
     

  7. #7  
    Banned

    Join Date
    Jan 2011
    Posts
    3,273
    Thanks given
    345
    Thanks received
    545
    Rep Power
    0
    Was already using K4rn4ge's version of this, but thanks mate! bookmarked as well.
    Reply With Quote  
     

  8. #8  
    Banned

    Join Date
    Jul 2008
    Posts
    3,523
    Thanks given
    188
    Thanks received
    696
    Rep Power
    0
    you can thank me for that server sided fix.. but if you want a better fix you need to change the methods used to read the values from the client

    in ChangeAppearance class (or whatever the hell you use)

    Code:
    		int gender = c.getInStream().readUnsignedByte();
    		int head = c.getInStream().readUnsignedByte();
    		int jaw = c.getInStream().readSignedByte();
    		int torso = c.getInStream().readUnsignedByte();
    		int arms = c.getInStream().readUnsignedByte();
    		int hands = c.getInStream().readUnsignedByte();
    		int legs = c.getInStream().readUnsignedByte();
    		int feet = c.getInStream().readUnsignedByte();
    		int hairColour = c.getInStream().readUnsignedByte();
    		int torsoColour = c.getInStream().readUnsignedByte();
    		int legsColour = c.getInStream().readUnsignedByte();
    		int feetColour = c.getInStream().readUnsignedByte();
    		int skinColour = c.getInStream().readUnsignedByte();
    the ones in a normal PI, emulous w.e uses c.getInStream().readSignedByte();
    Reply With Quote  
     

  9. #9  
    Donator

    Join Date
    Feb 2012
    Posts
    303
    Thanks given
    10
    Thanks received
    10
    Rep Power
    13
    Thanks, will add later.
    Lalala..
    Reply With Quote  
     

  10. #10  
    Registered Member yunaaa's Avatar
    Join Date
    Apr 2012
    Posts
    641
    Thanks given
    89
    Thanks received
    26
    Rep Power
    6
    Now under cache[j].readValues(stream); add:
    Code:
    anIntArray659[0] = 55232;
    anIntArray660[0] = 6798;
    'non static variable anintarry659 cannot be referenced from a static context'

    ??
    changed the int to public to test, and the makeovermage shows your changes correctly, but the actual char ends up being bald with default clothes.
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. 474 Fully Working Music and Sounds
    By devilsanglez in forum Requests
    Replies: 9
    Last Post: 07-13-2013, 04:42 AM
  2. 474 IDK(Clothing) -- Cache Packable
    By K4rn4ge in forum Snippets
    Replies: 51
    Last Post: 01-12-2011, 04:51 AM
  3. Replies: 8
    Last Post: 09-20-2009, 06:49 PM
  4. fully working crystal chest!
    By Volcom in forum Tutorials
    Replies: 32
    Last Post: 09-11-2007, 01:58 AM
  5. Fully working CWars Capes AND Team Capes!
    By Fr33b1e in forum Tutorials
    Replies: 11
    Last Post: 08-14-2007, 07:58 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •