RU/createMarker

From Multi Theft Auto: Wiki
Revision as of 16:44, 8 July 2010 by Damage22 (talk | contribs) (Created page with '__NOTOC__ {{RU/Server client function}} Эта функция создает маркер. Маркер - это 3D-модель в игровом мире, которая мож…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Эта функция создает маркер. Маркер - это 3D-модель в игровом мире, которая может обозначить какую-либо точку или область, и часто используется, чтобы давать игрокам указания, где именно можно выполнять определенные действия, например, заходить в здание.

Есть ограничения на максимальное число одновременно видимых маркеров, а именно:

  • Короны: 32
  • Чекпоинты, кольца, цилиндры и стрелки все в сумме: 32

Создавать можно практически неограниченное число маркеров (при условии, что хватает памяти и ограничения по числу элементов), однако игрок сможет увидеть только ближайшие из них, и не более указанных ограничений.

Синтаксис

Click to collapse [-]
Server
marker createMarker ( float x, float y, float z, [string theType, float size, int r, int g, int b, int a, visibleTo = getRootElement()] )

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

  • x: Вещественное число - координата X на карте.
  • y: Вещественное число - координата Y на карте.
  • z: Вещественное число - координата Z на карте.

Дополнительные аргументы

Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.

  • theType: Внешний вид маркера. Доступны следующие типы:
    • "checkpoint": Чекпоинт для гонок. Выглядит, как высокая, но не бесконечная светящаяся колонна. Чекпоинты привязываются к земле и становятся невидимыми после того, как над ними проедут на определенной высоте (по координате Z).
    • "ring": Кольцо в форме бублика, обычно используется для самолетов и вертолетов.
    • "cylinder": Небольшое светящееся кольцо. Они используются в одиночной игре для того, чтобы начать миссию.
    • "arrow": Стрелка, указывающая на землю. Такие же стрелки есть в одиночной игре на входе в те здания, в которые игрок может зайти, однако в MTA они по умолчанию не анимированы.
    • "corona": Светящийся шар.
  • size: Диаметр маркера в метрах.
  • r: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • g: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • b: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • a: Целое число - прозрачность маркера (0 - 255 где 0 - полностью прозрачный, а 255 - полностью непрозрачный).
  • visibleTo: Только этот элемент и его потомки смогут увидеть маркер. См.visibility.
Click to collapse [-]
Client
marker createMarker ( float x, float y, float z, [string theType, float size, int r, int g, int b, int a] )

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

  • x: Вещественное число - координата X на карте.
  • y: Вещественное число - координата Y на карте.
  • z: Вещественное число - координата Z на карте.

Дополнительные аргументы

Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.

  • theType: Внешний вид маркера. Доступны следующие типы:
    • "checkpoint": Чекпоинт для гонок. Выглядит, как высокая, но не бесконечная светящаяся колонна. Чекпоинты привязываются к земле и становятся невидимыми после того, как над ними проедут на определенной высоте (по координате Z).
    • "ring": Кольцо в форме бублика, обычно используется для самолетов и вертолетов.
    • "cylinder": Небольшое светящееся кольцо. Они используются в одиночной игре для того, чтобы начать миссию.
    • "arrow": Стрелка, указывающая на землю. Такие же стрелки есть в одиночной игре на входе в те здания, в которые игрок может зайти, однако в MTA они по умолчанию не анимированы.
    • "corona": Светящийся шар.
  • size: Диаметр маркера в метрах.
  • r: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • g: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • b: Целое число - количество красного компонента в цвете маркера (0 - 255).
  • a: Целое число - прозрачность маркера (0 - 255 где 0 - полностью прозрачный, а 255 - полностью непрозрачный).

Вывод

Возвращает созданный маркер , или false если были переданы некорректные аргументы.

Пример

Click to collapse [-]
Пример 1

Создает рядом с игроком маркер, когда он вводит команду 'createmarker':

-- эта функция вызывается при вводе 'createmarker':
function consoleCreateMarker ( thePlayer, commandName )
   if ( thePlayer ) then
      local x, y, z = getElementPosition ( thePlayer ) -- get the player's position
      -- создаем цилиндрический маркер рядом с игроком
      local theMarker = createMarker ( x + 2, y + 2, z, "cylinder", 1.5, 255, 255, 0, 170 )
      if ( theMarker ) then -- проверяем, что успешно создали маркер
         outputConsole ( "Marker created successfully", thePlayer )
      else
         outputConsole ( "Failed to create marker", thePlayer )
      end
   end
end
addCommandHandler ( "createmarker", consoleCreateMarker )
Click to collapse [-]
Пример 2

Создает маркер в точке 0, 0, 20:

createMarker ( 0, 0, 20 )

Смотрите также