Jump to content


Photo

[1.7.10] ComputerCraft [1.74]


  • Please log in to reply
2863 replies to this topic

#2461 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 21.08.2013 - 11:03

Если он будет постоянно перезагружаться, то я приставлю к нему другой компьютер в котором напишу
local computer = peripheral[paste][/paste]wrap(side)while true do    computer[paste][/paste]shutdown()    sleep(0)end
Подожду пока он выключиться и сделаю как в предыдущем сообщении. Неужели до сих пор не ясно, что ctr+s и ctrl+r не ловятся?

#2462 Vitduo

Vitduo

    Добытчик дерева

  • Пользователи
  • Active Posts168
  • Откуда: Город Черепашкино

Posted 21.08.2013 - 14:19

Хм... Поищу... И да, это миска добавляет соляры/кранники/лазеры в КК. Ибо вырубить этот крафт можна в его конфиге. Насчет функций, добавленых миском. Проблема в том, что оно, гадость не юзается. Ошибка, как при отсутствии данной функции вообще. В конфиге ничего такого нет. Хм... Пойду гайд гуглить =/P. S. Мне нада автоматизированый укладчик для энда, кладущий булыжник снизу, справа и слева от себя, (линия из булыги с перилами) и потребляющий булыгу с базы, на которой стоит булыгоген от TE и Ко
Добра вам!
)=/

#2463 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 21.08.2013 - 14:23

Что?

#2464 Vitduo

Vitduo

    Добытчик дерева

  • Пользователи
  • Active Posts168
  • Откуда: Город Черепашкино

Posted 21.08.2013 - 14:29

Так понятней вроде
Добра вам!
)=/

#2465 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 22.08.2013 - 03:10

P. S. Мне нада автоматизированый укладчик для энда, кладущий булыжник снизу, справа и слева от себя, (линия из булыги с перилами) и потребляющий булыгу с базы, на которой стоит булыгоген от TE и Ко

Обязательно хочешь заморочиться с модулем снабжения? Я бы сделал так: в последний слот черепахи положил эндерсундук от курокостей с подачей в него булыжника и как только булыжник у черепахи кончается она ставит перед собой сундук, берет булыжник, забирает сундук обратно в последний слот и продолжает строительство. Вот примерно сочинил код (не тестировал):
Скрытый текст


#2466 Vitduo

Vitduo

    Добытчик дерева

  • Пользователи
  • Active Posts168
  • Откуда: Город Черепашкино

Posted 22.08.2013 - 09:23

Я слишком извращенец, чтобы использовать не-CC средства. Да и установка дополнительных модов... Огорчает =/
Добра вам!
)=/

#2467 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 22.08.2013 - 09:35

Я слишком извращенец, чтобы использовать не-CC средства. Да и установка дополнительных модов... Огорчает =/

Лично для меня моды Чикенбонеса идут одними из первых по надобности, в основном из-за NEI для рецептов, ну и остальное очень полезно за компанию. А использование эндерсундука - распространенное дело, взять например летсплеи DW20. Да и карьер на черепахах с ним гораздо эффективнее, чем постоянно гонять бедную черепаху на базу. Единственная сложность - реализовать поставку топлива и ресурсов через 1 сундук, чтобы не забить инвентарь одним лишь топливом или одними лишь ресурсами.

#2468 Dimus

Dimus

    Странник

  • Пользователи
  • Active Posts89

Posted 22.08.2013 - 15:17

Объясните мне назначение функции shell.exit().
Читаю CC-wiki:

Exits the current program (or shell if no program is open)
Syntax shell.exit()
Returns Text written on the screen

"Осуществляет выход из текущей программы (или оболочки если ни одна программа не открыта). Возвращает текст, написанный на экране".
У меня же вызов этой функции приводит к выключению СС-компьютера. Правда не сразу, а после завершения вызвавшей программы.
О какой оболочке и каком возвращаемом тексте идет речь?

#2469 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 22.08.2013 - 15:26

Оболочка работает в цикле, shell.exit опускает флаг bRunning, и когда управление передается оболочке, она выходит из цикла и перед отключением выводит текст "Goodbye".

#2470 DАNТES

DАNТES

    Странник

  • Пользователи
  • Active Posts16

Posted 22.08.2013 - 18:05

Можете решить проблему. я сделал так, чтобы при включении программы у меня просил ввести число, которое записывается в переменную, а далее переменная используется другой функцией. Но вот незадача! функция tm = read() записывает число как (К примеру число 60) "60" а мне нужно без скобок. То есть мне надо значение Стринг переделать под реал (Если работали с INI файлами вы должны понять о чём я говорю). Помогите!
Зацени граффити!
Скрытый текст

#2471 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 22.08.2013 - 18:29

tm = tonumber(read())


#2472 DАNТES

DАNТES

    Странник

  • Пользователи
  • Active Posts16

Posted 23.08.2013 - 04:31

tm = tonumber(read())

Спасибо, то есть код из реада использует только цифры? Это очень удобно если делать пароль с буквами, но при этом никто не будет знать что буквы и не обязательны. Но если я не прав, всё равно очень хорошая идея использовать только цифры в место полного пароля.
Зацени граффити!
Скрытый текст

