Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 03.03.2023 во всех областях

  1. 2 балла
    В общем, похоже вырисовывается в какой-то мере стабильно работающий код. Пока вся документация на английском: https://github.com/Krutoy242/lostuser В общем, я сохранил правила укорачивания и добавил больше функций между таблицами и функциями. Приведу пример дрона, который носит предметы между точками. Компоненты: Инвентарь, Контроллер инвентаря Имя дрона: P=i/Nf300ⓡDm^Pp,s/1~'Dg!>1',_(Pl) Описание каждой части имени: Nf300: Выполняет navigation.findWaypoints(300). Это никакое заранее указанное сокращение. Большая буква - это сокращение, которое получают все компоненты. navigation -> N, inventory_controller -> I и так далее. i/Nf300: Здесь используется единственная предустановленная переменная i. i = порядковый индекс текущего цикла программы, начиная с нуля. i / table - специальная функция "Получить индекс по модулю" или t[i % #t + 1]. Все эти функции, которые есть математические операторы над таблицами, есть в документации. По смыслу мы просто пробегаем каждый цикл по следующему вейпоинту. P=i/Nf300: Просто записываем в глобальную переменную P наш вейпоинт. Локальные переменные не могут сокращаться, поэтому мы используем глобальную. А еще, если буква будет большая, мы сможем сократить точку далее. ⓡ: просто один символ который будет заменен на return . Приму советы как избежать таких замен, что бы сохранить чистый Lua код 🙂 Dm^Pp: вызывает drone.move(table.unpack(P.position)). Тут должно быть просто. Dm => D.m => drone.m => drone.move. В документации по ссылке выше перечислены все операторы, и там написано что если функцию (drone.move) возвести в степень таблицы (p.position) то мы получим вызов функции с раскрытием таблицы в параметры. s/1~'Dg!>1' => while drone.getOffset() > 1 do sleep(1) end. Здесь символ ! заменяется на () _(Pl): Загрузить P.label как Lua код. Эта функция будет загружена и выполнена. Точки называются _'Dsk0'~4 и _'Dsel(k)Dd(0)'~4 соответственно. Первая сосет 4 раза, вторая выбирает каждый из 4х слотов и поочереди их выбрасывает.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...