# Entity:IsValid

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

```lua
boolean Entity:IsValid()
```

## Açıklama

Varlığın geçerli bir varlık olup olmadığını döndürür.

Bir varlık şu durumlarda geçerlidir:

- [NULL](https://gmod.tr/wiki/Global_Variables) bir varlık değilse
- Dünya varlığı (worldspawn entity) değilse ([game.GetWorld](https://gmod.tr/wiki/game.GetWorld))

> **NOT:** Bu metodu doğrudan çağırmak yerine, genel [IsValid](https://gmod.tr/wiki/Global.IsValid) fonksiyonunu kullanmak iyi bir fikirdir, ancak kullandığınız değişkenin her zaman bir varlık nesnesi olduğundan eminseniz bu metodu kullanmak daha iyidir

Verilen değişkenin bir nesne (bir Varlık) mi yoksa hiçbir şey mi içermediğini sizin için kontrol edecektir. Örneklere bakın.

> **UYARI:** NULL varlıklara anahtar/değer çiftleri atanabilir, ancak bunlar anında geçersiz kılınır. Örnek 3'e bakın

Bu durum, baş ağrısına neden olabilir. Genellikle ağ işlemleri (networking) vb. sırasında, tamamen geçerli varlıkların istemcide aniden geçersiz hale gelmesi, ancak hiçbir zaman IsValid() ile filtrelenmemesi durumunda meydana gelir. Daha fazla ayrıntı için [GM:InitPostEntity](https://gmod.tr/wiki/GM:InitPostEntity) sayfasına bakın.

## Döndürdüğü Değer

1. [boolean](https://gmod.tr/wiki/boolean): eğer varlık geçerliyse true, değilse false

### Örnek

Bu metodu doğrudan kullanmak yerine genel [IsValid](https://gmod.tr/wiki/Global.IsValid) fonksiyonunun nasıl kullanılacağını gösterir.

```lua
if ( entity && entity:IsValid() ) then
	-- İşlemleri yap
end

-- Yukarıdaki kod, aynı etkiyi yaratmak için (ve daha temiz kod için) aşağıdakiyle değiştirilebilir

if ( IsValid( entity ) ) then
	-- İşlemleri yap
end
```

### Örnek

```lua
print( LocalPlayer():IsValid() )
```

**Çıktı:** Eğer oyuncu oyun içindeyse konsola 'true' yazdırır.

### Örnek

```lua
local newPlayer = net.ReadEntity() --sunucu, sunucuda yeni bir oyuncu buldu ve bize gönderdi
print( "1/4" )              -- geçerli olduğunu belirledikten sonra (newPlayer bu alanda NULL'dur)

if not isnumber(newPlayer.ImportantGameData) then --Eğer belirli bir alana sahip değilse, ona bir değer ata
	print( "2/4" )
	newPlayer.ImportantGameData = 42
end
print( "3/4" )

print( newPlayer.ImportantGameData * 69 ) --Yeni alanda aritmetik işlem yapmaya çalışılıyor
print( "4/4" )
```

**Çıktı:** 1/4 ... 3/4

- 'ImportantGameData' değerinin nil olduğunu ve bu nedenle üzerinde matematiksel işlem yapılamayacağını belirten bir lua hatası

---

Ancak bu mümkün olmamalı, çünkü orada yeni bir değer oluşturduk. Bu noktaya kadar herhangi bir sorun belirtisi yok; bu noktaya kadarki tüm kod sorunsuz çalışacaktır. İmkansız gibi görünen bir durumla karşılaştığınızda bir IsValid() kontrolü eklediğinizden emin olun.

- [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/Entity:IsValid
