GM:DoAnimationEvent

  number GM:DoAnimationEvent( Player ply, number event, number data = 0 )

Açıklama

Bir animasyon olayı üzerine çağrılır, bu kanca Player:AddVCDSequenceToGestureSlot, Player:AnimRestartGesture ve benzeri oyuncu animasyon fonksiyonlarını çağırmak için ideal yerdir.

Argümanlar

1 Player ply
Animasyonu oynatılan oyuncu
2 number event
Animasyon olayı. PLAYERANIMEVENT enum'una bakın.
3 number data = 0
Olayın verisi. Bu, PLAYERANIMEVENT_CUSTOM ve PLAYERANIMEVENT_CUSTOM_GESTURE tarafından bir ACT enum'u olarak veya PLAYERANIMEVENT_CUSTOM_SEQUENCE tarafından bir sekans olarak yorumlanır.

Döndürdüğü Değer

1 number
Silaha gönderilecek çevrilmiş aktivite. ACT enum'una bakın. Eğer bir aktivite göndermek istemiyorsanız ACT_INVALID döndürün.

Örnek

Birincil saldırıda olay olarak PLAYERANIMEVENT_ATTACK_GRENADE ve ek veri olarak 123, ikincil saldırıda ise 321 ile özel bir animasyon olayı tetikler. Oyuncu, birincil saldırıda eşya fırlatma hareketini, ikincil saldırıda ise eşya düşürme hareketini oynatacaktır.

function SWEP:PrimaryAttack() self:GetOwner():DoCustomAnimEvent( PLAYERANIMEVENT_ATTACK_GRENADE , 123 ) self:SetNextPrimaryFire(CurTime() + 0.5 ) self:SetNextSecondaryFire(CurTime() + 0.5 ) end function SWEP:SecondaryAttack() self:GetOwner():DoCustomAnimEvent( PLAYERANIMEVENT_ATTACK_GRENADE , 321 ) self:SetNextPrimaryFire(CurTime() + 0.5 ) self:SetNextSecondaryFire(CurTime() + 0.5 ) end hook.Add("DoAnimationEvent" , "AnimEventTest" , function( ply , event , data ) if event == PLAYERANIMEVENT_ATTACK_GRENADE then if data == 123 then ply:AnimRestartGesture( GESTURE_SLOT_GRENADE, ACT_GMOD_GESTURE_ITEM_THROW, true ) return ACT_INVALID end if data == 321 then ply:AnimRestartGesture( GESTURE_SLOT_GRENADE, ACT_GMOD_GESTURE_ITEM_DROP, true ) return ACT_INVALID end end end)

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