İçeriğe atla

Oda barındırma

Oyuncular ve takımlar

Odada kimin olduğunu takip edin, takımları düzenleyin ve roller atayın.

Her oyuncu, kaldığı süre boyunca sabit bir sayısal ID'ye sahiptir. Mantığınızda ID'leri kullanın; adlar oyuncuların seçtiği serbest metindir ve tekrarlanabilir.

Odada kim var

getPlayerList() her oyuncunun bir kopyasını döndürür; getPlayer(id) bir tanesini döndürür. İkisi de senkrondur ve tamamlanmış her komutu yansıtır.

JavaScript
const players = room.getPlayerList();
const spectators = players.filter((p) => p.team === 0);

Kendi oyuncu başına durumunuzu, ID ile anahtarlanmış bir Map'te tutun ve onPlayerLeave içinde temizleyin:

JavaScript
const stats = new Map();
room.onPlayerJoin = (player) =>
  stats.set(player.id, { goals: 0 });
room.onPlayerLeave = (player) => stats.delete(player.id);

Takımlar

Takımlar: 0 izleyiciler, 1 kırmızı ve 2 mavidir. setPlayerTeam(), maç ortasında dahil, herkesi her an taşıyabilir. setTeamsLock(true), oyuncuların kendilerini değiştirmesini durdurur.

Takımları otomatik dengele, daha küçük takımı dolduran ve oyuncular ayrıldığında yeniden dengeleyen eksiksiz bir örnektir.

Formalar

setTeamColors(), bir takımın çizgilerini, açılarını ve forma numarası rengini ayarlar:

JavaScript
await room.setTeamColors(
  1,
  60,
  0xffffff,
  [0xb91c1c, 0x7f1d1d, 0xb91c1c],
);

Yöneticiler

Yöneticiler odayı oyun içinden yönetebilir: maçları başlatıp durdurabilir, oyuncuları taşıyabilir, stadyumu ve ayarları değiştirebilir, susturabilir, odadan atabilir veya yasaklayabilir. Birini yönetici yapmak yalnızca setPlayerAdmin() ile kodunuzun elindedir. Odanızda bir host oyuncusu varsa, başından itibaren yöneticidir.

Oyuncu adları kimlik değildir. Bir ad eşleştiği için yöneticilik vermeyin; herkes istediği adı yazabilir. Sohbet komutlarında olduğu gibi, oyuncunun sohbette gönderdiği gizli bir bilgi kullanın.

Avatarlar ve sıralama

setPlayerAvatar(), bir oyuncunun diskinin üzerine GK gibi en fazla iki karakter çizer. reorderPlayers(), kadro sıralamasını değiştirir.