Mod API Reference:GameOrderCustom: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''GameOrderCustom''': Subclass of [[Mod API Reference:GameOrder|GameOrder]]. This order does nothing on its own, but it can be used by mods for custom orders. GameOrderCustom is typically sent up from clients to the server, in contrast to [[Mod API Reference:GameOrderEvent|GameOrderEvent]] which is typically sent down from the server to clients. | '''GameOrderCustom''': Subclass of [[Mod API Reference:GameOrder|GameOrder]]. This order does nothing on its own, but it can be used by mods for custom orders. GameOrderCustom is typically sent up from clients to the server, in contrast to [[Mod API Reference:GameOrderEvent|GameOrderEvent]] which is typically sent down from the server to clients. | ||
In order to make sure your mod doesn't break when used in conjunction with other mods, you should prepend a unique string (such as the name of your mod plus an underscore) to the Payload. When reading a GameOrderCustom, check if the payload starts with your unique string, and if it doesn't it means this order isn't one your mod made and you should ignore it. If you act on another mod's messages, or skip them, it will create unexpected behavior for your mod or another mod. | |||
* '''Message''' ''string'': The message that will appear in the orders list. This is what players see. | * '''Message''' ''string'': The message that will appear in the orders list. This is what players see. | ||
* '''Payload''' ''string'': Data the mod wishes to store along with this order, but does not want players to see. | * '''Payload''' ''string'': Data the mod wishes to store along with this order, but does not want players to see. |
Revision as of 23:04, 14 October 2019
GameOrderCustom: Subclass of GameOrder. This order does nothing on its own, but it can be used by mods for custom orders. GameOrderCustom is typically sent up from clients to the server, in contrast to GameOrderEvent which is typically sent down from the server to clients.
In order to make sure your mod doesn't break when used in conjunction with other mods, you should prepend a unique string (such as the name of your mod plus an underscore) to the Payload. When reading a GameOrderCustom, check if the payload starts with your unique string, and if it doesn't it means this order isn't one your mod made and you should ignore it. If you act on another mod's messages, or skip them, it will create unexpected behavior for your mod or another mod.
- Message string: The message that will appear in the orders list. This is what players see.
- Payload string: Data the mod wishes to store along with this order, but does not want players to see.
- CostOpt Table<ResourceType (enum),integer>: Defines how much gold the order will cost the player in a Commerce game. This should only be set in commerce games. If CostOpt is set to nil, then it's assumed to be the same as having a cost of 0. The game will take care of taking the player's resources away correctly, both on the client and server, when inserting an order with a cost into their orders list.
Functions
- WL.GameOrderCustom.Create(playerID PlayerID, message string, payload string, costOpt Table<ResourceType (enum),integer>) (static) returns GameOrderCustom: