Zer0Galaxy
-
Публикации
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
189
Сообщения, опубликованные пользователем Zer0Galaxy
-
-
Скажите, когда будет готово, а то уже нетерпится.
Всё зависит от того, когда Алекс комп выделит. Можем, конечно, скинуться всем сервером по чипу.
-
1
-
-
Скажем так: админы поддерживают компьютер в рабочем состоянии, при котором он остается доступным другим пользователям. Хакер стремится завладеть компьютером эксклюзивно. Вариант выведения компьютера из строя я бы пока не рассматривал. Хотя, мы возможно вернемся к этому варианту, если хакер не преуспеет.
Предлагаемая комплектация:
- Корпус T3
- Процессор T3
- 2 планки памяти T3.5
- Жёсткий диск T3
- Видеокарта + монитор Т2
- Инет-карта
- Клавиатура
-
И так, мы имеем двух админов, одного хакера и одного лагодромера. Недостает только компьютера, за душу которого и будет происходить сражение. Прошу Алекса выделить под это дело в академии один компьютер, поместить его в подприват и добавить в этот подприват игроков Fingercomp и Doob.
Компьютер должен быть подключен к источнику питания и иметь интернет-карту.
Задачей хакера будет выполнить функцию computer.addUser() с целью получения эксклюзивного доступа к компьютеру.
Задача админов - помешать этому.
Админов приглашаю в личку.
Желающие по прежнему могут присоединяться к проекту.
-
Недавно в одной из тем поднимался вопрос о защите публичного компьютера от нежелательных действий несознательных пользователей. Для решения этого вопроса мной был написан программный модуль, препятствующий изменению системных файлов и другим действиям, способным привести к сбоям в работе компьютера. Работа этого модуля заключается в следующем ... Хотя, не буду сразу раскрывать все карты.
Для обкатки этого и других способов защиты предлагаю выделить в Академии один из компьютеров, где каждый желающий смог бы попробовать себя в качестве хакера. В задачу хакера входит выполнение одного из нижеприведенных пунктов:
а) заблокировать работу компьютера (грубый хак)
б) получить полный доступ к защищенным файлам компьютера без нарушения его работы (тонкий хак)
Противодействовать хакерам будет команда админов. Их задача - латание дыр в защите, обнаруженных или проделанных хакерами.
При обнаружении дыры, позволяющей выполнить один из пунктов а) или б), хакер обязан заявить об этом с указанием способа взлома. Команда админов анализирует результаты взлома и признает (или не признает) хак свершившимся. Хакер же получает медальку "Кулхацкер" или "Мегакулхацкер" в зависимости от достигнутых результатов.
PS В своем модуле защиты я не стремился достичь идеала дабы не делать положение хакеров заведомо безнадежным.
Внимание!
Просьба отписываться о предпринятых действиях и достигнутых результатах.
Лог:
- NEO в качестве хакера заблокировал компьютер на себя. Хак признан успешным. Выдан приз.
-
4
-
Не надо. Почитай википедию "Сферическая система координат"А разве по Y учитывать второй угол не надо?-
1
-
-
Надо учитывать, что координаты камеры и объекта (X,Y,Z) представляются в декартовых координатах, а координаты объекта относительно камеры (distance,x,y) - в сферических.
Попробуй так:
tCordsX = cCordsX + distance*math.cos(x)*math.cos(y) tCordsY = cCordsY + distance*math.sin(y) tCordsZ = cCordsZ + distance*math.sin(x)*math.cos(y)Возможно придется поиграться с ориентацией камеры.
-
-
Попробуй обновить java.Обновил до 1.8.0_65. Помогло. Спасибо.
Позже проверю, будет ли после обновления майн работать

