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.

NpcDialogCreationEvent

  • summary: The server opening a dialog with an NPC, in answer to a dialog NPC action. The NPC's first line follows in NpcDialogQuestionEvent.
  • area: Game.Npc

The server opening a dialog with an NPC, in answer to a dialog NPC action. The NPC's first line follows in NpcDialogQuestionEvent.

Kind event · Area Game.Npc

The server opening a dialog between your character and an NPC. It is the success answer to an NpcGenericActionRequest whose action is a dialog - talking to an NPC, or using a portal NPC. From now on the server considers you IN A DIALOG with that NPC, until the dialog closes (DialogLeaveEvent).

WHAT TO DO WHEN YOU RECEIVE IT

1. MATCH IT TO YOUR REQUEST. npc_id and map_id are the very ids you sent as npc_id and npc_map_id in NpcGenericActionRequest. 2. YOU ARE IN THE DIALOG NOW. Do not walk away or start another action as if you were free: the dialog stays open until it closes. 3. WAIT FOR NpcDialogQuestionEvent. It follows straight away and carries what the NPC says and the replies you may choose. This message carries no text of its own. 4. ANSWER OR LEAVE. Answer with NpcDialogReplyRequest (one reply_id of the latest question), or close the dialog with DialogLeaveRequest.

WHAT THE OFFICIAL CLIENT DOES WITH IT

- It waits until the NPC whose actor id is npc_id exists on the current map (it looks the actor up by that id, as a 64-bit entity id, and waits while the lookup finds nothing). A dialog event that arrives before the map's actors are known is therefore held, not dropped. - It then builds the dialog window for that NPC - its look, its name - and hands it to the dialog service, which will show the questions. - For a DIMENSION PORTAL (portal_type set) it builds the portal dialog instead, from map_id and portal_type. The dialog service checks that map_id is the map you are on and gives up otherwise ("Required portal cannot be found on map {0}."), then opens the dialog of that dimension's portal. A portal_type it does not know is an error for the client. - It has a path where it does not open the dialog and instead sends DialogLeaveRequest itself, closing the dialog on the server side.

A script that shows nothing can skip the window: keep npc_id, wait for the question, answer or leave.

npc_id IS THE NPC'S ACTOR ID ON THE MAP, not its template id: map NPCs have negative actor ids (your capture: -20001), the ids GameRolePlayShowActorsEvent and MapComplementaryInformationEvent give the map's actors.

LIVE CAPTURE (3.6.12.16): after NpcGenericActionRequest {npc_map_id 153880835, npc_action_id 3, npc_id -20001} on the Incarnam portal NPC, this message arrived with npc_id -20001, map_id 153880835 and no portal type, immediately followed by NpcDialogQuestionEvent.

Builds pad this message with an unread repeated int64 or int32, a second int32, or a nested decoy message; the client reads only the three members above.

When you may send it

  • Requires character_loaded inferred

State it changes

  • Establishes npc_dialog_open inferred — the client opens its dialog window for this NPC, and the dialog's questions and replies only make sense while it is open

Related messages

  • You will receive one of NpcDialogQuestionEvent observed — the NPC's first line and replies, in the same burst; 1 of 1 capture
  • You will receive one of PrismDialogQuestionEvent inferred — instead of the question when the NPC is an alliance prism: the client opens the dialog in prism mode and this empty event makes it show the prism's fixed text (IDA, 3.7.4.4)
  • Arrives after NpcGenericActionRequest

Fields

#FieldTypeMeaningYou set it
1portal_typePortalTypeWhich dimension portal this dialog is about; absent for every other NPC.
Explicit presence: absent is not the same as zero.
Set only for the four dimension portals (PortalType); absent (UNSUPPORTED) for ordinary NPCs, the Incarnam portal NPC included.
When set, the client opens that dimension's portal dialog instead of the NPC's own.
never
3map_idint64The map the NPC is on - the npc_map_id of your request. (map id)
Echoes NpcGenericActionRequest.npc_map_id.
For a dimension portal the client checks it against the map you are on and opens nothing when they differ.
never
5npc_idint32The NPC you are now talking to, as its actor id on the map. (map actor id (negative for map NPCs))
Echoes NpcGenericActionRequest.npc_id; not the NPC's template id.
The client waits until an actor with this id exists on the map before it builds the dialog.
never

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.