player
`player` kütüphanesi, oyun içindeki oyuncuları temsil eden Lua nesnelerini almak için kullanılır.
Metotlar
Sunucu tarafı "bot" komutuna benzer şekilde, bu fonksiyon verilen isimle yeni bir Oyuncu botu oluşturur. Bu bot, alışılagelmiş "bot_*" komutlarına uymaz ve TF2 ile CS:S'de kullanılan aynı bot tabanını kullanır.
Şu anda bir Oyuncu botunun davranışını kontrol etmenin en iyi yolu, `GM:StartCommand` kancasını kullanmak ve girdisini sunucu tarafında değiştirmektir.
Bu Oyuncu sahte olmasına rağmen, `Entity:Remove` ile DEĞİL, `Player:Kick` kullanılarak sunucudan kaldırılmalıdır.
Ayrıca bu botların hala oyuncu slotlarını kullandığını unutmayın, bu yüzden onları tek oyunculu modda oluşturamazsınız! Bu metot kullanılarak oluşturulan her Bot, Garry's Mod tarafından "UnAuthed" (Yetkisiz) olarak kabul edilecektir.
Sunucudaki mevcut tüm oyuncuları alır (bağlanan istemciler hariç).
Bu fonksiyon, botların yanı sıra insan oyuncuları da döndürür. Bkz. `player.GetBots` ve `player.GetHumans`.
Bu fonksiyon sıralı bir tablo döndürür, bu da verimlilik nedenleriyle `pairs` yerine `ipairs` ile döngüye alınması gerektiği anlamına gelir.
Belirtilen `Player:AccountID`'ye sahip oyuncuyu almaya çalışır.
Dahili olarak bu fonksiyon sunucudaki tüm oyuncular üzerinde döngü yapar, bu da performans açısından kritik bir bağlamda oldukça maliyetli olabileceği anlamına gelir.
Belirtilen bağlantı ID'sine sahip oyuncuyu alır.
Bağlantı ID'si `gameevent.Listen` olayları aracılığıyla alınabilir.
`Entity:EntIndex`'e göre bir oyuncu döndüren bir fonksiyon için `Entity`'ye bakın.
`Player:UserID`'sine göre bir oyuncu döndüren bir fonksiyon için `Player`'a bakın.
Belirtilen SteamID'ye sahip oyuncuyu alır.
Dahili olarak bu fonksiyon sunucudaki tüm oyuncular üzerinde döngü yapar, bu da performans açısından kritik bir bağlamda oldukça maliyetli olabileceği anlamına gelir.
Belirtilen SteamID64'e sahip oyuncuyu alır.
Dahili olarak bu fonksiyon sunucudaki tüm oyuncular üzerinde döngü yapar, bu da performans açısından kritik bir bağlamda oldukça maliyetli olabileceği anlamına gelir.
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir.
Bunun yerine bir oyuncuyu benzersiz bir tanımlayıcıyla almak için `player.GetBySteamID64`, `player.GetBySteamID` veya `player.GetByAccountID` kullanın.
Belirtilen uniqueID'ye sahip oyuncuyu alır (oyuncuları tanımlamak için önerilmeyen bir yöntem).
Bunun yerine `player.GetByAccountID`, `player.GetBySteamID` veya `player.GetBySteamID64` kullanılması şiddetle tavsiye edilir, çünkü SteamID'nin her oyuncu için benzersiz olması garantiliyken bu fonksiyon çakışmalara (farklı insanlar için aynı olabilir) sahip olabilir. Dahili olarak bu fonksiyon sunucudaki tüm oyuncular üzerinde döngü yapar, bu da performans açısından kritik bir bağlamda oldukça maliyetli olabileceği anlamına gelir.
Aktif oyuncu sayısını döndürür.
`#player.GetAll()`'a benzer ancak oyuncu tablosunun oluşturulması gerekmediği için daha iyi performansa sahiptir. Eğer `player.GetAll` zaten döngü için çağrılıyorsa, JIT derlendiği için tablo üzerinde `#` operatörünü kullanmak bu fonksiyonu çağırmaktan daha hızlı olacaktır. Sunucuya o anda bağlanan oyuncular sayılmaz. Bkz. fonksiyon: `player.GetCountConnecting`
number player.GetCountConnecting()
Sunucuya bağlanan ancak henüz oyuna dahil olmamış oyuncu sayısını döndürür.
`player.GetCountConnecting() + player.GetCount()` bu sunucudaki toplam oyuncu sayısını verir.
Tüm insan oyuncuları (bot/yapay zeka olmayan) içeren bir tablo döndürür.
`player.GetAll`'dan farklı olarak bu, botları içermez.
Bu fonksiyon sıralı bir tablo döndürür, bu da verimlilik nedenleriyle `pairs` yerine `ipairs` ile döngüye alınması gerektiği anlamına gelir.
Sunucudaki tüm oyuncular için bir Durumsuz Yineleyici (Stateless Iterator) döndürür.
Jenerik For Döngülerinde (Generic For Loops) kullanılmak üzere tasarlanmıştır.
Tüm varlıklar için benzer bir fonksiyon olan `ents.Iterator`'a bakın.
Dahili olarak, bu fonksiyon C++ fonksiyonu olan `player.GetAll`'ın aksine, tamamen lua içinde var olan önbelleğe alınmış değerleri kullanır.
Lua'dan C++'a geçiş (ve tam tersi) bir performans maliyeti getirdiğinden, bu fonksiyon `player.GetAll`'a göre biraz daha verimli olacaktır.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord