Aller au contenu
Afficher dans l'application

Une meilleure façon de naviguer. En savoir plus.

Asterobot

Une application plein écran sur votre écran d'accueil avec notifications push, badges et plus encore.

Pour installer cette application sur iOS et iPadOS
  1. Appuyez sur Icône de partage dans Safari
  2. Faites défiler le menu et appuyez sur Ajouter à l'écran d'accueil.
  3. Appuyez sur Ajouter dans le coin supérieur droit.
Pour installer cette application sur Android
  1. Appuyez sur le menu à trois points (⋮) dans le coin supérieur droit du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application.
  3. Confirmez en appuyant sur Installer.

Protocole Dofus

Le protocole Dofus actuellement pris en charge par Asterobot
The looks of the characters following a character (its followers), by position.
Kind struct · Area Game.Common
1. Draw one follower per IndexedEntityLook in FollowingCharactersOption.following_characters_looks, at its index in the line. 2. Ignore the int64 member: the client never reads it.
Not sent on its own — a record carried by HumanOption.followers, never sent on its own. proven
Used by
HumanOption Fields
#FieldTypeMeaningYou set it 1following_characters_looksrepeated IndexedEntityLookThe followers' looks, each with its position.
A list of IndexedEntityLook.never
  • summary: The looks of the characters following a character (its followers), by position.
  • area: Game.Common
  • 18 vues
The haven bag theme packs the account owns.
Kind event · Area Game.HavenBag
Lists the haven bag theme packs the account owns.
WHAT TO DO WHEN YOU RECEIVE IT
1. Replace your list of owned packs with HavenBagPackListEvent.packs_id. Ignore a -1 entry, as the client does. 2. SEND NOTHING BACK.
The declared list of int64 is never read by the client: ignore it.
When you may send it
Requires context_ready inferred Related messages
Unsolicited - nothing you send causes this the server sends it with the character's login data Fields
#FieldTypeMeaningYou set it 2packs_idrepeated int32The ids of the haven bag theme packs owned.
A -1 entry is dropped by the client.never
  • summary: The haven bag theme packs the account owns.
  • area: Game.HavenBag
  • 18 vues
One look option of a character on the map: guild, alliance, title, ornament, emote, speed, followers...
Kind struct · Area Game.Common
One element of Humanoid.options. Exactly one branch of option is set.
HOW TO READ IT
1. guild_information: the character's guild (id, name, level, emblem). 2. alliance_information (AllianceOption): its alliance and whether it can be attacked. 3. title_option (TitleOption) / ornament_option (OrnamentOption): the title and ornament shown with the name. 4. emote_option (EmoteOption): an emote the character is playing right now. 5. object_use_option (ObjectUseOption) / skill_use_option (SkillUseOption): an item or an interactive element the character is busy using, and until when. 6. followers (FollowingCharactersOption): the looks of the characters following it. 7. speed_multiplier: the character's movement speed factor (1 = normal).
Not sent on its own — a record carried by Humanoid.options, never sent on its own. proven
Used by
Humanoid Fields
#FieldTypeMeaningYou set it 1title_optionTitleOptionSet when the character shows a title.
See TitleOption.never 2object_use_optionObjectUseOptionSet while the character is using an item.
See ObjectUseOption.never 3speed_multiplierint32The character's movement speed factor.
Observed: 1
1 is the normal speed.never 4alliance_informationAllianceOptionSet when the character is in an alliance.
See AllianceOption.never 5skill_use_optionSkillUseOptionSet while the character is using an interactive element.
See SkillUseOption.never 6ornament_optionOrnamentOptionSet when the character shows an ornament.
See OrnamentOption.never 7followersFollowingCharactersOptionSet when characters follow this one: their looks.
See FollowingCharactersOption.never 8emote_optionEmoteOptionSet while the character plays an emote.
See EmoteOption.never 9guild_informationGuildInformationSet when the character is in a guild: the guild's id, name, level and emblem.
A GuildInformation record (no signature yet).never
  • summary: One look option of a character on the map: guild, alliance, title, ornament, emote, speed, followers...
  • area: Game.Common
  • 18 vues
A character on the map: account, alignment, gender, account role, restrictions and look options.
Kind struct · Area Game.Common
The character half of NamedActor.
HOW TO READ IT
1. Humanoid.account_id identifies the player's ACCOUNT (not the character: the character is the actor id of ActorPositionInformation). 2. Humanoid.alignment_information, Humanoid.gender and Humanoid.hierarchy (ROLE_PLAYER for an ordinary player) describe the character and its account. 3. Humanoid.restrictions lists what the character may not do or undergo (Restriction). 4. Humanoid.options is a list of HumanOption: guild, alliance, title, ornament, emote in progress, speed... Apply every option; an option absent from the list is OFF. 5. Humanoid.mutant_information is set when the character is transformed into a monster. 6. Ignore the empty decoy_3Type member.
Not sent on its own — a record carried by NamedActor.humanoid_information, never sent on its own. proven
Used by
NamedActor Fields
#FieldTypeMeaningYou set it 1optionsrepeated HumanOptionThe character's look options: guild, alliance, title, ornament, emote, speed...
A list of HumanOption; an option missing from the list is off.never 2account_idint64The player's account id (not the character id).
Observed: 177228328never 3hierarchyHierarchyThe account's role: ROLE_PLAYER for an ordinary player, or a staff role.
Observed: ROLE_PLAYER
A Hierarchy.
Invented name: absent from beta's Humanoid; named after its type.never 4mutant_informationMutantInformationSet when the character is transformed into a monster.
See MutantInformation.never 5restrictionsrepeated RestrictionWhat the character may not do or undergo right now.
A list of Restriction; values not named.never 6alignment_informationAlignmentInformationThe character's alignment and level.
See AlignmentInformation.never 7genderGenderThe character's gender.
A Gender: MALE or FEMALE.never
  • summary: A character on the map: account, alignment, gender, account role, restrictions and look options.
  • area: Game.Common
  • 18 vues
One follower's look and its position in the line of followers.
Kind struct · Area Game.Common
1. IndexedEntityLook.look: the follower's EntityLook. 2. IndexedEntityLook.index: its position in the line. 3. Ignore the other int32 and the decoy_3Type member.
Not sent on its own — a record carried by FollowingCharactersOption.following_characters_looks, never sent on its own. proven
Used by
FollowingCharactersOption Fields
#FieldTypeMeaningYou set it 1lookEntityLookThe follower's appearance.
See EntityLook.never 4indexint32The follower's position in the line.never
  • summary: One follower's look and its position in the line of followers.
  • area: Game.Common
  • 15 vues
How many of one item sit in one of the character's storages, so a single stack can be reported per location.
Kind struct · Area Game.Common
The record's name is Ankama's: the client's type-name table spells InventoryQuantity (see the reverse-engineering notes). Both MEMBERS and ObjectStorageKind with all of its values are still our descriptive labels, derived from proven client behaviour: no oracle names them. The BEHAVIOUR below is proven; those spellings are not.
ObjectItem carries a repeated list of these, which is how one stack is reported as, say, 3 in the inventory and 20 in the bank at the same time. The client sums nothing for you: it switches on storage and folds each count into a separate counter.
AN ENTRY WHOSE STORAGE IS UNSPECIFIED IS SILENTLY DROPPED by the client, so do not treat the list as exhaustive of the item's true total.
Not sent on its own — it is only ever reached as an element of ObjectItem.storage_quantities. proven
Used by
ObjectItem ObjectQuantityEvent Fields
#FieldTypeMeaningYou set it 1quantityint32How many units of the item are held in the storage named beside it.
WE CHOSE THIS NAME. Proven as the count the client folds into one of three tooltip counters.never 4storageObjectStorageKindWhich of the character's storages this count belongs to.
WE CHOSE THIS NAME. See ObjectStorageKind.never
  • summary: How many of one item sit in one of the character's storages, so a single stack can be reported per location.
  • area: Game.Common
  • 18 vues
