# timer.Create

- **Ortam:** İstemci, Sunucu, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/timer.Create
- **Çeviri tarihi:** 2025-09-08

```lua
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](https://gmod.tr/wiki/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](https://gmod.tr/wiki/timer.Simple) sayfasına bakın.

> **UYARI:** Zamanlayıcılar dahili olarak [CurTime](https://gmod.tr/wiki/Global.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](https://gmod.tr/wiki/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](https://gmod.tr/wiki/number) **delay**: Saniye cinsinden gecikme aralığı. Gecikme çok küçükse, zamanlayıcı bir sonraki [GM:Tick](https://gmod.tr/wiki/GM:Tick)'te tetiklenir.
3. [number](https://gmod.tr/wiki/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](https://gmod.tr/wiki/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.

```lua
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ı:**

```lua
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.

```lua
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ı:**

```lua
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
```

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/timer.Create
