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

Zer0Galaxy

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

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

  • Посещение

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

    189

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


  1. 2 часа назад, bes_zensuri1 сказал:

    ...

    Когда вызывается функция ruletka? Хотелось бы весь текст программы глянуть.

    Каково содержимое таблицы spisok после вызова loadItems2?

    Зачем задавать name = spisok[1].item если тут же name снова переопределяется name = spisok[x].item?

    Что вообще делает  loadItems2 для меня осталось загадкой. Многократно переопределяет Label23.caption, а потом очищает его. Зачем? Если имеется в виду, что там должны промелькнуть какие то буквы, то используй таймер, а не sleep иначе рискуешь потерять события.

    После завершения цикла for i = 1, 26 do значение переменной y всегда будет равняться 37. А значит цикл for x = 27,y+1 do выполнится от 27 до 38. Определены ли элементы spisok для таких x и чем определены?

    Научись давать правильные имена переменным. Label23 ни о чем не говорит. Через неделю ты сам забудешь что эта метка содержит.


  2. 6 минут назад, rootmaster сказал:

    всмс? библиотеку типо? или побрутфорсить? кароч либу с github скачал а вот хеш пароля(а какого не скажу естественно): fc2cef308611159ccc0948e1b987b803 я его в hex потому что md5 byte code делает как сюда всунуть непонятно

    Found : 1w2w3w4w
    (hash = fc2cef308611159ccc0948e1b987b803)

    Кибер на секунду опередил. Ну, так он же Кибер


  3. 7 минут назад, rootmaster сказал:

    чтобы отвязаные потоки не закрывались на ctrl + alt + c а привязаные закрывались даже если программа завершилась через return

    Ну, так эту информацию нужно указать в первом посте темы. Дать развернутое объяснение, дескать было так, а стало так. Скриншоты и примеры кода добавляют интерес. Но это, конечно, если тебя интересует результат. Если же устраивает, что все просто пройдут мимо, то можно ограничиться ссылкой на установщик.


  4. 1 час назад, bes_zensuri1 сказал:

    Button1=Form2:addButton(6,14,"ПОПОЛНИТЬ", onClick)

    ...

    Button2=Form2:addButton(6,18,"ПРИЗЫ", onClick)

    ...

    Вместо onClick нужно указывать функцию, которая должна вызываться при нажатии кнопки. Они что, одинаковые для всех кнопок?

    Так же до выполнения forms.run(Form1) дело не дойдет, т.к. застрянет на бесконечном цикле в функции login().

    Не используй бесконечные циклы когда пользуешься GUI


  5.  

    Что бы кнопка работала, она должна находиться на активной форме. Убедись, что Form2 активна.

    2 часа назад, bes_zensuri1 сказал:

    И еще вопрос можно ли как-то из функции обработки нажатия вытащить ник игрок. Мне это нужно, чтобы сравнить с пользователем, который авторизировался и никто другой не мог нажимать.

    Функция-обработчик нажатия на кнопку принимает два параметра: указатель на кнопку и имя игрока, нажавшего ее

    function onClick(self,name)
      -- name - имя игрока
    end

     

    • Нравится 1

  6. @bes_zensuri1, в GUI Forms обработку событий следует выполнять при помощи компонента Event.

    EventOn=Form1:addEvent('player_on', function() Form2:setActive() end)
    EventOff=Form2:addEvent('player_off', function() Form1:setActive() end)
    forms.run(Form1)

    В том же коде, который привел ты мы сразу попадаем в бесконечный цикл while true do. Если мы каким то чудом из него выйдем, то тут же попадем во второй. И только потом запустится GUI, но циклы, обрабатывающие события уже не работают:(

    • Нравится 2

  7. Такое ощущение, что приведенный отрывок кода (отрывок 1) не имеет отношения к скриншоту (отрывок 2). Судя по коду, прежде чем открывается файл, должен три раза выполниться print. Где результаты этих принтов на скриншоте?


  8. В локалке установил список доступа:

    userAdd Zer0Galaxy

    Проверил список:

    local computer = require "computer"
    
    for k,user in pairs({computer.users()}) do
      print( user )
    end
    -- Zer0Galaxy

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

    r=require"robot"
    for i=1,10 do
      r.forward(1)
    end
    r.swingDown()
    r.turnLeft()
    r.turnLeft()
    for i=1,10 do
      r.forward(1)
    end
    r.place()

    Снова проверил список:

    local computer = require "computer"
    
    for k,user in pairs({computer.users()}) do
      print( user )
    end
    -- Zer0Galaxy

     

    • Нравится 1
    • Спасибо 1

  9. 5 часов назад, Taoshi сказал:

    Отключить 'слушателя' можно командой

    Цитата

    event.cancel(номер_слушателя)

    event.cancel() отменяет таймер. Для отмены слушателя нужен event.ignor(), а для его работы нужен указатель на функцию-слушатель, который остался в z_protect. Так что просто так отключить не получится.


  10. 4 часа назад, Taoshi сказал:

    А разве по умолчанию не выбираются лучшая видеокарта и лучший экран? Или вас интересует 'лучший экран' по размерам в игре?

    Руководство пишет:

    Component API назначает один из компонентов каждого типа «главным».
    Если блоков одного типа несколько, «главный» выбирается случайно. 

    Я немного поэкспериментировав обнаружил, что из двух видеокарт главной выбирается та, которая вставлена в верхний слот, а из двух мониторов 1-го и 3-его уровней - выбирается первый. Хотя, не буду утверждать, что так бывает всегда.

    • Нравится 1

  11. 6 часов назад, ItsMakar сказал:

    Как это вообще нафиг работает?

    Типо ну да стоит 3 контроллера и 1 пк но как оно определяет почти точную позицию чела

    Все компоненты системы получают запрос от пользователя. Но поскольку физически компоненты расположены в разных точках пространства, расстояния с которых получен запрос, будут разные для каждого компонента и зависеть от положения пользователя. Зная эти расстояния и координату базового контроллера, система вычисляет координату пользователя и возвращает эту координату в ответном сообщении.


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


  13. 11 час назад, rootmaster сказал:

    почему register а не listen и зачем math.huge

    register это тот же listen, но с меньшим количеством проверок. Поэтому он позволяет вводить nill вместо имени события. А третий и четвертый параметры это интервал и количество срабатываний слушателя. Если мы хотим что бы слушатель работал вечно, туда нужно поставить math.huge.

    Цитата

    та я уже поток прикрутил

    ну вопрос же был: как читать ивенты при помощи слушателя.

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