#2473 Lexor

Lexor

    Добытчик угля

  • Пользователи
  • Active Posts399
  • Откуда: Иркутская область

Posted 23.08.2013 - 04:59

read() возвращает тип данных - "стринг", даже если введены цифры. tonumber() же переводит строку в цифры, если строка содержит не только цифры, то функция вернет nil. Следовательно для пароля имеет смысл использовать tonumber только если в нем нет букв.

#2474 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 23.08.2013 - 10:01

Для пароля луше всего использовать хеши. Есть у нас одна написанная библиотечка в пользовательских проектах. pastebin get R8ZPUCCn
os[paste][/paste]loadAPI("md5")md5[paste][/paste]encode(read())
Хеш для пароля 123456 - e10adc3949ba59abbe56e057f20f883e, для 1 - c4ca4238a0b923820dcc509a6f75849b. Даже если кто-то увидит код где ты сравниваешь хеш
if md5[paste][/paste]encode(read()) == "e10adc3949ba59abbe56e057f20f883e"
По нему не смогут восстановаить пароль. Если в пароле будут одни цифры, то у него будет несколько вариаций. 123456 = 1,23456E+5 = 0x1e240. Это я так, в познавательных целях. Нет смысла переводить read в число.

#2475 Dimus

Dimus

    Странник

  • Пользователи
  • Active Posts89

Posted 23.08.2013 - 15:33

Существует ли в СС какой нибудь несложный файл-менеджер?

#2476 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 23.08.2013 - 16:16

Всмысле с графоном?Если нет, то в shell есть команда cd .

#2477 Dimus

Dimus

    Странник

  • Пользователи
  • Active Posts89

Posted 23.08.2013 - 16:26

Не, мне что то вроде norton comander. Я слышал в MineX какой то менеджер есть, но сайт с которого MineX скачивается сейчас недоступен.

#2478 P-Funk

P-Funk

    Странник

  • Пользователи
  • Active Posts2

Posted 24.08.2013 - 08:56

Доброго времени суток, нужна Ваша помощь. Взял из темы готовый код пароля и не много (в основном графически) переработал под себя. Вот что получилось:
d = 5i = 3pass = "ASdlWEqw0213" shell[paste][/paste]run("clear")term[paste][/paste]setCursorBlink(true)repeatwrite("Enter password: ")a = truec = ""while a do    ev, b = os[paste][/paste]pullEvent()    if ev == "char" then        write("*")        c=c[paste][/paste][paste][/paste]b    elseif ev == "key" and b == 28 then        a = false    endendif c == pass then    term[paste][/paste]setTextColor(32)    print("\nPassword correct[paste][/paste]")    rs[paste][/paste]setOutput("back", true)    sleep(d)    os[paste][/paste]reboot()else    i = i - 1    c = {c[1], c[2]}    c[1] = "Attempts until lockout: "    c[2] = i    term[paste][/paste]setTextColor(16384)    print("\nPassword wrong!")    print(c[1][paste][/paste][paste][/paste]c[2])    term[paste][/paste]setTextColor(1)    sleep(1)enduntil i == 0 ---- (Далее будет код, каким-то образом блокирующий терминал) ---- 
В таком виде программа отсчитывает количество неверных попыток (переменная i) и при достижении лимита перейдёт к выполнению следующего блока команд. Проблема в том, что если оставить 1 попытку и ребутнуть комп, то счетчик сброситься на исходное значение = 3, что сводит на нет весь смысл задумки. Есть ли возможность обновлять эту переменную прямо в программе и держать в памяти пока не будет введён верный пароль или вынести её в отдельный файл, к которому программа будет обращаться, считывать значение переменной, затем отнимать от него единицу и сохранять до следующего обращения? Спасибо за внимание.

#2479 semoro

semoro

    Странник

  • Пользователи
  • Active Posts28

Posted 24.08.2013 - 11:51

MineX Reborn!

Новая версия MineX! [notch]
Установщик доступен по ссылке http://pastebin.com/ksrwQrnA
Мы переехали на новый репозиторий, и в новом обновлении наконец-то исправленн edit и добавленна возможность запуска приложений с craftOs (см. спойлер)

У нас так-же появился публичный баг-трекер, со всеми ошибками писать сюда https://bitbucket.or... ... issues/new

Просьба обновить ссылку в главном посте.

Запуск "Нативных" приложений
Скрытый текст


Удачи, и хорошего времяни суток всем.
CraftOs уже не торт? Ставь MineX!
Тысяча ошибок против одного моддера - суровая правда жизни!

#2480 Apokalypsys

Apokalypsys

    Добытчик дерева

  • Пользователи
  • Active Posts183

Posted 24.08.2013 - 12:11

P-Funk, ну
_h = io[paste][/paste]open("somebody_file", "w")_h:write(i)_h:close()
Записать i,
_h = io[paste][/paste]open("somebody_file", "r")i = tonumber(_h:read()) or 3_h:close()
Присвоить i значение из файла или 3, если пуст. Соответсвенно, запись в цикл, чтение в начало.


9 user(s) are reading this topic

0 members, 9 guests, 0 anonymous users