Minecraft Wiki
Регистрация
Строка 115: Строка 115:
   
 
Пишет
 
Пишет
Startup: 6: attempt to call nil
+
Startup: 7: attempt to call nil

Версия от 15:33, 29 декабря 2012

Помогите с модом ComputerCraft

Мне нужно закодировать дверь в синглплеере. Делаю следующее: 1. Писал: > edit startup; 2. В новой консоли: print("Enter yellow-code: ");(yellow-code - "желтый код безопасности" так я его назвал) 3. сохранил как startup; 4. Писал: > edit 7835(мой код); 5. в консоли писал: redstone.setoutput("back"(т.к. провод редстоуна шел с задней стороны). true) sleep(3) redstone.setoutput("back". false) os.shutdown(); 6. проверял: он при запуске писал enter code: я вводил свой код, а он пишет "bios 206: [string "7835"]: 1: ')' expected" Я так понял что он ожидал где то скобку, но я все писал по правилам, должно было заработать. Что делать? Скриншоты:

Готовый вариант кодового замка (сохранять как startup):
os.pullEvent = os.pullEventRaw
while true do
  write('Enter code: ')
  code = read('*')
  if code == '<ВАШ_ПАРОЛЬ_ЗДЕСЬ>' then
    rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, true)
    sleep(<ВРЕМЯ_АКТИВАЦИИ>)
    rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, false)
    os.shutdown()
  end
end

Вместо НАПРАВЛЕНИЕ_ДВЕРИ может быть 'back', 'front', 'top', 'bottom', 'left', 'right': задняя, передняя, верхняя, нижняя, левая, правая стороны соответственно. (Не забывайте ставить либо апострофы, либо кавычки ("), уберите угловые скобки!) ВРЕМЯ_АКТИВАЦИИ — число секунд, кратное 0.05, например, 1.5 для полутора секунд.

А по скринам (сделал поменьше) — что за ужас со шрифтами?

Ошибка в том, что между строкой направления "back" и true/false надо ставить запятую, а не точку, как я указал в примере.

И да, подписывайтесь. Кнопка подписи прямо справа от кнопки игнорирования форматирования (буквы W в перечёркнутом красном круге). Или просто четыре тильды (~~~~). --GreenStone(вклад) 13:56, 28 декабря 2012 (UTC)

Ошибка кода двери ComputerCraft

Я хотел закодировать дверь, написал программу:


   Готовый вариант кодового замка (сохранять как startup):

os.pullEvent = os.pullEventRaw while true do

 write('Enter code: ')
 code = read('*')
 if code == '<ВАШ_ПАРОЛЬ_ЗДЕСЬ>' then
   rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, true)
   sleep(<ВРЕМЯ_АКТИВАЦИИ>)
   rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, false)
   os.shutdown()
 end

end

писал ошибку: bios 267: attempt to write to global Example1 а когда писал более простую: 1. Команду print("Enter code: ") сохранить в startup 2. Создать прогру, называющуюся как ваш пароль (в моем случае 7835) с командами:

      rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, true)
   sleep(<ВРЕМЯ_АКТИВАЦИИ>)
   rs.setOutput(<НАПРАВЛЕНИЕ_ДВЕРИ>, false)
   os.shutdown()

Тогда он писал ошибку биоса такую: 7835: attempt to call nil Example2 что делать, чтобы все работало и дверь открылась наконец?

Вы не поняли. То, что написано в фигурных скобках заглавными буквами, надо заменить на соответствующие значения. Просто гружу скрин.
Файл:Кодовый замок.png

Программа. Сохранять в startup.

--GreenStone(вклад) 17:56, 28 декабря 2012 (UTC)

все равно не работает

Пишу программу кодировки двери по всем правилам, все равно эти ошибки возникают!!!! Помогите!!! (для справки предыдущие записи)

http://computercraft.info/wiki/Making_a_Password_Protected_Door
А вот оттуда немного изменённый код:
while true do
 term.clear()
 term.setCursorPos(1, 1)
 print("Pozaluysta, vvedite parol:")
 input = read("*")
 if input == "ПАРОЛЬ" then
  redstone.setOutput("СТОРОНА", true)
  sleep(ВРЕМЯ_АКТИВАЦИИ)
  redstone.setOutput("СТОРОНА", false)
 end
end

--ArtSin 14:01, 29 декабря 2012 (UTC)

Все равно не работает

Пишет Startup: 7: attempt to call nil