# AddCSLuaFile ve include’ü Anlama

- **İngilizce aslı:** https://wiki.facepunch.com/gmod/Understanding_AddCSLuaFile_and_include
- **Çeviri tarihi:** 2025-09-08

### Giriş

[AddCSLuaFile](https://gmod.tr/wiki/Global.AddCSLuaFile) ve [include](https://gmod.tr/wiki/Global.include), Garry's Mod Lua betiklemeciliğinde sunucu ve istemci arasında betik yönetimini kolaylaştıran iki temel fonksiyondur. Bunların kullanımını anlamak, verimli Garry's Mod geliştirmesi için hayati önem taşır.

#### AddCSLuaFile

- Amaç: Sunucuya, belirtilen Lua dosyalarını istemciye göndermesini söyler. İstemci taraflı betiklerin çalıştırılması için gereklidir.
- Yaygın Kullanım: Bir sunucu taraflı betikte (ör. init.lua), istemcilerin istemci ve paylaşılan dosyaları alıp çalıştırabilmesini sağlamak için kullanılır. Örnek:

```lua
if SERVER then
  AddCSLuaFile("cl_init.lua")
  AddCSLuaFile("shared.lua")
end
```

#### include

- Amaç: Bir Lua dosyasının içeriğini başka bir Lua betiğinden çalıştırır. Kod modülerliği ve yeniden kullanım için kullanılır.
- Kullanım: Hem sunucu hem de istemci, başka bir Lua dosyasının içeriğini dahil etmek ve çalıştırmak için [include](https://gmod.tr/wiki/Global.include) kullanabilir.

```lua
include("shared.lua")
```

---

#### Genel Kullanım

Sunucu Betikleri (init.lua): Sunucuya özgü mantığı kurmak için kullanılır, [AddCSLuaFile](https://gmod.tr/wiki/Global.AddCSLuaFile) istemci taraflı betikler için çağrılırken, include paylaşılan veya sunucu taraflı betikleri entegre eder.

```lua
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")
```

İstemci Betikleri (cl_init.lua): İstemci taraflı işlevselliğe adanmıştır, [AddCSLuaFile](https://gmod.tr/wiki/Global.AddCSLuaFile)'dan sonra istemcide otomatik olarak çalışır. Paylaşılan mantığı [include](https://gmod.tr/wiki/Global.include) aracılığıyla entegre eder.

```lua
include("shared.lua")
```

Paylaşılan Kod (shared.lua): Hem istemci hem de sunucu tarafından kullanılan kodları içerir. Hem init.lua hem de cl_init.lua dosyasına dahil edilir.

#### Önemli Noktalar

- init.lua ve cl_init.lua, cl_init.lua dosyasının istemciye gönderildiği varsayılarak, sırasıyla sunucu ve istemci tarafından (eğer doğru yerlerde bulunuyorlarsa: [Lua_Folder_Structure](https://gmod.tr/wiki/Lua_Folder_Structure)) örtük olarak çalıştırılır. Bu fonksiyonları doğru kullanmak, betiklerin uygun bağlamda (sunucu veya istemci) çalıştırılmasını sağlar ve kod organizasyonunu ve yeniden kullanımını kolaylaştırır.

#### Diyagram

Diyagram, her birinin kendi çalışma bağlamı olan iki ayrı varlığı gösterir: bir istemci ve bir sunucu. Sunucu, istemci taraflı Lua dosyasını istemciye gönderdiğinde, o belirli dosyanın aktarımı tamamlanır. Bu sırada sunucu, kendi çalışma bağlamı içinde sonraki kodu çalıştırmaya devam eder.

![](https://gmod.tr/api/uploads/wiki/186a6151056fff111346.png)

- [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/Understanding_AddCSLuaFile_and_include
