# hook.Call

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

```lua
vararg hook.Call( string eventName, table gamemodeTable = nil, ... )
```

## Açıklama

Belirtilen olayla ilişkili tüm hook'ları, biri `nil` dışında bir şey döndürene kadar çağırır ve ardından bu veriyi döndürür.

Hemen hemen tüm durumlarda, bunun yerine [hook.Run](https://gmod.tr/wiki/hook.Run) kullanmalısınız - bu fonksiyon dahili olarak hook.Call'u çağırır ancak oyun modu tablosunu kendi başına sağlar, bu da kodunuzu daha düzenli hale getirir.

## Argümanlar

1. [string](https://gmod.tr/wiki/string) **eventName**: Hook'ların çağrılacağı olay.
2. [table](https://gmod.tr/wiki/table) **gamemodeTable** = nil: Eğer oyun modu belirtilirse, içindeki oyun modu hook'u çağrılır, aksi takdirde çağrılmaz.
3. [vararg](https://gmod.tr/wiki/vararg) **args** = nil: Hook'lara aktarılacak argümanlar.

## Dönen Değerler

1. [vararg](https://gmod.tr/wiki/vararg): Çağrılan hook'lardan dönen veri. **6** dönüş değeri ile sınırlıdır.

### Örnek

`DoSomething` fonksiyonunu çalıştırır, bu fonksiyon sonunda `DoneDoingSomething` olayını çağırır ve hook'lanmış `DoSomethingElse` fonksiyonunu tetikler.

```lua
local function DoSomething()
    -- Bir şeyler yapar
    hook.Call( "DoneDoingSomething" )
end

local function DoSomethingElse()
    -- "DoneDoingSomething" hook'u çağrıldığında başka bir şey yapar.
    print( "Done!" )
end
hook.Add( "DoneDoingSomething", "Does something else", DoSomethingElse )

DoSomething()
```

**Çıktı:**

```lua
Done!
```

### Örnek

Ayrıca özel fonksiyonları hook'lar aracılığıyla kontrol edilebilir hale getirebilirsiniz.

```lua
local function MakeCheese()
    local shouldMakeCheese = hook.Call( "MakeCheezPleez" )

    if shouldMakeCheese then
        print( "yay" )
    else
        print( "nay" )
    end
end

local function MakeCheeseOrNot()
    return player.GetCount() >= 1
end
hook.Add( "MakeCheezPleez", "Does something else", MakeCheeseOrNot )

MakeCheese()
```

**Çıktı:** Sunucuda oyuncu varsa `yay`, yoksa `nay` yazdırılır.

### Örnek

`DoneDoingSomething` olayını bazı argümanlarla çağırır.

```lua
hook.Add( "DoneDoingSomething", "Does something else", function( a, b )
	print( a )
	print( b )
end )

hook.Call( "DoneDoingSomething", nil, "Hello", "Hey" )
```

**Çıktı:**

```lua
Hello
Hey
```

- [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/hook.Call
