Update MediaWiki page '135 Protocol'

This commit is contained in:
S 2012-12-23 15:25:54 +00:00 committed by moparisthebest
parent d05138c9fc
commit 1d9ee9e7a5

View File

@ -173,11 +173,63 @@ public static String decode_37(long l) {
| Registration attempts exceeded? | Registration attempts exceeded?
|} |}
== '''Player Appearance Update''' ==
First, create a new packet with the opcode 250. Add the total number of expected updates ([u]int16).
Then, for each 'thing' to update, write the (server) index of the player the update applies to ([u]int16), and the 'update type' (int8) followed by whatever data that update type expects.
'''Update type 1 - Public chat messages'''
* [u]int8 - The length of the chat message.
* string (raw) - The chat message, scrambled by the sender's client.
'''Update type 2 - Combat damage'''
* [u]int8 - The damage recieved.
* [u]int8 - That player's 'current' hitpoints level.
* [u]int8 - That player's 'base' hitpoints
'''Update type 3/4 - Projectiles'''
The update type is 3 when the target is a NPC, or 4 is the target is a player.
The standard magic projectile id is 1, and the standard ranged projectile id is 2.
* [u]int16 - The projectile's id.
* [u]int16 - The (server) index of the projectile's target entity.
'''Update type 5 - Appearance'''
Hair style, body type, leg type, and colours are as they are sent by the client's character design packet.
* [u]int16 - The player's status? Doesn't appear to do anything. Jagex's server sends 9144.
* [u]int64 - The player's username encoded with mod37.
* [u]int8 - The size of the sub-update (but it reads by order so what's the point?)
** [u]int8 - The player's hair style + 1, or 0 if they are wearing a hemlet
** [u]int8 - The player's body type + 1, or 0 if they are wearing a platebody
** [u]int8 - The player's leg type + 1, or 0 if they are wearing legs
** [u]int8 - The animation id + 1 (look in the client) of the player's offhand item or 0.
** [u]int8 - The animation id + 1 of the player's hand item or 0.
** [u]int8 - The animation id + 1 of the player's head item or 0.
** [u]int8 - The animation id + 1 of the player's body item or 0.
** [u]int8 - The animation id + 1 of the player's leg item or 0.
** [u]int8 - The animation id + 1 of the player's neck item or 0.
** [u]int8 - The animation id + 1 of the player's shoes or 0.
** [u]int8 - The animation id + 1 of the player's gloves or 0.
** [u]int8 - The animation id + 1 of the player's cape or 0.
* [u]int8 - The player's hair colour.
* [u]int8 - The player's top colour.
* [u]int8 - The player's leg colour.
* [u]int8 - The player's skin colour.
* [u]int8 - The player's combat level.
* [u]int8 - 1 if the player is skulled.
== '''Packets''' == == '''Packets''' ==
The packet opcodes are unchanged from previous revisions, presumably this was before the protocol was being regularly modified to deter the developers of bots such as [[AutoRune]]. The payload/structure is quite similar to most other RSC revisions. The packet opcodes are unchanged from previous revisions, presumably this was before the protocol was being regularly modified to deter the developers of bots such as [[AutoRune]]. The payload/structure is quite similar to most other RSC revisions.
=== '''Incoming Data''' === === '''Incoming Data''' ===
'''TODO: Duelling stuff, fully document 244, 240, NPCs, player appearance update ''' '''TODO: Duelling stuff, fully document 244, 240, NPCs '''
{| class="wikitable" {| class="wikitable"
|- |-
! scope="col" width="140px" | Name ! scope="col" width="140px" | Name
@ -267,8 +319,8 @@ The packet opcodes are unchanged from previous revisions, presumably this was be
|- |-
! Players (Appearance) ! Players (Appearance)
| 250 || | 250 ||
* ? * See [[135 Protocol#Player Appearance Update|Player Appearance Update]]
| ? | Updates things to do with nearby players that aren't related to movement.
|- |-
! Boundary Positions ! Boundary Positions
| 249 || | 249 ||