player.Iterator
Açıklama
Sunucudaki tüm oyuncular için bir Durumsuz Yineleyici (Stateless Iterator) döndürür.
Genel 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, bir C++ fonksiyonu olan player.GetAll'ın aksine, Lua'da saklanan önbelleğe alınmış değerleri kullanır.
Lua'dan C++'a yapılan bir çağrı işlemi *ve* Lua'ya geri dönüş oldukça maliyetli olduğundan, bu fonksiyon player.GetAll'dan daha verimli olacaktır.
Döndürülen Değerler
2 sequential table<Player>
Mevcut tüm Oyuncuların tablosu. Bu, player.GetAll'ın önbelleğe alınmış bir kopyasıdır.
Bu tablonun salt okunur olması amaçlanmıştır.
Döndürülen tabloyu değiştirmek, önbellek yenilenene kadar bu fonksiyona yapılacak sonraki tüm çağrıları etkileyecektir. Bu nedenle, tüm player.GetAll kullanımlarınızı bu fonksiyonla değiştirmek istenmeyen yan etkilere neden olabilir.
Bir örnek:
-- Kötü kod.
local scan_ents = select( 2, player.Iterator() )
table.Add( scan_ents, ents.FindByClass( "ttt_decoy" ) )
-- İyi kod. Tablonun bir kopyası oluşturuluyor ve kullanılıyor. local scan_ents = table.Copy( select( 2, player.Iterator() ) ) table.Add( scan_ents, ents.FindByClass( "ttt_decoy" ) )
-- İyi kod. Tablonun bir kopyası oluşturuluyor ve kullanılıyor. local scan_ents = table.Copy( select( 2, player.Iterator() ) ) table.Add( scan_ents, ents.FindByClass( "ttt_decoy" ) )
3 number
Oyuncu tablosu için başlangıç indeksi.
Bu her zaman
Bu her zaman
0'dır ve Genel For Döngülerinin (Generic For-Loops) yararı için döndürülür.Örnek
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord