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

Программа "Подача сигнала"

Рекомендуемые сообщения

  • Описание: Требуется программка для подачи красного сигнала в определённый блок(рычаг например) или включение электического спавнера(Ender IO)

Награда: 

127857061_image.jpg

Установка:

Требования: например я ввожу в чат  startmob и подаётся сигнал для рычага[uPD] и через N секунд сигнал пропадает

Связь: Писать в топик

Изменено пользователем Lockry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А рычаг чем не угодил?

Игрок который не в привате не может рычаг трогать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно подробности? Какой сигнал нужен? Цветной или обычный. А если цветной то какие цвета включать, а какие отключать и когда.

Может у вас вообще стоит майнфактори со своей системой передачи редстоуна. А там программа совершенно другая.

И ещё, какая сила сигнала нужна? Это же очень важно. Вдруг не ту силу сигнала задам и всё взорвётся.

Где развёрнутое описание???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно подробности? Какой сигнал нужен? Цветной или обычный. А если цветной то какие цвета включать, а какие отключать и когда.

Может у вас вообще стоит майнфактори со своей системой передачи редстоуна. А там программа совершенно другая.

И ещё, какая сила сигнала нужна? Это же очень важно. Вдруг не ту силу сигнала задам и всё взорвётся.

Где развёрнутое описание???

Будет достаточно обычно сигнала из ванили, сиглан идёт по проводам из Projectred. А на счёт цветной или обычный я хз. На счёт силы сигнала я честно не знаю какую он выдерживает, можно поэкспериментировать, но по сути сила будет равна обычному из ванили красному сигналу

Изменено пользователем Lockry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

но по сути сила будет равна обычному из ванили красному сигналу

В ваниле тоже есть разная сила сигнала. Так тебе какую именно? Как вообще можно писать программу не зная какие параметры указать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В ваниле тоже есть разная сила сигнала. Так тебе какую именно? Как вообще можно писать программу не зная какие параметры указать?

Я хз, можешь указать среднее значение, а дальше я сам разберусь 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

local wlist = {['Lockry'] = true}
local sleep = 10
local side = 1
local status
local component = require('component')
local computer = require('computer')
local redstone = component.redstone
local chat_box = component.chat_box
local signal = computer.pullSignal

function computer.pullSignal(...)
  local e = {signal(...)}
  if status and status+sleep*72 <= os.time() then
    redstone.setOutput(side, 0)
    status = nil
  end
  if e[1] == 'chat_message' and wlist[e[3]] then
    if e[4] == 'startmob' then
      status = os.time()
      redstone.setOutput(side, 15)
    end
  end
  return table.unpack(e)
end
Первая строка - белый список игроков, которым доступно управление.

Вторая строка - задержка в секундах, т. е. на сколько времени активировать сигнал.

Третья - сторона блока, на которую подавать сигнал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Игрок который не в привате не может рычаг трогать

но может на нажимную пластину становиться

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
local wlist = {['Lockry'] = true}
local sleep = 10
local side = 1
local status
local component = require('component')
local computer = require('computer')
local redstone = component.redstone
local chat_box = component.chat_box
local signal = computer.pullSignal

function computer.pullSignal(...)
  local e = {signal(...)}
  if status and status+sleep*72 <= os.time() then
    redstone.setOutput(side, 0)
    status = nil
  end
  if e[1] == 'chat_message' and wlist[e[3]] then
    if e[4] == 'startmob' then
      status = os.time()
      redstone.setOutput(side, 15)
    end
  end
  return table.unpack(e)
end
Первая строка - белый список игроков, которым доступно управление.

Вторая строка - задержка в секундах, т. е. на сколько времени активировать сигнал.

Третья - сторона блока, на которую подавать сигнал.

 

Спасибо что откликнулся. Но у меня есть вопросы.

P.s я в этом моде только начал что-то понимать и за косяки не кидайтесь тапками.

1. Вся система подключена вот так(для теста)

 

T5HT3NbFUXI.jpg

 

