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.
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:
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:
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.