One job's crafter directory settings: the job, the minimum item level and free crafting.
Kind struct · Area Game.Job
One job's crafter directory settings.
- JobCrafterDirectorySettings.job_id: the job. - JobCrafterDirectorySettings.min_level: the minimum level of the items the character agrees to craft for others with this job. - JobCrafterDirectorySettings.free: true when it crafts for free.
The fourth declared int32 is never read nor written by the client: leave it at 0.
Not sent on its own — a record carried by JobCrafterDirectorySettingsEvent.settings. proven
Used by
JobCrafterDirectorySettingsEvent Fields
#FieldTypeMeaningYou set it 1min_levelint32The minimum level of the items crafted for others.
Kept in the client's CrafterDirectory.minLevel.always 2job_idint32The job.
The UI passes the job wrapper's id.always 3freeboolTrue when the character crafts for free.
Kept in CrafterDirectory.free; set from the 'free craft' checkbox.always
  • summary: One job's crafter directory settings: the job, the minimum item level and free crafting.
  • area: Game.Job
  • 15 vues
The character's crafter directory settings, one entry per job.
Kind event · Area Game.Job
The character's crafter directory settings: for each job, the minimum level of the items it crafts for others and whether it crafts for free.
WHAT TO DO WHEN YOU RECEIVE IT
1. For each element of JobCrafterDirectorySettingsEvent.settings, store JobCrafterDirectorySettings.min_level and JobCrafterDirectorySettings.free under its JobCrafterDirectorySettings.job_id, replacing what you had for that job. 2. SEND NOTHING BACK. To change a setting, the client sends JobCrafterDirectorySettingsRequest with one JobCrafterDirectorySettings.
When you may send it
Requires context_ready inferred Related messages
Unsolicited - nothing you send causes this the server sends it with the character's job data, and after a settings change Fields
#FieldTypeMeaningYou set it 1settingsrepeated JobCrafterDirectorySettingsOne settings entry per job.
Elements are JobCrafterDirectorySettings.never
  • summary: The character's crafter directory settings, one entry per job.
  • area: Game.Job
  • 16 vues
A player on your map starts or stops offering to craft for others, with their craft skills.
Kind event · Area Game.Job
A player on your map offers (or stops offering) to craft for other players. The server sends it right after a player appears on the map, and when they toggle the option.
WHAT TO DO WHEN YOU RECEIVE IT
1. Read JobMultiCraftStateEvent.player_skills (PlayerSkills): the player and their craft skills. 2. If JobMultiCraftStateEvent.enabled is true, record that player as an available crafter with those skills; if false, remove them. 3. SEND NOTHING BACK.
When you may send it
Requires roleplay_context inferred Related messages
Unsolicited - nothing you send causes this sent when a player on the map is shown or toggles crafting for others Fields
#FieldTypeMeaningYou set it 1player_skillsPlayerSkillsThe player and their craft skills.
A PlayerSkills.never 2enabledboolTrue when the player offers to craft for others; false when they stop.
False removes the player from the available crafters.never
  • summary: A player on your map starts or stops offering to craft for others, with their craft skills.
  • area: Game.Job
  • 16 vues
A living object (a speaking item) says one of its lines in chat.
Kind event · Area Game.Living.Object
A living object (an item with its own mood and lines) talks in chat.
TO SHOW IT
1. Look LivingObjectMessageEvent.message_id up in the speaking-item texts game data (SpeakingItemsTexts) to get the line. 2. Print <owner_name>: <line>, as the client does, with LivingObjectMessageEvent.owner_name as the speaker. 3. LivingObjectMessageEvent.timestamp dates the line in the chat header.
Ignore every other member: the client never reads it.
When you may send it
Requires character_loaded inferred Related messages
Unsolicited - nothing you send causes this the server makes a worn living object speak on its own; nothing requests it Fields
#FieldTypeMeaningYou set it 1message_idint32Which line the object says. (speaking item text id)
An id of the SpeakingItemsTexts game data; its textId is the localized line.never 2owner_namestringThe speaker shown before the line.
The client prints <owner_name>: <line> and puts it in the chat header as the sender.never 3timestampint64When the line was said.
Fills the chat header's time, the slot a channel message fills with its parsed date.never
  • summary: A living object (a speaking item) says one of its lines in chat.
  • area: Game.Living.Object
  • 16 vues