2. При активации скрипта мне выдаёт два параметра, а вводить я не понимаю, потому что тупой не шарю.

 

 

r-G6J-fV4Zg.jpg

 

 

3. Если всё так и должно быть, то в чат я ввожу сообщение и ничего не происходит. Для примера вот:

 

RWjWccMFixY.jpg

 

В пк компоненты: видеокарта III, редстоун карта II, интенет карта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо сохранить файл с другим именем, redstone.lua это родная утилита управления редстоуном.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Если всё так и должно быть, то в чат я ввожу сообщение и ничего не происходит.
 В примере Doobа используется сторона 1 т.е. верх системника. У тебя же провод подключен к переду. Исправь третью строку на
local side = 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Игрок который не в привате не может рычаг трогать

 

программа:

do
  --крафтим два ванильных крюка, нить
  --цепляем к спавнеру (по желанию и прочие навесные ред схемы, таймеры и задержки, нот гейты и т.д.)
  print("активатор редсигнала на спавнер в привате готов") 
end

п.с. запускать на ОС компуктере с мин. 4МБ ОЗУ и проц. Т3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо сохранить файл с другим именем, redstone.lua это родная утилита управления редстоуном.

Сделал. При вводе в чат startmob ничего не происходит и пропадает изображение с экрана(всегда чёрный экран, даже перезагрузка не помогает приходится ставить моник заново)

 

 В примере Doobа используется сторона 1 т.е. верх системника. У тебя же провод подключен к переду. Исправь третью строку на

local side = 3

Исправил, но когда я пишу startmob ничего не происходит. 

Если есть какая-нибудь альтернатива с этими проводами(через другой блок), то какая? Провода из Projectred подключены к пк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Изображение с экрана пропадает, потому-что на него подается сигнал, об этом даже сказано в ачивке при крафте монитора. Лучше отделить монитор или редстоун I/O кабелем от других блоков.

Если проблема с определением стороны, то можно подать сигнал на все.

local wlist = {['Lockry'] = true}
local sleep = 10
local side = 1
local status
local component = require('component')
local computer = require('computer')
local redstone = component.redstone
local chat_box = component.chat_box
local signal = computer.pullSignal

local function switch(value)
  for side = 0, 5 do
    redstone.setOutput(side, value)
  end
end

function computer.pullSignal(...)
  local e = {signal(...)}
  if status and status+sleep*72 <= os.time() then
    switch(0)
    status = nil
  end
  if e[1] == 'chat_message' and wlist[e[3]] then
    if e[4] == 'startmob' then
      status = os.time()
      switch(15)
    end
  end
  return table.unpack(e)
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Изображение с экрана пропадает, потому-что на него подается сигнал, об этом даже сказано в ачивке при крафте монитора. Лучше отделить монитор или редстоун I/O кабелем от других блоков.

Если проблема с определением стороны, то можно подать сигнал на все.

local wlist = {['Lockry'] = true}
local sleep = 10
local side = 1
local status
local component = require('component')
local computer = require('computer')
local redstone = component.redstone
local chat_box = component.chat_box
local signal = computer.pullSignal

local function switch(value)
  for side = 0, 5 do
    redstone.setOutput(side, value)
  end
end

function computer.pullSignal(...)
  local e = {signal(...)}
  if status and status+sleep*72 <= os.time() then
    switch(0)
    status = nil
  end
  if e[1] == 'chat_message' and wlist[e[3]] then
    if e[4] == 'startmob' then
      status = os.time()
      switch(15)
    end
  end
  return table.unpack(e)
end

Не работает :(

Мб лучше подавать сигнал через микроконтроллер с красной платой?

Изменено пользователем Lockry

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7CJgoF9.png

А у меня вот так

 

avoOSK6eNdY.jpg

 

Может быть из-за [L] не ловит сообщения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вполне может быть, можно проверить, ловит ли чатбокс сообщения от плагина - запустить на компе dmesg и сказать что-нибудь в чат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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