Thread: 718 combat level difference color REQ

Page 1 of 3 123 LastLast
Results 1 to 10 of 25
  1. #1 718 combat level difference color REQ 
    Registered Member
    Join Date
    Sep 2016
    Posts
    62
    Thanks given
    0
    Thanks received
    7
    Rep Power
    12
    Where in the client can i find out where the coloring of the combat level next to the player name is?

    this:





    it would be rgeen / yellow-green if lower, yellow if same lvl, orange-red and red if higher

    looking for those hex codes used for the different colors and the formula to calculate which color should be used.

    Also wondering how jagex have made it so the color would be white if a player is unattackable due to combat level difference in the wilderness




    thanks.

    i think its handled somewhere here in appearance.java appearance generate



    but how do i change that around so i could create the white color?
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    May 2012
    Posts
    286
    Thanks given
    7
    Thanks received
    49
    Rep Power
    25
    Class223 in client around line 60. Ofc this might depend on your client but I think most clients have the method drawPlayerOptions there, so look for that.
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Sep 2016
    Posts
    62
    Thanks given
    0
    Thanks received
    7
    Rep Power
    12
    Quote Originally Posted by juuuuu View Post
    Class223 in client around line 60. Ofc this might depend on your client but I think most clients have the method drawPlayerOptions there, so look for that.
    im using the matrix client

    this is my class223, not sure if it's in here

    Code:
    /* Class223 - Decompiled by JODE
     * Visit http://jode.sourceforge.net/
     */
    import java.awt.Image;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
    import java.awt.image.PixelGrabber;
    
    public class Class223 implements Interface24 {
        Class243 aClass243_6664;
    
        public Class463 method261() {
    	return Class463.aClass463_5687;
        }
    
        public int method256(int i) {
    	try {
    	    if (((Class223) this).aClass243_6664.method2292(380717281))
    		return 100;
    	    return ((Class223) this).aClass243_6664.method2293((byte) 4);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.a(").append(')').toString());
    	}
        }
    
        public Class463 method260(int i) {
    	try {
    	    return Class463.aClass463_5687;
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.f(").append(')').toString());
    	}
        }
    
        public int method258() {
    	if (((Class223) this).aClass243_6664.method2292(380717281))
    	    return 100;
    	return ((Class223) this).aClass243_6664.method2293((byte) 4);
        }
    
        Class223(Class243 class243) {
    	((Class223) this).aClass243_6664 = class243;
        }
    
        public Class463 method257() {
    	return Class463.aClass463_5687;
        }
    
        public Class463 method259() {
    	return Class463.aClass463_5687;
        }
    
        static final void method2078(Class403 class403, byte i) {
    	try {
    	    int i_0_ = (((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 -= -391880689) * 681479919)]);
    	    IComponentDefinition class105 = Class50.getIComponentDefinitions(i_0_, (byte) -35);
    	    Class119 class119 = Class389.aClass119Array4165[i_0_ >> 16];
    	    Class82_Sub14.method912(class105, class119, class403, 2138455691);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ia(").append(')').toString());
    	}
        }
    
        static final void method2079(Class403 class403, int i) {
    	try {
    	    int i_1_ = (((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 -= -391880689) * 681479919)]);
    	    IComponentDefinition class105 = Class50.getIComponentDefinitions(i_1_, (byte) 14);
    	    Class119 class119 = Class389.aClass119Array4165[i_1_ >> 16];
    	    Class465.method6018(class105, class119, class403, 1442704062);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.lw(").append(')').toString());
    	}
        }
    
        static final void method2080(Class403 class403, int i) {
    	try {
    	    ((Class403) class403).anInt5239 -= -1567522756;
    	    Class320.method3913((((Class403) class403).anIntArray5244[((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[1 + ((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[2 + ((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[3 + ((Class403) class403).anInt5239 * 681479919]), false, 256, 1465436328);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ty(").append(')').toString());
    	}
        }
    
        static Class57 method2081(byte[] is, int i) {
    	try {
    	    if (null == is)
    		throw new RuntimeException("");
    	    Class57 class57;
    	    for (;;) {
    		try {
    		    Image image = Toolkit.getDefaultToolkit().createImage(is);
    		    MediaTracker mediatracker = new MediaTracker(ClientScriptMap.anApplet6044);
    		    mediatracker.addImage(image, 0);
    		    mediatracker.waitForAll();
    		    int i_2_ = image.getWidth(ClientScriptMap.anApplet6044);
    		    int i_3_ = image.getHeight(ClientScriptMap.anApplet6044);
    		    if (mediatracker.isErrorAny() || i_2_ < 0 || i_3_ < 0)
    			throw new RuntimeException("");
    		    int[] is_4_ = new int[i_3_ * i_2_];
    		    PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, i_2_, i_3_, is_4_, 0, i_2_);
    		    pixelgrabber.grabPixels();
    		    class57 = Class373.aClass_ra4071.method5031(is_4_, 0, i_2_, i_2_, i_3_, 708696378);
    		    break;
    		}
    		catch (InterruptedException interruptedexception) {
    		    /* empty */
    		}
    	    }
    	    return class57;
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.i(").append(')').toString());
    	}
        }
    
        public static final void method2082(boolean bool, int i) {
    	try {
    	    if (!bool) {
    		Class504.aClass375_6196.method4648((byte) 90);
    		Class151.aClass451_6358.method5929(-176522889);
    		Class212.aClass144_2433.method1580((byte) -92);
    		client.aClass283_8716.method2641(1825433072).method5793(1390466939);
    		Class15.aClass507_224.method6272(-862794511);
    		Class298_Sub32_Sub14.aClass477_9400.method6088((short) 23106);
    		Class501.aClass395_6122.method4901(-726986844);
    		Class158_Sub1.aClass389_8568.method4858(-2092821995);
    		Class472.aClass314_5965.method3823(755423550);
    		Class440.aClass205_5582.method1915(-134753684);
    		Class422_Sub7.aClass445_8384.method5893(1929779125);
    		Class82_Sub16.aClass427_6886.method5745((byte) 104);
    		Class99.aClass517_951.method6305(-1223470139);
    		Class299.aClass370_3199.method4574((byte) 63);
    		Class94.aClass349_913.method4199(-1850735168);
    		Class120.aClass487_1463.method6161((byte) 115);
    		Class363.aClass339_3931.method4118(478354698);
    		Class92.aClass504_905.method6250(-1692960093);
    		ConfigDefinitions.aClass317_3472.method3846((byte) -6);
    		Class138_Sub1.aClass131_7010.method1466((short) 26025);
    		Class237.aClass499_6668.method6212((byte) 10);
    		Class_na.aClass491_9686.method6171((byte) 37);
    		Class500.aClass347_6117.method4177((short) 16742);
    		Class251.method2402((byte) -99);
    		Class8.method319(1407497429);
    		Class497.aClass197_6105.method1880(575838917);
    		Class120.method1309((byte) -57);
    		if (Class242.aClass401_2708 != Class401.aClass401_6557) {
    		    for (int i_5_ = 0; i_5_ < Class98.aByteArrayArray949.length; i_5_++)
    			Class98.aByteArrayArray949[i_5_] = null;
    		    client.anInt8677 = 0;
    		}
    		client.aClass283_8716.method2640((byte) 31).method4317((byte) 24);
    		Class401.method4934((byte) -90);
    		Class482.method6119(-1075754274);
    		Class330.method4005(-1407310804);
    		Class143.method1578((byte) -26);
    		Class388.aClass348_4153.method4187();
    		client.aClass348_8780.method4187();
    		client.aClass348_8898.method4187();
    		client.aClass348_8697.method4187();
    		Class436.aClass348_5500.method4187();
    	    }
    	    Class355.method4262(1675886592);
    	    Class513.method6293(-707841245);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.gx(").append(')').toString());
    	}
        }
    
        static final void method2083(Class403 class403, byte i) {
    	try {
    	    Class390 class390 = (((Class403) class403).aBoolean5261 ? ((Class403) class403).aClass390_5247 : ((Class403) class403).aClass390_5246);
    	    IComponentDefinition class105 = ((Class390) class390).aClass105_4168;
    	    Class119 class119 = ((Class390) class390).aClass119_4167;
    	    Class12.method337(class105, class119, class403, (byte) 24);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.du(").append(')').toString());
    	}
        }
    
        static final void method2084(int i, int i_6_, int i_7_, int i_8_, int i_9_, int i_10_, int i_11_) {
    	try {
    	    for (Class302_Sub4 class302_sub4 = ((Class302_Sub4) client.aClass442_8650.method5868(-16777216)); null != class302_sub4; class302_sub4 = (Class302_Sub4) client.aClass442_8650.method5872(1278684124)) {
    		if (client.ticketCycle * 443738891 >= 591467947 * ((Class302_Sub4) class302_sub4).anInt7655)
    		    class302_sub4.method3714(1699061251);
    		else {
    		    Class139.method1549((((Class302_Sub4) class302_sub4).anInt7653 * 1759796085), 256 + ((((Class302_Sub4) class302_sub4).anInt7652 * 1495033107) << 9), 256 + ((-1852462101 * ((Class302_Sub4) class302_sub4).anInt7656) << 9), 587842750 * ((Class302_Sub4) class302_sub4).anInt7654, -549885479);
    		    Class101.aClass264_1084.method2490(((Class302_Sub4) class302_sub4).aString7657, (int) ((float) i + client.aFloatArray8891[0]), (int) (client.aFloatArray8891[1] + (float) i_6_), ~0xffffff | 1160845051 * ((Class302_Sub4) class302_sub4).anInt7651, 0, 8619684);
    		}
    	    }
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ji(").append(')').toString());
    	}
        }
    
        public static void method2085(String[] strings, short[] is, int i) {
    	try {
    	    Class84.method946(strings, is, 0, strings.length - 1, 2094440127);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.a(").append(')').toString());
    	}
        }
    }
    and i get 0 results for the search playeroption or things close to it
    Reply With Quote  
     

  4. #4  
    Registered Member

    Join Date
    Dec 2012
    Posts
    2,999
    Thanks given
    894
    Thanks received
    921
    Rep Power
    2555
    its done in player updating within the appearance block
    Attached image
    Reply With Quote  
     

  5. #5  
    Registered Member
    Join Date
    Sep 2016
    Posts
    62
    Thanks given
    0
    Thanks received
    7
    Rep Power
    12
    Quote Originally Posted by Kaleem View Post
    its done in player updating within the appearance block
    that's what i said in the original post...


    Quote Originally Posted by player92966 View Post

    i think its handled somewhere here in appearance.java appearance generate



    but how do i change that around so i could create the white color?
    Reply With Quote  
     

  6. #6  
    Registered Member
    Join Date
    May 2012
    Posts
    286
    Thanks given
    7
    Thanks received
    49
    Rep Power
    25
    Quote Originally Posted by player92966 View Post
    im using the matrix client

    this is my class223, not sure if it's in here

    Code:
    /* Class223 - Decompiled by JODE
     * Visit http://jode.sourceforge.net/
     */
    import java.awt.Image;
    import java.awt.MediaTracker;
    import java.awt.Toolkit;
    import java.awt.image.PixelGrabber;
    
    public class Class223 implements Interface24 {
        Class243 aClass243_6664;
    
        public Class463 method261() {
    	return Class463.aClass463_5687;
        }
    
        public int method256(int i) {
    	try {
    	    if (((Class223) this).aClass243_6664.method2292(380717281))
    		return 100;
    	    return ((Class223) this).aClass243_6664.method2293((byte) 4);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.a(").append(')').toString());
    	}
        }
    
        public Class463 method260(int i) {
    	try {
    	    return Class463.aClass463_5687;
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.f(").append(')').toString());
    	}
        }
    
        public int method258() {
    	if (((Class223) this).aClass243_6664.method2292(380717281))
    	    return 100;
    	return ((Class223) this).aClass243_6664.method2293((byte) 4);
        }
    
        Class223(Class243 class243) {
    	((Class223) this).aClass243_6664 = class243;
        }
    
        public Class463 method257() {
    	return Class463.aClass463_5687;
        }
    
        public Class463 method259() {
    	return Class463.aClass463_5687;
        }
    
        static final void method2078(Class403 class403, byte i) {
    	try {
    	    int i_0_ = (((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 -= -391880689) * 681479919)]);
    	    IComponentDefinition class105 = Class50.getIComponentDefinitions(i_0_, (byte) -35);
    	    Class119 class119 = Class389.aClass119Array4165[i_0_ >> 16];
    	    Class82_Sub14.method912(class105, class119, class403, 2138455691);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ia(").append(')').toString());
    	}
        }
    
        static final void method2079(Class403 class403, int i) {
    	try {
    	    int i_1_ = (((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 -= -391880689) * 681479919)]);
    	    IComponentDefinition class105 = Class50.getIComponentDefinitions(i_1_, (byte) 14);
    	    Class119 class119 = Class389.aClass119Array4165[i_1_ >> 16];
    	    Class465.method6018(class105, class119, class403, 1442704062);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.lw(").append(')').toString());
    	}
        }
    
        static final void method2080(Class403 class403, int i) {
    	try {
    	    ((Class403) class403).anInt5239 -= -1567522756;
    	    Class320.method3913((((Class403) class403).anIntArray5244[((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[1 + ((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[2 + ((Class403) class403).anInt5239 * 681479919]), (((Class403) class403).anIntArray5244[3 + ((Class403) class403).anInt5239 * 681479919]), false, 256, 1465436328);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ty(").append(')').toString());
    	}
        }
    
        static Class57 method2081(byte[] is, int i) {
    	try {
    	    if (null == is)
    		throw new RuntimeException("");
    	    Class57 class57;
    	    for (;;) {
    		try {
    		    Image image = Toolkit.getDefaultToolkit().createImage(is);
    		    MediaTracker mediatracker = new MediaTracker(ClientScriptMap.anApplet6044);
    		    mediatracker.addImage(image, 0);
    		    mediatracker.waitForAll();
    		    int i_2_ = image.getWidth(ClientScriptMap.anApplet6044);
    		    int i_3_ = image.getHeight(ClientScriptMap.anApplet6044);
    		    if (mediatracker.isErrorAny() || i_2_ < 0 || i_3_ < 0)
    			throw new RuntimeException("");
    		    int[] is_4_ = new int[i_3_ * i_2_];
    		    PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, i_2_, i_3_, is_4_, 0, i_2_);
    		    pixelgrabber.grabPixels();
    		    class57 = Class373.aClass_ra4071.method5031(is_4_, 0, i_2_, i_2_, i_3_, 708696378);
    		    break;
    		}
    		catch (InterruptedException interruptedexception) {
    		    /* empty */
    		}
    	    }
    	    return class57;
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.i(").append(')').toString());
    	}
        }
    
        public static final void method2082(boolean bool, int i) {
    	try {
    	    if (!bool) {
    		Class504.aClass375_6196.method4648((byte) 90);
    		Class151.aClass451_6358.method5929(-176522889);
    		Class212.aClass144_2433.method1580((byte) -92);
    		client.aClass283_8716.method2641(1825433072).method5793(1390466939);
    		Class15.aClass507_224.method6272(-862794511);
    		Class298_Sub32_Sub14.aClass477_9400.method6088((short) 23106);
    		Class501.aClass395_6122.method4901(-726986844);
    		Class158_Sub1.aClass389_8568.method4858(-2092821995);
    		Class472.aClass314_5965.method3823(755423550);
    		Class440.aClass205_5582.method1915(-134753684);
    		Class422_Sub7.aClass445_8384.method5893(1929779125);
    		Class82_Sub16.aClass427_6886.method5745((byte) 104);
    		Class99.aClass517_951.method6305(-1223470139);
    		Class299.aClass370_3199.method4574((byte) 63);
    		Class94.aClass349_913.method4199(-1850735168);
    		Class120.aClass487_1463.method6161((byte) 115);
    		Class363.aClass339_3931.method4118(478354698);
    		Class92.aClass504_905.method6250(-1692960093);
    		ConfigDefinitions.aClass317_3472.method3846((byte) -6);
    		Class138_Sub1.aClass131_7010.method1466((short) 26025);
    		Class237.aClass499_6668.method6212((byte) 10);
    		Class_na.aClass491_9686.method6171((byte) 37);
    		Class500.aClass347_6117.method4177((short) 16742);
    		Class251.method2402((byte) -99);
    		Class8.method319(1407497429);
    		Class497.aClass197_6105.method1880(575838917);
    		Class120.method1309((byte) -57);
    		if (Class242.aClass401_2708 != Class401.aClass401_6557) {
    		    for (int i_5_ = 0; i_5_ < Class98.aByteArrayArray949.length; i_5_++)
    			Class98.aByteArrayArray949[i_5_] = null;
    		    client.anInt8677 = 0;
    		}
    		client.aClass283_8716.method2640((byte) 31).method4317((byte) 24);
    		Class401.method4934((byte) -90);
    		Class482.method6119(-1075754274);
    		Class330.method4005(-1407310804);
    		Class143.method1578((byte) -26);
    		Class388.aClass348_4153.method4187();
    		client.aClass348_8780.method4187();
    		client.aClass348_8898.method4187();
    		client.aClass348_8697.method4187();
    		Class436.aClass348_5500.method4187();
    	    }
    	    Class355.method4262(1675886592);
    	    Class513.method6293(-707841245);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.gx(").append(')').toString());
    	}
        }
    
        static final void method2083(Class403 class403, byte i) {
    	try {
    	    Class390 class390 = (((Class403) class403).aBoolean5261 ? ((Class403) class403).aClass390_5247 : ((Class403) class403).aClass390_5246);
    	    IComponentDefinition class105 = ((Class390) class390).aClass105_4168;
    	    Class119 class119 = ((Class390) class390).aClass119_4167;
    	    Class12.method337(class105, class119, class403, (byte) 24);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.du(").append(')').toString());
    	}
        }
    
        static final void method2084(int i, int i_6_, int i_7_, int i_8_, int i_9_, int i_10_, int i_11_) {
    	try {
    	    for (Class302_Sub4 class302_sub4 = ((Class302_Sub4) client.aClass442_8650.method5868(-16777216)); null != class302_sub4; class302_sub4 = (Class302_Sub4) client.aClass442_8650.method5872(1278684124)) {
    		if (client.ticketCycle * 443738891 >= 591467947 * ((Class302_Sub4) class302_sub4).anInt7655)
    		    class302_sub4.method3714(1699061251);
    		else {
    		    Class139.method1549((((Class302_Sub4) class302_sub4).anInt7653 * 1759796085), 256 + ((((Class302_Sub4) class302_sub4).anInt7652 * 1495033107) << 9), 256 + ((-1852462101 * ((Class302_Sub4) class302_sub4).anInt7656) << 9), 587842750 * ((Class302_Sub4) class302_sub4).anInt7654, -549885479);
    		    Class101.aClass264_1084.method2490(((Class302_Sub4) class302_sub4).aString7657, (int) ((float) i + client.aFloatArray8891[0]), (int) (client.aFloatArray8891[1] + (float) i_6_), ~0xffffff | 1160845051 * ((Class302_Sub4) class302_sub4).anInt7651, 0, 8619684);
    		}
    	    }
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.ji(").append(')').toString());
    	}
        }
    
        public static void method2085(String[] strings, short[] is, int i) {
    	try {
    	    Class84.method946(strings, is, 0, strings.length - 1, 2094440127);
    	}
    	catch (RuntimeException runtimeexception) {
    	    throw Class346.method4175(runtimeexception, new StringBuilder().append("jl.a(").append(')').toString());
    	}
        }
    }
    and i get 0 results for the search playeroption or things close to it
    Your class is apparently named differently, try to search for the method or search for "<col=ffffff>" without the ""s in the client files, theres about 15 files so not a massive amount.
    If you want to keep looking in the appearance block then just ignore me
    Reply With Quote  
     

  7. #7  
    Registered Member

    Join Date
    Dec 2012
    Posts
    2,999
    Thanks given
    894
    Thanks received
    921
    Rep Power
    2555
    Quote Originally Posted by player92966 View Post
    that's what i said in the original post...
    then post ur appearance block??
    Attached image
    Reply With Quote  
     

  8. #8  
    Registered Member
    Join Date
    Sep 2016
    Posts
    62
    Thanks given
    0
    Thanks received
    7
    Rep Power
    12
    Quote Originally Posted by Kaleem View Post
    then post ur appearance block??
    Code:
    public void generateAppearenceData() {
    		OutputStream stream = new OutputStream();
    		int flag = 0;
    		if (!male)
    			flag |= 0x1;
    		if (transformedNpcId >= 0
    				&& NPCDefinitions.getNPCDefinitions(transformedNpcId).aBoolean3190)
    			flag |= 0x2;
    		if (title != 0)
    			flag |= title >= 32 && title == 73? 0x80 : 0x40;
    		stream.writeByte(flag);
    		 stream.writeGJString("");
    		stream.writeByte(player.hasSkull() ? player.getSkullId() : -1);
    		stream.writeByte(player.getPrayer().getPrayerHeadIcon());
    		stream.writeByte(hidePlayer ? 1 : 0);
    		// npc
    		if (transformedNpcId >= 0) {
    			stream.writeShort(-1);
    			stream.writeShort(transformedNpcId);
    			stream.writeByte(0);
    		} else {
    			for (int index = 0; index < 4; index++) {
    				{
    					Item item = player.getEquipment().getItems().get(index);
    					if (item == null)
    						stream.writeByte(0);
    					else
    						stream.writeShort(16384 + item.getId());
    				}
    			}
    			Item item = player.getEquipment().getItems()
    					.get(Equipment.SLOT_CHEST);
    			stream.writeShort(item == null ? 0x100 + lookI[2] : 16384 + item
    					.getId());
    			item = player.getEquipment().getItems().get(Equipment.SLOT_SHIELD);
    			if (item == null ) {
    				stream.writeByte(0);
    				
    			} else
    				stream.writeShort(16384 + item.getId());
    			item = player.getEquipment().getItems().get(Equipment.SLOT_CHEST);
    			if (item == null || !Equipment.hideArms(item))
    				stream.writeShort(0x100 + lookI[3]);
    			else
    				stream.writeByte(0);
    			item = player.getEquipment().getItems().get(Equipment.SLOT_LEGS);
    			stream.writeShort(item == null ? 0x100 + lookI[5] : 16384 + item
    					.getId());
    			item = player.getEquipment().getItems().get(Equipment.SLOT_HAT);
    			if ((item == null || !player.getEquipment().hideHair(item)))
    				stream.writeShort(0x100 + lookI[0]);
    			else
    				stream.writeByte(0);
    			item = player.getEquipment().getItems().get(Equipment.SLOT_HANDS);
    			stream.writeShort(item == null ? 0x100 + lookI[4] : 16384 + item
    					.getId());
    			item = player.getEquipment().getItems().get(Equipment.SLOT_FEET);
    			stream.writeShort(item == null ? 0x100 + lookI[6] : 16384 + item
    					.getId());
    			item = player.getEquipment().getItems()
    					.get(male ? Equipment.SLOT_HAT : Equipment.SLOT_CHEST);
    			if (item == null || (male && player.getEquipment().showBear(item)))
    				stream.writeShort(0x100 + lookI[1]);
    			else
    				stream.writeByte(0);
    			item = player.getEquipment().getItems().get(Equipment.SLOT_AURA);
    			if (item == null)
    				stream.writeByte(0);
    			else
    				stream.writeShort(16384 + item.getId());
    			int pos = stream.getOffset();
    			stream.writeShort(0);
    			int hash = 0;
    			int slotFlag = -1;
    			for (int slotId = 0; slotId < player.getEquipment().getItems()
    					.getSize(); slotId++) {
    				if (Equipment.DISABLED_SLOTS[slotId] != 0)
    					continue;
    				slotFlag++;
    				if(slotId == Equipment.SLOT_HAT) {
    					int hatId = player.getEquipment().getHatId();
    					if (hatId == 20768 || hatId == 20770 || hatId == 20772) {
    						ItemDefinitions defs = ItemDefinitions.getItemDefinitions(hatId-1);
    						if ((hatId == 20768
    								&& Arrays.equals(
    										player.getMaxedCapeCustomized(),
    										defs.originalModelColors) || ((hatId == 20770 || hatId == 20772) && Arrays
    								.equals(player.getCompletionistCapeCustomized(),
    										defs.originalModelColors))))
    							continue;
    						hash |= 1 << slotFlag;
    						stream.writeByte(0x4); // modify 4 model colors
    						int[] hat = hatId == 20768 ? player
    								.getMaxedCapeCustomized() : player
    								.getCompletionistCapeCustomized();
    						int slots = 0 | 1 << 4 | 2 << 8 | 3 << 12;
    						stream.writeShort(slots);
    						for (int i = 0; i < 4; i++)
    							stream.writeShort(hat[i]);
    					}
    				}else if (slotId == Equipment.SLOT_CAPE) {
    					int capeId = player.getEquipment().getCapeId();
    					if (capeId == 20767 || capeId == 20769 || capeId == 20771) {
    						ItemDefinitions defs = ItemDefinitions
    								.getItemDefinitions(capeId);
    						if ((capeId == 20767
    								&& Arrays.equals(
    										player.getMaxedCapeCustomized(),
    										defs.originalModelColors) || ((capeId == 20769 || capeId == 20771) && Arrays
    								.equals(player.getCompletionistCapeCustomized(),
    										defs.originalModelColors))))
    							continue;
    						hash |= 1 << slotFlag;
    						stream.writeByte(0x4); // modify 4 model colors
    						int[] cape = capeId == 20767 ? player
    								.getMaxedCapeCustomized() : player
    								.getCompletionistCapeCustomized();
    						int slots = 0 | 1 << 4 | 2 << 8 | 3 << 12;
    						stream.writeShort(slots);
    						for (int i = 0; i < 4; i++)
    							stream.writeShort(cape[i]);
    					}
    				} else if (slotId == Equipment.SLOT_AURA) {
    					int auraId = player.getEquipment().getAuraId();
    					if (auraId == -1 || !player.getAuraManager().isActivated())
    						continue;
    					ItemDefinitions auraDefs = ItemDefinitions.getItemDefinitions(auraId);
    					if(auraDefs.getMaleWornModelId1() == -1 || auraDefs.getFemaleWornModelId1() == -1)
    						continue;
    					hash |= 1 << slotFlag;
    					stream.writeByte(0x1); // modify model ids
    					int modelId = player.getAuraManager().getAuraModelId();
    					stream.writeBigSmart(modelId); // male modelid1
    					stream.writeBigSmart(modelId); // female modelid1
    					if(auraDefs.getMaleWornModelId2() != -1 || auraDefs.getFemaleWornModelId2() != -1) {
    						int modelId2 = player.getAuraManager().getAuraModelId2();
    						stream.writeBigSmart(modelId2); 
    						stream.writeBigSmart(modelId2); 
    					}
    				}
    			}
    			int pos2 = stream.getOffset();
    			stream.setOffset(pos);
    			stream.writeShort(hash);
    			stream.setOffset(pos2);
    		}
    
    		for (int index = 0; index < colour.length; index++)
    			// colour length 10
    			stream.writeByte(colour[index]);
    
    		stream.writeShort(getRenderEmote());
    		stream.writeString(player.getDisplayName());
    		boolean pvpArea = World.isPvpArea(player);
    		stream.writeByte(pvpArea ? player.getSkills().getCombatLevel() : player
    				.getSkills().getCombatLevelWithSummoning());
    		stream.writeByte(pvpArea ? player.getSkills()
    				.getCombatLevelWithSummoning() : 0);
    		stream.writeByte(-1); // higher level acc name appears in front :P
    		stream.writeByte(transformedNpcId >= 0 ? 1 : 0); // to end here else id
    															// need to send more
    															// data
    		if (transformedNpcId >= 0) {
    			NPCDefinitions defs = NPCDefinitions
    					.getNPCDefinitions(transformedNpcId);
    			stream.writeShort(defs.anInt876);
    			stream.writeShort(defs.anInt842);
    			stream.writeShort(defs.anInt884);
    			stream.writeShort(defs.anInt875);
    			stream.writeByte(defs.anInt875);
    		}
    
    		// done separated for safe because of synchronization
    		byte[] appeareanceData = new byte[stream.getOffset()];
    		System.arraycopy(stream.getBuffer(), 0, appeareanceData, 0,
    				appeareanceData.length);
    		byte[] md5Hash = Utils.encryptUsingMD5(appeareanceData);
    		this.appeareanceData = appeareanceData;
    		md5AppeareanceDataHash = md5Hash;
    	}
    matrix
    Reply With Quote  
     

  9. #9  
    Registered Member
    Join Date
    May 2012
    Posts
    286
    Thanks given
    7
    Thanks received
    49
    Rep Power
    25
    Attached image

    Somehow i still think it's in the client :O
    Reply With Quote  
     

  10. #10  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,788
    Thanks given
    706
    Thanks received
    702
    Rep Power
    570
    Are you sure it's not a script calculating the other player's color based on your combat level?
    Project thread
    Reply With Quote  
     

Page 1 of 3 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. 718 Combat level wont refresh?
    By Elamite_ in forum Help
    Replies: 1
    Last Post: 01-14-2015, 11:02 PM
  2. 718 combat level check
    By helpMe in forum Help
    Replies: 1
    Last Post: 06-04-2013, 08:35 PM
  3. Replies: 17
    Last Post: 03-19-2012, 10:37 PM
  4. [HELP] Combat level difference
    By Arta in forum Help
    Replies: 0
    Last Post: 04-18-2010, 05:36 PM
  5. Combat Level Difference and Vengeance Fix
    By Tetris in forum Tutorials
    Replies: 4
    Last Post: 11-09-2008, 07:28 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
  •