One looted thing: its id and how many.
Kind struct · Area Game.Fight
One looted thing.
- Loot.id is an item id (in FightLoot.objects) or an alteration id (in FightLoot.alterations). - Loot.quantity is how many of the item. The same item may appear several times: add the quantities, as the client does.
The third declared int32 is copied into the client's item and never read: ignore it.
Not sent on its own — it is only ever an element of FightLoot.objects or FightLoot.alterations. proven
Used by
FightLoot Fields
#FieldTypeMeaningYou set it 1quantityint32How many of the item.
Named after beta's FightLoot.Object.quantity.
Duplicates are summed by the client.never 3idint32The item id, or the alteration id in an alteration list.
Named after beta's FightLoot.Object.id.never
  • summary: One looted thing: its id and how many.
  • area: Game.Fight
  • 16 vues
How a smithing attempt changed the item's magic pool.
Kind enum · Area Game.Exchange
Carried by ExchangeCraftResultWithObjectDescription.magic_pool_status. The values keep their obfuscated names. On 3.7.11.11 the smithing window shows 1 as a gain ('+') and the other non-zero value as a loss ('-'); beta names them no change 0, increase 1, loss 2.
Not sent on its own — an enum carried by ExchangeCraftResultWithObjectDescription, never sent on its own. inferred
Used by
ExchangeCraftResultWithObjectDescription No fields you may set.
  • summary: How a smithing attempt changed the item's magic pool.
  • area: Game.Exchange
  • 17 vues
A monster group linked into a chat line: where it stands, who leads it and what it holds.
Kind struct · Area Game.Chat
One monster group a player dropped into a chat line (right-click a group on the map, then "insert link"). The line's words stay in the message's content; this record rides in Metadata.monster_groups beside it.
TO SHOW A RECEIVED LINK
1. Read MonsterGroup.coordinates and MonsterGroup.world_map_id: the map position the link points at. The client builds a "localize" link from them. 2. Read MonsterGroup.leader_id (the monster shown as the group's leader) and MonsterGroup.group_infos (the group's make-up as text). The client builds a "show in bestiary" link from them, with MonsterGroup.waves_count and MonsterGroup.scale_mode. 3. MonsterGroup.group_id identifies the group itself; both links carry it.
TO SEND ONE
1. Fill every member from the group on your map, as above. 2. Add the record to Metadata.monster_groups of the chat request, beside the text. One record per linked group.
Not sent on its own — it only travels inside Metadata.monster_groups, attached to a chat message. inferred
Used by
Metadata Fields
#FieldTypeMeaningYou set it 1waves_countint32How many waves the group fights in.
Named after the wavesCount parameter of both link builders.required 2coordinatesMapCoordinatesWhere the group stands on the world map.
The client passes its two numbers as x and y of the localize link; read them as MapCoordinates.world_x / MapCoordinates.world_y.required 3world_map_idint32The world map the coordinates belong to.
Named after the localize link's worldMapId parameter. When sending, the client takes it from the group's sub-area (SubAreaData.worldmapId).required 4group_idint64The group itself: its actor id on the map.
Named after the groupId parameter; both link builders also make a network link from it alone (CreateLinkForNetwork(groupId)).required 5scale_modeint32A display option of the links; the client only tests whether it is non-zero.
Named after the scaleMode parameter of both link builders (default 0). Proven by native code only: it is passed on the stack, which Cpp2IL's ISIL prints out of order.required 6group_infosstringThe group's make-up, as text.
Named after the groupInfos parameter. The bestiary link parses it into a set of ids when clicked; send it exactly as you received it.required 8leader_idint32The monster shown as the group's leader. (monster id)
Named after the leaderId parameter of both link builders.required
  • summary: A monster group linked into a chat line: where it stands, who leads it and what it holds.
  • area: Game.Chat
  • 20 vues
