Показано с 1 по 5 из 5

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

  1. #1
    ? FreeLancer ? Аватар для RastaOrecha
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    26
    Сообщений
    1,857
    Репутация: 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,433
    Репутация: 319

    Звание: как роза среди колючек

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

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

  4. #4
    Диванный критик
    Регистрация
    03.07.2011
    Адрес
    Вологда
    Возраст
    28
    Сообщений
    2,107
    Репутация: 269

    Звание: как роза среди колючек

    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
    ? FreeLancer ? Аватар для RastaOrecha
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    26
    Сообщений
    1,857
    Репутация: 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.”
    “Никогда не указывайте на ошибки, если не знаете, как их исправить.” - Бернард Шоу.
    “Если ты способен выдумать что-то, ты можешь и сделать это.” - Уолт Дисней.
    “Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.” - Элеонор Рузвельт.

Ваши права

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