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

Chebuya

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

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

  • Посещение

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

    72

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


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

    В принципе геоанализатор и контроллер можно выкинуть. Но совсем без робота никак. Слишком сложный сервер получился. Вручную шахты копать очень грустно.

    Я за робота 1 тира без геолизера, контроллера, процессора 1 уровня. Карьер таким копать можно.


  2. 33 минуты назад, vx13 сказал:

    Предлагаю добавить в старт-кит(или кит для группы «Программисты») собранного робота в следующей конфигурации:

    • Корпус 2 уровня
    • Процессор 2 уровня
    • Память 1 уровня (2)
    • LuaBios
    • Жёсткий диск 1 уровня.
    • Видеокарта
    • Генератор
    • Контроллер инвентаря
    • Геоанализатор
    • Экран 1 уровня
    • Клавиатура
    • Инвентарь
    • Дисковод

    А также дискету с OpenOS.

     

    Это позволит использовать OC с первых минут игры.

    Слишком высокоуровневые компоненты. Геоанализатор выкинуть, процессор 2 уровня выкинуть(поставить 1), корпус 1 уровня, память 1 уровня, 1 шт.
    Контроллер инвентаря тоже слишком дорогой.

    1 час назад, whiskas сказал:

    Также предлогаю добавить мод билдкрафт и форестри, хочеться какуюто нефть и пчелок поделать с ней чтото делать)

    В нефти из билда нет смысла без иммерсива. Форестри нормально развивать не получится, ибо нужно на поверхности. Будет мусорный мод. 

    1 час назад, whiskas сказал:

    Предлогаю добавить мод Меканизм ибо очень скунчая атмосферма (ИК + ендер ио)

    Лагодром и имба.

    • Одобряю 1

  3. Предлагаю добавить мод OpenBlocks. Добавляет кучу интересных вещей, вроде баков, дельтаплана(который будет очень кстати), всякие мини-утилиты, вроде детектора чанка со слизнями, багажники, которые ходят за тобой и собирают лут.

    • Нравится 2
    • Одобряю 2
    • Грусть 2

  4. 53 минуты назад, KKosty4ka сказал:

    Плюс по X или минус по X или плюс по Z или минус по Z

    А если так нельзя, то хотя-бы стороны света

    Можно, почему.

    local tablet = require("component").tablet
    local facings = {
        [0] = {x = -1, z = 0, side = "запад"},
        {x = 0, z = -1, side = "север"},
        {x = 1, z = 0, side = "восток"},
        {x = 0, z = 1, side = "юг"}
    }
    
    while true do
        local facing = math.floor(tablet.getYaw() / 90 - .5) % 4
        print("X: " .. facings[facing].x, "Z: " .. facings[facing].z, "сторона света: " .. facings[facing].side)
        os.sleep(0)
    end

    Только учти, что это только для движения вперед. Если нужно для движения вправо/влево/назад - напиши.

    Т.е оно показывает куда игрок будет двигаться вперед.


  5. Предлагаю увеличить радиус радара из OpenPeripheral и Computronics до 20 блоков. 7 блоков слишком мало, чтобы нормально разместить эти радары.
    UPD: Если у радаров из OpenTechnology радиус 32 блока, тогда может стоит и обычным радарам такой же радиус сделать?

    • Одобряю 6
    • Спасибо 1

  6. 1 минуту назад, Alex сказал:

    просто кликни по инвентарю какому-то (ме сундук с диском, ванильный сундук, раздатчик и тп.)

    Понял. Но не линкованный если положить через сборщик - робот орет о том, что нет еепромы. Хоят она есть. Если пихать в слот быстрого доступа робота - вылет. С линкованным все работает

     

    Так же заметил, что нет мэ контроллера в AE2. 


  7. 1 минуту назад, Alex сказал:

    в PIM баг, второе понятия не имею что это

    Дюп и то, что плита зажимается после того как игрок вышел с сервера/выгрузил чанк?

    1 минуту назад, Alex сказал:

    а у нас 1.7.4?

    1.7.2. Еще старее. Посмотрел только что в сборке. Стоит обновится, там пару багов критичных фиксили. К тому же пару новых фич, да и версия посвежее. 

    • Спасибо 1

  8. Только что, Nova_Novator сказал:

    @BrightYC @hohserg Спасибо, товарищи!

    Учти, что просто обращаясь по rfid.scan()[1] ты обращаешься только по 1 RFID карте. А их может быть несколько. Поэтому мой вариант лучше, советую использовать цикл for i

     


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

    Дисклеймер: я - лютый новичок и с прогами на Lua знаком 1 день, да и в остальных языках не шарю почти никак. Не бейте)
    Хочу сделать защищённую дверь из OpenSecurity на контроллере дверей оттуда же, открывающуюся при помощи RFID-карты.
    C записью карт проблем не возникло, а вот простенькая читалка, которую я намастрячил, хоть и срабатывает, но потом через небольшое время крашится. Вот её код
     

    
    local component = require("component")
    local door = component.os_door
    local rfid = component.os_rfidreader
    
    local password = "1qf4suio8"
      
    while true do
      local scan = rfid.scan()[1]
      if scan and scan.data == password and scan.range <= 3 then
      door.open()
      else
      door.close()
      end
    end


    Ошибку выдаёт следующего толка:

     

    
    /home/simplesearch:8: attempt to index a boolean value:
    stack traceback:
    		/home/simplesearch:8: in main chunk
            (...tail calls...)
            [C]: in function 'xpcall'
            machine:798: in fucntion 'xpcall'
            /lib/process.lua:63: in function </lib/process.lua:59>

    Т.е., я так понял, ему не нравится чем-то 8 строчка. Причём не сразу не нравится, а ровно через минуту, в течение которой программа функционирует полностью штатно.

    P.S. я знаю, что переменную пароля можно задавать через select и io.read, задача пока сделать абсолютно минимальный рабочий вариант.

    Немного странно, учитывая что проверяя rfid.scan()[1] у тебя либо nil должно быть, либо таблица.

    В общем вот рабочий вариант, проверил.

    local component = require("component")
    local door = component.os_door
    local rfid = component.os_rfidreader
    
    local password = "1234"
    local maxRange = 3
    
    while true do
    	local rfids = rfid.scan()
    
    	if #rfids > 0 then
    		for i = 1, #rfids do 
    			if rfids[i].range <= maxRange and rfids[i].data == password then
    				door.open()
    				os.sleep(3)
    				door.close()
    				break
    			end
    		end
    		os.sleep(5)
    	end
    
    	os.sleep(0)
    end

     


  10. 34 минуты назад, Sanchos1024 сказал:

    Можно ли скопировать id эффекта и записать на других нанороботов в определённый слот, Либо как-то самому записать положительный эффект?:unsure:

    можно сохранить конфигурацию нанитов. modem.broadcast(1, "nanomachines", "saveConfiguration"). Иметь при себе пачку чистых нанороботов. Оно автоматически скопирует конфигурацию.


  11. Обновление

     

    Изменения:

    • Убрана админ-панель из-за ненадобности.
    • Выдача предметов ускорена в 3-4 раза.
    • Добавлена версия на модеме, Doob будет доволен. Для модем-версии нужно указать версию в начале программы, так же вписать адрес сервера(модема). То есть, теперь можно обойтись без VDS, а от JS версии мало чем отличается, поэтому совместимость довольно большая.
    • Немного переделан интерфейс.
    • Добавлена адекватная поддержка JSON, теперь можно на лету добавлять какие-то значения.
    • "Бесконечная" строка ввода. Отзывы теперь можно писать с ограничением в 256 символов.
    • Изменен фильтр предметов, теперь можно игнорировать хеш и мету предметов.
    • Добавлен автономный режим, т.е возможность работы без сервера. В таком режиме доступна только "Помощь" и обработка руды.

    Небольшая видео демонстрация выдачи предметов:


    https://i.imgur.com/L4iEUwL.mp4

    • Нравится 4

  12. 2 часа назад, uraabk сказал:

    На данный момент просто файлик такого формата

     

    2020-01-30_150205.jpg

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

     

    Раньше было так же, я просто читал файл и записывал изменения в один файл. Потом была версия с сервером в игре, где была такая же схема хранения, но терминалы скачивали информацию о пользователях с игрового сервера посредством беспроводной карты. Финальная версия уже была просто на файликах, данные о юзерах хранятся в JSON формате. Хотел перейти на sqlite3, но не решился.

    • Спасибо 1

  13. 18 минут назад, KevkaTheFox сказал:

    Можно ли в OpenComputers заменить Lua 5.2 на 5.3?

     

    Есть два способа.

    1. Физически - Достать процессор и нажать шифт+пкм, архитектура меняется на Lua 5.3/Lua 5.2
    2. Программно - computer.setArchitecture("Lua 5.3"), так же можно узнать архитектуру, computer.getArchitecture()

     

    • Нравится 3
    • Одобряю 1
    • Спасибо 1

  14. 3 часа назад, Koteyk0o сказал:

    Редстоун карта возвращает ивент redstone_changed со стороной относительно всего мира, а не как повернут компьютер. Это баг или фича?

    Отчетливо помню что раньше было не так (потому что после обновления на новый OC у меня перестал работать мой старый код, лол)

    Если раньше оно возвращало сторону относительно компьютера, то сейчас возвращает относительно всего мира.

    Хм. Тоже помню, что оно возвращало сторону относительно компьютера. Микроконтроллеры, по идее, тоже должны возвращать сторону относительно микроконтроллера. Очень странно.

    • Нравится 1

  15. 20 минут назад, Hay сказал:

    Мда... А ведь раньше была, судя по видео: https://youtu.be/v6xRo6YKu1s?t=81

     

    Но вы правы: https://github.com/IgorTimofeev/MineOS/issues/213#issuecomment-548151420

     

    Только не понятно, зачем это сделали, теряется смысл использовать эту IDE, если не можешь даже вывести результат.

    Раньше была, потому что раньше MineOS ставилась поверх OpenOS. А майнось не переопределяла print, поэтому он был. После "переезда" в самостоятельную OC, она лишилась текстового интерфейса. Насколько знаю, в MineCode IDE есть аналог брейкпоинтов, в видео сказано об этом. А другой результат незачем выводить, ведь система заточена под "графику".

     

    UPD: Насколько знаю, при запуске программы всё содержимое буфера экрана сохраняется. Т.е можно творить с экраном всё что угодно, после окончания работы всё встанет на свои места. Могу предложить эту тему: 

     


  16. 4 часа назад, Hay сказал:

    Что здесь не так? Разве print, это не стандартная функция? Или мне что, нужно что-то импортировать, прежде чем использовать её?

     

    2020-01-20_05.20.58.png

    Смею предположить, что в MineOS нету функции "print". В OpenComputers в принципе на уровне EEPROM нет такого понятия как "print", функция переопределена в machine.lua за пределами майна.

     

    https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/lua/machine.lua#L752

    • Нравится 2
×
×
  • Создать...