Прикольно. Вот бы иметь возможность как-то влиять на трассы без перемещения блоков. Сложная схема может оказаться плохо читаемой.
Жду циклы и логику.
-
-
command > filename перенаправит весь выход команды command в файл filename.
Пробовал
java -jar OcBlocks-0.11a.jar > log
Получаю log нулевой длины.
-
-
-
Конечно, качество звучания оставляет желать лучшего. Ну, а чего вы хотели?Обнаружен способ улучшить качество воспроизводимого звука.
1. При конвертировании WAV-файла утилитой LionRay, устанавливаем значение Samplerate равным 65535
2. Перед воспроизведением кассеты, устанавливаем удвоенную скорость воспроизведения.
Но, при этом на тоже время звучания расходуется вдвое больше пленки.
-
2
-
-
Я предпочитаю делать так:
local actions = { f = robot.forward, b = robot.back, -- и т.д. } while true do _,_,_,_,_,message = event.pull("modem_message") if actions[message] then actions[message]() end endЛюблю Луа за его таблицы.
-
-
В состав мода Computronics входит блок стример, о котором я хочу рассказать.
Чтобы подключить стример к компьютеру, просто установите его вплотную или соедините при помощи кабеля. После подключения стример становится виден как компонент под именем tape_drive.
Стример позволяет записывать данные на кассеты, считывать эти данные, а так же, если данные записаны в определенном формате, воспроизводить звук, записанный на кассете. Кассеты различаются по количеству записываемой на них информации.
Ниже приводится зависимость времени звучания кассеты и её объема.
| Цвет корпуса | Время (мин) | объем(кБ) | |================|=============|===========| | Коричневый | 2 | 480 | | Светло-серый | 4 | 960 | | Темно-серый | 6 | 1440 | | Желтый | 8 | 1920 | | Желтый | 16 | 3840 | | Голубой | 32 | 7680 | | Розовый | 64 | 15360 | | Розовый | 128 | 30720 |
Чтобы вставить кассету в стример, кликните ПКМ по стримеру и в открывшемся интерфейсе переместите кассету в стример.
Стример, как компонент, предоставляет следующие функции:
isReady() – возвращает true, если в стример вставлена кассета.
isEnd() – возвращает true, если до конца кассеты осталось меньше четверти секунды.
getSize() – возвращает количество информации в байтах, которое может быть записано на кассету (не свободное место, а всего).
getLabel() – возвращает строку, содержащую метку кассеты или пустую строку, если метка не назначена.
setLabel(label) – принимает строку и устанавливает ее в качестве новой метки кассеты.
getState() – возвращает текущее состояние стримера. Возможные значения: “PLAYING” - воспроизведение, “REWINDING” – перемотка назад, “FORWARDING” – перемотка вперед, “STOPPED” – остановлено.
setSpeed(speed) – принимает число в диапазоне 0.25 – 2.0 и устанавливает скорость воспроизведения аудио. Нормальная скорость соответствует 1.0
setVolume(volume) – принимает число в диапазоне 0.0 – 1.0 и устанавливает громкость воспроизведения аудио.
seek(amount) – осуществляет перемотку кассеты на заданное параметром число байт. Если параметр amount отрицательный, перемотка осуществляется назад. Функция возвращает количество байт, на которое кассета была реально перемотана.
read([count]) – если параметр count не задан, функция считывает с кассеты один байт и возвращает его в виде числа. При заданном count, функция считывает заданное число байт и возвращает их в виде строки.
write(data) – осуществляет запись данных на кассету. Параметр data может быть строкой или числом в диапазоне 0-255.
play() – запускает кассету на воспроизведение.
stop() – останавливает воспроизведение кассеты.
Однако, в большинстве случаев для управления стримером достаточно утилиты tape, которая становится доступной после подключения стримера к компьютеру.
tape play - запускает кассету на воспроизведение.
tape pause - останавливает воспроизведение кассеты.
tape stop - останавливает воспроизведение и перематывает кассету в начало.
tape rewind - перематывает кассету в начало.
tape label [name] - если параметр name задан, устанавливает его в качестве новой метки кассеты. Иначе выводит текущую метку.
tape speed <speed> - устанавливает скорость воспроизведения кассеты. Значение speed должно быть в диапазоне между 0.25 и 2.0.
tape volume <volume> - устанавливает громкость воспроизведения кассеты. Значение volume должно быть в диапазоне между 0.0 и 1.0.
tape write <path_file> - осуществляет запись содержимого файла на кассету. Если path_file представляет собой URL-ссылку, файл будет скачан из Интернета. Однако для этого Вам потребуется интернет-карта.
Дополнительные опции утилиты:
--address=<address> определяет первые несколько символов адреса устройства. Требуется, если к компьютеру подключено более одного стримера.
--b=<bytes> определяет размер блоков данных при записи файла на кассету. По умолчанию этот параметр равен 2048. Честно говоря, не знаю зачем его менять.
И наконец, что же собственно нужно, что бы наслаждаться любимой мелодией не только в реальном мире, но и в мире Minecraft? Для этого необходимо выполнить несколько несложных шагов:
- Берем аудио-файл в каком-нибудь из известных форматов и конвертируем его в WAV-файл при помощи онлайн-конвертера или любым другим способом.
- Качаем утилиту LionRay по ссылке.
- Запускаем LionRay. В окно ”Input File:” вводим имя wav-файла (ленивые могут воспользоваться кнопкой “Browse”), а в окно ”Output File:” – имя, под которым файл будет сохранен после конвертации в формат dfpwm. Жмем кнопку ”Convert”.
- Полученный dfpwm-файл заливаем на диск ОС-компьютера (если играем в сингле) или размещаем на каком либо интернет-ресурсе.
- Заходим в Minecraft.
- Вставляем в стример кассету объемом не менее, чем размер dfpwm-файла, и перематываем ее в начало.
- Запускаем утилиту tape write <path_file>, где path_file – имя dfpwm-файла на диске ОС-компьютера или URL.
- Ждем.
- Заходим в интерфейс стримера, снова перематываем кассету в начало и жмем кнопку «Воспроизведение».
- Наслаждаемся.
- Плюсуем Zer0Galaxy на форуме.
Конечно, качество звучания оставляет желать лучшего. Ну, а чего вы хотели?
Уже после написания вынужден признать, что данная статья частично дублирует гайд @Fingercompа по моду Computronics. Видать меня склероз попутал.
-
11
-
Programist135, приведи, пожалуйста, пример как использовать твои ключи.
-
Такой вопрос. Устанавливаю я, к примеру, цвет шрифта 0х123456 и пытаюсь вывести таким цветом какой-то текст. Цвет будет приведен к максимально близкому из возможных цветов, которые монитор/видеоадаптер способны воспроизвести. Для приведенного примера это будет 0х002440 (определено экспериментально). Существует ли способ вычислить каким реально цветом будет выводиться текст, не прибегая к эксперименту?
-
Никогда не используй рекурсию с целью создания бесконечного цикла. Для этого существует while true do
-
2
-
-
local thread = require("thread"); thread.init() local function f1() print("hello1"); end; local function f2() thread.create(f2) thread.create(f1); print("hello2"); end; thread.create(f2); thread.waitForAll();Не пойму, чего ты этим хотел добиться. Если тело потока не содержит бесконечных циклов и вызовов pullSignal, то такой поток выполняется целиком после чего благополучно умирает. Т.е. твой код можно с успехом заменить на
local function f1() print("hello1"); end; local function f2() f2() f1(); print("hello2"); end; f2();Только по идее вылететь мы должны были по переполнению памяти.
-
Как это решить?
Код в студию
-
1
-
-
Проводилось ли какое либо тестирование на предмет эффективности предлагаемой библиотеки по сравнению со стандартным выводом на экран?
ECS? Такое ощущение, что давно знакомый человек сменил ник и аву.
-
Можешь кинуть тоже самое, только в виде текста?Название: Midday Commander
Версия: 1.4
Категория: Утилиты
Код на pastebin: NRiG4D8M
Ссылка на форуме: http://computercraft.ru/topic/940-failovyi-menedzher-midday-commander-oc/
Краткое описание: Файловый менеджер
Полное описание: Утилита предоставляет удобный интерфейс для создания, копирования, удаления файлов и выполнения многих других действий, доступных известным ФМ, таким как NortonCommander (MS DOS) или Midnight Commander (Linux)
Меня смущает желтый фон поля "Версия"
-

Тихие войны. Админы против хакеров
в Программирование
Опубликовано:
А бесперебойный источник энергии есть?