A character's mood smiley changed: one of your own characters, or a friend's or acquaintance's.
Kind event · Area Game.Social
A mood smiley changed. The official client updates the matching entry of its own character list and of its friend and acquaintance lists.
WHAT TO DO WHEN YOU RECEIVE IT
1. If MoodUpdateEvent.character_id is one of your characters, store MoodUpdateEvent.smiley_id as that character's mood. 2. Otherwise compare character_id with each friend's and acquaintance's ACCOUNT id, as the official client does, and store smiley_id on the entry that matches. 3. SEND NOTHING BACK.
WHY STEP 2 COMPARES WITH AN ACCOUNT ID. The client keys its friend and acquaintance entries by account id, yet it compares them with character_id. The unobfuscated beta client does exactly the same with the same member, so this is the game's behaviour, not a recovery error. For a contact the comparison only succeeds when the server puts the account id in this field.
The message has a second int64 (beta: account_id). No dumped client reads it, so it is not named here.
When you may send it
Requires context_ready inferred Related messages
Unsolicited - nothing you send causes this another player changed their mood Fields
#FieldTypeMeaningYou set it 1character_idint64The character whose mood changed.
The official client compares it with its own characters' ids and with its contacts' account ids; see the message description.never 3smiley_idint32The contact's new mood smiley.
An id of the smileys game data.never
  • summary: A character's mood smiley changed: one of your own characters, or a friend's or acquaintance's.
  • area: Game.Social
  • 17 vues
The monster a transformed character has become, and its power level.
Kind struct · Area Game.Common
1. MutantInformation.monster_id: the monster the character is shown as (monster id of the game data). 2. MutantInformation.power_level: its power level, as in FightMutantInformation.
Not sent on its own — a record carried by Humanoid.mutant_information, never sent on its own. proven
Used by
Humanoid Fields
#FieldTypeMeaningYou set it 1power_levelint32The transformation's power level.never 2monster_idint32The monster the character is shown as, as a monster id of the game data.never
  • summary: The monster a transformed character has become, and its power level.
  • area: Game.Common
  • 20 vues
A mutant's part of a fight result line: its level.
Kind struct · Area Game.Fight
The mutant-specific part of a fight result line.
MutantListEntry.level is the mutant's level, displayed like a player level (omega above 200). The second declared int32 is never read by the client: ignore it.
Not sent on its own — it is only ever FighterListEntry.mutant_list_entry. proven
Used by
FighterListEntry Fields
#FieldTypeMeaningYou set it 2levelint32The mutant's level.
Displayed like a player level.never
  • summary: A mutant's part of a fight result line: its level.
  • area: Game.Fight
  • 16 vues
A named roleplay actor (a player character): its name and what kind of named actor it is.
Kind struct · Area Game.Common
The named_actor branch of RolePlayActor.
HOW TO READ IT
1. NamedActor.name is the name to show above the actor. 2. If NamedActor.humanoid_information is set, the actor is a character: read Humanoid for its account, alignment, gender and look options. 3. The actor oneof has a second branch (beta: mount_information). On 3.7 its record is the type-name table's Ride and the client never reads it: ignore it. 4. Ignore the two members outside the oneof (a second Humanoid-typed record and the decoy_3Type record): the client never reads them.
Not sent on its own — a record carried by RolePlayActor.named_actor, never sent on its own. proven
Used by
RolePlayActor Fields
#FieldTypeMeaningYou set it 5namestringThe actor's name, as shown above it.
Observed: Maxi-hopnever 1humanoid_informationHumanoidSet for a character: its account, alignment, gender and look options.
See Humanoid.never
  • summary: A named roleplay actor (a player character): its name and what kind of named actor it is.
  • area: Game.Common
  • 18 vues
