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

ZloyApelsihchik

Пользователи
  • Публикации

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

  • Посещение

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


  1.  Добрый день. Возник такой вопрос: Если есть какая то программа на компьютере, которая взаимодействует с редстоун-контроллером, а их подключено несколько, то как показать программе именно тот который нужно использовать? А вообще в идеале, так, что бы можно было для одной программы выбрать контроллер, и менять их когда нужно. Возможно криво объяснил, если есть вопросы, переспросите. Заранее благодарю.  


  2. 14 часов назад, ECS сказал:

    Дык поле input.text является строкой, ты ж ее сам вводишь в виде текста, в виде чертовых символов. А функция redstone.setOutput(side, strength) в качестве второго аргумента принимает только числа. Ясен фиг ругается, если ты ей пытаешься текст скормить. Юзай что-то типа этого:

    
    inputPower.onInputFinished = function()
      -- Зачекай, а то мало ли там вообще не число введено
      if inputPower.text:match("%d+") then
      	powerSignal = tonumber(inputPower.text)
      end
    end

    Второй вариант с автоматической валидацией:

    
    inputPower.validator = function()
    	return inputPower.text:match("%d+")
    end
    
    -- При наличии validator этот метод выполнится только в случае успешной валидации текста
    inputPower.onInputFinished = function()
      powerSignal = tonumber(inputPower.text)
    end

     

    Ох, как сложно. 
    Так, то что ты написал, это как я понял, проверка введённого текста, на то число ли это?
    Я не совсем понимаю что такое tonumber. Но опять же как я понял, это что вроде конвертера в число?
    И что такое validator, тоже хотелось бы узнать.
    Простите за такое большое кол-во вопросов, я новичок в это деле и вопросов тьма. 
    Спасибо за помощь :3 Кусь 
     


  3. Возникла проблемка, 

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

    local GUI = require("GUI")
    local component = require("component")
    local sides = require("sides")
    local colors = require("colors")
    local rs = component.redstone 
    local MaxSignalPower = 256
    
    --------------------------------------------
    local mainContainer = GUI.fullScreenContainer()
    mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, mainContainer.height, 0x2D2D2D))
    
    local inputPower = mainContainer:addChild(GUI.input(5, 4, 30, 3, 0xEEEEEE, 0x555555, 0x999999, 0xFFFFFF, 0x2D2D2D, "", ""))
    
    local powerSignal
    
    inputPower.onInputFinished = function()
    	powerSignal = inputPower.text 
    end
    
      
    local function rOutput()
     rs.setOutput(sides.top, powerSignal)
    end
    
    local function rOutputOff()
     rs.setOutput(sides.top, 0)
    end
    
    local switch2 = mainContainer:addChild(GUI.switch(5, 12, 8, 0x66DB80, 0x1D1D1D, 0xEEEEEE, false))
    switch2.onStateChanged = function()
      if switch2.state then
        rOutput(sides.top, powerSignal)
      else
        rOutputOff()
      end
    end
    
    ------------------------------------------------
    mainContainer:drawOnScreen(true)
    mainContainer:startEventHandling()

    Снимок.PNG


  4. Мяу, спасибо большое :з
    Кстати на ютубе эт я тебе писал ^^

    Ну, раз есть такая возможность спрошу еще на счёт того как можно к списку GUI.comboBox подключить список цветов для бандлед проводов например, так что бы вместе с выбр. числом изменялось еще в самой функции сила сигнала. 
    Я планировал сделать менюшку из которой будет выдвигаться список подключённых контроллеров которые можно будет переименовывать. И после выбора опр. контроллера будет восходить 6 строчек (каждая строчка олицетворяет сторону контроллера) на которых будут кнопки или же комбобоксы, где можно будет выбрать: цвет исходящего сигнала, сила сигнала, вкл/выкл сигнал. А и поле под название стороны еще. 
    Ну придумать, я придумал, а вот реализовать, смогу не знаю.
    Ну в вообщем спасибо огромное.
     


  5. Здравствуйте. 
    Прошу помощи у знаю людей. Сам в программировании не ало (только начальные знания из уроков 1ridav).  
    Решил я написать красивую, мульти-пульти, программу для управления редстоуном. Для реализации интерфейса я решил воспользоваться библbотекой GUI от ESC, но из      документации я мало что понял, поэтому собирал интерфейс по кускам из того что находил. Я сделал "основу" для интерфейса и у меня возникла потребность в свитчах (Вкл/выкл определенную сторону от красного контроллера), вот нарисовал я этот свитч, а вот с крепежом к нему функции вкл/выкл возникла проблема
    А проблема собственно вот в чём:

    Я нажимаю на свитч, он переходит в состояние true и сигнал включается, потом нажимаю еще раз, он переходит в состояние false, сигнал выключается. Казалось бы, работает, но не тут то было. Если нажимать на свитч последующие разы, то происходит ровным счётом ничего. Поработало 2 раза и всё. 

    local GUI = require("GUI")
    local component = require("component")
    local sides = require("sides")
    local rs = component.redstone 
    ------------------------------------------------------------------------------------------
    
    local mainContainer = GUI.fullScreenContainer()
    mainContainer:addChild(GUI.panel(1, 1, mainContainer.width, mainContainer.height, 0x2D2D2D))
    
    local menu = mainContainer:addChild(GUI.menu(1, 1, mainContainer.width, 0xEEEEEE, 0x666666, 0x3366CC, 0xFFFFFF, nil))
    menu:addItem("test", 0x0)
    
    local function RemoteRedstone()
     rs.setOutput(sides.top, 15)
    end
    
    local function RedstoneOff()
    rs.setOutput(sides.top, 0)
    end
    
    local switch2 = mainContainer:addChild(GUI.switch(3, 12, 8, 0x66DB80, 0x1D1D1D, 0xEEEEEE, false))
    switch2.onStateChanged = function(state)
    RedstoneOff()
    switch2.onStateChanged = function(state)	
    RemoteRedstone()
    end
    end
    ----------------------------------------
    
    mainContainer:drawOnScreen(true)
    mainContainer:startEventHandling()


    Я из своих жалких знаний о программировании могу предположить, что нужно сделать то ли цикл, то ли еще что то, но я не имею представления как. 


    Вообщем заранее спасибо.

     


  6. 04.10.2018 в 17:44, ECS сказал:

     

    Угу, для контроля ядер реакторов из драконика. Сырцов нет, ничего нет, любви нет, только пара скринов

    Ах, как жаль. Было бы интересно посмотреть на что-нибудь такое.
    (Тем более для меня подобные программы акутальны)

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