Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The character menu does not update live #462

Open
VortixDev opened this issue Mar 11, 2019 · 0 comments
Open

The character menu does not update live #462

VortixDev opened this issue Mar 11, 2019 · 0 comments

Comments

@VortixDev
Copy link
Member

Various pieces of information (name, model, details, etc) about each character the client has are sent to the client during PlayerDataStreamInfoSent (via Clockwork.player.CharacterScreenAdd). Whilst the client is informed when a new character is created, or a character is removed, they are not informed if any of the transmitted pieces of information are updated.

The following pieces of information are of note:

  • name: when a character is renamed, its name is not updated in the character menu
  • model: when a character is re-modeled, its model is not updated in the character menu
  • banned: seemingly unused by the framework and official schemas, but meant to represent whether the character is banned or not (this is checked serverside by PlayerCanUseCharacter, so the information seems to have no bearing on the client)
  • details: a piece of text used as a tooltip for the character, with a message indicating if a character is PK'd, a different message if they are banned, and their physical description if neither
  • faction: when a character's faction is transferred, its faction is not updated in the character menu
  • customClass: when a character's custom class has changed, it is not updated in the character menu

Another field, characterID, is also sent, but it is not expected to change.

Additionally hindering the live updates is the fact that Clockwork.character.RefreshPanelList (which refreshes the character list) is not called by Clockwork.character.SetPanelOpen. Some background: when the "Load" button is pressed in the character menu to open the character listing, Clockwork.character.RefreshPanelList is called to ensure the displayed characters are up to date. If you were to then click the "Cancel" button on the top bar, the menu would be hidden again but it would be set back to the main menu behind the scenes. If, however, you click the green tick to select a character, the menu is hidden, but the character screen is not set back to the main menu. This means that the next time you enter the character menu, you don't need to click "Load" to view the characters, and so you could be viewing out of date information. It seems that either the tick should send the menu back to its main screen, or Clockwork.character.SetPanelOpen should call Clockwork.character.RefreshPanelList (ideally after checking if the character list is already open before doing so).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant