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

Поиск по сайту

Результаты поиска по тегам 'computercraft'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Робот Байт
  • Fingercomp's Playground
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире Майнкрафт
  • LaineBlog
  • Квантовый блог
  • Блог qwertyMAN'а
  • some blog name
  • Дача Игоря
  • Путешествия Xytabich'а
  • Рецепты программирования
  • Шкодим по крупному
  • 123

Форумы

  • Программирование
    • Программы
    • База знаний
    • Разработчикам
    • Вопросы
  • Игровой раздел
    • Игровые серверы
    • Моды и плагины
    • Жалобы
    • Ивенты и конкурсы
    • Файлы
  • Общение
    • Задать вопрос
    • Обратная связь
    • Беседка
    • Шкатулка
  • Технический раздел
    • Корзина

Группы продуктов

Нет результатов для отображения.


Искать результаты в...

Искать результаты, которые...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

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

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


ВКонтакте


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 10 результатов

  1. Я заметил что на этом сайте нету информации о моде ComputerCraft, но при этом сам Саит создан для мода ComputerCraft Вопрос о том что будет ли популярны программы для ComputerCraft
  2. Постоянно выходит в стартовую ОС, когда пишу on или off. не знаю с чем связано. Я только начал программировать на lua, немного опыта имею. Но не могу понять почему так. Не могу решить проблему уже 4 часа. Спасибо за помощь. Вот код: os.pullEvent = os.pullEventRaw repeat do term.clear() term.setCursorPos(1,1) term.write("ReactorOS 1.0") term.setCursorPos(1,2) term.write("Copyright Bogdikon") term.setCursorPos(1,4) term.setCursorPos(1,3) term.write("Available Commands - On and Off") term.setCursorPos(1,5) local a = io.read() if a == "on" then return redstone.setAnalogOutput("bottom",15) else if a == "off" then return redstone.setAnalogOutput("bottom",0) end end end until true
  3. Маловероятно, что сейчас кто либо продолжает использовать компьютеркрафт, но вдруг. В процессе игры мне понадобилось осуществлять связь между компьютером OC и CC. Так как я не нашёл адекватного способа передачи данных, то придумал костыль. Костыль заключается в передаче данных (на данный момент — строк, если нужно будет передавать что-то другое, то допишу) через... установку и чтение цвета золотого монитора. Код: Использование: Демонстрация: Надеюсь, что кому-то это может пригодиться.
  4. 4eyes Библиотека предоставляющая более удобный интерфейс для работы с мостом из мода OpenPeripherals. Описание Данная библиотека имеет очень удобный ООП интерфейс и много возможностей, в том числе мультипользовательность. Мы можем легко создать свой интерфейс, получать доступ к любому пользователю, слушать события и и работать с клавиатурой. Для примера, код простейшей программы: -- connect libs local eyes = require("4eyes") local class = require("30log") -- create classes local Text = class("Text") do -- class Test function Text:init(surface, x, y, text, color) self.x = x self.y = y self.text = text self.color = color self.drawer = surface.addText(self.x, self.y, self.text, self.color) end function Text:event(bg, us, ev) print(table.unpack(ev and ev or {})) end end -- work with 4eyes local bridge = eyes.Bridge() bridge:getEvent("glasses_attach"):setPostHandler(function (br, ev) print("New user: " .. ev[3]) local us = br:getUser(ev[3]) us:addObject("test", Text(us:getSurface(), 5, 5, "Hello", 0xFFFFFF)) us:renderObjects(br) end) bridge:pull() Как видите, все очень просто. Создаем объект класса Bridge, настраиваем и запускаем метод pull который начнет слушать все события. Сейчас вам может быть не все понятно, например что за PostHandler, и объекты. Об всем этом пойдет далее. Документация Класс Bridge Данный класс является самой главной частью библиотеки, именно в нем происходит слушание событий и добавление/хранение/изменение пользователей. :init() - является конструктором объекта, вызывать явно не нужно, он вызывается сам при создании объекта. При создании создает события по умолчанию (описанные классом Event): glasses_attach - добавляет пользователя в таблицу пользователей glasses_detach - удаляет пользователя из таблицы пользователей glasses_capture - начало сессии с клавиатурой, делает поле captured пользователя равным true glasses_release - конец сессии с клавиатурой, делает поле captured пользователя равным false :pull() - запускает главный цикл программы, слушающий сигналы. :addUser(string: name, string: uuid) - добавляет нового пользователя в таблицу пользователей, принимает имя и uuid пользователя. :getUser(string: name) - возвращает пользователя с указанным ником. :removeUser(string: name) - удаляет пользователя с указанным ником из таблицы пользователей. :addEvent(string: name, Event: event) - добавляет нового слушателя, принимает название события и объект класса Event. :getEvent(string: name) - возвращает слушателя с указанным именем. :removeEvent(string: name) - удаляет слушателя с указанным именем. :eachUser(function: func(Bridge: bridge, User: user)) - выполняет функцию для каждого пользователя. Пример: bridge:eachUser(function (br, us) print(us.name) end) --[[ пользователи: Маша, Петя, Катя stdout: Маша Петя Катя --]] Класс Event Данный класс является обработчиком события. Очень прост. :init(function: handler) - является конструктором объекта, вызывать явно не нужно, вызывается сам при создании объекта. Принимает обработчик события, в качестве функции. :setHandler(function: handler) - устанавливает обработчик. :setPostHandler(function: posthandler) - устанавливает пост-обрабочик события. Этот пост-обрабочик будет вызыватся каждый раз после вызовы обработчика. :handle(...) - обрабатывает событие, сначала обработчиком, потом пост-обработчиком. Принимает любые данные, которые будут переданы обработчику и пост-обработчику. Класс User Класс пользователя. Хранит в себе все объекты пользователя, такие как тексты и геометрические фигуры. ...дописать... Скачать Для того чтобы поставить библиотеку, скачайте два файла: 30log.lua и 4eyes.lua и разместите их в папке /lib либо /usr/lib
  5. Virtual_Universe

    Платформер

    Простейший платформер на LUA. Персонаж умеет ходить и прыгать На все это ушло 32 строки. Сейчас ищу способ создания карты, и её загрузки. Попытаюсь в скором времени накидать клон марио Пример работы: https://vk.com/doc225193884_411588211 Скачать: http://pastebin.com/q1Z7mq5r# Спасибо за внимание.
  6. turtle.refuel() while true do turtle.dig() turtle.forward() turtle.digUp() turtle.digDown() if turtle.getItemCount(16) > 0 then turtle.select(1) turtle.digDown() turtle.placeDown() for i=2, 16 do turtle.select(i) turtle.dropDown() end turtle.select(2) end end сколько нужно нарисовать программок что бы мне можно было развлекатся на вашем сервере? и подойдёт ли эта программка для роботов, или ещё каких-нибудь созданий, которые понимают Луа
  7. Привет all. (после публикации заметил ошибку в названии темы и тегах, код для OpenComputers а не для ComputerCraft, я их постоянно путаю) код 204 байта: _=component;m=_.proxy(_.list('modem')())m.open(7)u=table.unpack::r::e={computer.pullSignal()}if e[1]=='modem_message'then;_={load(e[6])}if _[1]then;_={pcall(_[1],u(e,7))}end;m.send(e[3],7,u(_));end;goto r или код 231 байт: ::r::pcall(load("_=component;m=_.proxy(_.list('modem')())m.open(7)u=table.unpack::r::e={computer.pullSignal()}if e[1]=='modem_message'then;_={load(e[6])}if _[1]then;_={pcall(_[1],u(e,7))}end;m.send(e[3],7,u(_));end;goto r"));goto r Записать в EEPROM любого устройства имеющего сетевую карту, и включить устройство. На отдельном компьютере выполняющем роль сервера выполнить код примера: modem.open(7) modem.broadcast(7, "return 'Hello ', _VERSION, ...", true, 42, 'bebebe') Прочитать ответ от модема, и понять что произошло. ============================================= Дополнительные примеры: broadcast(7, 'bebebe') broadcast(7, 'bebebe()') broadcast(7, 'return {}') broadcast(7, true) broadcast(7) broadcast(7, 'return computer.pullSignal()' ) code=[[ --my super puper long program nice code ]]; broadcast(7, сode) broadcast(7, 'component.proxy(component.list("eeprom")()).set(...)', codeforflashing) и прочие извращения 1,2 покажут обработку ошибок на стадии компиляции и выполнения; 3,4,5 покажут различие в коде 204 и 231 и ограничения передачи данных; 6,... - некоторые возможности Для самых бегемотов: Можно Хранить код 204 в setData Можно добавить аутентиикацию, чтоб вражина за стенкой не broadcast-ил нам тут с планшета Можно построить SCADA-систему из дронов, роботов, контроллеров и компьютеров. Что-то еще... ЗЫ mods/OpenComputers-MC1.7.10-1.5.12.26-universal.jar примеры не проверял, писал здесь сходу.
  8. https://www.youtube.com/watch?v=0H3kYbfTzqQ Начинающему гриферу теперь необходимы две жемчужины и три алмаза (и х3 TNT, конечно), и всякий мусор для крафта черепахи и кпк.
  9. Вышло обновление computercraft, добавили командный компьютер, суть его он может исполнять команды minecraft, без командного блока, но он присутствует в крафте. Добавили сериализацию JSON
  10. Написал программу которая позволяет взламывать шифры криптографической стойки . Для этого надо : Bitnet антенна , криптографическая стойка . Код можно скачать здесь: http://pastebin.com/n5967tMd . m = peripheral.wrap("top") ca = peripheral.wrap("right") algos = {"AES","Blowfish","DES","DESede","RC2"} --запрос данных с вышки битнет while true do M = {1,1} while true do A = {1,1,1} A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then --print(A[3]) M[1] = A[3] end A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then --print(A[3]) M[2] = A[3] break end end --разшифровка local function decryp(key,text,Method) key2 = ca.decodeKey(Method, key) text2 = key2.decrypt(Method, text) return text2 end --главный цикл for i =1 ,5,1 do re,res = pcall(decryp,M[1],M[2],algos[i]) if re == true then print(re) print(algos[i]) print(res) if res == "password" then break end if re == true then break end end end end algos = {"AES","Blowfish","DES","DESede","RC2"} список возможных кодировок , от ARCFOUR пришлось отказатся так как он реагирует на все A[1] ,A[2],A[3] = os.pullEvent() if A[1] == "bitnet_message" then прием шифра производися через битнет . для приема иcпользую os.pullEvent() и фильтрую на тип "bitnet_message". для полного приема это действие производится два раза key2 = ca.decodeKey(Method, key) text2 = key2.decrypt(Method, text) сам метод разшифровки , первое разшифровка ключа , второе разшифровка текста re,res = pcall(decryp,M[1],M[2],algos) безопасный вызов функций decryp(). метод подбора шифра шифра состоит в том что метод при неверном алгоритме крашится, необходима функция pcall. re - ответ , успешно ли программа сработала. res результат , выводит разшифрованный текст. M[1] и M[2] это ключ и текст так же программа передачи и приема : http://pastebin.com/HTxrtezc --передача http://pastebin.com/EP6rgpR7 --прием они взяты с вики:http://computercraft.ru/wiki/Cryptographic_accelerator . (к сожалению что то с загрузкой картинок, поэтому картинки залил на Яндекс Диск: https://yadi.sk/i/3wYBJmuzeAPrp , https://yadi.sk/i/4-w9nPTHeAPrk , https://yadi.sk/i/h9MR3ANheAPrt , https://yadi.sk/i/VPoSkAi4eAPrv)
×
×
  • Создать...