A fight team and the name of the party fighting in it.
Kind struct · Area Game.Fight
A fight team with the name of its party.
NamedPartyTeam.team is the team (Team); NamedPartyTeam.party_name is the name of the party fighting in it, empty when there is none.
Not sent on its own — it is only ever NamedPartyTeamWithOutcome.team. proven
Used by
NamedPartyTeamWithOutcome Fields
#FieldTypeMeaningYou set it 1party_namestringThe name of the party fighting in this team; empty for none.never 2teamTeamThe team.
A Team.never
  • summary: A fight team and the name of the party fighting in it.
  • area: Game.Fight
  • 16 vues
A named team of the fight and whether it won or lost.
Kind struct · Area Game.Fight
One named team of the fight and its outcome.
NamedPartyTeamWithOutcome.team is the team and its party name; NamedPartyTeamWithOutcome.outcome is how the fight ended for it (FightOutcome). The client shows the party name of the team with RESULT_VICTORY as the winners and the one with RESULT_LOST as the losers; a team with an empty name is skipped.
Not sent on its own — it is only ever an element of FightEndEvent.named_party_teams_outcomes. proven
Used by
FightEndEvent Fields
#FieldTypeMeaningYou set it 1teamNamedPartyTeamThe team and the name of its party.
See NamedPartyTeam.never 2outcomeFightOutcomeHow the fight ended for this team.
A FightOutcome.never
  • summary: A named team of the fight and whether it won or lost.
  • area: Game.Fight
  • 16 vues
The server refused an action on an item, and says why.
Kind event · Area Game.Inventory
An item action you asked for was refused: equipping, unequipping, dropping, destroying, feeding a living object, and so on.
TO HANDLE IT
1. Read ObjectErrorEvent.reason. 2. Show its message. The client prints one chat line per reason, from the ui.objectError.* texts (InventoryFull, CannotEquipTwice, CannotDrop, CannotDropNoPlace, CannotDelete, levelTooLow, cannotUnequip, cannotEquipHere, criterions, LivingObjectRefusedFood). 3. Assume the item did not move: nothing else changes.
When you may send it
Requires character_loaded inferred Related messages
Unsolicited - nothing you send causes this it can follow any item action (equip, drop, destroy, feed a living object); no single request owns it Fields
#FieldTypeMeaningYou set it 1reasontype not documented yetWhy the item action was refused.
Beta's ObjectError: inventory full, cannot equip twice, not tradable, cannot drop (no place), cannot destroy, level too low, living object refused food, cannot unequip, cannot equip here, criterions, symbiotic object error, evolutive object refused food. The values are not named here yet.never
  • summary: The server refused an action on an item, and says why.
  • area: Game.Inventory
  • 15 vues
An item a character is busy using, and until when.
Kind struct · Area Game.Common
1. ObjectUseOption.object_gid: the item (generic id of the game data). 2. ObjectUseOption.delayed_action_type (DelayedActionType): the kind of delayed use, as in DelayedActionEvent. 3. ObjectUseOption.end_delay: when the use ends (a date string the client parses). 4. Ignore the decoy_3Type member.
Not sent on its own — a record carried by HumanOption.object_use_option, never sent on its own. proven
Used by
HumanOption Fields
#FieldTypeMeaningYou set it 1delayed_action_typeDelayedActionTypeThe kind of delayed use.
A DelayedActionType.never 3end_delaystringWhen the use ends.
A date string; the client parses it.never 4object_gidint32The item being used, as a generic item id of the game data.never
  • summary: An item a character is busy using, and until when.
  • area: Game.Common
  • 17 vues
