# GM:DoAnimationEvent

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

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

## Açıklama

Bir animasyon olayı üzerine çağrılır, bu kanca [Player:AddVCDSequenceToGestureSlot](https://gmod.tr/wiki/Player:AddVCDSequenceToGestureSlot), [Player:AnimRestartGesture](https://gmod.tr/wiki/Player:AnimRestartGesture) ve benzeri oyuncu animasyon fonksiyonlarını çağırmak için ideal yerdir.

## Argümanlar

1. [Player](https://gmod.tr/wiki/Player) **ply**: Animasyonu oynatılan oyuncu
2. [number](https://gmod.tr/wiki/number) **event**: Animasyon olayı. [PLAYERANIMEVENT enum](https://gmod.tr/wiki/Enums/PLAYERANIMEVENT)'una bakın.
3. [number](https://gmod.tr/wiki/number) **data** = 0: Olayın verisi. Bu, `PLAYERANIMEVENT_CUSTOM` ve `PLAYERANIMEVENT_CUSTOM_GESTURE` tarafından bir [ACT enum](https://gmod.tr/wiki/Enums/ACT)'u olarak veya `PLAYERANIMEVENT_CUSTOM_SEQUENCE` tarafından bir sekans olarak yorumlanır.

## Döndürdüğü Değer

1. [number](https://gmod.tr/wiki/number): Silaha gönderilecek çevrilmiş aktivite. [ACT enum](https://gmod.tr/wiki/Enums/ACT)'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.

```lua
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)
```

- [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/GM:DoAnimationEvent
