Доброго времени суток.
Сегодня я хотел бы рассказать вам о очень удобной вещи в MTA, такой как Дерево элементов ( Element tree )
Для начала взгляните на картинку:
На этой картинке представлено дерево элементов.
Как вы можете увидеть, родительский элемент - root ( getRootElement() )
Т.е всё древо исходит от него, т.е это все объекты, ресурсы, автомобили, игроки на сервере.
Итак, начнём с освоения и переваривания примеров:
setElementModel(source, 19)
○ source - игрок [тут должен быть указан элемент]
○ 19 - ID модели [тут должна быть указана модель]
Этой функцией мы установим игроку source (т.е исполняемому) скин на 19.
Итак, теперь сменим модель автомобилю:
local veh = createVehicle(411, 0.0, 0.0, 0.0) setElementModel(veh, 522)
Удобно, правда?
Итак, таким образом мы меняем Infernus на NRG.
Поскольку первый аргумент в функции - the Element, то можно менять модель любому элементу, в том числе и объектам.
Так, теперь приведём более сложный пример.
n_el = createElement ( "need" ) -- Создадим элемент "need" local veh = createVehicle ( 411, 0.0, 0.0, 0.0) setElementParent(veh, n_el) -- Присвоим созданному автомобилю элемент "need" guiCreateButton ( 0.0, 0.0, 0.0, 0.0, "Test", false, n_el ) -- Создадим кнопку и присвоим ей элемент n_el ("need")
И в нужном месте вставим:
destroyElement ( n_el )
В нашем случае удалиться и кнопка, и автомобиль, потому, что мы привязали их к созданному элементу "need" (который тоже удалиться).
Опять же, этой функцией ( destroyElement() ) удалиться любой указанный нами элемент, будь то автомобиль, пед, gui, объект и пр.
Все функции элементов можно посмотреть здесь: https://wiki.multitheftauto.com/wiki/Element
Автор урока: Doc_Slove
Теги: MTA,Element tree