RU/getElementSpeed
Jump to navigation
Jump to search
Эта функция возвращает скорость элемента в м/с, км/ч или миль/ч.
Синтаксис
float/nil getElementSpeed ( element theElement [, int/string unit="m/s" ] )
Аргументы
Дополнительные аргументы
Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.
- Unit: Единицы измерения. Если не установлены, вернет в м/с. Они могут быть заданы текстом или числом:
- 0 or m/s: метров в секунду.
- 1 or km/h: километров в час.
- 2 or mph: миль в час.
Возврат
Вернет скорость элемнта если он есть, или nil если его нет.
Код
Click to collapse [-]
Для сервера и клиентаfunction getElementSpeed(theElement, unit) assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")") local elementType = getElementType(theElement) assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .. ")") assert((unit == nil or type(unit) == "string" or type(unit) == "number") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == "m/s" or unit == "km/h" or unit == "mph"), "Bad argument 2 @ getElementSpeed (invalid speed unit)") unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit)) local mult = (unit == 0 or unit == "m/s") and 50 or ((unit == 1 or unit == "km/h") and 180 or 111.84681456) return (Vector3(getElementVelocity(theElement)) * mult).length end
Пример
Click to collapse [-]
Клиентlocal sx = guiGetScreenSize() local function drawSpeed() local vehicle = getPedOccupiedVehicle(getLocalPlayer()) local speedms, speedkmh, speedmph = getElementSpeed(vehicle), getElementSpeed(vehicle, 1), getElementSpeed(vehicle, 2) local roundedSpeedms, roundedSpeedkmh, roundedSpeedmph = math.floor(speedms) == speedms and speedms or string.format(speedms, "%.1f"), math.floor(speedkmh) == speedkmh and speedkmh or string.format(speedkmh, "%.1f"), math.floor(speedmph) == speedmph and speedmph or string.format(speedmph, "%.1f") local speedoText = "Current speed: " .. roundedSpeedms .. " m/s | " .. roundedSpeedkmh .. " km/h | " .. roundedSpeedmph .. " mph" dxDrawText(speedoText, sx - dxGetTextWidth(speedoText), 0) end addEventHandler("onClientRender", getRootElement(), drawSpeed)
Смотрите также
Функции таблиц
- pairsByKeys » Эта функция сортирует pairs таблицы.
ACL фунции
- aclGroupClone » Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.
События
- isEventHandlerAdded » Эта функция проверяет, создано событие или нет.
Функции машины
- getVehicleRPM » Эта функция получает кол-во оборотов машины.