Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Gunakan aturan gabungan untuk membuat pertandingan dengan pemain dengan atribut serupa atau pilihan serupa
Contoh ini menggambarkan cara menyiapkan set aturan untuk kecocokan dengan dua tim menggunakan compound
. Contohnya:
-
Aturan
SimilarLeagueDistance
memastikan semua pemain dalam kecocokan memilikileague
dalam 2 pemain lainnya. -
Aturan
SimilarSkillDistance
memastikan semua pemain dalam kecocokan memilikiskill
dalam 10 pemain lainnya. Jika seorang pemain telah menunggu 10 detik, jaraknya diperluas menjadi 20. Jika seorang pemain telah menunggu 20 detik, jaraknya diperluas menjadi 40. -
Aturan
SameMapComparison
memastikan semua pemain dalam kecocokan telah meminta hal yang samamap
. -
Aturan
SameModeComparison
memastikan semua pemain dalam kecocokan telah meminta hal yang samamode
. -
CompoundRuleMatchmaker
Aturan memastikan kecocokan jika setidaknya salah satu dari kondisi berikut benar:-
Pemain dalam pertandingan telah meminta hal yang sama
map
dan samamode
. -
Pemain dalam pertandingan memiliki
league
atributskill
dan atribut yang sebanding.
-
{ "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 }] }] }