View a markdown version of this page

Contoh: Membuat aturan yang menggunakan daftar blokir pemain - GameLift Server Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh: Membuat aturan yang menggunakan daftar blokir pemain

Contoh ini menggambarkan seperangkat aturan yang memungkinkan pemain menghindari dicocokkan dengan pemain lain tertentu. Pemain dapat membuat daftar blokir, yang dievaluasi oleh matchmaker selama pemilihan pemain untuk pertandingan. Untuk panduan lebih lanjut tentang menambahkan daftar blokir atau fitur hindari daftar, lihat AWS untuk Blog Game.

Contoh ini menetapkan instruksi berikut:

  • Buat dua tim yang terdiri dari tepat lima pemain.

  • Masukkan daftar blokir pemain, yang merupakan daftar ID pemain (hingga 100).

  • Bandingkan semua pemain dengan daftar blokir masing-masing pemain dan tolak pertandingan yang diusulkan jika ada ID pemain yang diblokir ditemukan.

Catatan tentang penggunaan set aturan ini:

  • Saat mengevaluasi pemain baru untuk ditambahkan ke pertandingan yang diusulkan (atau untuk mengisi kembali tempat dalam pertandingan yang ada), pemain tersebut mungkin ditolak karena salah satu alasan berikut:

    • Jika pemain baru ada dalam daftar blokir untuk setiap pemain yang sudah dipilih untuk pertandingan.

    • Jika ada pemain yang sudah dipilih untuk pertandingan ada di daftar blokir pemain baru.

  • Seperti yang ditunjukkan, set aturan ini mencegah pencocokan pemain dengan pemain mana pun di daftar blokir mereka. Anda dapat mengubah persyaratan ini menjadi preferensi (juga disebut daftar “hindari”) dengan menambahkan perluasan aturan dan meningkatkan nil maxCount ainya.

{ "name": "Player Block List", "ruleLanguageVersion": "1.0", "teams": [{ "maxPlayers": 5, "minPlayers": 5, "name": "red" }, { "maxPlayers": 5, "minPlayers": 5, "name": "blue" }], "playerAttributes": [{ "name": "BlockList", "type": "string_list", "default": [] }], "rules": [{ "name": "PlayerIdNotInBlockList", "type": "collection", "operation": "reference_intersection_count", "measurements": "flatten(teams[*].players.attributes[BlockList])", "referenceValue": "flatten(teams[*].players[playerId])", "maxCount": 0 }] }