Thread: #145 Identitykit

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23
  1. #11  
    Community Veteran

    Dust R I P's Avatar
    Join Date
    Jan 2008
    Posts
    2,599
    Thanks given
    197
    Thanks received
    221
    Rep Power
    586
    Whats new in 145 identitykit compared to 474?
    Reply With Quote  
     

  2. #12  
    Rune-Server Affiliate

    Join Date
    Apr 2014
    Posts
    1,761
    Thanks given
    75
    Thanks received
    714
    Rep Power
    1073
    Quote Originally Posted by Dust R I P View Post
    Whats new in 145 identitykit compared to 474?
    No idea, I wanted it, so i dumped it. As I don't see any server with osrs data with it.
    Reply With Quote  
     

  3. #13  
    Registered Member Matt__OS's Avatar
    Join Date
    Jun 2015
    Age
    30
    Posts
    204
    Thanks given
    65
    Thanks received
    28
    Rep Power
    0
    Attached image

    packed it but it doesn't show on my character once done?

    Attached image

    curious as why it wouldnt have different skin tones too? like green,black etc.
    Reply With Quote  
     

  4. #14  
    Banned

    Join Date
    Oct 2012
    Posts
    4,710
    Thanks given
    1,679
    Thanks received
    1,105
    Rep Power
    0
    Quote Originally Posted by Matt__OS View Post
    Attached image

    packed it but it doesn't show on my character once done?

    Attached image

    curious as why it wouldnt have different skin tones too? like green,black etc.
    Client sided, and you have to edit the packet server sided.
    Reply With Quote  
     

  5. Thankful user:


  6. #15  
    Rune-Server Affiliate

    Join Date
    Apr 2014
    Posts
    1,761
    Thanks given
    75
    Thanks received
    714
    Rep Power
    1073
    Quote Originally Posted by Matt__OS View Post
    Attached image

    packed it but it doesn't show on my character once done?

    Attached image

    curious as why it wouldnt have different skin tones too? like green,black etc.
    Try this out:

    Quote Originally Posted by Beershake View Post
    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 .
    Reply With Quote  
     

  7. Thankful user:


  8. #16  
    Waddup

    Stan's Avatar
    Join Date
    Apr 2016
    Posts
    376
    Thanks given
    110
    Thanks received
    394
    Rep Power
    521
    This should get it to work.

    Client-sided:
    Code:
    public final class IdentityKitDefinition {
    
    	public static void unpackConfig(StreamLoader streamLoader) {
    		Stream stream = new Stream(streamLoader.getDataForName("idk.dat"));
            length = stream.readUnsignedShort();
            if (cache == null) {
                cache = new IdentityKitDefinition[length];
            }
            for (int index = 0; index < length; index++) {
                if (cache[index] == null) {
                    cache[index] = new IdentityKitDefinition();
                }
                cache[index].readValues(stream);
                cache[index].srcColors[0] = 55232;
                cache[index].dstColors[0] = 6798;
            }
        }
     
        private void readValues(Stream stream) {
            do {
                int i = stream.readUnsignedByte();
                if (i == 0)
                    return;
                if (i == 1)
                    type = stream.readUnsignedByte();
                else if (i == 2) {
                    int j = stream.readUnsignedByte();
                    modeles = new int[j];
                    for (int k = 0; k < j; k++)
                        modeles[k] = stream.readUnsignedShort();
                } else if (i == 3)
                    isUnselectable = true;
                else if (i >= 40 && i < 50)
                    srcColors[i - 40] = stream.readUnsignedShort();
                else if (i >= 50 && i < 60)
                    dstColors[i - 50] = stream.readUnsignedShort();
                else if (i >= 60 && i < 70) {
                    faceModeles[i - 60] = stream.readUnsignedShort();
                    if (faceModeles[i - 60] == 65535) {
                    	faceModeles[i - 60] = -1;
                    }
                }
                else
                    System.out.println("Error unrecognised config code: " + i);
            } while (true);
        }
     
        public boolean modelIsValid() {
            if(modeles == null)
                return true;
            boolean flag = true;
            for(int j = 0; j < modeles.length; j++)
                if(!Model.method463(modeles[j]))
                    flag = false;
     
            return flag;
        }
     
        public Model getModel() {
            if(modeles == null)
                return null;
            Model aclass30_sub2_sub4_sub6s[] = new Model[modeles.length];
            for(int i = 0; i < modeles.length; i++)
                aclass30_sub2_sub4_sub6s[i] = Model.method462(modeles[i]);
     
            Model model;
            if(aclass30_sub2_sub4_sub6s.length == 1)
                model = aclass30_sub2_sub4_sub6s[0];
            else
                model = new Model(aclass30_sub2_sub4_sub6s.length, aclass30_sub2_sub4_sub6s);
            for(int j = 0; j < 6; j++) {
                if(srcColors[j] == 0)
                    break;
                model.method476(srcColors[j], dstColors[j]);
            }
            return model;
        }
     
        public boolean method539() {
            boolean flag1 = true;
            for(int i = 0; i < 5; i++)
                if(faceModeles[i] != -1 && !Model.method463(faceModeles[i]))
                    flag1 = false;
     
            return flag1;
        }
     
        public Model getHead() {
            Model aclass30_sub2_sub4_sub6s[] = new Model[5];
            int j = 0;
            for(int k = 0; k < 5; k++)
                if(faceModeles[k] != -1)
                    aclass30_sub2_sub4_sub6s[j++] = Model.method462(faceModeles[k]);
     
            Model model = new Model(j, aclass30_sub2_sub4_sub6s);
            for(int l = 0; l < 6; l++) {
                if(srcColors[l] == 0)
                    break;
                model.method476(srcColors[l], dstColors[l]);
            }
            return model;
        }
     
        private IdentityKitDefinition() {
            type = -1;
            srcColors = new int[6];
            dstColors = new int[6];
            isUnselectable = false;
        }
     
        public static int length;
        public static IdentityKitDefinition cache[];
        public int type;
        private int[] modeles;
        private final int[] srcColors;
        private final int[] dstColors;
        private final int[] faceModeles = {
            -1, -1, -1, -1, -1
        };
       
        public boolean isUnselectable;
    }
    Server-sided:
    Code:
    public class AppearancePacketHandler implements IncomingPacketListener {
    
    	@Override
    	public void processPacket(Player player, int packetType, int packetSize) {
    		byte gender = player.getInStream().readSignedByte();
    		int head = player.getInStream().readSignedByte();
    		if (head < 0) {
    			head = 256 + head;
    		}
    		int jaw = player.getInStream().readSignedByte();
    		int torso = player.getInStream().readSignedByte();
    		int arms = player.getInStream().readSignedByte();
    		int hands = player.getInStream().readSignedByte();
    		int legs = player.getInStream().readSignedByte();
    		int feet = player.getInStream().readSignedByte();
    
    		byte[] col = { player.getInStream().readSignedByte(), player.getInStream().readSignedByte(), player.getInStream().readSignedByte(),
    				player.getInStream().readSignedByte(), player.getInStream().readSignedByte() };
    
    		int[] app = new int[7];
    
    		app[0] = head;
    		app[1] = torso;
    		app[2] = arms;
    		app[3] = hands;
    		app[4] = legs;
    		app[5] = feet;
    		app[6] = jaw;
    
    		if (!validate(new int[] { head, jaw, torso, arms, hands, legs, feet }, col, gender, player.getAppearance().getSkinColour())) {
    			player.sendOutgoingPacket(new Message("Your appearance could not be validated."));
    			return;
    		}
    
    		int[] look = new int[13];
    		look[0] = gender;
    		for (int i = 0; i < col.length; i++) {
    			look[i + 1] = col[i];
    		}
    		for (int i = 0; i < app.length; i++) {
    			look[i + 6] = app[i];
    		}
    		player.getAppearance().setLook(look);
    
    		player.setAppearanceUpdateRequired(true);
    		
    		player.sendOutgoingPacket(new WindowRemoval());
    	}
    	
    	private static final int[][] MALE_VALUES = { 
    			{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 129, 130, 131, 132, 133, 134, 142, 144, 145, 146, 147, 148, 149, 150 }, // head
    			{ 10, 11, 12, 13, 14, 15, 16, 17, 111, 112, 113, 114, 115, 116, 117 }, // jaw
    			{ 18, 19, 20, 21, 22, 23, 24, 25, 105, 106, 107, 108, 109, 110 }, // torso
    			{ 26, 27, 28, 29, 30, 31, 32, 84, 85, 86, 87, 88 }, // arms
    			{ 33, 34, 35 }, // hands
    			{ 36, 37, 38, 39, 40, 41, 100, 101, 102, 103, 104 }, // legs
    			{ 42, 43, 44, 82 }, // feet
    	};
    
    	private static final int[][] FEMALE_VALUES = { { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 141, 143 }, // head
    			{ -1, -1 }, // jaw
    			{ 56, 57, 58, 59, 60, 89, 90, 91, 92, 93, 94 }, // torso
    			{ 61, 62, 63, 64, 65, 66, 95, 96, 97, 98, 99 }, // arms
    			{ 67, 68, 69 }, // hands
    			{ 70, 71, 72, 73, 74, 75, 76, 77, 78, 135, 136, 137, 138, 139, 140 }, // legs
    			{ 79, 80, 81, 83 }, // feet
    	};
    
    	private static final int[][] IDK_COLORS = {
    
    	{ 6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 4626, 11146, 6439, 12, 4758, 10270 },
    
    	{ 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574 } }; // 17050, 0, 127 for special colors (green-black-pale)
    
    	private static final int[][] ALLOWED_COLORS = { { 0, IDK_COLORS[0].length }, // hair
    																					// color
    			{ 0, IDK_COLORS[1].length }, // torso color
    			{ 0, IDK_COLORS[2].length }, // legs color
    			{ 0, IDK_COLORS[3].length }, // feet color
    			{ 0, IDK_COLORS[4].length } // skin color
    	};
    
    
    	public static boolean validate(int[] app, byte[] col, byte gender, int currentSkin) {
    		if (gender == 0) {
    			for (int i = 0; i < app.length; i++) {
    				boolean found = false;
    				for (int j : MALE_VALUES[i])
    					if (app[i] == j) {
    						found = true;
    						break;
    					}
    				if (!found)
    					return false;
    			}
    		} else if (gender == 1) {
    			for (int i = 0; i < app.length; i++) {
    				boolean found = false;
    				for (int j : FEMALE_VALUES[i])
    					if (app[i] == j) {
    						found = true;
    						break;
    					}
    				if (!found)
    					return false;
    			}
    		} else {
    			return false;
    		}
    
    		for (int i = 0; i < col.length; i++) {
    			if (i == 4 && col[i] == currentSkin) continue;
    			if ((col[i] < ALLOWED_COLORS[i][0]) || (col[i] > ALLOWED_COLORS[i][1]))
    				return false;
    		}
    		return true;
    	}
    }
    Quote Originally Posted by Matt__OS View Post
    Attached image

    packed it but it doesn't show on my character once done?

    Attached image

    curious as why it wouldnt have different skin tones too? like green,black etc.
    Skin tones aren't in the IDK.
    In you Client.java you'll see this somewhere:

    { 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574 } };

    You can just add colors to that, for example for the new ones:

    { 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127 } };
    Reply With Quote  
     

  9. Thankful user:


  10. #17  
    Registered Member Matt__OS's Avatar
    Join Date
    Jun 2015
    Age
    30
    Posts
    204
    Thanks given
    65
    Thanks received
    28
    Rep Power
    0
    alright thanks guys. i'll try a few of these methods out!
    Reply With Quote  
     

  11. #18  
    Номер 1


    Leanbow's Avatar
    Join Date
    Feb 2008
    Posts
    5,895
    Thanks given
    1,564
    Thanks received
    2,624
    Rep Power
    5000
    Quote Originally Posted by Stan View Post
    This should get it to work.

    Client-sided:
    Code:
    public final class IdentityKitDefinition {
    
    	public static void unpackConfig(StreamLoader streamLoader) {
    		Stream stream = new Stream(streamLoader.getDataForName("idk.dat"));
            length = stream.readUnsignedShort();
            if (cache == null) {
                cache = new IdentityKitDefinition[length];
            }
            for (int index = 0; index < length; index++) {
                if (cache[index] == null) {
                    cache[index] = new IdentityKitDefinition();
                }
                cache[index].readValues(stream);
                cache[index].srcColors[0] = 55232;
                cache[index].dstColors[0] = 6798;
            }
        }
     
        private void readValues(Stream stream) {
            do {
                int i = stream.readUnsignedByte();
                if (i == 0)
                    return;
                if (i == 1)
                    type = stream.readUnsignedByte();
                else if (i == 2) {
                    int j = stream.readUnsignedByte();
                    modeles = new int[j];
                    for (int k = 0; k < j; k++)
                        modeles[k] = stream.readUnsignedShort();
                } else if (i == 3)
                    isUnselectable = true;
                else if (i >= 40 && i < 50)
                    srcColors[i - 40] = stream.readUnsignedShort();
                else if (i >= 50 && i < 60)
                    dstColors[i - 50] = stream.readUnsignedShort();
                else if (i >= 60 && i < 70) {
                    faceModeles[i - 60] = stream.readUnsignedShort();
                    if (faceModeles[i - 60] == 65535) {
                    	faceModeles[i - 60] = -1;
                    }
                }
                else
                    System.out.println("Error unrecognised config code: " + i);
            } while (true);
        }
     
        public boolean modelIsValid() {
            if(modeles == null)
                return true;
            boolean flag = true;
            for(int j = 0; j < modeles.length; j++)
                if(!Model.method463(modeles[j]))
                    flag = false;
     
            return flag;
        }
     
        public Model getModel() {
            if(modeles == null)
                return null;
            Model aclass30_sub2_sub4_sub6s[] = new Model[modeles.length];
            for(int i = 0; i < modeles.length; i++)
                aclass30_sub2_sub4_sub6s[i] = Model.method462(modeles[i]);
     
            Model model;
            if(aclass30_sub2_sub4_sub6s.length == 1)
                model = aclass30_sub2_sub4_sub6s[0];
            else
                model = new Model(aclass30_sub2_sub4_sub6s.length, aclass30_sub2_sub4_sub6s);
            for(int j = 0; j < 6; j++) {
                if(srcColors[j] == 0)
                    break;
                model.method476(srcColors[j], dstColors[j]);
            }
            return model;
        }
     
        public boolean method539() {
            boolean flag1 = true;
            for(int i = 0; i < 5; i++)
                if(faceModeles[i] != -1 && !Model.method463(faceModeles[i]))
                    flag1 = false;
     
            return flag1;
        }
     
        public Model getHead() {
            Model aclass30_sub2_sub4_sub6s[] = new Model[5];
            int j = 0;
            for(int k = 0; k < 5; k++)
                if(faceModeles[k] != -1)
                    aclass30_sub2_sub4_sub6s[j++] = Model.method462(faceModeles[k]);
     
            Model model = new Model(j, aclass30_sub2_sub4_sub6s);
            for(int l = 0; l < 6; l++) {
                if(srcColors[l] == 0)
                    break;
                model.method476(srcColors[l], dstColors[l]);
            }
            return model;
        }
     
        private IdentityKitDefinition() {
            type = -1;
            srcColors = new int[6];
            dstColors = new int[6];
            isUnselectable = false;
        }
     
        public static int length;
        public static IdentityKitDefinition cache[];
        public int type;
        private int[] modeles;
        private final int[] srcColors;
        private final int[] dstColors;
        private final int[] faceModeles = {
            -1, -1, -1, -1, -1
        };
       
        public boolean isUnselectable;
    }
    Server-sided:
    Code:
    public class AppearancePacketHandler implements IncomingPacketListener {
    
    	@Override
    	public void processPacket(Player player, int packetType, int packetSize) {
    		byte gender = player.getInStream().readSignedByte();
    		int head = player.getInStream().readSignedByte();
    		if (head < 0) {
    			head = 256 + head;
    		}
    		int jaw = player.getInStream().readSignedByte();
    		int torso = player.getInStream().readSignedByte();
    		int arms = player.getInStream().readSignedByte();
    		int hands = player.getInStream().readSignedByte();
    		int legs = player.getInStream().readSignedByte();
    		int feet = player.getInStream().readSignedByte();
    
    		byte[] col = { player.getInStream().readSignedByte(), player.getInStream().readSignedByte(), player.getInStream().readSignedByte(),
    				player.getInStream().readSignedByte(), player.getInStream().readSignedByte() };
    
    		int[] app = new int[7];
    
    		app[0] = head;
    		app[1] = torso;
    		app[2] = arms;
    		app[3] = hands;
    		app[4] = legs;
    		app[5] = feet;
    		app[6] = jaw;
    
    		if (!validate(new int[] { head, jaw, torso, arms, hands, legs, feet }, col, gender, player.getAppearance().getSkinColour())) {
    			player.sendOutgoingPacket(new Message("Your appearance could not be validated."));
    			return;
    		}
    
    		int[] look = new int[13];
    		look[0] = gender;
    		for (int i = 0; i < col.length; i++) {
    			look[i + 1] = col[i];
    		}
    		for (int i = 0; i < app.length; i++) {
    			look[i + 6] = app[i];
    		}
    		player.getAppearance().setLook(look);
    
    		player.setAppearanceUpdateRequired(true);
    		
    		player.sendOutgoingPacket(new WindowRemoval());
    	}
    	
    	private static final int[][] MALE_VALUES = { 
    			{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 129, 130, 131, 132, 133, 134, 142, 144, 145, 146, 147, 148, 149, 150 }, // head
    			{ 10, 11, 12, 13, 14, 15, 16, 17, 111, 112, 113, 114, 115, 116, 117 }, // jaw
    			{ 18, 19, 20, 21, 22, 23, 24, 25, 105, 106, 107, 108, 109, 110 }, // torso
    			{ 26, 27, 28, 29, 30, 31, 32, 84, 85, 86, 87, 88 }, // arms
    			{ 33, 34, 35 }, // hands
    			{ 36, 37, 38, 39, 40, 41, 100, 101, 102, 103, 104 }, // legs
    			{ 42, 43, 44, 82 }, // feet
    	};
    
    	private static final int[][] FEMALE_VALUES = { { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 141, 143 }, // head
    			{ -1, -1 }, // jaw
    			{ 56, 57, 58, 59, 60, 89, 90, 91, 92, 93, 94 }, // torso
    			{ 61, 62, 63, 64, 65, 66, 95, 96, 97, 98, 99 }, // arms
    			{ 67, 68, 69 }, // hands
    			{ 70, 71, 72, 73, 74, 75, 76, 77, 78, 135, 136, 137, 138, 139, 140 }, // legs
    			{ 79, 80, 81, 83 }, // feet
    	};
    
    	private static final int[][] IDK_COLORS = {
    
    	{ 6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010 },
    
    	{ 4626, 11146, 6439, 12, 4758, 10270 },
    
    	{ 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574 } }; // 17050, 0, 127 for special colors (green-black-pale)
    
    	private static final int[][] ALLOWED_COLORS = { { 0, IDK_COLORS[0].length }, // hair
    																					// color
    			{ 0, IDK_COLORS[1].length }, // torso color
    			{ 0, IDK_COLORS[2].length }, // legs color
    			{ 0, IDK_COLORS[3].length }, // feet color
    			{ 0, IDK_COLORS[4].length } // skin color
    	};
    
    
    	public static boolean validate(int[] app, byte[] col, byte gender, int currentSkin) {
    		if (gender == 0) {
    			for (int i = 0; i < app.length; i++) {
    				boolean found = false;
    				for (int j : MALE_VALUES[i])
    					if (app[i] == j) {
    						found = true;
    						break;
    					}
    				if (!found)
    					return false;
    			}
    		} else if (gender == 1) {
    			for (int i = 0; i < app.length; i++) {
    				boolean found = false;
    				for (int j : FEMALE_VALUES[i])
    					if (app[i] == j) {
    						found = true;
    						break;
    					}
    				if (!found)
    					return false;
    			}
    		} else {
    			return false;
    		}
    
    		for (int i = 0; i < col.length; i++) {
    			if (i == 4 && col[i] == currentSkin) continue;
    			if ((col[i] < ALLOWED_COLORS[i][0]) || (col[i] > ALLOWED_COLORS[i][1]))
    				return false;
    		}
    		return true;
    	}
    }


    Skin tones aren't in the IDK.
    In you Client.java you'll see this somewhere:

    { 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574 } };

    You can just add colors to that, for example for the new ones:

    { 4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127 } };
    Why are you reading signed byte and doing
    Code:
    		if (head < 0) {
    			head = 256 + head;
    		}
    just changed to unsigned
    Reply With Quote  
     

  12. #19  
    Registered Member Matt__OS's Avatar
    Join Date
    Jun 2015
    Age
    30
    Posts
    204
    Thanks given
    65
    Thanks received
    28
    Rep Power
    0
    Attached image

    @Stan where would i add the code you're referring to? or would i create a new file for those methods?
    Reply With Quote  
     

  13. #20  
    Waddup

    Stan's Avatar
    Join Date
    Apr 2016
    Posts
    376
    Thanks given
    110
    Thanks received
    394
    Rep Power
    521
    Quote Originally Posted by Leanbow View Post
    Why are you reading signed byte and doing
    Code:
    		if (head < 0) {
    			head = 256 + head;
    		}
    just changed to unsigned
    Not my code, only edited the male & female values to support the new stuff
    But yeah indeed you're right, it's pretty dirty.

    Quote Originally Posted by Matt__OS View Post
    Attached image

    @Stan where would i add the code you're referring to? or would i create a new file for those methods?
    The first one is just the Identikit class in your client.
    The server sided is just an example, check how your server currently validates the IDK values sent by the client, and support the values from the ones I posted instead to get the new ones working.
    Reply With Quote  
     

Page 2 of 3 FirstFirst 123 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. IdentityKit file
    By WorldOfUnknown in forum Help
    Replies: 1
    Last Post: 11-15-2011, 04:25 AM
  2. IdentityKit Packer
    By Galkon in forum Snippets
    Replies: 14
    Last Post: 06-21-2011, 09:51 PM
  3. Buy 100m RSGP 145$/ Will not go first / TRUSTED
    By Affliction in forum Gold & Items
    Replies: 5
    Last Post: 02-08-2011, 01:51 AM
  4. [Pay $145] Hyperion 459 to 484 [Pay $145]
    By RiotScape FTW in forum Help
    Replies: 0
    Last Post: 05-05-2010, 10:15 PM
  5. battle-royale.no-ip.biz / hamachi : 5.123.145.113
    By iniquity in forum RS2 Server
    Replies: 1
    Last Post: 01-18-2008, 08:09 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •