Команда Проекта
Был(a) в сети 8 часов назадКоманда Проекта
Был(a) в сети 13 часов назад Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter
Эта функция используется для получения списка всех элементов заданного типа. Это может быть полезно, Так как он не учитывает того, где в дереве элементов. Он может использоваться как для встроенных типов (см. ниже) или с любого пользовательского типа, используемая в .файл карте. Например, если имеется элемент типа "флаг" (например, <флаг />) в интернет .Map-файл, используя "флаг" в качестве аргумента типа хотела ее найти.
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)
Нет комментариев.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.