Player:LagCompensation

  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.

Entity:FireBullets bu fonksiyonu dahili olarak çağırır.

Gecikme telafisi yalnızca oyuncular ve 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 içinde kullanılabilir.

Bu fonksiyonla işiniz bittikten sonra devre dışı bırakılması GEREKİR, aksi takdirde etkilenen varlıkların hareketini bozar!
Gecikme telafisi, duruş parametrelerini (pose parameters) desteklemez.

Hata Takipçisi (Issue Tracker): 3683

Argümanlar

1 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.

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

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord