SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje wspólne
  3. attachElementToBone

Funkcja

attachElementToBone

Serwer i klientPozostałeTylko Trilogy Hub

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ż