The ornament a character shows, its level, and its arena league and ladder position.
Kind struct · Area Game.Common
1. OrnamentOption.ornament_id: an ornament id of the game data. 2. OrnamentOption.player_level: the character's level (always set). 3. OrnamentOption.league_id / OrnamentOption.ladder_position: set for an arena ornament, the league and the rank in it.
Not sent on its own — a record carried by HumanOption.ornament_option, never sent on its own. proven
Used by
HumanOption Fields
#FieldTypeMeaningYou set it 1league_idint32The arena league of an arena ornament.
Explicit presence: absent is not the same as zero.
Unset for other ornaments.never 2ornament_idint32The ornament shown, as an ornament id of the game data.
Explicit presence: absent is not the same as zero.
Observed: 99never 3ladder_positionint32The character's rank in that league.
Explicit presence: absent is not the same as zero.
Unset for other ornaments.never 4player_levelint32The character's level.
Observed: 131never
  • summary: The ornament a character shows, its level, and its arena league and ladder position.
  • area: Game.Common
  • 20 vues
Hand the party leadership to another member (leader only).
Kind request · Area Game.Party
Make another member the party leader.
HOW TO SEND IT
1. Set PartyAbdicateThroneRequest.party_id to your party's id and PartyAbdicateThroneRequest.player_id to the new leader's character id. 2. Wait for PartyLeaderUpdateEvent.
When you may send it
Requires context_ready inferred Raised by: a user action: Promote leader in a member's player menu (PlayerMenuMaker.OnPromoteLeader) proven Related messages
You will then receive PartyLeaderUpdateEvent inferred — the party is told who leads now Fields
#FieldTypeMeaningYou set it 1player_idint64The member who becomes leader.
A character id.always 2party_idint32Your party's id.
PartyJoinEvent.party_id.always
  • summary: Hand the party leadership to another member (leader only).
  • area: Game.Party
  • 16 vues
Your party no longer exists: forget it.
Kind event · Area Game.Party
The party no longer exists: it was dissolved (in the capture, its only invited player refused, which left the leader alone).
WHAT TO DO WHEN YOU RECEIVE IT
1. Ignore it unless PartyDeletedEvent.party_id is your party's (or your arena team's) id, PartyJoinEvent.party_id. 2. Forget that party: its members, pending guests, leader and name. You are in no party until the next PartyJoinEvent. 3. SEND NOTHING BACK.
The official client handles PartyLeaveEvent (you left) exactly the same way.
When you may send it
Requires context_ready inferred Related messages
Arrives after PartyInvitationRefusedEvent Fields
#FieldTypeMeaningYou set it 1party_idint32The party that was deleted.
Compare with PartyJoinEvent.party_id.never
  • summary: Your party no longer exists: forget it.
  • area: Game.Party
  • 14 vues
Follow a party member's position (compass flag).
Kind request · Area Game.Party
Follow a party member: their position is shown with a compass flag.
HOW TO SEND IT
1. Set PartyFollowMemberRequest.party_id to your party's id and PartyFollowMemberRequest.player_id to the member's character id. 2. Leave the other declared members (an int64 and an optional bool) at their defaults: the client never writes them.
When you may send it
Requires context_ready inferred Raised by: a user action: Follow in a member's player menu (PlayerMenuMaker.OnFollowMember / OnFollowAllThisMember) proven Related messages
Reply not yet recovered: the server answers with a follow-status event (ihc on 3.7.12.12), not signed yet. Fields
#FieldTypeMeaningYou set it 1player_idint64The member to follow.
A character id.always 3party_idint32Your party's id.
PartyJoinEvent.party_id.always
  • summary: Follow a party member's position (compass flag).
  • area: Game.Party
  • 16 vues

Compte

Navigation

Recherche

Recherche

Configurer les notifications push du navigateur

Chrome (Android)
  1. Appuyez sur l'icône de cadenas à côté de la barre d'adresse.
  2. Tap Autorisations → Notifications.
  3. Ajustez vos préférences.
Chrome (Desktop)
  1. Cliquez sur l'icône représentant un cadenas dans la barre d'adresse..
  2. Select Paramètres du site.
  3. Find Notifications et ajustez vos préférences.