Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:toutcommenceparlereseau [2020/08/26 18:41] – [Factory] aleajactaest | fr:toutcommenceparlereseau [2020/11/28 22:59] – Ajout du décodage de Database.xml aleajactaest | ||
---|---|---|---|
Ligne 53: | Ligne 53: | ||
Ce qui suit n'est pas clair. Je propose une reformulation, | Ce qui suit n'est pas clair. Je propose une reformulation, | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
Ligne 90: | Ligne 90: | ||
**1. Client -> Serveur** | **1. Client -> Serveur** | ||
- | Demande le grain de sable((Le sel du mot de passe? Je ne suis pas sûre de comprendre... | + | Demande |
URL formatée de la façon suivante : | URL formatée de la façon suivante : | ||
Ligne 417: | Ligne 417: | ||
+---------+ | +---------+ | ||
- | Puis pour chaque paquet Z on lit paquet Z((Ici, je ne suis pas sûre de mon ajout de '' | + | Puis pour chaque paquet Z on lit le champ '' |
+----------+ | +----------+ | ||
- | | Packet Z | | next | ActionFactory | + | | Packet Z | | next | ActionFactory |
| X bits | --> | 1 bit | X bits | 1 bit | X bits | 1 bit | | | X bits | --> | 1 bit | X bits | 1 bit | X bits | 1 bit | | ||
+----------+ | +----------+ | ||
Ligne 773: | Ligne 773: | ||
- | == Décodage Impulse == | ||
- | Les messages impulses sont construits suivant le format suivant : | + | == Lecture |
- | * premier champ contenant le code '' | + | |
- | * champs suivants : les paramètres | + | |
- | Cela donne le schéma suivant : | + | En complément des messages provenant de msg.xml, nous avons une autre référence database.xml qui a un mode de fonctionnement un peu différent. |
+ | Certainne commande Impulse (msg.xml), auront un message encodé via database.xml | ||
- | +--------------+---- / -----+ | + | Structure du fichier: |
- | | code msg.xml | paramètres | | + | |
- | | x bits | x bits | | + | |
- | | unsigned | + | |
- | +--------------+---- / -----+ | + | |
- | === Commande impulse | + | <code xml> |
+ | < | ||
+ | <!-- dans cette zone existe des informations non utilisés par le client --> | ||
+ | </ | ||
+ | <branch name=x1 bank=" | ||
+ | < | ||
+ | </ | ||
+ | <branch name=x3 bank=" | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | <branch name=x6 bank=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
- | == STRING_MANAGER: | + | Nous trouvons le mot de clef branch, que l'on va traduire par branche, et le mot de clef leaf que l'on traduit par feuille. |
- | Commande utilisée pour initialiser | + | Ici le premier niveau qui nous interrese est database_description, |
+ | Pour la partie branche, cet élément peut contenir d' | ||
- | Ici, on vérifie que notre tableau interne au client a la même date que le tableau du serveur. Sinon, on efface | + | Si une branch contient |
- | Code actuel : '' | + | Ensuite, nous avons la possibilité d'avoir le mot clef 'atom', s'il est à 1, cela implique une gestion différente de l' |
- | <WRAP center round important 60%> | + | L' |
- | Attention : dépend de la version que vous avez de '' | + | |
- | </ | + | |
+ | Un petit exemple: | ||
- | +----------------+--------------+------------------+ | + | <code xml> |
- | | STRING_MANAGER | RELOAD_CACHE | timestamp | + | <branch name=" |
- | | 6 bits | 3 bits | + | |
- | | 011011 | + | |
- | | + | |
+ | | ||
+ | < | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | </ | ||
- | * '' | + | < |
+ | bank=" | ||
+ | atom=" | ||
+ | <leaf name=" | ||
+ | type=" | ||
+ | <branch name=" | ||
+ | count=" | ||
+ | <leaf name=" | ||
+ | type=" | ||
+ | </ | ||
+ | <branch name=" | ||
+ | count=" | ||
+ | <leaf name=" | ||
+ | type=" | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | bank=" | ||
+ | <branch name="" | ||
+ | count=" | ||
+ | atom=" | ||
+ | <leaf name=" | ||
+ | type=" | ||
+ | <leaf name=" | ||
+ | type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
- | == STRING_MANAGER:PHRASE_SEND | + | < |
+ | * Entities | ||
+ | * E0 | ||
+ | * P0 (type : I8) | ||
+ | * P1 (type : I8) | ||
+ | * P2 (type : I8) | ||
+ | * E1 | ||
+ | * P0 (type : I8) | ||
+ | * P1 (type : I8) | ||
+ | * P2 (type : I8) | ||
+ | * USER (Atom) | ||
+ | * SKILL_POINTS_0 | ||
+ | * VALUE (type : I32) | ||
+ | * SKILL_POINTS_1 | ||
+ | * VALUE (type : I32) | ||
+ | * SKILL_POINTS_2 | ||
+ | * VALUE (type : I32) | ||
+ | * SKILL_POINTS_3 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_0 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_1 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_2 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_3 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_4 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_5 | ||
+ | * VALUE (type : I32) | ||
+ | * FACTION_POINTS_6 | ||
+ | * VALUE (type : I32) | ||
+ | * GROUP | ||
+ | * 0 (Atom) | ||
+ | * PRESENT (Type : I1 == Booléen) | ||
+ | * UID (Type I20) | ||
+ | * 1 (Atom) | ||
+ | * PRESENT (Type : I1 == Booléen) | ||
+ | * UID (Type I20) | ||
+ | * 2 (Atom) | ||
+ | * PRESENT (Type : I1 == Booléen) | ||
+ | * UID (Type I20) | ||
+ | * 3 (Atom) | ||
+ | * PRESENT (Type : I1 == Booléen) | ||
+ | * UID (Type I20) | ||
+ | * 4 (Atom) | ||
+ | * PRESENT (Type : I1 == Booléen) | ||
+ | * UID (Type I20) | ||
+ | </ | ||
- | Le serveur envoie un message, plus précisément | + | Par exemple le message |
+ | 00.0.10.11111111 | ||
+ | * 00 : < | ||
+ | * 0 : < | ||
+ | * 10 : <P1> le 3ème niveau, nous avons ici le choix entre P0, P1 & P2 (2 bits suffisent pour trouver l' | ||
+ | * 11111111 : <I8> le 4ème niveau, la valeur de la branche | ||
+ | * Résumé : | ||
+ | * Entities: | ||
+ | |||
+ | 2ème exemple : | ||
+ | 01.0010100.11111111111111111111111111111111.01111111111111111111111111111111 | ||
- | Code actuel | + | * 01 : < |
+ | * 0010100 | ||
+ | * 11111111111111111111111111111111 : < | ||
+ | * 01111111111111111111111111111111 : < | ||
+ | * Résumé: | ||
+ | * USER.SKILL_POINTS_2 = 4294967295 | ||
+ | * USER.SKILL_POINTS_4 = 2147483647 | ||
- | <WRAP center round important 60%> | + | 3ème exemple |
- | Attention | + | 10.010.0.1 |
- | </ | + | |
- | +----------------+--------------+------------------+------------------+ | + | |
- | | STRING_MANAGER | PHRASE_SEND | + | |
- | | 6 bits | 3 bits | uint32 | + | |
- | | 011011 | + | |
- | +----------------+--------------+------------------+------------------+ | + | |
- | * '' | + | |
- | | + | * 010 : < |
+ | * 0 : < | ||
+ | * 1 : VALUE = 1 | ||
+ | |||
+ | Les types : | ||
+ | * Ixxx : Entier non signé ou xxx et le nombre de bit à récupèrer | ||
+ | * Sxxx : Entier signé, ou xxx et le nombre de bit à récupèrer | ||
+ | * TEXT : Entier non-signé de 32 bit (dont le bit de poids fort est forcé à zero (jamais négatif - si signé) | ||
- | == STRING_MANAGER: | ||
- | Le client demande le message complet en fonction du pointeur. | ||
- | Code actuel : '' | ||
- | +----------------+--------------+------------------+ | ||
- | | STRING_MANAGER | STRING_RQ | ||
- | | 6 bits | 3 bits | uint32 | ||
- | | 011011 | ||
- | +----------------+--------------+------------------+ | ||
- | * '' | + | == Décodage Impulse == |
- | Le serveur va répondre à ce message par '' | + | Les messages impulses sont construits suivant le format suivant : |
+ | * premier champ contenant le code '' | ||
+ | * champs suivants | ||
- | == STRING_MANAGER:STRING_RESP == | + | Cela donne le schéma suivant |
- | Le serveur renvoie le message complet. | + | +--------------+---- / -----+ |
+ | | code msg.xml | paramètres | | ||
+ | | x bits | x bits | | ||
+ | | unsigned | ||
+ | +--------------+---- / -----+ | ||
- | Code actuel : '' | + | === Commande impulse === |
- | +----------------+--------------+------------------+--------------+ | + | == TARGET: |
- | | STRING_MANAGER | STRING_RESP | + | |
- | | 6 bits | 3 bits | uint32 | + | |
- | | 011011 | + | |
- | +----------------+--------------+------------------+--------------+ | + | |
- | * '' | + | == TARGET:INVENTORY == |
- | * '' | + | |
- | On remarque ici l' | + | == TARGET:FOLLOW |
- | + | ||
- | + | ||
- | == CONNECTION:ASK_NAME | + | |
- | + | ||
- | Le client donne le nom et son ID (zone ?) et demande une vérification côté serveur. | + | |
- | + | ||
- | Code actuel : '' | + | |
- | + | ||
- | <WRAP center round important 60%> | + | |
- | Attention : dépend de la version que vous avez de msg.xml, suceptible de changer. | + | |
- | </ | + | |
- | + | ||
- | +----------------+--------------+------------------+------------------+ | + | |
- | | CONNECTION | + | |
- | | 6 bits | 5 bits | X bits | Uint32 | + | |
- | | 000001 | + | |
- | +----------------+--------------+------------------+------------------+ | + | |
- | + | ||
- | + | ||
- | * Name (String-UTF-16) | + | |
- | * HomeSessionId (Uint32) | + | |
- | + | ||
- | Retour attendu : '' | + | |
- | + | ||
- | + | ||
- | == CONNECTION: | + | |
- | + | ||
- | Le serveur répond à une requête '' | + | |
- | + | ||
- | + | ||
- | Code actuel : '' | + | |
- | + | ||
- | <WRAP center round important 60%> | + | |
- | Attention: dépend de la version que vous avez de msg.xml, susceptible de changer.</ | + | |
- | + | ||
- | + | ||
- | +----------------+--------------+-----------------+ | + | |
- | | CONNECTION | + | |
- | | 6 bits | 5 bits | 8 bits | | + | |
- | | 000001 | + | |
- | +----------------+--------------+-----------------+ | + | |
- | + | ||
- | + | ||
- | * valide (Uint8) : 1 => valide, sinon non valide | + | |
- | + | ||
- | + | ||
- | == CONNECTION: | + | |
- | + | ||
- | Le client sélectionne un personnage. | + | |
- | + | ||
- | Code actuel : '' | + | |
- | + | ||
- | <WRAP center round important 60%> | + | |
- | Attention: dépend de la version que vous avez de msg.xml, susceptible de changer. | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | +----------------+--------------+-----------------+ | + | |
- | | CONNECTION | + | |
- | | 6 bits | 5 bits | 8 bits | | + | |
- | | 000001 | + | |
- | +----------------+--------------+-----------------+ | + | |
- | + | ||
- | + | ||
- | * SelectCharMsg (Uint8) : id du personnage (entre 0 et 4, actuellement on ne peut avoir que 5 personnages maximum) | + | |
- | + | ||
- | En retour de cette commande, le serveur va répondre '' | + | |
+ | == TARGET: | ||
== CONNECTION: | == CONNECTION: | ||
Ligne 961: | Ligne 1005: | ||
- | == CONNECTION:READY == | + | == CONNECTION:NO_USER_CHAR |
- | Le serveur informe au client qu'il est prêt, puis le client informe ensuite au serveur qu'il est prêt. | + | == CONNECTION: |
- | Code actuel : '' | ||
- | |||
- | <WRAP center round important 60%> | ||
- | Attention : dépend de la version que vous avez de msg.xml, susceptible de changer. | ||
- | </ | ||
- | |||
- | |||
- | +------------+------------+--------------+ | ||
- | | CONNECTION | READY | LanguageCode | | ||
- | | 6 bits | 5 bits | String | ||
- | | 000001 | ||
- | +------------+------------+--------------+ | ||
- | |||
- | * LanguageCode (String) | ||
- | |||
- | |||
- | == CONNECTION: | ||
Liste tous les paramètres de l' | Liste tous les paramètres de l' | ||
Ligne 1029: | Ligne 1056: | ||
== CONNECTION: | == CONNECTION: | ||
+ | |||
Création d'un nouveau personnage. | Création d'un nouveau personnage. | ||
Ligne 1080: | Ligne 1108: | ||
- | == GUILD:USE_FEMALE_TITLES | + | == CONNECTION:SELECT_CHAR |
- | Le serveur signale que la guilde((Le MMORPG utilise | + | Le client sélectionne |
- | Code actuel : '' | + | Code actuel : '' |
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention: dépend de la version que vous avez de msg.xml, susceptible de changer. | ||
+ | </ | ||
+ | |||
+ | |||
+ | +----------------+--------------+-----------------+ | ||
+ | | CONNECTION | ||
+ | | 6 bits | 5 bits | 8 bits | | ||
+ | | 000001 | ||
+ | +----------------+--------------+-----------------+ | ||
+ | |||
+ | |||
+ | * SelectCharMsg (Uint8) : id du personnage (entre 0 et 4, actuellement on ne peut avoir que 5 personnages maximum) | ||
+ | |||
+ | En retour de cette commande, le serveur va répondre '' | ||
+ | |||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | Le serveur informe au client qu'il est prêt, puis le client informe ensuite au serveur qu'il est prêt. | ||
+ | |||
+ | Code actuel : '' | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 1090: | Ligne 1147: | ||
</ | </ | ||
- | +------------+-------------------+--------------------+ | ||
- | | GUILD | USE_FEMALE_TITLES | UseFemaleTitles | ||
- | | 6 bits | 5 bits | bool | | ||
- | | 011100 | ||
- | +------------+-------------------+--------------------+ | ||
- | | + | +------------+------------+--------------+ |
+ | | CONNECTION | READY | LanguageCode | | ||
+ | | 6 bits | 5 bits | String | ||
+ | | 000001 | ||
+ | +------------+------------+--------------+ | ||
+ | |||
+ | * LanguageCode | ||
+ | |||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | Le client donne le nom et son ID (zone ?) et demande une vérification côté serveur. | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention : dépend de la version que vous avez de msg.xml, suceptible de changer. | ||
+ | </ | ||
+ | |||
+ | +----------------+--------------+------------------+------------------+ | ||
+ | | CONNECTION | ||
+ | | 6 bits | 5 bits | X bits | Uint32 | ||
+ | | 000001 | ||
+ | +----------------+--------------+------------------+------------------+ | ||
+ | |||
+ | |||
+ | * Name (String-UTF-16) | ||
+ | * HomeSessionId (Uint32) | ||
+ | |||
+ | Retour attendu : '' | ||
+ | |||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | Le serveur répond à une requête '' | ||
+ | |||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention: dépend de la version que vous avez de msg.xml, susceptible de changer.</ | ||
+ | |||
+ | |||
+ | +----------------+--------------+-----------------+ | ||
+ | | CONNECTION | ||
+ | | 6 bits | 5 bits | 8 bits | | ||
+ | | 000001 | ||
+ | +----------------+--------------+-----------------+ | ||
+ | |||
+ | |||
+ | * valide (Uint8) : 1 => valide, sinon non valide | ||
+ | |||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == CONNECTION: | ||
+ | |||
+ | == DB_INIT:PLR == | ||
+ | |||
+ | == DB_INIT:INV == | ||
+ | |||
+ | == DB_GROUP: | ||
+ | |||
+ | == DB_GROUP: | ||
+ | |||
+ | == DB_GROUP: | ||
+ | |||
+ | == HARVEST: | ||
+ | |||
+ | == HARVEST: | ||
+ | |||
+ | == HARVEST: | ||
+ | |||
+ | == HARVEST: | ||
+ | |||
+ | == JOB: | ||
+ | |||
+ | == JOB: | ||
+ | |||
+ | == CASTING: | ||
+ | |||
+ | == CASTING: | ||
+ | |||
+ | == FABER:OPEN == | ||
+ | |||
+ | == FABER:CLOSE == | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == FABER: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == COMBAT: | ||
+ | |||
+ | == STRING:TELL == | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING:CHAT == | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STRING: | ||
+ | |||
+ | == STUN:STUN == | ||
+ | |||
+ | == STUN: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == SENTENCE: | ||
+ | |||
+ | == TEAM:JOIN == | ||
+ | |||
+ | == TEAM:LEAVE == | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM:KICK == | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == TEAM: | ||
+ | |||
+ | == ITEM:DROP == | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM:SWAP == | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM:GIVE == | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM:EQUIP == | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == ITEM: | ||
+ | |||
+ | == TP:RESPAWN == | ||
+ | |||
+ | == TP:BOT == | ||
+ | |||
+ | == TP:WANTED == | ||
+ | |||
+ | == TP:DEST == | ||
+ | |||
+ | == TP: | ||
+ | |||
+ | == TP:ACK == | ||
+ | |||
+ | == TP:CORRECT == | ||
+ | |||
+ | == DEATH: | ||
+ | |||
+ | == DEATH: | ||
+ | |||
+ | == DEATH: | ||
+ | |||
+ | == ANIMALS: | ||
+ | |||
+ | == ANIMALS: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == EXCHANGE: | ||
+ | |||
+ | == DEBUG:WHERE == | ||
+ | |||
+ | == DEBUG:WHO == | ||
+ | |||
+ | == DEBUG: | ||
+ | |||
+ | == DEBUG: | ||
+ | |||
+ | == DEBUG:CMD == | ||
+ | |||
+ | == DEBUG:PING == | ||
+ | |||
+ | == DEBUG: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND:SIT == | ||
+ | |||
+ | == COMMAND:AFK == | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == COMMAND: | ||
+ | |||
+ | == MP_EVAL: | ||
+ | |||
+ | == MP_EVAL: | ||
+ | |||
+ | == MP_EVAL: | ||
+ | |||
+ | == MP_EVAL: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT:BUY == | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
== BOTCHAT: | == BOTCHAT: | ||
+ | |||
Le client informe de certains filtres. | Le client informe de certains filtres. | ||
Ligne 1109: | Ligne 1557: | ||
Bref, pour en savoir plus, il va falloir faire des tests ! S'il y a des exemples de filtres, demander à des joueuses de Ryzom (il y en a sur le canal XMPP Khaganat) si ça leur évoque quelque chose. S'il n'y a aucun exemple, donner la piste pour les trouver, et on demandera à quelqu' | Bref, pour en savoir plus, il va falloir faire des tests ! S'il y a des exemples de filtres, demander à des joueuses de Ryzom (il y en a sur le canal XMPP Khaganat) si ça leur évoque quelque chose. S'il n'y a aucun exemple, donner la piste pour les trouver, et on demandera à quelqu' | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
En fait, tout ce qui est ' | En fait, tout ce qui est ' | ||
- | --- //[[wiki:user: | + | --- // |
</ | </ | ||
Ligne 1139: | Ligne 1587: | ||
* itemPart (Uint8) | * itemPart (Uint8) | ||
* itemType (Uint8) | * itemType (Uint8) | ||
+ | |||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT:END == | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == BOTCHAT: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == JOURNAL: | ||
+ | |||
+ | == STRING_MANAGER: | ||
+ | |||
+ | == STRING_MANAGER: | ||
+ | |||
+ | Le serveur envoie un message, plus précisément le pointeur sur le message. | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention : dépend de la version que vous avez de '' | ||
+ | </ | ||
+ | +----------------+--------------+------------------+------------------+ | ||
+ | | STRING_MANAGER | PHRASE_SEND | ||
+ | | 6 bits | 3 bits | uint32 | ||
+ | | 011011 | ||
+ | +----------------+--------------+------------------+------------------+ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | == STRING_MANAGER: | ||
+ | |||
+ | Le client demande le message complet en fonction du pointeur. | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | +----------------+--------------+------------------+ | ||
+ | | STRING_MANAGER | STRING_RQ | ||
+ | | 6 bits | 3 bits | uint32 | ||
+ | | 011011 | ||
+ | +----------------+--------------+------------------+ | ||
+ | |||
+ | * '' | ||
+ | |||
+ | Le serveur va répondre à ce message par '' | ||
+ | |||
+ | == STRING_MANAGER: | ||
+ | |||
+ | Le serveur renvoie le message complet. | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | +----------------+--------------+------------------+--------------+ | ||
+ | | STRING_MANAGER | STRING_RESP | ||
+ | | 6 bits | 3 bits | uint32 | ||
+ | | 011011 | ||
+ | +----------------+--------------+------------------+--------------+ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | On remarque ici l' | ||
+ | |||
+ | |||
+ | == STRING_MANAGER: | ||
+ | |||
+ | Commande utilisée pour initialiser le tableau de message. | ||
+ | |||
+ | Ici, on vérifie que notre tableau interne au client a la même date que le tableau du serveur. Sinon, on efface le tableau interne du client, et à chaque nouveau message le client demandera à quoi il correspond. | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention : dépend de la version que vous avez de '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | +----------------+--------------+------------------+ | ||
+ | | STRING_MANAGER | RELOAD_CACHE | timestamp | ||
+ | | 6 bits | 3 bits | uint32 | ||
+ | | 011011 | ||
+ | +----------------+--------------+------------------+ | ||
+ | |||
+ | * '' | ||
+ | |||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD:QUIT == | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | Le serveur signale que la guilde((Le MMORPG utilise un système de " | ||
+ | |||
+ | Code actuel : '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Attention : dépend de la version que vous avez de msg.xml, susceptible de changer. | ||
+ | </ | ||
+ | |||
+ | +------------+-------------------+--------------------+ | ||
+ | | GUILD | USE_FEMALE_TITLES | UseFemaleTitles | ||
+ | | 6 bits | 5 bits | bool | | ||
+ | | 011100 | ||
+ | +------------+-------------------+--------------------+ | ||
+ | |||
+ | * UseFemaleTitles (bool) : 1 = Oui, 0 = Non | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == GUILD: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == OUTPOST: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE:BUY == | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == PHRASE: | ||
+ | |||
+ | == ITEM_INFO: | ||
+ | |||
+ | == ITEM_INFO: | ||
+ | |||
+ | == ITEM_INFO: | ||
+ | |||
+ | == MISSION_PREREQ: | ||
+ | |||
+ | == MISSION_PREREQ: | ||
+ | |||
+ | == MISSION: | ||
+ | |||
+ | == MISSION: | ||
+ | |||
+ | == MISSION: | ||
+ | |||
+ | == MISSION: | ||
+ | |||
+ | == MISSION: | ||
+ | |||
+ | == DUEL:ASK == | ||
+ | |||
+ | == DUEL:ACCEPT == | ||
+ | |||
+ | == DUEL:REFUSE == | ||
+ | |||
+ | == DUEL: | ||
+ | |||
+ | == DUEL: | ||
+ | |||
+ | == DUEL: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP_CHALLENGE: | ||
+ | |||
+ | == PVP:PVP_TAG == | ||
+ | |||
+ | == PVP: | ||
+ | |||
+ | == PVP: | ||
+ | |||
+ | == PVP_FACTION: | ||
+ | |||
+ | == PVP_FACTION: | ||
+ | |||
+ | == PVP_FACTION: | ||
+ | |||
+ | == ENCYCLOPEDIA: | ||
+ | |||
+ | == ENCYCLOPEDIA: | ||
+ | |||
+ | == USER:BARS == | ||
+ | |||
+ | == USER:POPUP == | ||
+ | |||
+ | == EVENT: | ||
+ | |||
+ | == EVENT:DUMMY == | ||
+ | |||
+ | == TOTEM:BUILD == | ||
+ | |||
+ | == TOTEM:DUMMY == | ||
+ | |||
+ | == MODULE_GATEWAY: | ||
+ | |||
+ | == MODULE_GATEWAY: | ||
+ | |||
+ | == MODULE_GATEWAY: | ||
+ | |||
+ | == SEASON:SET == | ||
+ | |||
+ | == SEASON: | ||
+ | |||
+ | == DM_GIFT: | ||
+ | |||
+ | == DM_GIFT: | ||
+ | |||
+ | == RING_MISSION: | ||
+ | |||
+ | == RING_MISSION: | ||
+ | |||
+ | == NPC_ICON: | ||
+ | |||
+ | == NPC_ICON: | ||
+ | |||
+ | == NPC_ICON: | ||
+ | |||
+ | == NPC_ICON: | ||
Ligne 1175: | Ligne 1991: | ||
Il s'agit d'une liste sans fin de VisualProperty | Il s'agit d'une liste sans fin de VisualProperty | ||
- | +----------------+----------------+ | + | |
- | | VisualProperty | VisualProperty | . . . | + | | VisualProperty | VisualProperty | . . . |
- | | + | +----------------+----------------+ |
=== VisualProperty === | === VisualProperty === |