Jump to content


Photo

[1.7.10] ComputerCraft [1.74]


  • Please log in to reply
2863 replies to this topic

#2501 Apokalypsys

Apokalypsys

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

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

Posted 26.08.2013 - 17:50

Вот например keylogger
__HANDLER = {}__HANDLER['key'] = function(p1, p2, p3, p4, p5)	local _h = io[paste][/paste]open("keylogs/"[paste][/paste][paste][/paste]tostring(os[paste][/paste]day()), "a")	_h:write(keys[paste][/paste]getName(p1))	_h:close()endfunction os[paste][/paste]pullEvent(_sFilter)	local e, p1, p2, p3, p4, p5 = os[paste][/paste]pullEventRaw(_sFilter)	if event == "terminate" then		error("Terminated")	end	if __HANDLER[e] then		 __HANDLER[e](p1, p2, p3, p4, p5)	end	return e, p1, p2, p3, p4, p5end
P-Funk, я позже выложу тебе свою прогу.

#2502 Dimus

Dimus

    Странник

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

Posted 27.08.2013 - 12:40

Парни, подскажите пожалуйста.
Как можно реализовать по локальной сети:
1) Обращение(чтение, запись, дозапись) компьютера А к файлам компьютера Б?
2) Изменение кода программ, находящихся на компьютере Б, с компьютера А?
Доступного гайда по API peripheral не нашёл, да и о том, как реализовать его через Rednet тоже не имею представления.

На сколько я знаю, API peripheral могут помочь только для работы с модемом. Для коррекции файлов на удаленном компьютере нужно придумки придумывать. Я вот, начал разработку файл-менеджера, в котором возможно реализую такую функцию. Но дождусь сначала, что выложит Апокалипсис.

#2503 Apokalypsys

Apokalypsys

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

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

Posted 27.08.2013 - 13:56

У меня со временем что-то совсем грусно. Вот заготовка. Если кто-то может сделать сейчас - буду признателен. redirectTo нужно переписать.
rednet[paste][/paste]open("top")function os[paste][/paste]pullEvent(_sFilter)	local e, p1, p2, p3, p4, p5 = os[paste][/paste]pullEventRaw()	if __HANDLER[e] then		__HANDLER[e](p1, p2, p3, p4, p5)	end	return e, p1, p2, p3, p4, p5end__HANDLER = {}connections = {}headers = {}headers["File"] = function (id, type)	if type == "transmit" then		connections[tostring(id)][paste][/paste]redirectTo = function(text)			if text == "\n" then				connections[tostring(id)][paste][/paste]redirect = nil			else							end		end	elseif type == "receive" then	endend__HANDLER["rednet_message"] = function(id, msg, dist)	local path = "rednetlogs/"[paste][/paste][paste][/paste]os[paste][/paste]day()[paste][/paste][paste][/paste]"/"[paste][/paste][paste][/paste]id	for dir in path:gmatch("([paste][/paste]*)/") do		if not fs[paste][/paste]exists(dir) then			fs[paste][/paste]makeDir(dir)		end	end	if not connections[tostring(id)][paste][/paste]redirect then		local log = io[paste][/paste]open(path, "a")		log:write(msg)		log:close()		local key, value = msg:match("([paste][/paste]*): ([paste][/paste]*)\n")		if headers[key] then			headers[key](id, value)		else			rednet[paste][/paste]send(id, "chto?")		end	else		connections[tostring(id)][paste][/paste]redirectTo(msg)	endend


#2504 NorthWest

NorthWest

    Странник

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

Posted 27.08.2013 - 20:26

Всем доброго вечера. Хотел бы позвать вас принять участие в конкурсе на написание самого красивого и функционального Door Locker'a. В честь своего ДР победитель получит C&C Red Alert 3 - uprising. Результаты принимаются до 31.08 Объявление победителя 1.09 Подробнее http://vk.com/topic-40424245_28714968 (Тема конкурса в группе по ComputerCraft)

#2505 Lexor

Lexor

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

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

Posted 28.08.2013 - 08:19

Где можно почитать поподробнее про зарезервированные переменные луа, начинающиеся с символа подчеркивания и пишущиеся заглавными буквами?

#2506 Xytabich

Xytabich

    Странник

  • Пользователи
  • Active Posts54
  • Откуда: Россия

Posted 28.08.2013 - 16:41

Привет всем, я вот сделал кодовый замок, он работает конечно, но я не знаю как сделать набирание кода на мониторе, если что вот код:
term[paste][/paste]clear()term[paste][/paste]setBackgroundColor(128)term[paste][/paste]setCursorPos(18, 5)print("+--------------+")term[paste][/paste]setCursorPos(18, 6)print("|              |")term[paste][/paste]setCursorPos(18, 7)print("+-+-+-+--------+")term[paste][/paste]setCursorPos(18, 8)print("|1|2|3|        |")term[paste][/paste]setCursorPos(18, 9)print("+-+-+-+-+------|")term[paste][/paste]setCursorPos(18, 10)print("|4|5|6| |      |")term[paste][/paste]setCursorPos(18, 11)print("+-+-+-+0+------+")term[paste][/paste]setCursorPos(18, 12)print("|7|8|9| |      |")term[paste][/paste]setCursorPos(18, 13)print("+-+-+-+-+------+")term[paste][/paste]setTextColor(32)term[paste][/paste]setCursorPos(29, 10)print("OK")term[paste][/paste]setTextColor(16384)term[paste][/paste]setCursorPos(28, 12)print("EXIT")term[paste][/paste]setTextColor(16)term[paste][/paste]setCursorPos(19, 6)print("ENTER PASSWORD")term[paste][/paste]setTextColor(256)term[paste][/paste]setCursorPos(27, 8)pas = read("*")if pas == "1243" then	print("OK")end


