23 посетителя на сайте. Из них:
Пользователи4
Гости1
Роботы18
Список пользователей
Alicia Santana Сейчас на сайте
Юлія Вознюк-Саверіна Сейчас на сайте
Максим Окаденюк Сейчас на сайте
ЗОЯ Максімова Сейчас на сайте
Djdj Djdjd Был(a) в сети 6 минут назад
Netheritkin Был(a) в сети 9 минут назад
monsterkill Был(a) в сети 11 минут назад
Марк Ившин Был(a) в сети 17 минут назад
Norton Был(a) в сети 19 минут назад
Андрей Новоселов Был(a) в сети 19 минут назад
Ivan Crossme Был(a) в сети 19 минут назад
dendyqq Был(a) в сети 30 минут назад
Алексей Был(a) в сети 31 минуту назад
AvereX AvereX Был(a) в сети 33 минуты назад
Тимур Нач Был(a) в сети 45 минут назад
Habibi Famq Был(a) в сети 1 час назад
Михаил Миронов Был(a) в сети 1 час назад
Paradoks ParadoksOVICH Был(a) в сети 1 час назад
Kaiser Был(a) в сети 1 час назад
вЛАСНИК Был(a) в сети 1 час назад
Wander Был(a) в сети 1 час назад
Денис Сергеевич Был(a) в сети 2 часа назад
Рома Бунин Был(a) в сети 2 часа назад
Слава Павленко Был(a) в сети 2 часа назад
Hyundai Accent Был(a) в сети 2 часа назад
Aftosh Был(a) в сети 2 часа назад
Виктор Питерский Был(a) в сети 2 часа назад
Влад Митрошкин Был(a) в сети 2 часа назад
Список ботов
rambler (18)

Следите за нами!

getElementsByType

Описание

Эта функция используется для получения списка всех элементов заданного типа. Это может быть полезно, Так как он не учитывает того, где в дереве элементов. Он может использоваться как для встроенных типов (см. ниже) или с любого пользовательского типа, используемая в .файл карте. Например, если имеется элемент типа "флаг" (например, <флаг />) в интернет .Map-файл, используя "флаг" в качестве аргумента типа хотела ее найти.

Syntax
Server

table getElementsByType ( string theType, [ element startat=getRootElement() ] ) 

Client

Обязательные Аргументы

Тип элемента вы хотите, чтобы список. Это же как имя тега в .Map файл, поэтому он может использоваться с пользовательским типом элемента, если это необходимо. Встроенных типов можно найти здесь: элемент

  • "player": Игрок подключен к серверу
  • "ped": A пед
  • "water": Водный многоугольник
  • "sound":Звук игры 
  • "vehicle": Транспортное средство
  • "object": Объект 
  • "pickup": Пикап
  • "marker": Маркер
  • "colshape": Форма столкновения
  • "blip": Блип
  • "radararea": Радар
  • "team": Команда
  • "spawnpoint": Спавн Поинт
  • "console": Консоль
  • "projectile": Клиентский снаряд
  • "effect": Клиентские Эфекты
  • "light": клиентский свет
  • "searchlight": Скриншот
  • "shader": Шейдер
  • "texture": Текстуры
    Необязательные аргументы
    ПРИМЕЧАНИЕ: При использовании необязательных аргументов вам может потребоваться предоставить все аргументы перед тем, который вы хотите использовать. Для получения дополнительной информации о необязательных аргументах см. Дополнительные аргументы.

    startat: элемент, с которого должен начинаться поиск. Выполняется поиск дочерних элементов этого элемента, братьев, сестер или родителей не будет. По умолчанию,
    это корневой элемент, который подходит для большинства случаев использования.
    streamedIn: если true, функция будет возвращать только те элементы, которые передаются в потоковом режиме.
    Возврат
    Возвращает таблицу, содержащую все элементы указанного типа. Возвращает пустую таблицу, если нет элементов указанного типа.
    Возвращает false, если указанная строка недействительна (или не является строкой).

    Пример 
    Пример 1: Этот пример извлекает таблицу игроков на сервере и проверяет, находится ли каждый из них в транспортном средстве:

  • local players = getElementsByType ( "player" ) -- get a table of all the players in the server
    for theKey,thePlayer in ipairs(players) do -- use a generic for loop to step through each player
       if ( isPlayerInVehicle ( thePlayer ) ) then -- if the player is in a vehicle, announce it
          outputChatBox ( getPlayerName ( thePlayer ) .. " is in a vehicle" )
       else -- if the player isn't in a vehicle, announce that he/she is on foot
          outputChatBox ( getPlayerName ( thePlayer ) .. " is on foot" )
       end
    Пример 2: Этот пример извлекает таблицу команд на сервере и отображает их в чате:
    local teams = getElementsByType("team")
    for i,team in ipairs(teams) do
       local teamName = getTeamName(team) -- get the team name
       outputChatBox(teamName) -- display the team name in chat
    end
    Пример 3: Здесь показано, как можно создать новый элемент для описания заправочной станции:
    function createGasStations(below)
        local gasstations = getElementsByType ( "gasstation", below ) -- get a table of all the gas station elements in the element tree
        for theKey,theGasStation in ipairs(gasstations) do 
            local x = getElementData(theGasStation, "posX") -- get the position of the element
            local y = getElementData(theGasStation, "posY")
            local z = getElementData(theGasStation, "posZ")
            setElementParent(createColSphere(x, y, z, 10), theGasStation) -- create a colshape for the gas station at the gas station's position
            addEventHandler("onColShapeHit", theGasStation, giveGas) -- when the player hits
        end
    end
    
    function mapLoad()
        createGasStations(source) -- create gas stations for the map that's just loaded
    end
    addEventHandler("onResourceStart", resourceRoot, mapLoad)
    
    function giveGas(hittingElement)
        local theGasStation = source
        if getElementType(hittingElement) == "vehicle" then
            local gas_left = getElementData(theGasStation, "amount")
            local gas_speed = getElementData(theGasStation, "speed")
            if gas_left > 0 then
    
                local gas_to_remove = gas_speed 
                if gas_left < gas_speed then
                    gas_to_remove = gas_left
    
                local current_vehicle_gas = getElementData(hittingElement, "gas")
                current_vehicle_gas = current_vehicle_gas + gas_to_remove
                gas_left = gas_left - gas_to_remove
    
                setElementData(hittingElement, "gas", current_vehicle_gas)
                setElementData(theGasStation, "amount", gas_left)
            else
                outputChatBox("Pump is out of gas!")
            end
        end
    end
    Пример 4: Этот пример проходит через всех подключенных игроков и перенаправляет их на другой хост-сервер:
    local serverIP = "99.88.77.66" -- Change to your server IP to redirect everyone
    local serverPort = 22005 -- The destination server's port
    
    function redirectAllPlayers()
        for _,p in ipairs (getElementsByType("player")) do
            if p then
                redirectPlayer (p, serverIP, serverPort)
            end
        end
    end
    addEventHandler ("onResourceStart", resourceRoot, redirectAllPlayers)




Автор публикации:

WiseBear WiseBear

Скачать:

Скачать

Дата:
Автор ресурса:

Я

Руководство по отладке - как найти ошибки в ваших скриптах
Руководство по отладке - как найти ошибки в ваших
24.12.2020, Статьи
Введение в скриптинг
Введение в скриптинг
12.02.2021, Статьи
Введение в скриптинг 2
Введение в скриптинг 2
24.12.2020, Клиенты MTA
Обучение LUA
Обучение LUA
24.12.2020, Статьи

Нет комментариев.Оставишь комментарий?