Updated generated files

(cherry picked from commit 709ac8b5642c543c7b70c0423adac000b488f316)
This commit is contained in:
sven-n
2026-07-26 09:42:54 +02:00
committed by Acentech Dev
parent 0aedeb9ce8
commit cb810e8b0c
8 changed files with 457 additions and 217 deletions

View 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 |

View 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. |

View File

@@ -179,6 +179,7 @@
* [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 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 0B - QuestProceedRequest (by client)](C1-F6-0B-QuestProceedRequest_by-client.md)
* [C1 F6 0D - QuestCompletionRequest (by client)](C1-F6-0D-QuestCompletionRequest_by-client.md)

View File

@@ -230,6 +230,7 @@
* [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)
* [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 0A - AvailableQuests (by server)](C1-F6-0A-AvailableQuests_by-server.md)
* [C1 F6 0B - QuestStepInfo (by server)](C1-F6-0B-QuestStepInfo_by-server.md)

View File

@@ -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>
/// Looks up a localized string similar to Packet handler for chat messages..
/// </summary>
@@ -6215,59 +6269,5 @@ namespace MUnique.OpenMU.GameServer.Properties {
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);
}
}
}
}

View File

@@ -240,6 +240,42 @@ namespace MUnique.OpenMU.Web.AdminPanel.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Chat commands.
/// </summary>
public static string ChatCommands {
get {
return ResourceManager.GetString("ChatCommands", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Command.
/// </summary>
public static string CommandColumn {
get {
return ResourceManager.GetString("CommandColumn", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Description.
/// </summary>
public static string CommandDescription {
get {
return ResourceManager.GetString("CommandDescription", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Usage.
/// </summary>
public static string CommandUsage {
get {
return ResourceManager.GetString("CommandUsage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The connection server configuration has been saved. Initializing connect server ....
/// </summary>
@@ -855,6 +891,15 @@ namespace MUnique.OpenMU.Web.AdminPanel.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Required status.
/// </summary>
public static string MinimumCharacterStatus {
get {
return ResourceManager.GetString("MinimumCharacterStatus", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Minor.
/// </summary>
@@ -927,6 +972,15 @@ namespace MUnique.OpenMU.Web.AdminPanel.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to This command has no parameters..
/// </summary>
public static string NoParameters {
get {
return ResourceManager.GetString("NoParameters", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Not created.
/// </summary>
@@ -972,6 +1026,51 @@ namespace MUnique.OpenMU.Web.AdminPanel.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Name.
/// </summary>
public static string ParameterName {
get {
return ResourceManager.GetString("ParameterName", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Short name.
/// </summary>
public static string ParameterShortName {
get {
return ResourceManager.GetString("ParameterShortName", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Parameters of {0}.
/// </summary>
public static string ParametersOf {
get {
return ResourceManager.GetString("ParametersOf", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Type.
/// </summary>
public static string ParameterType {
get {
return ResourceManager.GetString("ParameterType", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Valid values.
/// </summary>
public static string ParameterValidValues {
get {
return ResourceManager.GetString("ParameterValidValues", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Patch.
/// </summary>
@@ -1116,6 +1215,15 @@ namespace MUnique.OpenMU.Web.AdminPanel.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Required.
/// </summary>
public static string Required {
get {
return ResourceManager.GetString("Required", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Save.
/// </summary>

View File

@@ -3903,4 +3903,18 @@ public class PacketStructureTests
Assert.That(actualLength, Is.EqualTo(expectedLength),
"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");
}
}

View File

@@ -6413,4 +6413,42 @@ public class PacketStructureTests
Assert.That(4 + 1, Is.LessThanOrEqualTo(expectedLength),
"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");
}
}