Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • ASDss: where do u download source and clients now
      August 18, 2017, 10:39:31 PM
    • ASDss: yo
      August 18, 2017, 10:39:20 PM
    • dan v jad: click me 4 da fun ;)[link]
      August 18, 2017, 04:39:58 PM
    • stCky: Palidinho is your OpenGL (was it OpenGL?) stuff open source anywhere?
      August 16, 2017, 09:07:22 PM
    • Travas:BUILD THE WALL
      August 15, 2017, 09:28:49 PM
    • Travas: i have ass cancer
      August 15, 2017, 09:23:29 PM
    • stCky: what are the fudge are you tryna ask?
      August 15, 2017, 08:21:35 PM
    • bader: what are the rsps community alive ?
      August 15, 2017, 05:46:16 PM
    • bader: yo guys
      August 15, 2017, 05:46:08 PM
    • Spacehost:[link] Updated our thread :)
      August 15, 2017, 09:40:34 AM
    • Adaro: The client is in Download section at Homepage
      August 15, 2017, 01:09:20 AM
    • FaTe_Of_GoDs: where do i get the client?????????????
      August 14, 2017, 05:23:14 PM
    • stCky: can anyone help me? I cant login to the shoutbox
      August 13, 2017, 05:45:15 PM
    • drubrkletern: appeal denied
      August 13, 2017, 02:35:27 PM
    • King_Trout:[link]
      August 13, 2017, 11:17:12 AM
    • Cole1497: no sorry
      August 13, 2017, 10:27:14 AM
    • ayz: yo can anyone explain something to me
      August 13, 2017, 08:08:51 AM
    • coolking12: Hi
      August 13, 2017, 04:16:06 AM
    • stCky: n+1
      August 11, 2017, 06:09:24 PM
    • PalidinoDH: How many more pages are going to show errors before this dude gets on and fixes shit
      August 11, 2017, 04:57:00 PM

    Author Topic: [317] Server to client packets requiring RuneWiki documentation  (Read 2541 times)

    0 Members and 1 Guest are viewing this topic.

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Here is a list of all the server -> client packets which require further documentation on RuneWiki.

    All of my payloads are correct in terms of size, order and data type, but may be incorrect in terms of usage.

    Packet 4: Draw a still graphic at a certain position.
            [Payload: [Byte: position offset from the player], [Little Endian Short: graphic ID], [Byte: draw height], [Little Endian Short: delay]]

    Packet 8: Replaces a model on an interface?
            [Payload: [Short Special A: interface ID], [Short: model ID]]

    Packet 34: Update items on an interface.
            [Payload: [Little Endian Short: interface ID]]
                [Payload for every item: [Smart B: slot], [Little Endian Short: item ID], [Byte: stack size]]
                    [Payload if stack size == 255: [Integer?: stack size]]

    Packet 44: Place an item on the ground.
            [Payload: [Short Special A: item ID], [Little Endian Short: item amount], [Byte: position offset]]     

    Packet 53: Draw items on an interface.
            [Payload: [Little Endian Short: interface ID], [Little Endian Short: item count]]
                [Payload for each item: [Byte: stack size]]
                    [Payload for each item if stack size == 255: [Middle Endian Big Integer: stack size]]
                [Payload for each item: [Short Special A: item ID]]

    Packet 60: Handles certain kinds of packets?

    Packet 64: Something to do with ground items.
            [Payload: [Byte Special C: x position], [Byte Special S: y position]]

    Packet 65: Begins the NPC updating procedure.

    Packet 81: Begins the player updating procedure.

    Packet 84: Updates the amount of items on the ground.
            [Payload: [Byte: position offset], [Little Endian Short: target item ID], [Little Endian Short: target item amount], [Little Endian Short: new item amount]]

    Packet 85: Sets the players position / region?
            [Payload: [Byte Special C: y position], [Byte Special C: x position]]

    Packet 87: Sets a client setting and makes the new setting the default.
            [Payload: [Short: setting ID], [Middle Endian Small Integer: setting value]]

    Packet 101: Sets an object's type and orientation?
            [Payload: [Byte Special C: object config (type, orientation)], [Byte: position offset]]

    Packet 104: Adds an action to something.
            [Payload: [Byte Special C: action ID], [Byte Special A: place the action at the top or not], [String: action text]]

    Packet 105: Plays music inside a certain boundary?
            [Payload: [Byte: position offset], [Little Endian Short: track ID], [Byte: data (boundary size, loop)]]

    Packet 106: Draw an interface over the tab area.
            [Payload: [Byte Special C: interface ID]]


    Packet 117: Create a projectile
            [Payload: [Byte: position offset], [Byte: x offset 2?], [Byte: y offset 2?], [Short: target], [Little Endian Short: graphic ID], [Byte: start height], [Byte: end height], [Little Endian Short: start time], [Little Endian Short: speed], [Byte: initial slope], [Byte: initial distance from source]]

    Packet 142: Overlays an interface over the inventory.
            [Payload: [Short: interface ID]]

    Packet 147: No clue. Something to do with objects.
            [Payload: [Byte Special S: position offset], [Little Endian Short: player ID, not sure what for], [Byte Special S: unknown, possibly width or height], [Short: unknown, some kind of delay], [Byte Special C: unknown, possibly width of height], [Little Endian Short: unknown, some kind of delay], [Byte Special S: object config (type, orientation)], [Byte: x offset?], [Little Endian Short: object id], [Byte Special C: y offset?]]

    Packet 151: Spawn an object?
            [Payload: [Byte Special A: interface ID], [Short: object ID], [Byte Special S: object config (type, orientation)]]

    Packet 156: Remove an item from the ground?
            [Payload: [Byte Special A: position offset], [Little Endian Short: itemID]]

    Packet 160: Animates an object?
            [Payload: [Byte Special S: position offset], [Byte Special S: object config (type, orientation)], [Short Special A: animation ID]]

    Packet 166: Something to do with cutscene cameras.
            [Payload: [Byte: unknown], [Byte: unknown], [Little Endian Short: unknown], [Byte: unknown], [Byte: unknown]]

    Packet 171: Sets an interface to be hidden until hovered over.
            [Payload: [Byte: hidden until hovered], [Short: interface ID]]


    Packet 174: Possibly adds a song to the current queue.
            [Payload: [Short: track ID], [Byte: loop], [Short: delay]]

    Packet 177: Something to do with cutscene cameras.
            [Payload: [Byte: unknown], [Byte: unknown], [Little Endian Short: unknown], [Byte: unknown], [Byte: unknown]]

    Packet 215: Spawn an item for all players except one?
            [Payload: [Little Endian Short Special A: item ID], [Byte Special S: position offset], [Little Endian Short Special A: player ID?], [Little Endian Short: item count]]

    Packet 254: Displays a hint icon.
            [Payload: [Byte: icon type]]
                [Payload if type == 1: [Short: icon NPC target]]
                [Payload if type >= 2 and type <= 6: [Short: icon x], [Short: icon y], [Byte: icon draw height]]
                [Payload if type == 10: [Short: icon player target]]

    « Last Edit: August 09, 2014, 03:09:45 PM by Ambokile »

    Offlinelare69

    • Member
    • ****
    • *
    • Posts: 5,321
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #1 on: August 10, 2014, 06:18:34 PM »
    aren't there a lot more than this?
    hi. check out luna:)

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #2 on: August 10, 2014, 07:09:16 PM »
    aren't there a lot more than this?

    Nope, this is the lot

    Bl3nd and I have added packets 106, 171 and 254.

    OfflineBl3nd

    • Member
    • ****
    • Posts: 287
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #3 on: August 10, 2014, 11:57:40 PM »
    I have put Packet 117 up and started on Packet 81. I haven't finished Packet 81 since its the updating one.

    P.S I feel like I have done pretty horrible on what I've got for the player updating so please look at it and read and see if it makes any sense. If it makes no sense, just delete the whole thing. LOL

    I'm taking the information and documentation from a hyperion updating packet.

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #4 on: August 11, 2014, 02:46:45 AM »
    It looks great so far, Bl3nd. I'll take a proper look tonight but it seems okay :)

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #5 on: August 11, 2014, 07:25:42 PM »
    or

    OR

    We could document the packets by their natural ids.

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #6 on: August 11, 2014, 10:29:16 PM »
    We should go through the existing ones as some of them have incorrect payloads or documentation.

    btw

    packet 60

    It can basically be used to group several e.g. add ground item packets, into one packet, by having them all contained within this outer packet. This would presumably provide a slight performance benefit.

    code snippet found within wL:
    Code: Java
    1. // send all items combined to larger clusters
    2. for(int x =0; x <11; x++){
    3.         for(int y =0; y <11; y++){
    4.                 outStream.createFrame(60);
    5.                 outStream.writeWord(0);                 // placeholder for size of this packet.
    6.                 int ofs = outStream.currentOffset;
    7.  
    8.                 outStream.writeByte(y*8);// baseY
    9.                 outStream.writeByteC(x*8);// baseX
    10.                 // here come the actual packets
    11.                 for(int kx =0; kx <8; kx++){
    12.                         for(int ky =0; ky <8; ky++){
    13.                                 outStream.writeByte(44);// formerly createFrame, but its just a plain byte in this encapsulated packet
    14.                                 outStream.writeWordBigEndianA(random(1000));// objectType
    15.                                 outStream.writeWord(1);// amount
    16.                                 outStream.writeByte(kx*16+ky);  // x(4 MSB) y(LSB) coords
    17.                         }
    18.                 }
    19.                 outStream.writeFrameSizeWord(outStream.currentOffset- ofs);
    20.         }
    21. }

    Also this isn't just relevant for ground items. The same is used for projectiles and objects as well.

    packet 64

    This packet clears an 8x8 sector of ground item nodes and spawned object nodes.

    packet 85

    Sets the local player's region position.

    packet 147

    Turns a player into an object for a specified duration of cycles

    Code: Java
    1.                 if(opcode ==147){
    2.                         int positionOffset = buffer.getUnsignedByteS();
    3.                         int x = playerPositionX +(positionOffset >>4& 0x7);
    4.                         int y = playerPositionY +(positionOffset & 0x7);
    5.                         int index = buffer.getUnsignedLEShort();
    6.                         int objectOffsetX = buffer.getByteS();
    7.                         int startDelay = buffer.getUnsignedShort();
    8.                         int objectOffsetY = buffer.getByteC();
    9.                         int duration = buffer.getUnsignedLEShort();
    10.                         int objectHashCode = buffer.getUnsignedByteS();
    11.                         int typeId = objectHashCode >>2;
    12.                         int face = objectHashCode & 0x3;
    13.                         int type = anIntArray1202[typeId];
    14.                         int playerOffsetX = buffer.get();
    15.                         int id = buffer.getUnsignedLEShort();
    16.                         int playerOffsetY = buffer.getByteC();
    17.                         Player player;
    18.                         if(index == playerIndex){
    19.                             player = Game.localPlayer;
    20.                         }else{
    21.                             player = players[index];
    22.                         }
    23.                         if(player !=null){
    24.                             GameObjectDefinition def = GameObjectDefinition.getDefinition(id);
    25.                             int i_921_ = anIntArrayArrayArray1239[currentSceneId][x][y];
    26.                             int i_922_ = anIntArrayArrayArray1239[currentSceneId][x +1][y];
    27.                             int i_923_ = anIntArrayArrayArray1239[currentSceneId][x +1][y +1];
    28.                             int i_924_ = anIntArrayArrayArray1239[currentSceneId][x][y +1];
    29.                             Model model = def.getGameObjectModel(typeId, face, i_921_, i_922_, i_923_, i_924_, -1);
    30.                             if(model !=null){
    31.                                 addSpawnObjectNode(duration +1, -1, 0, type, y, 0, currentSceneId, x, startDelay +1);
    32.                                 player.anInt1727= startDelay + Game.currentCycle;
    33.                                 player.anInt1728= duration + Game.currentCycle;
    34.                                 player.playerModel= model;
    35.                                 int width = def.sizeX;
    36.                                 int height = def.sizeY;
    37.                                 if(face ==1|| face ==3){
    38.                                     width = def.sizeY;
    39.                                     height = def.sizeX;
    40.                                 }
    41.                                 player.anInt1731= x *128+ width *64;
    42.                                 player.anInt1733= y *128+ height *64;
    43.                                 player.anInt1732= method42(currentSceneId, player.anInt1733, true, player.anInt1731);
    44.                                 if(playerOffsetX > objectOffsetX){
    45.                                     int offset = playerOffsetX;
    46.                                     playerOffsetX = objectOffsetX;
    47.                                     objectOffsetX = offset;
    48.                                 }
    49.                                 if(playerOffsetY > objectOffsetY){
    50.                                     int offset = playerOffsetY;
    51.                                     playerOffsetY = objectOffsetY;
    52.                                     objectOffsetY = offset;
    53.                                 }
    54.                                 player.anInt1739= x + playerOffsetX;
    55.                                 player.anInt1741= x + objectOffsetX;
    56.                                 player.anInt1740= y + playerOffsetY;
    57.                                 player.anInt1742= y + objectOffsetY;
    58.                             }
    59.                         }
    60.                     }

    packet 166

    Spins the camera

    Code: Java
    1.                 if(opcode ==166){
    2.                     aBoolean1185 =true;
    3.                     cameraX = inBuffer.getUnsignedByte();
    4.                     cameraY = inBuffer.getUnsignedByte();
    5.                     cameraHeight = inBuffer.getUnsignedLEShort();
    6.                     cameraSpeed = inBuffer.getUnsignedByte();
    7.                     cameraAngle = inBuffer.getUnsignedByte();
    8.                     if(cameraAngle >=100){
    9.                         anInt883 = cameraX *128+64;
    10.                         anInt885 = cameraY *128+64;
    11.                         anInt884 = method42(currentSceneId, anInt885, true, anInt883)- cameraHeight;
    12.                     }
    13.                     opcode =-1;
    14.                     returntrue;
    15.                 }

    If you have any other questions or unknown packets feel free to edit your thread
    « Last Edit: August 11, 2014, 10:58:05 PM by AtomicInt_ »

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,275
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #7 on: August 12, 2014, 01:36:55 AM »
    Fairly certain cameraAngle is the incorrect name there. If I remember correctly there are two speeds, one of them is the constant speed and the other is a variable speed.

    The speed of the camera at any specific point during the camera move is something like constantSpeed + (abs(delta distance to destination)/1000 * variableSpeed)

    Having variable speed be 0 keeps the camera at the constant speed, having a value of 100 makes the move instant, and anything inbetween changes the speed of the camera (with the fastest being the middle of the move)

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #8 on: August 12, 2014, 03:04:19 AM »
    Fairly certain cameraAngle is the incorrect name there. If I remember correctly there are two speeds, one of them is the constant speed and the other is a variable speed.

    The speed of the camera at any specific point during the camera move is something like constantSpeed + (abs(delta distance to destination)/1000 * variableSpeed)

    Having variable speed be 0 keeps the camera at the constant speed, having a value of 100 makes the move instant, and anything inbetween changes the speed of the camera (with the fastest being the middle of the move)

    Hmmm. Thanks, must do some testing.

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #9 on: August 12, 2014, 05:09:16 AM »
    We should go through the existing ones as some of them have incorrect payloads or documentation.
    Definitely, but I think we should focus on adding all the packets to the wiki first, and then we can get them all to a good quality.

    packet 60

    It can basically be used to group several e.g. add ground item packets, into one packet, by having them all contained within this outer packet. This would presumably provide a slight performance benefit.
    Yeah, I knew that it kind of initiated a "group packet" but wasn't sure exactly how to use it.

    packet 147

    Turns a player into an object for a specified duration of cycles

    Code: Java
    1.                 if(opcode ==147){
    2.                         int positionOffset = buffer.getUnsignedByteS();
    3.                         int x = playerPositionX +(positionOffset >>4& 0x7);
    4.                         int y = playerPositionY +(positionOffset & 0x7);
    5.                         int index = buffer.getUnsignedLEShort();
    6.                         int objectOffsetX = buffer.getByteS();
    7.                         int startDelay = buffer.getUnsignedShort();
    8.                         int objectOffsetY = buffer.getByteC();
    9.                         int duration = buffer.getUnsignedLEShort();
    10.                         int objectHashCode = buffer.getUnsignedByteS();
    11.                         int typeId = objectHashCode >>2;
    12.                         int face = objectHashCode & 0x3;
    13.                         int type = anIntArray1202[typeId];
    14.                         int playerOffsetX = buffer.get();
    15.                         int id = buffer.getUnsignedLEShort();
    16.                         int playerOffsetY = buffer.getByteC();
    17.                         Player player;
    18.                         if(index == playerIndex){
    19.                             player = Game.localPlayer;
    20.                         }else{
    21.                             player = players[index];
    22.                         }
    23.                         if(player !=null){
    24.                             GameObjectDefinition def = GameObjectDefinition.getDefinition(id);
    25.                             int i_921_ = anIntArrayArrayArray1239[currentSceneId][x][y];
    26.                             int i_922_ = anIntArrayArrayArray1239[currentSceneId][x +1][y];
    27.                             int i_923_ = anIntArrayArrayArray1239[currentSceneId][x +1][y +1];
    28.                             int i_924_ = anIntArrayArrayArray1239[currentSceneId][x][y +1];
    29.                             Model model = def.getGameObjectModel(typeId, face, i_921_, i_922_, i_923_, i_924_, -1);
    30.                             if(model !=null){
    31.                                 addSpawnObjectNode(duration +1, -1, 0, type, y, 0, currentSceneId, x, startDelay +1);
    32.                                 player.anInt1727= startDelay + Game.currentCycle;
    33.                                 player.anInt1728= duration + Game.currentCycle;
    34.                                 player.playerModel= model;
    35.                                 int width = def.sizeX;
    36.                                 int height = def.sizeY;
    37.                                 if(face ==1|| face ==3){
    38.                                     width = def.sizeY;
    39.                                     height = def.sizeX;
    40.                                 }
    41.                                 player.anInt1731= x *128+ width *64;
    42.                                 player.anInt1733= y *128+ height *64;
    43.                                 player.anInt1732= method42(currentSceneId, player.anInt1733, true, player.anInt1731);
    44.                                 if(playerOffsetX > objectOffsetX){
    45.                                     int offset = playerOffsetX;
    46.                                     playerOffsetX = objectOffsetX;
    47.                                     objectOffsetX = offset;
    48.                                 }
    49.                                 if(playerOffsetY > objectOffsetY){
    50.                                     int offset = playerOffsetY;
    51.                                     playerOffsetY = objectOffsetY;
    52.                                     objectOffsetY = offset;
    53.                                 }
    54.                                 player.anInt1739= x + playerOffsetX;
    55.                                 player.anInt1741= x + objectOffsetX;
    56.                                 player.anInt1740= y + playerOffsetY;
    57.                                 player.anInt1742= y + objectOffsetY;
    58.                             }
    59.                         }
    60.                     }

    Are you sure it's objectOffsetX and objectOffsetY? I worked it out to be tileHeight and tileWidth, and I can't see why they'd receive both the object offset and the player offset.

    Cheers for all of these mate, really helpful!
    « Last Edit: August 12, 2014, 05:15:36 AM by Ambokile »

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #10 on: August 12, 2014, 12:35:10 PM »
    They are offsets as they deal with the offset of the object in the x/y from the players coordinates.

    The client rearranges them based on size so whichever you use for the min and max value is irrelevant.

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #11 on: August 12, 2014, 05:07:59 PM »
    They are offsets as they deal with the offset of the object in the x/y from the players coordinates.

    But why are there 5 different offsets?
    positionOffset
    objectOffsetX
    objectOffsetY
    playerOffsetX
    playerOffsetY

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #12 on: August 12, 2014, 07:34:14 PM »
    They are offsets as they deal with the offset of the object in the x/y from the players coordinates.

    But why are there 5 different offsets?
    positionOffset
    objectOffsetX
    objectOffsetY
    playerOffsetX
    playerOffsetY

    the 'position offset' is a value 0-7 which marks a tile within a single 8x8 sector.

    example:

    my position: 3222, 3222
    offset: 3 + 0
    new position: 3225, 3222

    think of the offset as coordinates on a grid and the grid being he 8x8 map sector

    however I do not understand the purpose of this and servers that use it keep the variable at 0


    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,275
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #13 on: August 12, 2014, 07:37:41 PM »
    They are offsets as they deal with the offset of the object in the x/y from the players coordinates.

    But why are there 5 different offsets?
    positionOffset
    objectOffsetX
    objectOffsetY
    playerOffsetX
    playerOffsetY

    the 'position offset' is a value 0-7 which marks a tile within a single 8x8 sector.

    example:

    my position: 3222, 3222
    offset: 3 + 0
    new position: 3225, 3222

    think of the offset as coordinates on a grid and the grid being he 8x8 map sector

    however I do not understand the purpose of this and servers that use it keep the variable at 0


    It depends, when you are the object does it create the object right click options and everything? If it doesn't, then its pretty much the same thing as setting the player invisible and then spawning an object in, but if it does, then it could be for stuff like 'hiding in' objects where the object may be a few spaces away from you. Idunno. Im sure it was used in a quest or something and I just can't think of it.

    OfflineRyley

    • Member
    • ****
    • *
    • Posts: 7,315
    • Thanks: +0/-0
      • View Profile
    Re: [317] Server to client packets requiring RuneWiki documentation
    « Reply #14 on: August 19, 2014, 02:12:59 PM »
    They are offsets as they deal with the offset of the object in the x/y from the players coordinates.

    But why are there 5 different offsets?
    positionOffset
    objectOffsetX
    objectOffsetY
    playerOffsetX
    playerOffsetY

    the 'position offset' is a value 0-7 which marks a tile within a single 8x8 sector.

    example:

    my position: 3222, 3222
    offset: 3 + 0
    new position: 3225, 3222

    think of the offset as coordinates on a grid and the grid being he 8x8 map sector

    however I do not understand the purpose of this and servers that use it keep the variable at 0


    It depends, when you are the object does it create the object right click options and everything? If it doesn't, then its pretty much the same thing as setting the player invisible and then spawning an object in, but if it does, then it could be for stuff like 'hiding in' objects where the object may be a few spaces away from you. Idunno. Im sure it was used in a quest or something and I just can't think of it.

    No it doesn't create the right click options or anything else, all it does merges the object model with the player model, no other object configurations are placed and the player is not removed.

    edit: packet 210 is labeled wrongly on the wiki, it has nothing to do with the map, it is used to identify whether or not the applet is being used

    Code: Java
    1.             if(gameFrame !=null){
    2.                 outBuffer.putOpcode(210);
    3.                 outBuffer.putInt(1057001181);
    4.             }
    « Last Edit: August 19, 2014, 02:15:49 PM by AtomicInt_ »

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal