Переход с Pawno на Lua. Часть 7 — Элементы и заморозка игрока.
Элементы
Очередной небольшой урок.
В МТА пикапы, машины, игроки, маркеры на карте и т. п. - это элементы, и они объединены общими функциями. Всего, если мне изменяет память, то в МТА может быть 65535 элементов (вроде проскальзывала такая информация, если не так — то поправьте пожалуйста). То есть здесь нет деления по ограничениям как в сампе.
Для большинства элементов, с которыми вы будете сталкиваться, могут быть применены общие функции, такие как:
destroyElement
setElementData
setElementPosition
Заморозка игрока
Опять же если я все правильно помню, то в сампе можно заморозить игрока только так, чтобы он не смог ни только двигаться, но и камеру поворачивать. В МТА для этого есть удобная функция
Code
toggleAllControls ( player thePlayer, bool enabled, [bool gtaControls=true, bool mtaControls=true] )
gtaControls – функции ГТА
mtaControls – функции МТА
Пример:
Данный код заморозит игрока.
Code
toggleAllControls ( thePlayer, false )
Полезная информация:
Я обычно делаю так:
Code
toggleAllControls ( thePlayer, false, true, false )
Это позволяет игроку крутить камеру, но не позволяет ходить.
Для разморозки игрока надо поставить данные аргументы в значение true.
Большой пример:
Code
function freezeThisDude ( thePlayer, freezeTime ) -- объявляем функцию с аргументами игрока и временем заморозки
toggleAllControls ( thePlayer, false ) -- замораживаем игрока
setTimer ( toggleAllControls, freezeTime, 1, thePlayer, true ) -- размораживаем игрока спустя какое то время
end – закрываем функцию
function freezeOnEnterVehicle ( theVehicle, seat, jacked ) -- объявляем функцию
freezeThisDude ( source, 5000 ) -- вызываю первую функцию; 5000мс = 5 секунд
end -- закрываем функцию
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), freezeOnEnterVehicle ) -- соединяем эвент и функцию
Дополнительно:
Информация об элементахх на викиДобавлено (24.06.2011, 17:38)
---------------------------------------------
Забыл добавить:
P.S. Этот, и все остальные мои уроки написанны так, как я понимаю Lua и как мне удобно в нем работать