Thread: #530 plr update mask 0x800 detailed explanation?

Results 1 to 8 of 8
  1. #1 #530 plr update mask 0x800 detailed explanation? 
    Registered Member
    AkZu's Avatar
    Join Date
    Jan 2008
    Age
    29
    Posts
    393
    Thanks given
    249
    Thanks received
    163
    Rep Power
    343
    What is the use of this player update mask, takes a count for array size in byte and then reads short, byte, short for the array data and plays sound if I prove it with some data (82, 1, 1)???

    Code:
    			if (~(2048 & var0) != -1) {
    				var4 = Class28.login_header_buffer.readUByteC(true);
    				int[] var18 = new int[var4];
    				int[] var17 = new int[var4];
    				int[] var20 = new int[var4];
    				for (int var22 = 0; ~var4 < ~var22; ++var22) {
    					int var23 = Class28.login_header_buffer.readLEShort(-101);
    					if ('\uffff' == var23) {
    						var23 = -1;
    					}
    					var18[var22] = var23;
    					var17[var22] = Class28.login_header_buffer.readByteA((byte) 125);
    					var20[var22] = Class28.login_header_buffer.readUShort(Whirlpool.method1519(var2, -80));
    					System.err.println(var18[var22]);
    					System.err.println(var17[var22]);
    					System.err.println(var20[var22]);
    				}
    				Class75_Sub1.method1342(var17, var18, var3, (byte) -113, var20);
    			}
    Edit: at first if I didn't look wrong when I initially performed it the other player turned into npc in minimap I swear lol

    + I turned invisible

    More code related to what it calls in method1342 (dw about the renaming might not reflect the actual classes as this all is still huge mess)

    [SPOIL]
    Code:
     static final void method1342(int[] var0, int[] var1, Class140_Sub4_Sub1 var2, byte var3, int[] var4) {
          try {
             int var5 = 0;
             if(var3 > -97) {
                method1343(true);
             }
    
             while(var1.length > var5) {
                int var6 = var1[var5];
                int var7 = var4[var5];
                int var8 = var0[var5];
    
                for(int var9 = 0; ~var7 != -1 && ~var9 > ~var2.aClass145Array2809.length; var7 >>>= 1) {
                   if(~(1 & var7) != -1) {
                      if(~var6 == 0) {
                         var2.aClass145Array2809[var9] = null;
                      } else {
                         AnimationDefinition var10 = client.method45(var6, (byte)-20);
                         int var11 = var10.anInt1845;
                         RenderWorld var12 = var2.aClass145Array2809[var9];
                         if(var12 != null) {
                            if(~var6 == ~var12.anInt1890) {
                               if(var11 != 0) {
                                  if(1 == var11) {
                                     var12.anInt1894 = 0;
                                     var12.anInt1891 = 1;
                                     var12.anInt1893 = 0;
                                     var12.anInt1900 = var8;
                                     var12.anInt1897 = 0;
                                     RSSocket.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, var2 == HDTexture.aClass140_Sub4_Sub1_2141, 0);
                                  } else if(-3 == ~var11) {
                                     var12.anInt1894 = 0;
                                  }
                               } else {
                                  var12 = var2.aClass145Array2809[var9] = null;
                               }
                            } else if(var10.anInt1857 >= client.method45(var12.anInt1890, (byte)-20).anInt1857) {
                               var12 = var2.aClass145Array2809[var9] = null;
                            }
                         }
    
                         if(null == var12) {
                            var12 = var2.aClass145Array2809[var9] = new RenderWorld();
                            var12.anInt1890 = var6;
                            var12.anInt1891 = 1;
                            var12.anInt1897 = 0;
                            var12.anInt1900 = var8;
                            var12.anInt1893 = 0;
                            var12.anInt1894 = 0;
                            RSSocket.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, var2 == HDTexture.aClass140_Sub4_Sub1_2141, 0);
                         }
                      }
                   }
    
                   ++var9;
                }
    
                ++var5;
             }
    
          } catch (RuntimeException var13) {
             throw Class44.method1067(var13, "ci.B(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')');
          }
       }
    [/SPOIL]

    [SPOIL]
    Code:
     static final void method1470(int var0, AnimationDefinition var1, int var2, int var3, boolean var4, int var5) {
          try {
             if(-51 < ~Class113.anInt1552) {
                if(var1.anIntArrayArray1867 != null && ~var5 > ~var1.anIntArrayArray1867.length && null != var1.anIntArrayArray1867[var5]) {
                   int var6 = var1.anIntArrayArray1867[var5][0];
                   int var7 = var6 >> 8;
                   int var10;
                   if(1 < var1.anIntArrayArray1867[var5].length) {
                      var10 = (int)((double)var1.anIntArrayArray1867[var5].length * Math.random());
                      if(0 < var10) {
                         var7 = var1.anIntArrayArray1867[var5][var10];
                      }
                   }
    
                   int var8 = var6 >> 5 & 7;
                   int var9 = var6 & 31;
                   if(~var9 != -1) {
                      if(0 != Class14.anInt340) {
                         Class3_Sub25.anIntArray2550[Class113.anInt1552] = var7;
                         Class166.anIntArray2068[Class113.anInt1552] = var8;
                         int var11 = (-64 + var0) / 128;
                         var10 = (var3 + -64) / 128;
                         RSString.anIntArray2157[Class113.anInt1552] = 0;
                         HDTexture.aClass135Array2131[Class113.anInt1552] = null;
                         Class3_Sub13_Sub6.anIntArray3083[Class113.anInt1552] = var9 + (var10 << 16) + (var11 << 8);
                         if(var2 != 183921384) {
                            aClass33_1238 = (GraphicsDrawLoadingBar)null;
                         }
    
                         ++Class113.anInt1552;
                      }
                   } else {
                      if(var4) {
                         Class3_Sub13_Sub6.method199(var8, var7, 0, -799);
                      }
    
                   }
                }
             }
          } catch (RuntimeException var12) {
             throw Class44.method1067(var12, "ma.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')');
          }
       }
    [/SPOIL]
    Spoiler for OSRS in #414:
    Reply With Quote  
     

  2. #2  
    :^)

    ___.'s Avatar
    Join Date
    Nov 2013
    Posts
    227
    Thanks given
    209
    Thanks received
    157
    Rep Power
    100
    http://www.rune-server.org/runescape...date-mask.html Same as this

    Like gander said it looks like it's queueing animations.

    The array var18 needs to contain the animation ids, idk about the rest
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member
    AkZu's Avatar
    Join Date
    Jan 2008
    Age
    29
    Posts
    393
    Thanks given
    249
    Thanks received
    163
    Rep Power
    343
    Aight! Yeah saw that post earlier but I was still a bit confused, so this has a great use for home teleport spell for example? Where you have to use like 7 different animations.

    Edit: still have to figure out why it makes me invisible.
    Spoiler for OSRS in #414:
    Reply With Quote  
     

  5. #4  
    :^)

    ___.'s Avatar
    Join Date
    Nov 2013
    Posts
    227
    Thanks given
    209
    Thanks received
    157
    Rep Power
    100
    Quote Originally Posted by AkZu View Post
    Aight! Yeah saw that post earlier but I was still a bit confused, so this has a great use for home teleport spell for example? Where you have to use like 7 different animations.
    Not sure haven't really used it

    Edit: I think array var17 needs to contain the delays
    Reply With Quote  
     

  6. Thankful user:


  7. #5  
    Registered Member
    AkZu's Avatar
    Join Date
    Jan 2008
    Age
    29
    Posts
    393
    Thanks given
    249
    Thanks received
    163
    Rep Power
    343
    _Dennis and I have been trying to figure out what the mask is all about, something to do with animations for sure.

    Now Dennis got it down and he put in the data 134, 0, 100,.. 134 being the animation id, 0 the delay and 100 the selected bodypart where to bind the animation to.

    So what the mask really does (by the looks of it) you can bind many different animations to different body parts of the human model, but what is the real use of it? Sounds stupid doesn't it? You can have animation that itself can use any selected vertex of the model so why this????

    Demanding more answers I'm not going to put this into any use as I can't figure use for this lol!
    Spoiler for OSRS in #414:
    Reply With Quote  
     

  8. #6  
    Номер 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 AkZu View Post
    _Dennis and I have been trying to figure out what the mask is all about, something to do with animations for sure.

    Now Dennis got it down and he put in the data 134, 0, 100,.. 134 being the animation id, 0 the delay and 100 the selected bodypart where to bind the animation to.

    So what the mask really does (by the looks of it) you can bind many different animations to different body parts of the human model, but what is the real use of it? Sounds stupid doesn't it? You can have animation that itself can use any selected vertex of the model so why this????

    Demanding more answers I'm not going to put this into any use as I can't figure use for this lol!
    Body parts? What
    Reply With Quote  
     

  9. #7  
    SERGEANT OF THE MASTER SERGEANTS MOST IMPORTANT PERSON OF EXTREME SERGEANTS TO THE MAX!

    cube's Avatar
    Join Date
    Jun 2007
    Posts
    8,871
    Thanks given
    1,854
    Thanks received
    4,745
    Rep Power
    5000
    Quote Originally Posted by Leanbow View Post
    Body parts? What
    ye

    Code:
    public enum BodyPart {
    	UNIDENTIFIED_1,
    	UNIDENTIFIED_2,
    	UNIDENTIFIED_3,
    	UNIDENTIFIED_4,
    	TORSO,
    	UNIDENTIFIED_5,
    	UPPER_BODY,
    	LEGS,
    	HEAD,
    	ARMS,
    	FEET,
    	CHIN,
    	UNIDENTIFIED_6,
    	UNIDENTIFIED_7,
    	UNIDENTIFIED_8,
    	ALL;
    
    	public int toInteger() {
    		return 1 << ordinal();
    	}
    
    }
    this is one of the few new-ish masks i have no idea about

    Attached image

    Reply With Quote  
     

  10. Thankful users:


  11. #8  
    Номер 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 S Quare Quxx View Post
    ye

    Code:
    public enum BodyPart {
    	UNIDENTIFIED_1,
    	UNIDENTIFIED_2,
    	UNIDENTIFIED_3,
    	UNIDENTIFIED_4,
    	TORSO,
    	UNIDENTIFIED_5,
    	UPPER_BODY,
    	LEGS,
    	HEAD,
    	ARMS,
    	FEET,
    	CHIN,
    	UNIDENTIFIED_6,
    	UNIDENTIFIED_7,
    	UNIDENTIFIED_8,
    	ALL;
    
    	public int toInteger() {
    		return 1 << ordinal();
    	}
    
    }
    this is one of the few new-ish masks i have no idea about
    I'll check.
    Reply With Quote  
     

  12. Thankful user:



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. Engine 481 Update Masks
    By Sean in forum RS2 Server
    Replies: 40
    Last Post: 07-12-2008, 10:17 PM
  2. All 481 Player Update Masks
    By ZachHaley in forum RS2 Server
    Replies: 13
    Last Post: 07-07-2008, 07:30 AM
  3. [RS2D] Animation Update Mask
    By Evolution X in forum Tutorials
    Replies: 31
    Last Post: 06-03-2008, 07:41 PM
  4. Npc Update Masks
    By Evolution X in forum RS2 Client
    Replies: 8
    Last Post: 04-09-2008, 12:27 AM
  5. Update mask 0x400...
    By Ramenryoko in forum RS2 Server
    Replies: 3
    Last Post: 02-01-2008, 06:25 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
  •