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

Zer0Galaxy

Гуру
  • Публикации

    1 220
  • Зарегистрирован

  • Посещение

  • Победитель дней

    189

Сообщения, опубликованные пользователем Zer0Galaxy


  1. Ailen, не слушай Нео. У него вложенные циклы с одинаковыми итераторами.

    А еще белый список можно создать таким образом:

    local white_list = {'NEO'=true,'Totoro'=true,'Alex'=true}
    

    Тогда поиск в белом списке можно осуществлять без цикла for i = 1, #white_list do.

    if white_list[players[i].name] then
       ...
    end
    

    Люблю Луа за его таблицы!

     

    Да. И не вздумай хранить белый список в коде программы. Настоящие програмеры его всегда хранят в отдельном файле. А мы ведь настоящие програмеры.

    • Нравится 2

  2. Возникла проблема при попытке сделать поток с «computer.pullSignal()» если не указывать время ожидания, то библиотека выдает ошибку, что я попыталась сравнить string and number. Но можно просто установить таймер на подольше и будет все отлично)

    Благодарю за багрепорт. Исправлено.

    Скачайте либу по той же ссылке.

    • Нравится 1

  3. А в чем заключается баг золотого монитора?

     

    И вместо

     if что_то == false then

    лучше писать

    -- if что_то ~= not false then
    if not что_то then

    А конструкцию типа

    if cond then
     var=A
    else
     var=B
    end

    и вовсе лучше заменить на логическое выражение


  4. Сразу возникла мысль, а нельзя ли сделать графический редактор, пиксель в котором не символ, а полусимвол? Таким образом, пиксели будут квадратными, а не вытянутыми по вертикали прямоугольниками.

    • Нравится 1

  5. В библиотеку forms (и конечно же в редактор FormsMaker) добавлены два невизуальных компонента - событие и таймер. В редакторе они видны, что позволяет редактировать их свойства.

     

    Событие. Создается командой:

    Event1=Form1:addEvent(eventName, onEvent)

     

    При возникновении в системе события с именем eventName будет вызвана функция-обработчик onEvent. Как видите, компонент событие аналогичен слушателю, создаваемому функцией event.listen, с той разницей, что компонент работает только в пределах создавшей его программы, а слушатель продолжит работу и после её завершения.

     

    Параметры вызова метода addEvent:

     

    eventName - (строка) имя обрабатываемого события. Если задать пустую строку, компонент будет обрабатывать все возникающие события.

    onEvent - (функция) обработчик события, принимает параметры, передаваемые событием. 

     

     

    Таймер. Создается командой:

    Timer1=Form1:addTimer(interval, onTime)

     

    Вызывает функцию onTime с заданным интервалом.

     

    Параметры вызова метода addTimer:

     

    interval - (число) период работы таймера в секундах.

    onTime - (функция) обработчик события. 

     

     

    Методы компонентов "событие" и "таймер":

     

    stop() - приостанавливает работу компонента.

    run() - возобновляет работу

    • Нравится 4

  6. Можно через таблицу стандартного окружения _G. В одной программе задаешь значение глобальной переменной, например, data

    _G.data=5
    

    а в другой используешь

    print(_G.data)

    PS: Фингер опередил.

    • Нравится 3

  7. Добро пожаловать в ряды велосипедостроителей?

    1. pos = {
    2. x = "auto",
    3. y = 3
    4. },

    Что означает x = "auto" ?

    Если сместить коробку, её содержимое тоже сместится?

     

     

    хочу представить вам библиотеку гуи, настоящий велосипед, но красивее чем у Зеро.

    Т.е. ты хочешь сказать, что на forms такой красоты не сделать?


  8. Получается, уже существующие компоненты библиотеки можно разложить по разным файлам?

     

    А зачем эти переменные делать глобальными?

    _G.forms=forms
    _G.TComponent=TComponent
    _G.gpu=gpu
    

    Что бы добавить новый компонент, создаешь файл в папке /lib/formsparts/ и перегружаешь комп. Кто будет добавлять компоненты динамически?


  9. Сделал расширение для либы:

    ...

    В результате тестирования: не находит метод TComponent:addMenu. В чем проблема? Компонент делал по образцу из TList.

    Может быть проблема в этом?

    TList.__index=TList  -- а должно быть TMenu.__index=TMenu
    

    А что это за компонент Menu? Что он должен делать?

    • Нравится 1

  10. Это вопрос не к библиотеке thread, а к библиотеке coroutin. Когда сопрограмма вызывает os.sleep, фактически вызывается coroutin.yield (см. исходник os). При этом управление передается ядру системы. В качестве параметра передается таймаут. Ядро возвращает управление сопрограмме либо по получению сигнала либо по прошествии таймаута. При использовании thread происходит тоже самое, только роль ядра для дочерних потоков играет основной поток.

    • Нравится 2

  11. А где можно скачать этот редактор?

    К сожалению, сейчас я не имею доступа к компьютеру, на котором хранится последняя версия редактора. Давай дождемся следующей недели. Библиотеку forms можно скачать с пастебина. Ссылка в соответствующей теме.


  12. Эх Вы господа.По-моему даже сам автор темы @Zer0Galaxy уже бросил эту идею, а вы еще мусолите и мусолите.Не забывайте что последнее слово за всемогущими главными админами.

    Ничего я не бросал, поскольку ничего не начинал. Тема ведь создана в Беседке, а не в Проектах и всё сказанное мной не более чем треп. Далее, ФБ вовсе не подразумевает привлечение админ-ресурса и вполне может быть создана игровыми методами.

    По поводу хешей. Прошу кого нибудь из идеологов изложить подробно алгоритм извлечения прибыли в привязке к миру Майнкрафт, а не в виде ссылок на внешние источники. Я ведь тоже мог оставить ссылку на википеди, но я расписал, как мне кажется, достаточно подробно.

×
×
  • Создать...