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

Сложная Тема

Вопрос

Есть такая функция getStoreLSC которая получает информацию о энергии, можно ли при помощи неё сделать так чтоб если достигалось значение меньше к примеру 1кк то setActiveReactor запускался?

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


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

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

Думаю можно. Для этого нужно вызвать функцию getStoreLSC и если она возвращает значение меньше, к примеру, 1кк то запустить setActiveReactor.

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


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, kosta1809 сказал:

Только вот реализация...

Не вопрос.

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


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, kosta1809 сказал:

Только вот реализация...

Например для включения и выключения можно написать  так:

Цитата

 

function changeReactorStatus()

  local energy = getStoreLSC()

  if energy < 1e6 then setActiveReactor() end --меньше 1кк

  if energy > 1e7 then setPassiveReactor() end --больше 10кк

end

 

 

Или так:

Цитата

 

function changeReactorStatus()

  local energy=getReactorLSC()

  energy>1e6 or setActiveReactor()

  energy<1e7 or setPassiveReactor()

end

 

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

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


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

Что то натворил, но не работает. Можно ли еще занести в цикл чтоб каждый раз проверяло энергию?image.png.d57af02d929df4a99f00af90f2779724.png

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


Ссылка на сообщение
Поделиться на других сайтах
55 минут назад, kosta1809 сказал:

Можно ли еще занести в цикл чтоб каждый раз проверяло энергию?

конечно можно

while true do
  -- код
  os.sleep(1) -- спим 1 секунду
end

кстати код принято выкладывать в виде кода а не картинки, для этого есть кнопка

 eti4rTz.png

 

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


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, kosta1809 сказал:

Что то натворил, но не работает. Можно ли еще занести в цикл чтоб каждый раз проверяло энергию?image.png.d57af02d929df4a99f00af90f2779724.png

В гтИмпакт играешь? Программа именно под модпак GTImpact сделана, на ИК2 метод setlevelrods не сработает.

Сам метод setlevelrods корректно работает? Проверял его? Меняет он положение стержней?

В переменную energy значение приходит?

 

Тести. Добавляй распечатку значений на экран, чтобы видеть что происходит.

Так же почитай event API на Вики (русской или английской). Может пригодиться, если захочешь с одного компа выполнять проверки для разных многоблоков

Если пока не можешь осилить в коде (хотя на вид оно рабочее) - поставь пару танков под пар и с одного из них снимай состояние для подачи сигнала включения/выключения через Редстоун.

 

Где в импакт играешь кстати? На серве с абоненткой? То я на mfnd в него же чилю время от времени. 

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


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Taoshi сказал:

В гтИмпакт играешь? Программа именно под модпак GTImpact сделана, на ИК2 метод setlevelrods не сработает.

Сам метод setlevelrods корректно работает? Проверял его? Меняет он положение стержней?

В переменную energy значение приходит?

 

Тести. Добавляй распечатку значений на экран, чтобы видеть что происходит.

Так же почитай event API на Вики (русской или английской). Может пригодиться, если захочешь с одного компа выполнять проверки для разных многоблоков

Если пока не можешь осилить в коде (хотя на вид оно рабочее) - поставь пару танков под пар и с одного из них снимай состояние для подачи сигнала включения/выключения через Редстоун.

 

Где в импакт играешь кстати? На серве с абоненткой? То я на mfnd в него же чилю время от времени. 

Да, играю. Именно на импакте(сервер mcskill). Не проверял, как проверить setlevelrods? Раз у нас столько много общего, то после того как прочитаешь, напиши в лс

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, kosta1809 сказал:

как проверить setlevelrods?

lua
=component.impact_reactor.setlevelrods(10)

 

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


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

Странно, будто реактора нет, но в компонентах есть

image.png.25ae8f3d04d180dd19be14f36deed7b7.png

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


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

Пофиксил сам благодаря полного рассмотрения этих методов.

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


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

Работает только через прямой ввод. Пытался на программе, результатов ноль

image.png.a0de6b02808b0884d80b5a777c7fc096.pngimage.png.15ca5769f5bc54dba0ea766708f9b528.png

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


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

Можно ли при помощи этой строки, получить только Stored?image.png.6a7ca9e7fea3459ff7d15a228b18c98c.png

 

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


Ссылка на сообщение
Поделиться на других сайтах
55 минут назад, kosta1809 сказал:

Можно ли при помощи этой строки, получить только Stored

Пример:

_,_,a = functionName() -- получаем третье по счёту значение.

Если значения возвращаются в виде таблицы, то одним из возможных вариантов будет

local a=functionName()

local stored=a.stored.

Надо смотреть, что именно возвращается и в каком виде

 

Раз метод не работает или не ясно как работает: настроить вкидывание стержней на красный сигнал, сигнал снимать с хранилища. Если, конечно, это не топ стержни пополам с наквой, живущие 50к циклов. В этом случае сперва апнуть объем хранилища, чтобы влазило пару миллиардов энергии.

Изменено пользователем Taoshi
+коммент

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


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

Надо полностью код тогда переписывать, чтоб читало только Stored и изменяло стержни

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


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

Добрался до майнкрафта. Посидел минут 15-20. Пока поставил, пока потестить. Вот что получилось:

XMbcFtK.pngpH4pGtE.png

 

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


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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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


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