# Entity:GetBonePosition

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

```lua
Vector, Angle Entity:GetBonePosition( number boneIndex )
```

## Açıklama

Belirtilen kemiğin pozisyonunu ve açısını dünyaya göre döndürür.

> **UYARI:** Eğer varlığın kemik önbelleği (bone cache) ayarlanmamışsa, bu fonksiyon bunun yerine varlığın `GetPos()` değerini döndürebilir.
>
> Kemik pozisyonunun doğru olduğundan emin olmak için şunu kullanın:
>
> ```lua
> local pos = ent:GetBonePosition(0)
> if pos == ent:GetPos() then
> 	pos = ent:GetBoneMatrix(0):GetTranslation()
> end
> ```

> **NOT:** Bu fonksiyon, son tick'teki (sunucu adımı) kemik pozisyonunu döndürür. Bu nedenle, eğer kare hızınız (framerate) sunucunun tickrate'inden daha yüksekse, hızlı hareket eden bir varlık üzerinde kullanıldığında geride kalıyormuş gibi görünebilir. Bunu, bunun yerine kemiğin matrisini (matrix) kullanarak düzeltebilirsiniz:
>
> ```lua
> local matrix = entity:GetBoneMatrix(0)
> local pos = matrix:GetTranslation()
> local ang = matrix:GetAngles()
> ```

> **HATA:** Sunucu gecikmesi (lag) sırasında sunucunun pozisyonunu döndürebilir.
> Sorun Takipçisi: [884](https://github.com/Facepunch/garrysmod-issues/issues/884)

> **HATA:** Sunucu tarafında anlamsız veri (garbage) veya v49 modelleri için [Vector](https://gmod.tr/wiki/Global.Vector)(0,0,0) döndürebilir.
> Sorun Takipçisi: [3285](https://github.com/Facepunch/garrysmod-issues/issues/3285)

> **HATA:** Kemik matrisine (bone matrix) erişim sırasında hedef kemikten bir iz (trace) geçerse anlamsız veri (garbage) döndürebilir.
> Sorun Takipçisi: [3739](https://github.com/Facepunch/garrysmod-issues/issues/3739)

## Argümanlar

1. [number](https://gmod.tr/wiki/number) **boneIndex**: Pozisyonunu almak istediğiniz kemiğin, 0'dan başlayan kemik indeksi. Bakınız: [Entity:LookupBone](https://gmod.tr/wiki/Entity:LookupBone).

## Dönüş Değerleri

1. [Vector](https://gmod.tr/wiki/Vector): Kemiğin dünyaya göre pozisyonu. Eğer istenen kemik sınırlar dışındaysa veya varlığın bir modeli yoksa hiçbir şey döndürmeyebilir.
2. [Angle](https://gmod.tr/wiki/Angle): Kemiğin dünyaya göre açısı.

### Örnek

Bir varlık üzerindeki tüm kemiklerin pozisyonlarını yazdırır.

```lua
-- Haritadaki ilk NPC'yi al
local ent = ents.FindByClass( "npc_*" )[ 1 ]

-- Eğer bir tane bulunduysa
if ( IsValid( ent ) ) then
	-- Her bir kemik için
	for i = 0, ent:GetBoneCount() - 1 do
		-- Varlığı, kemik ID'sini ve kemik pozisyonunu yazdır
		print( ent, i, ent:GetBonePosition( i ) )
	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/Entity:GetBonePosition
