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

Запрет ctrl+alt+C

Вопрос

подскажите пожалуйста как в этой мини программке запретить сочетание клавиш  ctrl+alt+C.

erm=require("term")
term.clear()
require("component").gpu.setBackground(0x000000)
require("component").gpu.setForeground(0xffffff)
for i = 1, 255 do
    print()
end
local c = require("component")
local x, y
io.write("Никнейм: ")
x=io.read()
while true do
io.write("Сообщение: ")
y=io.read()
c.chat_box.setName("§rL§r§o§7")
c.chat_box.say(x.."§r: " ..y)
for i = 1, 255 do
    print()
end
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Ну, перед тем, как задавать вопрос желательно поискать, задавался ли он до этого и есть ли на него ответ.

 http://computercraft.ru/topic/2396-kak-otklyuchit-ctrlaltc/?do=findComment&comment=35069

Если это не сработает, то нужно будет сказать, какая версия мода и OpenOS, ведь там меняли эту вещь. В начале была функция shouldInterrupt , потом её убрали и пришлось костылить, а в самой новой версии вернули возможность через обработку process.info().data.signal

 

хмм, прочитав код и видя строчки

for i = 1, 255 do
    print()
end

становится больно, эмм, зачем?? и что они должны делать?, очищать экран?, temp.clear() на что?

Затем ещё табуляция есть не везде, например после while true do оно так и остаётся монотонным текстом, ну ладно, это я уже отошёл от темы.

Изменено пользователем astral17

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Цитата

Ну, перед тем, как задавать вопрос желательно поискать, задавался ли он до этого и есть ли на него ответ.

не помогли те способы (

 

Цитата

Если это не сработает, то нужно будет сказать, какая версия мода и OpenOS

OpenComputers-MC1.7.10-1.6.2.12-universal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скорее всего значит у тебя установлена OpenOS 1.6.1 , а значит просто тебе нужно будет подменять event.shouldInterrupt

local event = require("event")
function DisableInterrupt()
	if _G.shouldInterruptBackup then
		return false
	end
	_G.shouldInterruptBackup = event.shouldInterrupt
	event.shouldInterrupt = function() return false; end
	return true
end

function EnableInterrupt()
	if type(_G.shouldInterruptBackup) ~= "function" then
		return false
	end
	event.shouldInterrupt = _G.shouldInterruptBackup
	return true
end

вставляешь это в начало кода, а потом, когда нужно вызываешь функцию, которая тебе нужна (думаю это и так понятно), если и это не сработает. то тогда скажи, чему равна переменная _G._OSVERSION

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...