# Player:LagCompensation

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

```lua
Player:LagCompensation( boolean lagCompensation )
```

## Açıklama

Bu fonksiyon, sunucunun, gecikme telafisi (lag compensation) uygulanabilen tüm varlıkları, oyuncunun silahıyla saldırdığı zamana geri taşıyarak oyuncunun gecikmesini azaltmasına olanak tanır.

Bu teknik en yaygın olarak, izler (traces) gibi diğer varlıklara anında vuran şeylerde kullanılır.

> **NOT:** [Entity:FireBullets](https://gmod.tr/wiki/Entity:FireBullets) bu fonksiyonu dahili olarak çağırır.

Gecikme telafisi yalnızca oyuncular ve [Entity:SetLagCompensated](https://gmod.tr/wiki/Entity:SetLagCompensated) ile etkinleştirilmiş varlıklar için çalışır.

Paylaşımlı (shared) olarak tanımlanmasına rağmen, yalnızca sunucu tarafında bir [Predicted Hook](https://wiki.facepunch.com/gmod/~search%3Fq%3D%3Cpredicted%3EYes) içinde kullanılabilir.

> **UYARI:** Bu fonksiyonla işiniz bittikten sonra devre dışı bırakılması GEREKİR, aksi takdirde etkilenen varlıkların hareketini bozar!

> **HATA:** Gecikme telafisi, duruş parametrelerini (pose parameters) desteklemez.
> Hata Takipçisi (Issue Tracker): [3683](https://github.com/Facepunch/garrysmod-issues/issues/3683)

## Argümanlar

1. [boolean](https://gmod.tr/wiki/boolean) **lagCompensation**: Gecikme telafisinin durumu, etkinleştirmek için true, devre dışı bırakmak için false.

### Örnek

Levye benzeri bir yakın dövüş izi (melee trace) oluşturun ve bunu yapmadan önce gecikme telafisini etkinleştirin.

```lua
function SWEP:PrimaryAttack()
	local tracedata = {}
	tracedata.start = self:GetOwner():GetShootPos()
	tracedata.endpos = self:GetOwner():GetShootPos() + self:GetOwner():GetAimVector() * 75
	tracedata.filter = self:GetOwner()
	tracedata.mins =  Vector( -8 , -8 , -8 )
	tracedata.maxs =  Vector( 8 , 8 , 8 )

	-- Silahın bir NPC tarafından kullanılması ihtimaline karşı bir IsPlayer kontrolü yapılması önerilir.
	if ( self:GetOwner():IsPlayer() ) then
		self:GetOwner():LagCompensation( true )
	end

	local tr = util.TraceHull( tracedata )

	if ( self:GetOwner():IsPlayer() ) then
		self:GetOwner():LagCompensation( false )
	end

	if tr.Hit then
		print( tr.Entity )	--kodunuzu buraya yazın
	end

	self:SetNextPrimaryFire( CurTime() + 0.5 )
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/Player:LagCompensation
