timer.Create

  timer.Create( string identifier, number delay, number repetitions, function func )

Açıklama

Belirtilen sayıda fonksiyonunu tekrar edecek yeni bir zamanlayıcı oluşturur. Bu fonksiyon aynı zamanda zamanlayıcının isimlendirilmesini gerektirir, bu da oluşturulduktan sonra timer kütüphanesi aracılığıyla kontrol etmenizi sağlar.

Tanımlayıcıları olmayan, tek seferlik basit bir zamanlayıcı için timer.Simple sayfasına bakın.

Zamanlayıcılar dahili olarak CurTime kullanır. Bu nedenle, istemci sunucudan zaman aşımına uğradığında veya boş bir adanmış sunucuda hazırda bekletme (hibernation) nedeniyle ilerlemezler. (sv_hibernate_think değeri 1'e ayarlanmadıkça veya delay 0'a ayarlanmadıkça).

Argümanlar

1 string identifier
Oluşturulacak zamanlayıcının tanımlayıcısı. Benzersiz olmalıdır. Aynı tanımlayıcıya sahip bir zamanlayıcı zaten mevcutsa, o zamanlayıcı yeni ayarlara göre güncellenir ve sıfırlanır.
2 number delay
Saniye cinsinden gecikme aralığı. Gecikme çok küçükse, zamanlayıcı bir sonraki GM:Tick'te tetiklenir.
3 number repetitions
Zamanlayıcının kaç kez tekrarlanacağı. Sonsuz tekrar için 0 veya 0'dan küçük bir değer girin.
4 function func
Zamanlayıcı geri sayımı bitirdiğinde çağrılan fonksiyon.

Örnek

1 saniye gecikmesi olan ve yalnızca bir kez çalışan bir zamanlayıcı (UniqueName1), 2 saniye gecikmesi olan ve sürekli çalışan bir zamanlayıcı (UniqueName2) vb. oluşturur.

Bu, fonksiyonlarla etkileşim kurabileceğiniz farklı yolları gösterir.

local function PrintSomething( text ) print( text ) end local function PrintNoArguments() print( "zamanlayıcılarla eğlence!" ) end local function CreateSomeTimers( ) timer.Create( "UniqueName1", 1, 1, function() print( "içeride" ) end ) timer.Create( "UniqueName2", 2, 0, function() PrintSomething( "dışarıda" ) end ) timer.Create( "UniqueName3", 5, 1, PrintNoArguments ) end hook.Add( "Initialize", "Zamanlayıcı Örneği", CreateSomeTimers )
Çıktı:
içeride -- 1 saniye dışarıda -- 2 saniye dışarıda -- 4 saniye zamanlayıcılarla eğlence! -- 5 saniye dışarıda -- 6 saniye dışarıda -- 8 saniye

Örnek

Bir zamanlayıcının "minimum" gecikmesinin sunucu tik hızına (saniyenin 1/66'sı) kilitlendiğini göstermek için 0.01 saniye gecikmeli bir zamanlayıcı oluşturur.

Aşağıdaki örneğin gösterdiği gibi, gecikme oranı 1/100 (0.01 saniye) olarak ayarlandığında, zamanlayıcının tekrarları arasındaki zaman farkının 0.01 saniye olması gerekirken, bunun yerine 0.0149 (saniyenin 1/66'sı) saniyedir.

local tick = {} local tick_key = 1 local function MinimumTimerDelay() local current_time = CurTime() if tick_key > 1 then print( "Zamanlayıcı Tekrarı #" .. tick_key - 1 .. "'nin gecikmesi: " .. current_time - tick[ tick_key - 1 ] ) end tick[ tick_key ] = current_time tick_key = tick_key + 1 end local function Timer() timer.Create( "Zamanlayıcı Gecikmesi", ( 1 / 100 ), 10, MinimumTimerDelay ) end hook.Add( "Initialize", "Zamanlayıcıları Başlat", Timer )
Çıktı:
Zamanlayıcı Tekrarı #1'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #2'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #3'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #4'nin gecikmesi: 0.0150146484375 Zamanlayıcı Tekrarı #5'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #6'nın gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #7'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #8'nin gecikmesi: 0.014999389648438 Zamanlayıcı Tekrarı #9'nin gecikmesi: 0.014999389648438

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord