Player:AnimRestartGesture
Açıklama
Bir oyuncu üzerinde, bir jest yuvası içinde bir jesti yeniden başlatır.
Bu otomatik olarak ağ üzerinden gönderilmez. Bu fonksiyonun ilgili istemci tarafından görülebilmesi için istemcide çağrılması gerekir.
Argümanlar
3 boolean autokill = false
Animasyonun otomatik olarak durdurulup durdurulmayacağı. true = animasyonu durdurur, false = animasyon oynamaya/döngüye devam eder
Örnek
Tabanca tutma tipini ve yakın dövüş saldırı animasyonu için AnimRestartGesture'ı kullanarak tabancayla vurma işlevselliğine sahip bir SWEP'in bir parçasını tanımlar.
function SWEP:Initialize()
self:SetHoldType("pistol")
end
function SWEP:PrimaryAttack()
-- Silah saldırı gecikmesi
self:SetNextPrimaryFire(CurTime()+0.5)
-- Önümüzdeki varlığı al
local tr = util.TraceLine(util.GetPlayerTrace(self:GetOwner()))
local ent = tr.Entity
-- Önümüzde 50 birimden daha yakın bir düşman varsa
if(IsValid(ent) && self:GetOwner():GetShootPos():Distance(tr.HitPos) < 50) then
-- Yakın dövüş saldırı animasyonunu oynat
self:GetOwner():AnimRestartGesture(GESTURE_SLOT_ATTACK_AND_RELOAD, ACT_HL2MP_GESTURE_RANGE_ATTACK_MELEE, true)
-- Hasar bilgisi oluştur (sunucu taraflı)
if SERVER then
local dmg = DamageInfo()
dmg:SetDamage(math.random(5, 10))
dmg:SetAttacker(self:GetOwner())
dmg:SetInflictor(self)
dmg:SetDamageForce(self:GetOwner():GetAimVector()*300)
dmg:SetDamagePosition(tr.HitPos)
dmg:SetDamageType(DMG_CLUB)
-- Düşmana hasar uygula
ent:TakeDamageInfo(dmg)
end
-- Çarpma sesini oynat
ent:EmitSound("physics/flesh/flesh_impact_bullet"..math.random(1, 5)..".wav")
-- Viewmodel tabancayla vurma efekti yap
self:GetOwner():ViewPunch(Angle(0, 45, 0))
else
-- Tipik tabanca atış kodu buraya gelir
-- Bazıları 'weapon_base/shared.lua' içinde bulunabilir
end
end
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord