RU/attachElements
Эта функция прикрепляет один элемент к другому, так что первый элемент следует за вторым при каждом его перемещении.
Если делается попытка прикрепить два элемента, которые уже прикреплены противоположным образом (например, theElement становится theAttachToElement и наоборот), 1-й порядок присоединения автоматически отключается в пользу 2-го порядка присоединения. Например, если carA был привязан к carB, теперь carB привязан к carA. Кроме того, элемент не может быть прикреплен к двум отдельным элементам одновременно. Например, две машины могут быть прикреплены к одной машине, но одна отдельная машина не может быть прикреплена к двум отдельным машинам. Если вы попытаетесь это сделать, существующее вложение будет автоматически удалено и заменено новым. Например, если carA предлагается прикрепить к carB, а затем carC, он присоединяется только к carC.
Эта функция совместима не со всеми элементами. Совместимы следующие элементы:
Примечание:
|
Синтаксис
bool attachElements( element theElement, element theAttachToElement, [float xPosOffset = 0, float yPosOffset = 0, float zPosOffset = 0, float xRotOffset = 0, float yRotOffset = 0, float zRotOffset = 0] )
Синтаксис ООП Помогите! Я не понимаю, что это!
- Метод: element:attach(...)
- Парная функция: detachElements
Обязательные аргументы
- theElement: Элемент, который вы хотите прикрепить.
- theAttachToElement: Элемент, к которому вы хотите прикрепить первый.
Необязательные аргументы
Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.
- xPosOffset: Смещение по оси X, если вы хотите, чтобы элементы находились на определенном расстоянии друг от друга (по умолчанию 0).
- yPosOffset: Смещение по оси Y (по умолчанию 0).
- zPosOffset: Смещение по оси Z (по умолчанию 0).
- xRotOffset: Смещение поворота по оси X (по умолчанию 0).
- yRotOffset: Смещение поворота по оси Y (по умолчанию 0).
- zRotOffset: Смещение поворота по оси Z (по умолчанию 0).
Возвращаемые значения
Пример использования
Пример 1: В этом примере маркер прикрепляется к игроку, укравшему мистера Вупи:
local vehicleMrWhoopee = createVehicle( 423, 237.472, -54.225, 1.518, 0, 354.488, 0 ) -- создаёт автомобиль function onMrWhoopeeEnter( thePlayer, seat, jackedPlayer ) outputChatBox( getPlayerName( thePlayer ) .. " украл Вупи!", root, 255, 0, 0 ) -- выводит сообщение в чат local arrowMarker = createMarker( 0, 0, 0, "arrow", .75, 255, 0, 0, 170 ) -- создаёт маркер для прикрепления attachElements( arrowMarker, thePlayer, 0, 0, 2 ) -- прикрепляет маркер к игроку с вертикальным смещением 2 единицы end addEventHandler( "onVehicleEnter", vehicleMrWhoopee, onMrWhoopeeEnter ) -- прикрепляет функцию 'onMrWhoopeeEnter' к обработчику события "onVehicleEnter"
Пример 2: В этом примере добавляется танк поверх игрока (для дополнительной защиты) при помощи команды /hat:
function tankHat( source, commandName ) local x, y, z = getElementPosition( source ) -- получает позицию игрока local tank = createVehicle( 432, x, y, z + 5 ) -- создаёт танк attachElements( tank, source, 0, 0, 5 ) -- прикрепляет танк к игроку end addCommandHandler( "hat", tankHat ) -- прикрепляет функцию 'tankHat' к обработчику команды "hat"
Пример 3: В этом примере добавляется танк поверх игрока (для дополнительной защиты) со стороны клиента при помощи команды /hat. Это означает, что он будет невидим для других игроков.
function tankHat(commandName) local position = Vector3( getElementPosition(localPlayer) ) -- получает позицию локального игрока local tank = createVehicle( 432, position.x, position.y, position.z + 5 ) -- создаёт танк attachElements(tank,localPlayer, 0, 0, 5 ) -- прикрепляет танк к игроку end addCommandHandler( "hat", tankHat ) -- прикрепляет функцию 'tankHat' к обработчику команды "hat"
Смотрите также
Серверные функции
- addElementDataSubscriber
- hasElementDataSubscriber
- removeElementDataSubscriber
- clearElementVisibleTo
- cloneElement
- getAllElementData
- getElementByIndex
- getElementSyncer
- getElementZoneName
- removeElementData
- isElementVisibleTo
- setElementSyncer
- setElementVisibleTo
Клиентские функции
- getElementBoundingBox
- getElementDistanceFromCentreOfMassToBaseOfModel
- getElementRadius
- isElementCollidableWith
- isElementOnScreen
- isElementStreamable
- isElementStreamedIn
- isElementSyncer
- isElementWaitingForGroundToLoad
- setElementCollidableWith
- setElementStreamable
- getElementBoneMatrix
- getElementBonePosition
- getElementBoneRotation
- setElementBoneMatrix
- setElementBonePosition
- setElementBoneRotation
- updateElementRpHAnim
Общие функции
- attachElements
- createElement
- destroyElement
- detachElements
- getAttachedElements
- getElementAlpha
- getElementAttachedOffsets
- getElementAttachedTo
- getElementCollisionsEnabled
- getElementByID
- getElementChild
- getElementChildren
- getElementChildrenCount
- getElementColShape - получает связанную с элементом форму коллизии
- getElementData
- getElementDimension
- getElementHealth
- getElementID
- getElementInterior
- getElementModel
- getElementMatrix
- setElementMatrix
- getElementParent
- getElementPosition
- getElementRotation
- getElementType
- getElementVelocity
- getElementsByType
- getElementsWithinColShape - получает список всех элементов связанных с формой коллизии указанного типа
- getLowLODElement
- isElementLowLOD
- setLowLODElement
- getPedContactElement
- getResourceDynamicElementRoot
- getResourceRootElement
- getRootElement
- hasElementData
- isElement
- isElementAttached
- isElementCallPropagationEnabled
- isElementDoubleSided
- isElementFrozen
- isElementInWater
- isElementWithinColShape - определяет, находится ли элемент в пределах формы коллизии
- isElementWithinMarker
- setElementAlpha
- setElementAngularVelocity
- getElementAngularVelocity
- setElementAttachedOffsets
- setElementCallPropagationEnabled
- setElementCollisionsEnabled
- setElementData
- setElementDimension
- setElementDoubleSided
- setElementFrozen
- setElementHealth
- setElementID
- setElementInterior
- setElementModel
- setElementParent
- setElementPosition
- setElementRotation
- setElementVelocity