(So with the version an int, this note can go away) |
(So since error messages are a code, let's not suggest to include those) |
||
Line 47: | Line 47: | ||
'''Notes''' | '''Notes''' | ||
''Maybe it would be nicer to have the annoucements | ''Maybe it would be nicer to have the annoucements simply occur on a special dedicated channel. This would make implementation easier. Also, I think it's fine to also send a username for these messages.'' --[[User:Bjørn|Bjørn]] 12:44, 26 July 2006 (CEST) |
Revision as of 20:17, 31 July 2006
Here be documented our own communication protocol. For the latest list of all messages and their contents, see defines.h.
Login sequence
1a. PAMSG_REGISTER { L version, "username", "password", "email" } APMSG_REGISTER_RESPONSE { 0 } 1b. PAMSG_LOGIN { L version, "username", "password" } APMSG_UNREGISTER_RESPONSE { 0 } 2a. PAMSG_UNREGISTER { } APMSG_UNREGISTER_RESPONSE { 0 } 2b. PAMSG_LOGOUT { } APMSG_LOGOUT_RESPONSE { 0 } 2c. PAMSG_CHAR_LIST { } APMSG_CHAR_LIST_RESPONSE B number, { B index, S name, B gender, B hair style, B hair color, B level, W money, W*6 stats, S mapname, W*2 position } ...
Notes
It has been decided that a separate request for the character list is not necessary. The list will be sent automatically after a succesful login.
We probably do not need the index byte for each character. The list can be assumed to be contiguous and characters can be referred to with the index they have in the list.
Movement and combat
Protocol in development, see article about the being movement system.
Chatting
1a. PCMSG_CHAT { "message", channel } 1b. PCMSG_ANNOUNCE { "annoucement" } 1c. PCMSG_PRIVMSG { "username", "message" } 2a. CPMSG_ERROR { error } 2b. CPMSG_ANNOUNCEMENT { "annoucement" } 2c. CPMSG_PRIVMSG { "username", "message" } 2d. CPMSG_PUBMSG { channel, "username", "message" }
Notes
Maybe it would be nicer to have the annoucements simply occur on a special dedicated channel. This would make implementation easier. Also, I think it's fine to also send a username for these messages. --Bjørn 12:44, 26 July 2006 (CEST)