# ENTITY:OnRemove

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

```lua
ENTITY:OnRemove( boolean fullUpdate )
```

## Açıklama

Varlık (entity) kaldırılmak üzereyken çağrılır.

Ayrıca, motor (Lua olmayan) varlıklarda bile kullanılabilen [Entity:CallOnRemove](https://gmod.tr/wiki/Entity.CallOnRemove) fonksiyonuna da bakınız.

### Örnek

Varlık kaldırılacağı zaman bir patlama oluşturun. Bir varlık oluşturmak için [ents.Create](https://gmod.tr/wiki/ents.Create) sayfasını okuyabilirsiniz.

```lua
function ENT:OnRemove()
	local explosion = ents.Create( "env_explosion" ) -- Patlama varlığı
	explosion:SetPos( self:GetPos() ) -- Patlamanın pozisyonunu varlığın pozisyonuna ayarla
	explosion:Spawn() -- Patlamayı spawn et
	explosion:SetKeyValue( "iMagnitude", "50" ) -- patlamanın büyüklüğü
	explosion:Fire( "Explode", 0, 0 ) -- patlat
end
```

## Argümanlar

1. [boolean](https://gmod.tr/wiki/boolean) **fullUpdate**: Kaldırma işleminin istemci tarafında tam bir güncelleme (full update) nedeniyle olup olmadığını belirtir. Varlık, yerel oyuncunun [PVS](https://developer.valvesoftware.com/wiki/PVS)'sinde olup olmadığına bağlı olarak hemen ardından yeniden oluşturulabilir veya oluşturul**maya**bilir. (Bkz. [Entity:IsDormant](https://gmod.tr/wiki/Entity:IsDormant))

## İstemci Tarafı Davranış Notları

Bu kanca (hook) beklenmedik zamanlarda çağrılabilir (varlık aslında sunucudan henüz kaldırılmamışken). Bu durum, varlık yeniden ortaya çıktığında bile [ENTITY:Initialize](https://gmod.tr/wiki/ENTITY:Initialize) fonksiyonunun çağrılmadığı 'tam güncelleme' (full update) mekanizması sırasında meydana gelir. Bu tür çağrılar, bu kancanın `fullUpdate` argümanı aracılığıyla ayırt edilebilir. Bu davranışı `sv_cheats` komutunu etkinleştirerek ve istemcide `cl_fullupdate` komutunu çalıştırarak ayıklayabilirsiniz.

[GM:NotifyShouldTransmit](https://gmod.tr/wiki/GM:NotifyShouldTransmit) bu sorunu aşmak için kullanılabilir. [ENTITY:Think](https://gmod.tr/wiki/ENTITY:Think) de varlığın yeniden ortaya çıktığını tespit etmek için kullanılabilir. Gerekli verileri bu kancalar içinde yeniden başlatabilirsiniz. Bu sorunu çözmenin başka bir yolu aşağıda bulunabilir.

### Örnek

İstemcinin, aslında kaldırılmamış bir varlığı kaldırılmış sanması sorununu aşmanın bir başka yolu, bir tick gecikmesi (tick delay) kullanarak varlığın geçerli olup olmadığını test etmektir.

```lua
function ENT:OnRemove()
	timer.Simple( 0, function()
		if not IsValid( self ) then
			-- Kaldırma kodunuz buraya
		end
	end)
end
```

- [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:OnRemove
