Далее сохраняем, и перезагружаем компьютер (для этого вводим reboot) При включении должно появится Enter Door Code, пишем свой пароль, появится Correct Password! и дверь откроется!
Нажимаем ctrl и выбираем [Save] после опять нажимаем ctrl и с помощью стрелок выбераем [Exit]
Lock
Password: OLOLO
(в место OLOLO пешите ВАМИ ПРИДУМАННЫЙ ПАРОЛЬ )
Ну а дальше все понятно!
И еще одна, железно рабочая версия. При вводе пароля символы заменяются на *** звездочки, выйти из программы не введя пароль нельзя, после ввода терминал разблокируется.
Вводим edit startup и поехали
print («insert password»)
if t == «хитрыйпароль» then
А вот замок который не взломаешь никак, и покамесь не введёшь верный пароль, вы ничего не сможете сделать.
__________________________________________ Добавил информацию по взлому: Santony Bricks
Возможно взломать только поставив рядом дисковод с диском. В файле startup(который на диске, а не на компьютере) должна быть написана любая программа. Мне хватило и этого:
Программа для Черепашки из ComputerCraft
write(«OLOLO»)
Включил компьютер, и вышла надпись: «OLOLO» Дальше можно делать с компьютером все, что угодно, даже редактировать загрузочный файл.
__________________________________________
edit startup
print(«Please, enter password: «) —— При включении компьютера вы увидите этот текст
b = os.computerID() —— Это что бы узнать ID компьютера
x = read() —— Переменная «х» присваивает значение которое вы введёте
if x == «guard» then —— если вы ввели «guard» то
print(«. Welcome OLOLO. «) —— вы увидите этот текст
sleep(2) ——таймаут 2 секунды
shell.run(«clear») —— всё что было на экране очиститься
print(«Welcome») —— и вы увидите это сообщение
print(«Computer ID: «, b) —— ниже вам покажет ID компьютера. Дальше пользуйтесь компьютером
else —— если вы не правильно введи пароль то
print(«Incorrect password!») —— вам покажет вот это сообщение
shell.run(«exit») —— и у вас выйдет из системы
end В место guard впишите любой другой пароль, который вы хотите. — kasromaha
21.06.2012 11:09
3 урок! Калькулятор [ ]
print («Microcrap Calcn») local tEnv = [«exit»] = function() bRunning = false end, > setmetatable( tEnv, __index = getfenv() > ) local s = io.read() local nForcePrint = 0 local func, e = loadstring( s ) local func2, e2 = loadstring( «return «..s ) if not func then if func2 then func = func2 e = nil nForcePrint = 1 end else if func2 then func = func2 end end if func then setfenv( func, tEnv ) local tResults = pcall( func ) > if tResults[1] then local n = 1 while (tResults[n + 1] ~= nil) or (n nForcePrint) do print( tostring( tResults[n + 1] ) ) n = n + 1 end else print( tResults[2] ) end else print( e ) end
4 урок Детектор событий. [ ]
Название:Event Сложнось:легкая
Русский гайд по моду ComputerCraft #1 — Основы
Программа срабатывает, когда что-то происходит внутри или за пределами компьютера. Используйте os.pullEvent (), чтобы запустить программу, пока система еще включена.
For example, to detect a redstone change connected to the computer: r = os.pullEvent() if r == «redstone» then — подключите редстоун к компьютеру когда он сработает то сработает и программа. —тут пишете программу которая будет выполнятся при срабатывании детектора end
И немного о том как именно обрабатывать события [ ]
еvent, returnValues = os.pullEvent()
где event это вернутое событие (ниже в таблице они все привидены) а returnValues ето возвращаемое значение проверить их можно оперратором if последовательно
disk or disk_eject
Урок 5 — Пароль на компьютер (Добавил Bellaurest) [ ]
Название: Пароль на компьютер
Описание: Если вам хочется сохранить в тайне ваши файлы в компьютере от вредного друга, то эта программа для вас. (Пишу по памяти)
Сначала введите команду edit startup потом пишите саму программу.
os.pullEvent = os.pullEventRaw while true do term.clear() term.setCursorPos(1, 1) print(«Ваш текст по английски») input = read(«*») if input == «Ваш_пароль» then print(«Access granted») sleep(3) exit() else print(«Access denied») sleep(3) os.shutdown() end end
Урок 6 — Логин Пароль (Добавил Bellaurest) [ ]
Название: (См. тему)
Описание: Двойная сложность взлома пароля.
Чтобы не париться с вводом, просто введите эту команду в строке: pastebin get G8zMrSnX startup
while true do term.clear() term.setCursorPos(1, 1) l = «Ваш_Логин» print(«Enter your login: «) log = read() if log == l then print(«OK») sleep(2) else print(«Error, please try again.») sleep(2) end term.clear() term.setCursorPos(1, 1) p = «Ваш_Пароль» print(«Enter your password: «) pass = read(«*») if pass == p then print(«Access granted») rs.setOutput(«left», true) sleep(3) rs.setOutput(«left», false) else print(«Access denied») sleep(1) end end
Урок 7 — Система авторизации в компьютере (Добавил Bellaurest) [ ]
Описание: Вы хотели чтобы к вам в комп не залез любопытный друг, то этот код для вас. Он состоит всего из двух функций. Все легко и просто.
Можно не парясь скачать его тут
—[[Уважаемые фанаты Computer Craft’a, прошлые коды, то есть уроки 5 и 6 не работают по скольку я плохо знал LUA, теперь же вы сможете защитить свой компьютер от взлома.]] local function acc() while true do term.clear() term.setCursorPos(1, 1) print(«Enter your login: «) account = «Ваш_Логин» input_a = read() if input_a == account then break end end end local function pass() while true do term.clear() term.setCursorPos(1, 1) print(«Enter your password: «) password = «Ваш_Пароль» input_p = read(«*») if input_p == password then term.clear() term.setCursorPos(1, 1) term.setTextColour( colours.yellow) print(«CraftOS 1.5») term.setTextColour( colours.white) break end end end — То что ниже этого сообщения, тоже пишем, иначе работать не будет. acc() pass()
Или без функций:
term.clear() term.setCursorPos(1, 1) term.setTextColour( colours.yellow) — Не трогать, он работает while true do print(«Enter your login: «) log = «login» — Тут ваш логин login = read() if login == log then break end end while true do term.clear() term.setCursorPos(1, 1) print(«Enter your password: «) p = «pass» — Тут ваш пароль pwd = read(«*») — Отображается звёздочками if pwd == p then term.clear() term.setCursorPos(1, 1) print(«CraftOS X.X») — Напишите вместо иксов вашу версию компа. break end end
Урок 8,Вирус. [ ]
Если вы играете в мультиплеере с ComputerCraft,то у вас есть возможность выбесить друга или врага,если те имеют компьютер.Код необходимо программировать на дискете,ибо без дискеты вы не сможете распростронять вирус.Для того чтобы запрограммировать дискету необходимо присобачить рядом дисковод с дискетой,затем ввести в компьютер edit disk/startup (Автозапуск дискеты)
os.pullEvent = os.pullEventRaw (Не позволяет выключить программу удерживая CTRL+t) term.clear() (Очищает экран) print(«THIS DEVICE HAS BEEN BLOCKED») (Выводит сообщение на экран) while true do (Бесконечный цикл) sleep(100) («Сон» компьютера на 100 сек) end
(Не обращайте внимание на отсуствие пробелов,они не так важны)
Смысл данного вируса в том,что программа выводит сообщение о том,что компьютер заблокирован. Затем бесконечный цикл замораживает компьютер на 100 сек,потом повторяет эту процедуру неограниченное кол-во раз. Для того чтобы вылечиться от вируса необходимо убрать заражённую дискету из дисковода,затем перезагрузить компьютер (CTRL+R). Если вирус был скопирован с дискеты в девайс,необходимо использовать любую дискету с незаражённым стартапом (На другом компьютере запрограммируйте на исполнение любой программы. Например print(«Computer») ,этого хватит.) ,затем запустить девайс и при помощи edit startup стереть со стартапа вирусный код.
Источник: computercraft.fandom.com
Computercraft как запустить программу
Всем привет. Это моя первая статья, но она может вам помочь разобраться в таком моде, как
ComputerCraft . На момент написания этой статьи, я использую версию мода 1.2. Итак, начнем.
Первое, что надо сделать — скрафтить компьютер. Рецепт есть на странице с модом: http://minecraft.my1.ru/load/mody_minecraft/computercraft/6-1-0-1736
После этого размещаем его в любом месте, где вам удобно.
Далее, включаем его. При включении, многие видели это:
Информативности ноль, даже нет подсказки, что можно написать команду help для того, чтобы посмотреть справку о всех командах помощи. Вот эти команды:
programs — отображает все команды, которые доступны на этом компьютере (обратите внимание, что у каждого компьютера или дискеты своя папка, которую можно найти в папке .minecraftsavescomputer
Вот что отобразилось на моем компьютере:
help — отображает справку по команде, которую вы ввели (например: help redset)
help programming — отображает небольшую помощь, как пользоваться операционной системой CraftOS, но она всё-равно на английском и вряд-ли вам поможет.
help whatsnew — тут список «что нового» в новой версии мода. Это нам не нужно (так-же как и help credits).
help index — показывает все программы, по которым можно получить справку.
так-же есть пара комбинаций для работы с компьютером:
ctrl+R — перезагрузка компьютера
ctrl+S — выключение компьютера
Ну что-же с ознакомлением завершили, перейдем к работе.
Как уже говорилось на странице мода — компьютеры имеют по 6 редстоун-выходов (далее R-выходы). Итак, как их использовать?
Если ввести команду programs, то можно увидеть, что есть несколько готовых программ для работы с R-выходами: redset и redpulse.
redset — изменяет состояние определенного R-выхода (true или false) эта команда пишется так:
где сторона — это название стороны компьютера, а состояние — это включен или выключен R-выход. Если смотреть на монитор. вот список сторон: right left front back top bottom (право лево перед зад верх низ). Записываются они именно так.
Создадим вокруг компьютера крест из редстоуна. Примерно так:
Например, надо включить R-выход, расположенный справа от компьютера. Пишем такой код:
redset right true
Жмем enter и видим следующее:
Так-же чтобы выключить выход пишем вместо true false.
Поэкспериментируйте с R-выходами и посмотрите, что выйдет.
Есть ещё комманда redpulse — создает определенное количество импульсов на выбранном выходе. записывается она так:
Например: Поставили мы раздатчик сзади компьютера и зарядили его стрелами. Нужно чтобы он выстрелил 20 стрел по 2 стрелы за секунду. Пишем так:
redpulse back 20 0.5
В итоге, крипер или скелет или другой моб будет повержен градом стрел (понимаю, что можно сделать клок генератор, но его придется постоянно выключать самому).
С редстоуном вроде разобрались, правда, для тех, кто знает LUA, пригодятся ещё функции для написания своих программ для работы с редстоуном: помощь можно получить с помощью команды help redstone (Помощь по другим LUA функциям в моде можно получить, введя команду apis). После этого для них написать свою программу кодового замка не составит труда.
Есть так-же готовые програмы для работы с файлами:
ls — отображает все папки и команды во введённой папке. если оставить путь пустым, то отобразится содержимое текущей папки компьютера.
cd — Изменяет текущую папку. Я пока не знаю, как вернутся на уровень назад, поэтому пока перезапускаем компьютер (ctrl+R или командой reboot)
edit — редактировать файл с программой. Стандартно, если ввести только имя файла, то он сохранится в папке компьютера в сохранении, и доступ к нему будет только с этого компьютера. Чтобы можно было программу запустить с других компьютеров, скопируйте её на дискету (об этом ниже) или сохранять файл в папку romprograms. (edit romprogramsназвание) Запустить свою программу можно просто введя имя программы.
copy — копировать файл в другую папку. Пригодиться для копирования файлов на дискету и с неё на другие компьютеры.
move — то-же самое что и copy, но при этом старый файл удаляется.
delete — Удаляет указанный файл.
Многие спрашивали — как копировать файлы на дискету и обратно? Сейчас расскажу:
Сначала делаем дисковод и дискету. Дисковод размещаем на соседнем с компьютером блоке. Вставляем в него дискету — ПКМ по дисководу и в верхнюю ячейку вставляем дискету.
Теперь, если мы изменили текущую папку, то перезагружаем компьютер.
Пишем команду ls и видим, что появилась папка disk — это папка дискеты. Если на компьютере есть файл, который надо скопировать, например — RedSwitch, то пишем такую команду:
copy RedSwitch diskRedSwitch
Теперь пишем: ls disk
и видим, что там есть наш файл RedSwitch. Теперь вытаскиваем нашу дискету и вставляем её в дисковод другого компьютера. Проверяем наличие дискеты — пишем ls. Если дискета обнаружена, то пишем:
copy diskRedSwitch RedSwitch
Как вы видите, я написал только название нового файла, значит он создастся в основной папке компьютера. Проверяем — пишем ls и радуемся — мы скопировали файл с одного компьютера на другой.
На этом пока всё. Всем спасибо за внимание.
PS: Извините за небольшое количество скриншотов, но скринить нечего, так как ту в основном код.
Источник: survival-minecraft.ru
[Guide] Изучаем ComputerCraft (часть 3)
Всем привет, с вами покку, и сегодня я решил сделать
уже третюю часть моего туториала по ComputerCraft.
В этом уроке мы научимся вводить текст звездочками
(как пароль на любом сайте, на том же румайне),
а также научимся сравнивать введенные данные с помощью команды if,
и благодаря полученным знания попробуем
сделать простейшую систему авторизации.
Первая
Вторая
Ну а третью вы читаете прямо сейчас =)
И так, приступим. Начнем, пожалуй, с ввода пароля звездочками.
Для этого нам потребуется команда read(), с которой мы познакомились во второй части моего туториала.
Как говорилось в той же второй части.
Цитата: poccu
Скобочки нужны для того, чтобы присвоить этой функции дополнительные параметры.
Так-вот, дополнительным параметром для read() служат те символы,
которые будут отображаться при вводе текста. Естественно,
эти символы будут записаны в кавычках, так как они будут являться String’ом.
Давайте напишем простейшую программу. Она будет получать пароль от пользователя
в виде звездочек, а после нажатия кнопки Enter она выведет пароль обычными символами.
write («[Password] «) pass = read («*») print («Password: «,pass)
Давайте разберем код. Первая строчка у нас выводит на экран надпись «[Password] «,
вторая — записывает введенные данные в переменную pass, при этом весь введенный
текст будет отображаться звездочками. Ну а третья строка выведет нам все, что записано в
переменной pass, но уже без звездочек. Теперь скриншоты работы этой программы:
Ввод данных пользователем.
Вывод данных компьютером.
Отлично! Этот код может нам пригодиться в создании программы, в которой
требуется ввод логина и пароля, чтобы получить доступ к чему-либо. Но
как же компьютеру определить, правильно-ли введены логини пароль?
Для этого существует команда if.
if [Выражение, значение которого равно True/False] then [То, что должен выполнить компьютер, если выражение после if равно True] else [То, что должен выполнить компьютер, если выражение после if равно False] end
Если по простому, то если то, что после if верно, тогда выведется то, что после then.
В противном случае будет выведено то, что находится после else.
Совсем забыл сказать то, что else можно не писать,
если нам нужно выполнять команду только тогда,
когда то, что после if равно true, а если оно не равно true,
то просто игнорировать команду.
Закрепим команду if на примере. Нам нужно сравнить два введенных числа.
Вот ее код:
a= read() b= read() if a>b then print (a,»>»,b) else print (a,»<«,b) end
Как мы видим, сначала программа попросит вас ввести a и b,
а после чего сравнит их через if.
А вот и первый баг! Если мы введем два одинаковых числа, то у нас выведется знак »
Давайте разберемся в ошибке. Почему это происходит? Все просто.
Команда if у нас узнает, больше-ли первое число, чем второе. Если это не так,
то оно выдаст у нас то, что написано после else, а в нашем случае это знак «Для исправления этого бага мы должны написать еще один if, уже после else.
Получится вот так:
a= read() b= read() if a>b then print (a,»>»,b) else if a=b then print (a,»=»,b) else print (a,»<«,b) end end
Не забываем то, что if нужно закрыть end’ом!
Отлично, мы написали эту программу. Теперь я расскажу о том, что такое or и and,
и зачем их использовать в команде if, попутно создавая вместе с вами программу,
в которой нужно ввесли логин и пароль для открытия какой-либо программы.
Для нашей программы мы будем использовать одно из стандартных API — Shell API.
Вы можете спросить:
ШО ЗА СХЕЛЛ АПИ А. 777
НУ ШО ЭТ. 77 Я ТАКОВА Ф ПЕРВАМ КЛАСЕ
ИШЧО НЕПРАХАДИЛ. 111
Я (а точнее википедия) отвечу:
Цитата: Википедия
Интерфейс программирования приложений — набор готовых классов,
процедур, функций, структур и констант, предоставляемых приложением
(библиотекой, сервисом) для использования во внешних программных продуктах.
Используется программистами для написания всевозможных приложений.
Но так-как вы естественно ничего из этого набора непонятных
слов не поняли, я обьясню все это на русском языке.
API это такая штука, которая позволяет программе выполнять задания,
которые написаны не прямо в этой программе, а в другой. Это очень
хорошо для того, чтобы сделать код меньше, ведь проще 10 раз ввести маленькую
строчку из одного слова, чем писать код из 20 строк 10 раз. Стандартные API
загружаются вместе с загрузкой самой операционной системы CraftOS.
Из Shell API нам понадобится возможность запускать приложения.
shell.run(«[Путь к файлу, который мы запускаем», [Аргументы (необязательно)])
Для начала выберем приложение, которое будет запускать наша программа,
после ввода пароля. Это будет игра TicTacToe (На русском: Крестики-нолики).
Для загрузки этого приложения будем использовать стандартные «Treasure Disks».
В списке выберем дискету «tictactoe» by TheOriginalBIT.
Теперь поставим рядом с нашим компьютером Дисковод.
Теперь засунем в наш дисковод саму дискету.
Теперь переходим в компьютер. Обучение по работе с дисководом я буду писать
в следующих частях моего туториала (возможно, что даже в следующей), поэтому просто
напишем в CraftOS команду move disktictactoe .
Отлично! Дисковод нам больше не понадобится.
Теперь создаем новый файл с любым названием.
Пишем в нем простейший ввод логина и пароля.
write(«Login: «) login = read() write(«Password: «) pass = read(«*»)
Также не забывайте иногда тестировать программу,
чтобы если она не работала, было-бы легче найти
причину ошибки, и после этого устранить ее.
Теперь напишем код для того, чтобы узнавать: мы ввели
правильный пароль, или все же нет.
Тут-то нам и понадобится and и or, а так же Shell API.
if login == «poccu» and pass == «1pony1» then shell.run(«tictactoe») else print («Error! Incorrect login or password!») end
And означает «и», or — «или».
Т.е. ели логин будет poccu и пароль будет равен 1pony1,
тогда оно запустит программу tictactoe через ShellAPI.
Если он будет неверным, то программа просто выведет ошибку.
Также мы могли спросить, почему мы написали login == «poccu» с двумя знаками
равно, а не с одним. Ответ довольно простой:
Знак = означает присвоить данные переменной (например a = 10).
Знак == используется при сравнении, и означает равенство (например if a==b then print(«TRUE») else print («FALSE») end).
Кстати: про ShellAPI вы можете почитать на офф. Вики по ComputerCraft.
С вами был покку, всем пока!
Источник: ru-minecraft.ru