Updated generated files
(cherry picked from commit 709ac8b5642c543c7b70c0423adac000b488f316)
This commit is contained in:
18
docs/Packets/C1-F5-00-ChatCommandListRequest_by-client.md
Normal file
18
docs/Packets/C1-F5-00-ChatCommandListRequest_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# C1 F5 00 - ChatCommandListRequest (by client)
|
||||||
|
|
||||||
|
## Is sent when
|
||||||
|
|
||||||
|
A client which supports a user interface for chat commands requests the list of commands which are available to the player. It's usually sent after the character entered the game world.
|
||||||
|
|
||||||
|
## Causes the following actions on the server side
|
||||||
|
|
||||||
|
The server sends an AvailableChatCommand message for each available chat command.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
| Index | Length | Data Type | Value | Description |
|
||||||
|
|-------|--------|-----------|-------|-------------|
|
||||||
|
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||||
|
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||||
|
| 2 | 1 | Byte | 0xF5 | Packet header - packet type identifier |
|
||||||
|
| 3 | 1 | Byte | 0x00 | Packet header - sub packet type identifier |
|
||||||
60
docs/Packets/C2-F5-01-AvailableChatCommand_by-server.md
Normal file
60
docs/Packets/C2-F5-01-AvailableChatCommand_by-server.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# C2 F5 01 - AvailableChatCommand (by server)
|
||||||
|
|
||||||
|
## Is sent when
|
||||||
|
|
||||||
|
After the client requested the list of available chat commands. One message is sent for each command which is available to the player.
|
||||||
|
|
||||||
|
## Causes the following actions on the client side
|
||||||
|
|
||||||
|
The client adds the command to its list of known commands, so that it can offer them to the player without requiring him to know or type them.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
| Index | Length | Data Type | Value | Description |
|
||||||
|
|-------|--------|-----------|-------|-------------|
|
||||||
|
| 0 | 1 | Byte | 0xC2 | [Packet type](PacketTypes.md) |
|
||||||
|
| 1 | 2 | Short | | Packet header - length of the packet |
|
||||||
|
| 3 | 1 | Byte | 0xF5 | Packet header - packet type identifier |
|
||||||
|
| 4 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||||
|
| 5 | 1 | Byte | | Index; The index of this command within the list, starting at 0. |
|
||||||
|
| 6 | 1 | Byte | | Count; The total number of commands which are available to the player, so that the client knows when it received all of them. |
|
||||||
|
| 7 | 1 | CharacterStatus | | MinimumCharacterStatus; The character status which is required to execute the command. |
|
||||||
|
| 8 | 1 | Byte | | ParameterCount |
|
||||||
|
| 9 | 32 | String | | Command; The command including its slash, e.g. '/item'. |
|
||||||
|
| 41 | 48 | String | | Name; The name of the command, in the language of the player. |
|
||||||
|
| 89 | 256 | String | | Description; The description of the command, in the language of the player. |
|
||||||
|
| 345 | ChatCommandParameter.Length * ParameterCount | Array of ChatCommandParameter | | Parameters; The parameters of the command, in the order in which they are expected when they are entered without their short names. |
|
||||||
|
|
||||||
|
### ChatCommandParameter Structure
|
||||||
|
|
||||||
|
Describes one parameter of a chat command, so that a user interface can offer an input for it.
|
||||||
|
|
||||||
|
Length: 102 Bytes
|
||||||
|
|
||||||
|
| Index | Length | Data Type | Value | Description |
|
||||||
|
|-------|--------|-----------|-------|-------------|
|
||||||
|
| 0 | 1 | Boolean | | IsRequired; Defines if the parameter has to be specified to execute the command. |
|
||||||
|
| 1 | 1 | ChatCommandParameterType | | Type; The kind of value which is expected, so that a fitting input can be shown. |
|
||||||
|
| 2 | 32 | String | | Name |
|
||||||
|
| 34 | 20 | String | | ShortName; The short name which is used in the 'shortName=value' notation. It's empty when the parameter can only be passed by its position. |
|
||||||
|
| 54 | 48 | String | | ValidValues; The accepted values, separated by a pipe. It's empty when the parameter isn't limited to a set of values. |
|
||||||
|
|
||||||
|
### ChatCommandParameterType Enum
|
||||||
|
|
||||||
|
The kind of value which a chat command parameter expects.
|
||||||
|
|
||||||
|
| Value | Name | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| 0 | Text | The parameter expects a text. |
|
||||||
|
| 1 | Number | The parameter expects a number. |
|
||||||
|
| 2 | Boolean | The parameter expects a 0 or a 1. |
|
||||||
|
|
||||||
|
### CharacterStatus Enum
|
||||||
|
|
||||||
|
The status of a character.
|
||||||
|
|
||||||
|
| Value | Name | Description |
|
||||||
|
|-------|------|-------------|
|
||||||
|
| 0 | Normal | The state of the character is normal. |
|
||||||
|
| 1 | Banned | The character is banned from the game. |
|
||||||
|
| 32 | GameMaster | The character is a game master. |
|
||||||
@@ -179,6 +179,7 @@
|
|||||||
* [C1 F3 15 - FocusCharacter (by client)](C1-F3-15-FocusCharacter_by-client.md)
|
* [C1 F3 15 - FocusCharacter (by client)](C1-F3-15-FocusCharacter_by-client.md)
|
||||||
* [C1 F3 30 - SaveKeyConfiguration (by client)](C1-F3-30-SaveKeyConfiguration_by-client.md)
|
* [C1 F3 30 - SaveKeyConfiguration (by client)](C1-F3-30-SaveKeyConfiguration_by-client.md)
|
||||||
* [C1 F3 52 - AddMasterSkillPoint (by client)](C1-F3-52-AddMasterSkillPoint_by-client.md)
|
* [C1 F3 52 - AddMasterSkillPoint (by client)](C1-F3-52-AddMasterSkillPoint_by-client.md)
|
||||||
|
* [C1 F5 00 - ChatCommandListRequest (by client)](C1-F5-00-ChatCommandListRequest_by-client.md)
|
||||||
* [C1 F6 0A - QuestSelectRequest (by client)](C1-F6-0A-QuestSelectRequest_by-client.md)
|
* [C1 F6 0A - QuestSelectRequest (by client)](C1-F6-0A-QuestSelectRequest_by-client.md)
|
||||||
* [C1 F6 0B - QuestProceedRequest (by client)](C1-F6-0B-QuestProceedRequest_by-client.md)
|
* [C1 F6 0B - QuestProceedRequest (by client)](C1-F6-0B-QuestProceedRequest_by-client.md)
|
||||||
* [C1 F6 0D - QuestCompletionRequest (by client)](C1-F6-0D-QuestCompletionRequest_by-client.md)
|
* [C1 F6 0D - QuestCompletionRequest (by client)](C1-F6-0D-QuestCompletionRequest_by-client.md)
|
||||||
|
|||||||
@@ -230,6 +230,7 @@
|
|||||||
* [C1 F3 51 - MasterCharacterLevelUpdateExtended (by server)](C1-F3-51-MasterCharacterLevelUpdateExtended_by-server.md)
|
* [C1 F3 51 - MasterCharacterLevelUpdateExtended (by server)](C1-F3-51-MasterCharacterLevelUpdateExtended_by-server.md)
|
||||||
* [C1 F3 52 - MasterSkillLevelUpdate (by server)](C1-F3-52-MasterSkillLevelUpdate_by-server.md)
|
* [C1 F3 52 - MasterSkillLevelUpdate (by server)](C1-F3-52-MasterSkillLevelUpdate_by-server.md)
|
||||||
* [C2 F3 53 - MasterSkillList (by server)](C2-F3-53-MasterSkillList_by-server.md)
|
* [C2 F3 53 - MasterSkillList (by server)](C2-F3-53-MasterSkillList_by-server.md)
|
||||||
|
* [C2 F5 01 - AvailableChatCommand (by server)](C2-F5-01-AvailableChatCommand_by-server.md)
|
||||||
* [C1 F6 03 - QuestEventResponse (by server)](C1-F6-03-QuestEventResponse_by-server.md)
|
* [C1 F6 03 - QuestEventResponse (by server)](C1-F6-03-QuestEventResponse_by-server.md)
|
||||||
* [C1 F6 0A - AvailableQuests (by server)](C1-F6-0A-AvailableQuests_by-server.md)
|
* [C1 F6 0A - AvailableQuests (by server)](C1-F6-0A-AvailableQuests_by-server.md)
|
||||||
* [C1 F6 0B - QuestStepInfo (by server)](C1-F6-0B-QuestStepInfo_by-server.md)
|
* [C1 F6 0B - QuestStepInfo (by server)](C1-F6-0B-QuestStepInfo_by-server.md)
|
||||||
|
|||||||
108
src/GameServer/Properties/PlugInResources.Designer.cs
generated
108
src/GameServer/Properties/PlugInResources.Designer.cs
generated
@@ -996,6 +996,60 @@ namespace MUnique.OpenMU.GameServer.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Handles the packets about chat commands (0xF5)..
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandGroupHandlerPlugIn_Description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandGroupHandlerPlugIn_Description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Chat command packet group handler.
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandGroupHandlerPlugIn_Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandGroupHandlerPlugIn_Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Handles the request for the list of chat commands which are available to the player..
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandListRequestHandlerPlugIn_Description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandListRequestHandlerPlugIn_Description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Chat command list request handler.
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandListRequestHandlerPlugIn_Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandListRequestHandlerPlugIn_Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Sends the chat commands which are available to the player, so that the client can offer them in a user interface..
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandListViewPlugIn_Description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandListViewPlugIn_Description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Chat command list view.
|
||||||
|
/// </summary>
|
||||||
|
public static string ChatCommandListViewPlugIn_Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ChatCommandListViewPlugIn_Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Packet handler for chat messages..
|
/// Looks up a localized string similar to Packet handler for chat messages..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -6215,59 +6269,5 @@ namespace MUnique.OpenMU.GameServer.Properties {
|
|||||||
return ResourceManager.GetString("WhisperedChatMessageHandlerPlugIn_Name", resourceCulture);
|
return ResourceManager.GetString("WhisperedChatMessageHandlerPlugIn_Name", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Chat command list view.
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandListViewPlugIn_Name {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandListViewPlugIn_Name", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Sends the chat commands which are available to the player, so that the client can offer them in a user interface..
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandListViewPlugIn_Description {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandListViewPlugIn_Description", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Chat command packet group handler.
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandGroupHandlerPlugIn_Name {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandGroupHandlerPlugIn_Name", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Handles the packets about chat commands (0xF5)..
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandGroupHandlerPlugIn_Description {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandGroupHandlerPlugIn_Description", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Chat command list request handler.
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandListRequestHandlerPlugIn_Name {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandListRequestHandlerPlugIn_Name", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Handles the request for the list of chat commands which are available to the player..
|
|
||||||
/// </summary>
|
|
||||||
public static string ChatCommandListRequestHandlerPlugIn_Description {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ChatCommandListRequestHandlerPlugIn_Description", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
434
src/Web/AdminPanel/Properties/Resources.Designer.cs
generated
434
src/Web/AdminPanel/Properties/Resources.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -3903,4 +3903,18 @@ public class PacketStructureTests
|
|||||||
Assert.That(actualLength, Is.EqualTo(expectedLength),
|
Assert.That(actualLength, Is.EqualTo(expectedLength),
|
||||||
"Packet length mismatch: declared length does not match calculated size");
|
"Packet length mismatch: declared length does not match calculated size");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tests the packet size calculation for ChatCommandListRequest.
|
||||||
|
/// </summary>
|
||||||
|
[Test]
|
||||||
|
public void ChatCommandListRequest_PacketSizeValidation()
|
||||||
|
{
|
||||||
|
// Fixed-length packet validation
|
||||||
|
const int expectedLength = 4;
|
||||||
|
var actualLength = ChatCommandListRequestRef.Length;
|
||||||
|
|
||||||
|
Assert.That(actualLength, Is.EqualTo(expectedLength),
|
||||||
|
"Packet length mismatch: declared length does not match calculated size");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6413,4 +6413,42 @@ public class PacketStructureTests
|
|||||||
Assert.That(4 + 1, Is.LessThanOrEqualTo(expectedLength),
|
Assert.That(4 + 1, Is.LessThanOrEqualTo(expectedLength),
|
||||||
"Field 'Event' exceeds packet boundary");
|
"Field 'Event' exceeds packet boundary");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tests the packet size calculation for ChatCommandInfo.
|
||||||
|
/// </summary>
|
||||||
|
[Test]
|
||||||
|
public void ChatCommandInfo_PacketSizeValidation()
|
||||||
|
{
|
||||||
|
// Basic packet validation
|
||||||
|
// Validate header type and field boundaries
|
||||||
|
|
||||||
|
// Field 'Index' starts at index 5 with size 1
|
||||||
|
Assert.That(5, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'Index' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'Count' starts at index 6 with size 1
|
||||||
|
Assert.That(6, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'Count' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'MinimumCharacterStatus' starts at index 7 with size 1
|
||||||
|
Assert.That(7, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'MinimumCharacterStatus' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'ParameterCount' starts at index 8 with size 1
|
||||||
|
Assert.That(8, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'ParameterCount' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'Command' starts at index 9 with size 32
|
||||||
|
Assert.That(9, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'Command' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'Name' starts at index 41 with size 48
|
||||||
|
Assert.That(41, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'Name' has invalid negative index");
|
||||||
|
|
||||||
|
// Field 'Description' starts at index 89 with size 256
|
||||||
|
Assert.That(89, Is.GreaterThanOrEqualTo(0),
|
||||||
|
"Field 'Description' has invalid negative index");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user