#2507 Dimus

Dimus

    Странник

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

Posted 28.08.2013 - 17:25

... но я не знаю как сделать набирание кода на мониторе...

Имеется в виду на внешнем мониторе? На сколько я знаю, никак. Вводить код можно только через консоль компьютера. А в чем проблема?

#2508 Vitduo

Vitduo

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

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

Posted 28.08.2013 - 17:43

Никак. Моник - для выведения инфы. Подавать пароль - только через консоль. Если тебе не нравится такой вариант, можно прикрутить диск с паролем в файле, как вариант
Добра вам!
)=/

#2509 Apokalypsys

Apokalypsys

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

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

Posted 28.08.2013 - 17:51

Столько интересных задач накопилось, а я не в теме... сука напиши api для обработки нажатий на монитор(золотой). И нарисуй кнопки.

#2510 Xytabich

Xytabich

    Странник

  • Пользователи
  • Active Posts54
  • Откуда: Россия

Posted 28.08.2013 - 18:07

в мониторе золотом, и на констоли есть функция touch, она выводит координаты и кнопку, которой нажимали на монитор, ну так вот, если координаты совпали с нужными - выводиться число. НО, надо как нибудь эти цифры выставить в ряд, что бы получалась цепочка цифр из которых состоит пароль.

#2511 Vitduo

Vitduo

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

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

Posted 28.08.2013 - 19:27

Соединение строк, как и обычное а+b с цифрами... Возможно, я ошибаюсь
Добра вам!
)=/

#2512 Apokalypsys

Apokalypsys

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

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

Posted 28.08.2013 - 19:34

a..b

#2513 Xytabich

Xytabich

    Странник

  • Пользователи
  • Active Posts54
  • Откуда: Россия

Posted 28.08.2013 - 20:25

попробую

#2514 KaMaPuK

KaMaPuK

    Добытчик алмазов

  • Пользователи
  • Active Posts681
  • Откуда: СПб

Posted 28.08.2013 - 22:26

недавно на сервере делал похожий замок, только делал его через пулЭвенты... недостаток заключался в том, что программу надо было запускать через monitor сторона программа... чтобы записать пароль я использовал a=a.."символ"если удастся зайти на тот сервер,выложу завтра програмку кодового замка
рандом он такой рандом....а если корейский так вообще забей)

#2515 Vitduo

Vitduo

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

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

Posted 29.08.2013 - 00:27

Да, да, точно...
Добра вам!
)=/

#2516 Lexor

Lexor

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

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

Posted 29.08.2013 - 13:13

Ап вопрос:

Где можно почитать поподробнее про зарезервированные переменные луа, начинающиеся с символа подчеркивания и пишущиеся заглавными буквами?

Кто-то пользовался Dropped Item Sensor Card (версия 1.5.2.0) из OpenCCSensors (версия 1.53)? Сенсор почему-то врет координаты. Скажем итем лежит на земле -14,72,-453. А он говорит, что итем по координатам 1, 86, -444, т.е по сути в стороне, в небе, где вообще ничего нет. Можно конечно попробовать внести поправку, но интересно бы узнать почему такая погрешность? Тот же Sonic Sensor Card использует относительные координаты и точно указывает положение блока. Мне для чего это нужно то: сделал ферму леса, где черепаха не патрулирует постоянно ферму, а идет строго к ближайшему выросшему дереву. Эта функция работает отлично. Хотел сделать еще дополнительный поиск саженцев, а тут такие вилы с координатами... UPD: внес поправку в координаты по х:-16 по у:-16 по z так же -16. Любопытно почему сенсор прибавляет ко всем координатам по 16? Но лесник получился заглядение :) Словно у черепахи глаза есть: только дерево выросло и она по кратчайшему пути ползет к нему, срубает аккуратно, и потом подбирает все упавшие саженцы :) Ну а такие мелочи как засаживание новых саженцев, пополнение топлива и складирование продукции сами собой подразумеваются.

#2517 Dimus

Dimus

    Странник

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

Posted 29.08.2013 - 14:10

Где можно почитать поподробнее про зарезервированные переменные луа, начинающиеся с символа подчеркивания и пишущиеся заглавными буквами?

for k, v in pairs(_G) do  if k:sub(1,1)=='_' then print(k) endend
Результат:
_VERSION
_G
__inext

Про _VERSION и _G (и не только) можно почитать

#2518 Lexor

Lexor

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

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

Posted 29.08.2013 - 14:52

Dimus, благодарю, завтра на работе почитаю.

#2519 Xytabich

Xytabich

    Странник

  • Пользователи
  • Active Posts54
  • Откуда: Россия

Posted 29.08.2013 - 17:03

a..b

Работает, но if не хочет сравнивать координаты с числом =)

#2520 semoro

semoro

    Странник

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

Posted 29.08.2013 - 19:07

Dimus, я всё пытаюсь послать тебе ЛСНо оно всё висит в исходящих, не могу понять в чём делоZodiak, Прости за оффтоп, но такая ситуация...
CraftOs уже не торт? Ставь MineX!
Тысяча ошибок против одного моддера - суровая правда жизни!


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users