Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Урок] Дерево элементов MTA

Статус
В этой теме нельзя размещать новые ответы.

Doc_Slove

Умник
Доброго времени суток!
Сегодня я хотел бы рассказать Вам о очень удобной вещи в MTA, такой как дерево элементов (Element tree)

Для начала взгляните на картинку:



На этой картинке представлено дерево элементов.
Как вы можете увидеть, родительский элемент - root ( )

Т.е всё древо исходит от него, т.е это все объекты, ресурсы, автомобили, игроки на сервере.

Итак, начнём с освоения и переваривания примеров:

PHP:
setElementModel(source, 19)
○ source - игрок [указываете модель]
○ 19 - ID модели [указываете модель]

Этой функцией мы установим игроку source (т.е исполняемому) скин на 19.

Итак, теперь сменим модель автомобилю:

PHP:
local veh = createVehicle(411, 0.0, 0.0, 0.0)
setElementModel(veh, 522)
Итак, таким образом мы меняем Infernus на NRG.

Удобно, правда?
В SA-MP на сколько я знаю (!) нужно узнавать кастомными функциями кол-во пассажиров и их места, поворот кватернионами (?), цвет и пересоздавать автомобиль с новыми значениями.

Поскольку первый аргумент в функции - the Element, то можно менять модель любому элементу, в том числе и объектам.

Так, теперь приведём более сложный пример.

PHP:
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")
И в нужном месте вставим:

PHP:
destroyElement ( n_el )
В нашем случае удалиться и кнопка, и автомобиль, потому, что мы привязали их к созданному элементу "need" (который тоже удалиться).

Опять же, этой функцией ( ) удалиться любой указанный нами элемент, будь то автомобиль, пед, gui, объект и пр.

В принципе сказать мне больше нечего, если остались вопросы - задавайте.

Все функции элементов можно посмотреть здесь:


Удачного дня!
P.S: При размещении темы на других порталах просьба указывать автора: Doc_Slove (RastaOrecha)
​
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу