- Dokumentacja
- Funkcje wspólne
- attachElementToBone
Funkcja
attachElementToBone
Przyczepia element (np. obiekt) do kości postaci, z przesunięciem i obrotem. Element porusza się z kością, np. czapka z głową albo broń w dłoni. Numery kości są takie same jak w getBoneIDs (np. 1 miednica, 8 głowa, 25 prawa dłoń, 35 lewa dłoń).
Składnia
bool attachElementToBone(element theElement, ped thePed, int bone [, float offX, offY, offZ = 0, float offRotX, offRotY, offRotZ = 0, bool follow = true])Argumenty
theElementelement- Element do przyczepienia.
thePedped- Postać.
boneint- Numer kości.
offX, offY, offZfloat, opcjonalny = 0- Przesunięcie.
offRotX, offRotY, offRotZfloat, opcjonalny = 0- Obrót w stopniach.
followbool, opcjonalny = true- Czy element ma trzymać się kości cały czas i podążać za nią, gdy postać biega i porusza się (domyślnie tak).
false= element staje raz w miejscu kości i tam zostaje.
Zwraca
true przy powodzeniu.
Przykład
Gracz trzyma w prawej dłoni pudełko.
addCommandHandler("paczka", function(player)
local box = createObject(1271, 0, 0, 0)
attachElementToBone(box, player, 25, 0.05, 0.1, 0, 0, 0, 0)
end)
Uwagi
Działa po obu stronach. Na serwerze widzą to wszyscy gracze, a w skrypcie klienta tylko ten gracz (np. lokalny obiekt w dłoni innego gracza).
Przesunięcie i obrót zmienisz później bez ponownego przyczepiania: setElementBonePositionOffset, setElementBoneRotationOffset.
Osie przesunięcia. offX, offY, offZ i obrót są w układzie kości - tym samym, który zwraca getPedBoneMatrix (wiersz 1 = oś X, 2 = Y, 3 = Z). Najprościej dobrać przesunięcie, rysując osie z getPedBoneMatrix przez dxDrawLine3D. Działa też dla obiektów z własnym modelem (engineReplaceModel). getElementPosition przyczepionego elementu daje pozycję z bieżącej klatki.
Zobacz też
detachElementFromBoneOdczepia element przyczepiony do kości przezattachElementToBone. Element wraca na swoją pozycję (tę zsetElementPosition), więc jeśli ma zostać w miejscu dłoni, ustaw mu pozycję przed odczepieniem.setElementBonePositionOffsetZmienia przesunięcie elementu przyczepionego do kości, bez ponownego przyczepiania. Element od razu przesuwa się względem kości.setElementBoneRotationOffsetZmienia obrót elementu przyczepionego do kości, bez ponownego przyczepiania.attachElementsPrzyczepia element do innego. Przyczepiony element porusza się i obraca razem z tym, do którego go przyczepiono. Obiekt przyczepiony do pojazdu prowadzi sama gra w tej samej klatce co fizykę pojazdu, więc jedzie z nim co do milimetra także przy dużej prędkości i na zakrętach.