| Class | CBNicknameList |
| Header | CBNicknameList.h |
Data Member Summary Member Details
Information:
| CBNicknameList is a class designed to support the innovative /Nickname feature. |
| Nicknames allow Players to create short, local, Nicknames for other Characters. |
| Players can then use these Nicknames instead of the full Character Name to send /tells to the other Player. |
| A Nickname is typically a shortened version of a hard to type, long, or familiar Character Name. |
| Players can create Nicknames locally on their client by using the /nickname Slash Command (if the Game utilizes the Slash Commands contained in the sample SlashCommands.XML file). |
| For Example: |
| /Nickname Zeb, Zebnoculous Androclese would created a Nickname named "Zeb" that would expand to "Zebnoculous Androclese" when using the /Tell Slash Command. |
| So a user could then type "/tell Zeb, Howdy" which would send the Chat Message to Zebnoculous Androclese. |
| Players can remove a Nickname by using the /nickname command with the previously defined Nickname as its parameter or by using the /unnickname Slash Command like so: /nickname Zeb or /unnickname Zeb would remove Zeb as a Nickname if it already was one. |
| Players can display the current Nicknames they have defined for other players by using the "/nicknamelist" or "/nickname List" commands. |
| Nicknames are quite useful when trying to communicate with Characters with difficult to type names such as: |
| /nickname Ill, Illipirilimininilirn |
| Nicknames can also facilitate /tells to Real Life friends that are playing the Game: |
| /nickname Mike, RockHeart OrcSmasher |
| Typically in MMOGs most Character names are truncated to 3 or 4 letters in common Group Chat usage. If a Player is named Scandia then Players often refer to them as Scan. A Player named Vanadia is usually called Van, etc. Nicknames allow this normal practice to be codified and used in-game. |
| Nicknames are supported only when using /Tell type commands. They are not currently supported for various other commands such as /who or /follow. |
| If a Nickname happens to be the actual name of another Character the other Character may be unreachable via /tells until the conflicting Nickname is removed. |
| Here are some Example Nickname commands: |
| /nickname Pal, Palladia Delfin Creates a Nickname of Pal which expands to Palladia Delfin in /tells |
| /nickname Tom, Valeria StarChaser Creates a Nickname of Tom which expands to Valeria StarChaser |
| /nickname List Displays all the current Nicknames |
| /nicknamelist Displays all the current Nicknames |
| /nickname Pal Removes Pal as a Nickname |
| /unnickname Tom Removes Tom as a Nickname |
| /nickname Rom, Romornimirnilli Rediculousirn Creates a Nickname of Rom which expands to Romornimirnilli Rediculousirn |
| /tell Rom, Your Name is too hard to spell Would send a tell to Romornimirnilli Rediculousirn. |
| Nicknames are used Client side and are defined by a Player for other Characters. |
| Players cannot define a Nickname for themselves which others can use. |
| Each Player likely shall have their own unique list of Nicknames that they have defined. |
| Nicknames themselves are limited to 1 word in length. The real Character name they map to may contain spaces and be more than 1 word long, if the game supports First and Last names. |
| Nicknames cannot be created for other Nicknames, only for true Character Names. |
| ChatBlade has implemented the Nickname functionality. Game Developers should not need much additional implementation beyond the Loading and Saving of the Nickname List. |
| An instance of CBNicknameList is contained in CBChatHandler and may be referenced via CBData::pChatHandler->m_NicknameList. |
Game Developer Implementation:
| An instance of this class does not need to be created. ChatBlade already creates an instance as a member of CBChatHandler. This instance may be referenced via CBData::pChatHandler->m_NicknameList. |
| Upon Game startup the Nickname list should be filled with whatever Nicknames a Player had previously defined. |
| A Players Nickname list should be persisted so that it may be loaded again the next time a Player enters the Game. |
Source File Comments:
| // Represents a map of user defined Nicknames and their actual Character name equivalents // Used to support the /nickname Command which lets users define their own Nicknames to use instead of full Character names |
| // Users may create Nicknames for other Players Character names // /Nickname name without a Character name clears that Nickname // /Nickname list displays all the Nicknames one has set up // For Example: // /Nickname Zeb, Zebnoculous Androcles // Would allow the user to now type in /tell Zeb, Howdy // This class is designed to store the relation between "Zeb" and "Zebnoculous Androcles" // Other Examples: // /Nickname Mike, Avrido Orcsmasher // /Nickname van, Vanadia // /Nickname Mike (clears this Nickname) // /Nickname list (lists our Nicknames) |
| // CBNicknameList is implemented as a map of the user defined Nicknames and their actual Character name equivalents // Nicknames are converted to UPPERCASE before storage |
| // ChatBlade shall check each Character name the user enters and see if it is a Nickname when using /Tell and related Commands // If so, ChatBlade shall replace that Nickname with the full Character name |
| // A Nickname cannot be used as a Nickname for another user defined Nickname, only a true Character name // If the user makes a Nickname that is the Character name of another Player already // that Player may not be accessible to /tells from this user, until the conflicting Nickname is cleared |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
| ChatBlade Copyright © Flex Dolphynn | |