Показано с 1 по 5 из 5
  1. #1
    Аватар для RastaOrecha
    ? FreeLancer ?
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    22
    Сообщений
    1,858
    Репутация
    229

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

    Доброго времени суток.

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

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



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

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

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

    PHP код:
    setElementModel(source19
    ○ source - игрок [тут должен быть указан элемент]
    ○ 19 - ID модеели [тут должна быть указана модель]

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

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

    PHP код:
    local veh createVehicle(4110.00.00.0)
    setElementModel(veh522
    Итак, таким образом мы меняем Infernus на NRG.

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

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

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

    PHP код:
    n_el createElement "need" ) -- Создадим элемент "need"

    local veh createVehicle 4110.00.00.0)
    setElementParent(vehn_el) -- Присвоим созданному автомобилю элемент "need"

    guiCreateButton 0.00.00.00.0"Test"falsen_el ) -- Создадим кнопку и присвоим ей элемент n_el  ("need"
    И в нужном месте вставим:

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

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

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

    Все функции элементов можно посмотреть здесь: https://wiki.multitheftauto.com/wiki/Element

    Так же рекомендую урок от пользователя Essle:

    [урок] ElementData


    Удачного дня

    P.S: При размещении темы на других порталах просьба указывать автора: RastaOrecha



    Код:
    PAWN:
    
    • [PAWN Wiki] Пишем регистрацию с 0 на Y_INI
    • [PAWN Wiki] Использование YCMD (y_commands) + SSCANF 2.x
    • [PAWN Wiki] Использование Y_Timers
    • [PAWN Wiki] Разделяем мод на инклуды (y_hooks)
    • [PAWN Wiki] Использование UVar
    • [PAWN Wiki] Единая тема оптимизации
    • [Интересные комманды] Cмена ника MySQL 
    • [Интересные комманды] Full Set
    • [Интересные комманды] Телепорт по указанным координатам 
    • [Скрипты и инклуды] jBank System [version 1]
    • [Скрипты и инклуды] jRegistration System
    
    Lua:
    • [Wiki] Создание мода с 0
    • [Wiki] Дерево элементов | new
    • [Wiki] Бинд клавиш или комманда на кнопку
    • [Func] eachOther (повторение числа/строки) | new
    Маппинг:
    
    • [MAP] Квартира в центре (приятный вид)
    • [Source] Маленькое помещение с видом из окна
    • [Source] Пустое помещение с панорамными окнами
    
    HTML, JavaScript:
    
    • [HTML] Подключение таблицы стилей CSS к HTML
    • [HTML][CSS] Красивый текст снизу картинки
    
    C#, C++ :
    
    • [C++] Действие на кнопку (при нажатии на кнопку)
    • [C++] Работа с файлами
    • [C++] Склоняем






    “When you have insomnia, you're never really asleep. And you're really awake.”
    “Никогда не указывайте на ошибки, если не знаете, как их исправить.” - Бернард Шоу.
    “Если ты способен выдумать что-то, ты можешь и сделать это.” - Уолт Дисней.
    “Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.” - Элеонор Рузвельт.

  2. #2
    Аватар для Burton
    Проверенный
    Регистрация
    12.03.2011
    Сообщений
    1,315
    Репутация
    147

    Re: [Lua] Дерево элементов [MTA]

    Интересно.
    о́

  3. #3
    Аватар для Arios Jentu
    Проверенный
    Регистрация
    15.02.2012
    Адрес
    Таанаб - Пандат
    Сообщений
    2,436
    Репутация
    319
    За особые успехи в Lua.

    Re: [Lua] Дерево элементов [MTA]

    Даже идеи появились))) Очень интерестно.

  4. #4

    Диванный критик
    Регистрация
    03.07.2011
    Адрес
    Вологда
    Возраст
    24
    Сообщений
    2,109
    Репутация
    269
    За особые успехи в Lua.За красивое оформление тем

    Re: [Lua] Дерево элементов [MTA]

    setElementPosition ( root, 0,0,14 ) -- затащит все элементы на ферму
    Если не выходить за границу «объектно-ориентированных» методов, чтобы остаться в рамках «хорошего программирования и проектирования», то в итоге обязательно получается нечто, по большей части не имеющее смысла. (C) Bjarne Stroustrup


    http://www.lua.org/about.html
    Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!

  5. #5
    Аватар для RastaOrecha
    ? FreeLancer ?
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    22
    Сообщений
    1,858
    Репутация
    229

    Re: [Lua] Дерево элементов [MTA]

    Спасибо всем.



    Код:
    PAWN:
    
    • [PAWN Wiki] Пишем регистрацию с 0 на Y_INI
    • [PAWN Wiki] Использование YCMD (y_commands) + SSCANF 2.x
    • [PAWN Wiki] Использование Y_Timers
    • [PAWN Wiki] Разделяем мод на инклуды (y_hooks)
    • [PAWN Wiki] Использование UVar
    • [PAWN Wiki] Единая тема оптимизации
    • [Интересные комманды] Cмена ника MySQL 
    • [Интересные комманды] Full Set
    • [Интересные комманды] Телепорт по указанным координатам 
    • [Скрипты и инклуды] jBank System [version 1]
    • [Скрипты и инклуды] jRegistration System
    
    Lua:
    • [Wiki] Создание мода с 0
    • [Wiki] Дерево элементов | new
    • [Wiki] Бинд клавиш или комманда на кнопку
    • [Func] eachOther (повторение числа/строки) | new
    Маппинг:
    
    • [MAP] Квартира в центре (приятный вид)
    • [Source] Маленькое помещение с видом из окна
    • [Source] Пустое помещение с панорамными окнами
    
    HTML, JavaScript:
    
    • [HTML] Подключение таблицы стилей CSS к HTML
    • [HTML][CSS] Красивый текст снизу картинки
    
    C#, C++ :
    
    • [C++] Действие на кнопку (при нажатии на кнопку)
    • [C++] Работа с файлами
    • [C++] Склоняем






    “When you have insomnia, you're never really asleep. And you're really awake.”
    “Никогда не указывайте на ошибки, если не знаете, как их исправить.” - Бернард Шоу.
    “Если ты способен выдумать что-то, ты можешь и сделать это.” - Уолт Дисней.
    “Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.” - Элеонор Рузвельт.


 

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •