Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence : Utilisez une règle composée pour créer un match avec des joueurs ayant des attributs similaires ou des sélections similaires
Cet exemple montre comment configurer un ensemble de règles pour les matchs où deux équipes utilisentcompound
. Dans l'exemple :
-
La
SimilarLeagueDistance
règle garantit que tous les joueurs d'un match ontleague
moins de 2 % des autres joueurs. -
La
SimilarSkillDistance
règle garantit que tous les joueurs d'un match ontskill
moins de 10 % des autres joueurs. Si un joueur attend 10 secondes, la distance passe à 20. Si un joueur attend depuis 20 secondes, la distance passe à 40. -
La
SameMapComparison
règle garantit que tous les joueurs d'un match en ont fait la même demandemap
. -
La
SameModeComparison
règle garantit que tous les joueurs d'un match en ont fait la même demandemode
. -
La
CompoundRuleMatchmaker
règle garantit une correspondance si au moins l'une des conditions suivantes est vraie :-
Les joueurs participant à un match ont demandé la même chose
map
et la même chosemode
. -
Les joueurs d'un match ont des
league
attributsskill
et des attributs comparables.
-
{ "ruleLanguageVersion": "1.0", "teams": [{ "name": "red", "minPlayers": 10, "maxPlayers": 20 }, { "name": "blue", "minPlayers": 10, "maxPlayers": 20 }], "algorithm": { "strategy":"balanced", "balancedAttribute": "skill", "batchingPreference":"fastestRegion" }, "playerAttributes": [{ "name": "league", "type": "number" },{ "name": "skill", "type": "number" },{ "name": "map", "type": "string" },{ "name": "mode", "type": "string" }], "rules": [{ "name": "SimilarLeagueDistance", "type": "distance", "measurements": ["max(flatten(teams[*].players.attributes[league]))"], "referenceValue": "min(flatten(teams[*].players.attributes[league]))", "maxDistance": 2 }, { "name": "SimilarSkillDistance", "type": "distance", "measurements": ["max(flatten(teams[*].players.attributes[skill]))"], "referenceValue": "min(flatten(teams[*].players.attributes[skill]))", "maxDistance": 10 }, { "name": "SameMapComparison", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[map])"] }, { "name": "SameModeComparison", "type": "comparison", "operation": "=", "measurements": ["flatten(teams[*].players.attributes[mode])"] }, { "name": "CompoundRuleMatchmaker", "type": "compound", "statement": "or(and(SameMapComparison, SameModeComparison), and(SimilarSkillDistance, SimilarLeagueDistance))" }], "expansions": [{ "target": "rules[SimilarSkillDistance].maxDistance", "steps": [{ "waitTimeSeconds": 10, "value": 20 }, { "waitTimeSeconds": 20, "value": 40 }] }] }