Alex
-
Публикации
3 168 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Alex
-
-
Ну видишь, а мы думали, как водой смывать падающие саплинги. Магнитик рулитФерма дерева уже использует его для поднятия лута. Никакой воды))) Алекс когда ты сможешь помочь мне с фермой резины? а то я с таблицами не очень понял и файлами. Если сможешь проконсультировать давай в четверг. И как то бы поговорить с тобой о развитии игрового мира, я планирую создать город около своей базы (привлечь туда народ) думая разместить рекламу на мониторах спавна и вдоль дорог посодействуешь?
Помощь окажу с удовольствием по фабрике резины. Что касается создания центров поселений и сосредоточения цивилизации, я только ЗА. Like Помогу всем, чем смогу.П.С. Лут подбирается в выбранный слот в радиусе 3-х блоков?
-
Наверное, я не в тему, потому что хочу поведать другой способ сбора резины, он не связан с компьютерами.
В ГТ есть такой прекрасный блок с названием crop-harvester, суть его работы заключается в сборе урожая с растений на жёрдочках перед собой.
Достаточно вывести хорошие параметры генов и можно собирать резину каждые 20 секунд.
Я когда-то год назад 3 дня пытался вывести мутагенный тростник, который выделяет резину. Получил нервный припадок, сломал все жердочки, взял краник и пошел собирать резину с деревьев.

-
Сегодня 29.07.14 обновился мод ОС. Добавлено: tractor beam upgrade. Оказалось - что это притягивающий луч. Теперь с этим апгрейдом(имеет вид магнитика) ваш робот будет втягивать предметы вокруг себя в радиусе 3-х блоков. Дискеты теперь имеют различные цвета, что очень удобно.
По датчику движения точных данных пока нет, надо тестировать, реагирует на движение живых существ в области прямой видимости. При обнаружении посылает сигнал (событие) motion (координаты и название существа). В крафт входит ЦПУ 2-го уровня.
Название компонента: motion_sensor
getSensitivity(): number
Возвращает чувствительность датчика
setSensitivity(value: number): number
Устанавливает новый порог чувствительности датчика, возвращает старое значение
Я думаю, в связке с катушками тесла из своего домика можно будет сделать неприступную крепость теперь.
А также реализовать на большом экране интерактивную карту движения всех существ в радиусе у себя в штабе-бункере, и программно включать только нужные катушки.-
1
-
-
Мод еще не обновлялся. Сервер у Феникса кто-то вытащил, скорее всегоЭто по этому у меня робот испортился а у Феникса сервер пропал?
. Зашел сегодня в игру - робот мой работает, сервера мои на месте. Хотя мод развивается и фиксится, все может быть, но вряд ли. За месяц игры на сервере 1.6.4 не видел случая пропадания серверов(блоков) из OpenComputerso_O. И что значит "испортился" робот, прокис что-ли
-
Обновление мода OpenComputers до версии 1.3.2:
Добавлено: блок - датчик движения.
Добавлено: tractor beam upgrade.
Добавлено: окрашивание дискет.
Добавлено: визуализация шрифтов юникода.
Добавлено: повышен уровень доступа к выключателям
Добавлено: поддержка Mekanism's power system.
Добавлено: творческий (креативный) сервер.
Исправлено: безотказная работа блоков и компьютеров в разных мирах.
Исправлено: ошибки в LuaJ.
Исправлено: ошибки, при которой серверные стойки потребляли избыточное количество IC2 энергии.
Исправлено: роботы не дублируют больше сетевые сообщения.
Исправлено: некоторые визуальные глюки в GUI.
Исправлено: баг со звуком флоппи дисков.
Исправлено: несколько потенциальных крашей.
-
:DLikeА зачем это роутеру? Если я решу сделать Craftnet платным, тогда понятно. Но Craftnet платным не будет пока я в нем участвую.
Может кто нибудь захочет стать провайдером и продавать трафик, тогда пусть делает
Zer0Galaxy! Можно, подробнее, пожалуйста, какая версия, мод, сервер, что не так передается? И нет ли таблицы символов под рукой?Обнаружил неприятную особенность сети rednet. Оказывается символы с кодом больше 127 передаются некорректно. Тоже касается и записи на диск. Это надо учитывать при разработке алгоритма шифрования.
-
Но ведь Message+H я могу перехватить и отправить от имени отправителя, то есть на его радиочастоте адресату что-то типа MyMessage+H, при этом мне пароль то и не нужен?Обратите внимание, сообщение передается незашифрованным, но сопровождается подписью, подделать которую невозможно не зная пароля.
-
Зашел только что, чат Сябро работает, ничего не перезагружает, странно.
-
на том же на чем и до этого вчера все
я похож на экстрасенса?
поменялась версия мода OC и версия openOS с 1.1 на 1.2ничего не менялось
-
Нет! RFID карта просто хранит до 80 символов. Для чего это нужно, пока не понятно. Подойдет для хранения какой-то личной информации и ее считывания и идентификации. Карту можно перезаписывать. Не понятно, как ее выдавать игрокам. Так же ее легко потерять в бою с ким-то крипером. И толку от нее, как от зонтика для рыбки. Она же не шифрует Реднет сообщенияА ведь использовать карту как в обычном банкомате проще?или нет?

А у нас тема просвещена шифрованию и обмену информацией по открытому каналу связи.
-
Предлагаю продолжить разработку системы безопасной передачи данных.
Я считаю, это вопрос №1 при использовании сети Реднет вообще и покрытия CraftNet в частности. Для тех, кто не в курсе, скажу, что можно перехватить любое сообщение Реднет, а также отправить ложное сообщение получателю, представившись любым отправителем, и идентифицировать подмену можно только по уникальному актуальному пакету, привязанному ко времени, но для этого сообщение нужно зашифровать.
Какие варианты у нас есть?
1. Нужно разобраться с блоком Cryptographic Accelerator. Только он не крафтится чего-то(не жарятся каменные компы для получения чипов), хотя в конфиге крафт разрешил.
Вот официальный источник:
http://www.computercraft.info/forums2/index.php?/topic/3728-mc-164-cc-158-immibiss-peripherals/
Пример программы:
Но его использовать для черепах нельзя.
2. Придумать свой алгоритм шифрования, но вопрос генерации и обменом симметричным ключом по открытому каналу без передачи этого самого ключа пока не решен программно.
Кто не видел, посмотрите алгоритм Диффи-Хеллмана
3. Может как то использовать возможность сети интернет и по нему передать ключи. Но как сказать компьютерам и роботам, что по такому-то адресу лежит ключ. Адрес то можно тоже перехватить. Или сразу создать и удалить (перезатереть) файл на пастебине, например. Пока не соображу, как это сделать.
4. Ну и мой вариант, который придумал вчера. Вроде должно работать, и думаю это довольно надежно будет. Использовать его буду в своей банковской системе, когда человек работает через терминал по радиосети со своим аккаунтом и банковским счетом.
Возле терминала стоит Biometric Lock. Клиент по отпечатку пальца инициализирует процедуру аутентификации, терминал получает ник игрока. Далее терминал просит придумать пароль для регистрации. Пароль хешируется и отправляется на сервер вместе с ником. Если такого игрока нет в базе, создается аккаунт на данного клиента. Аккаунт создан.
Далее выбираем войти в аккаунт, проверяем отпечаток пальца, вводим свой пароль и терминал отправляет на сервер ник и хеш. Если хеши совпали, сервер генерирует случайный ключ шифрования для данной сессии и через командный блок шлет его игроку на мыло в игровом чате. Например так (/mail send AlexCC trtYhhGDFf) Далее игрок вводит полученный ключ и начинается сессия по обмену информацией в зашифрованном виде симметричным ключом.
Ключ умирает при окончании сессии, или выходе игрока из аккаунта. Ключи и пароли в открытом виде нигде вроде не передаются. Костыльный метод конечно, и сгодиться только для администраторских схем, т.к. используется командный блок. Ключи в черепахах-кассирах придется периодически менять вручную, благо к ним в обычном мире запрещен доступ, даже к интерфейсу.
Жду комментариев, и считаю вопросы глобальной сети CraftNet, передачи информации, ее шифрования и защиты одними из самых сложных и интересных у нас на проекте. На старом форуме мы это начинали уже обсуждать, но старый форум джумлы умер, а вопросы так и остались нерешенными.
-
Компьютерные технологии развиваются стремительными темпами. Спутниковое телевидение, интернет, соц. сети, телефония, электронные платежи, базы данных, роботы и прочее.
Почему бы нашему Стиву в мире Майнкрафт не идти в ногу со временем.
Например, сидите Вы с девушкой в кафе, отдыхаете, а Вам на мыло, или еще лучше при помощи SMS, приходит сообщение типа:
- Ваш реактор перегрелся и был остановлен!
- Черепашка закончила копать карьер.
- В Ваш дом проник воришка с ником Kakashka13
И Вы говорите девушке: " Извини, дорогая, мне нужно черепашек на карьерах переставить. Сейчас вернусь!"o_O:D
Как Вам такой поворот?! Все что Вам нужно, это чтобы ПК в майне при определенных условиях отправил на php скрипт http запрос с двумя переменными, мылом(телефоном) и самим сообщением.
Скрипты мы будем размещать на нашем сайте http://computercraft.ru в специальной папочке.
П.С. Не откажусь от лайка, если вам понравилась идея.
-
9
-
-
Хмм... Я думаю, что добиться решения недочетов с переходом дат 30-1, 31-1, 29-1 можно добавив 5 дополнительных проверок в механизме проверки выполнения. Механизм вроде должен выглядеть так:
if tonumber(lastlogin)+1==tonumber(getDate()) then
count=totalDays+1
giftDaily(player)
writeAccountData(player, tonumber(getDate()), count)
elseif tonumber(string.sub(tostring(lastlogin))), 7,8)))==30 and tonumber(string.sub(tostring(getDate(), 7, 7))==1 then
--заплатка для случая перехода дат с 30 по 1, где длинна номера месяца больше 10(числа вроде 08 tonumber превращает в 8)
count=totalDays+1
giftDaily(player)
writeAccountData(player, tonumber(getDate()), count).......
Что это?????? Я же написал, как разницу проверять. Скрипт(а точнее комьютер) сам умно вычисляет разницу в астрономических секундах между любыми двумя датами, хоть на столетия вперед и между Днем рождения первого динозавра и полетом Гагарина в космос!!!! То есть компьютер знает календарь
PHP файл лежит на нашем сайте. Вам нужно только отправить на него http запрос с двумя датами в указаном формате. Я же написал в 25 посте этой темы. Просто используйте готовую функцию. Секунды разделите на 3600 и потом еще на 24 и округлите вниз, или правильнее наверно взять целую часть, чтобы получить количество целых дней отсутствия.
days_no_visit , _ = math.modf (tonumber(differenceDates(date0, date1))/3600/24)
Получите "0", если времени прошло меньше суток, "1" если день и "трошкы" и т.д.
Если days_no_visit
Рука-лицо, честное слово.

-
Нельзя прекращать борьбу, тем более в начале пути. А конкурентов не так и много. Что-то один игрок реализует, что-то другой. Приз будет всем. А сроки все таки условны, не известно, когда реально подадут работы, и подадут ли вообще

-
Я почти написал и понял как решить проблемы с месяцом, предлагаю на 7-ой день с шансом 1/1000 дать квантовый генератор
или 1/10000
а я планирую использовать консоль для настройки... дабы не выключать серв
и к стате можно выдавать квантовый генератор только если рандомное число от 1 до 1000 будет равно рандомному числу от 1 до 1000 тоесть if random(1,1000) == random(1,1000) then give end
Прога должна выдавать бонус за регулярные посещения. Рандомые же подарки нереальные, подарки опыта и еще миллион всяких действий в зависимости от прокачки характеристик будут возложены на божество по имени Локи
А вот выдачу призов к знаменательным датам надо реализовать. Позже выложу требования к программе и за каждую реализованную возможность назначу баллы. Победителем будет тот, кто реализует качественно максимум функционала и наберет соответственно больше всех баллов. Так что не брезгуйте ни менюшками, ни обработкой ошибок, ни логированием и прочим. Вот так вот
Так же готовая и отлаженная программа будет помещена в последствии в зал славы. -
По функционалу, конечно! Работы будут рассмотрены только после конца срока написания. До этого можете их даже не выкладывать.А победитель будет объявлен по функционалу или по скорости написания?
... а вот фикс с 30 по первое число нет.
Что касается определения дат. На нашем сайте был размещен PHP скрипт, который возвращает разницу между двумя датами в секундах!
<?php $d0=$_GET["d0"]; $d1=$_GET["d1"]; $ts1 = strtotime($d0); $ts2 = strtotime($d1); $seconds_diff = $ts2 - $ts1; echo floor($seconds_diff); ?>
Вот сама функция получения разницы во времени:
local date0 = "2014-07-10%2018:16:00" local date1 = "2014-07-13%2018:16:00" function differenceDates(date0, date1) local response = http.post("http://computercraft.ru/scr/days.php?d0="..date0.."&d1="..date1) if response then difference_of_dates = response.readAll() response.close() return difference_of_dates else return false end end2014-07-10%2018:16:00 - это формат даты, %20-это символ пробела, так как в строке http адреса пробелов не бывает. Секунды, я думаю, переведете в дни с округлением. Первую дату берете из файла юзера, вторую с сайта мирового времени.Вот пример http://computercraft.ru/scr/days.php?d0=2014-12-20 20:12:10&d1=2014-12-24 20:12:10
строчка http://www.timeapi.org/pdt/in+11+hours вернет 2014-07-13T21:39:45-07:00 Это время МСК
-
в коде поставь вместо N в строчке ami = peripheral.wrap("adventure map interface_N") номер врапмодема, и активуруй его. Блок должен засветиться зелеными лампочками. И в одиночке если ты тестишь, прога может не успевать поймать твой логин.Вот выкладываю, исправил что нашел... В 1.5.2 функция playerLoginDetect не реагирует на вход. Ну думаю это из-за версии.
-
таблицу пока сам накидай, камешки, песочек и прочее. Потом создадим табличку айдишек, когда все заработает.Алекс, напиши таблицу типа: priz={ {id1_1, id1_2, id1_3}, {id2_1, id2_2, id2_3}, {id3_1, id3_2, id3_3} }
local id = priz[math.random(1,#priz)][math.random(1,3)] - по идее это должно работать. Хотя таблицу можно и одномерную сделать. А для весомых призов хороших другую таблицу. Главное, чтобы программка была понятной, удобной и гибкой. Ну и самое главное - выполняла весь замысел.
local command_give = "/give "..nick.." "..id.." "..current_day_visit - выдача в в первый день одного предмета, во второй день два и т.д. Это если current_day_visit
Я думаю, это будет работать. Поправьте, если что не так. Так же я пока в замешательстве, как отслеживать смену месяца и года. Если сравнивать только дату, то как быть, если человек зашел 30-го, а потом 1-го числа. А в месяце сколько дней? 30 или 31? Как это отслеживать? Надо подумать.
Так же желательно создать табличку праздников: Новый год, дата создания майнкрафт, дата создания проекта нашего, День рождения Маркуса Перссона, День шахтера и т.д.
и выдавать в эти дни независимые призыLike Работы непочатый край и программка у нас должна получиться занятной. Текстовые сообщения нужно хранить в текстовых файлах UTF-8, тогда возможен принтинг русского текста в чат через командный блок. Но это я сделаю через фтп в корень компа. Если будет работать команда, призы выдам всей команде, не переживайте. Каждый бросит яблочко в трубу и получит приз. Так что за работу, друзья! Программа должна быть выполнена в срок. -
Вот здесь Zer0Galaxy целую энциклопедию для юного сурка написал. Для кого такой титанический труд проведен? На крайний случай юзайте функцию string.sub(s, i, j), где s-строка, i и j индексы символов.Вопрос у меня пока лишь как из текста на выводе получить понятнуюю информацию(дата ДДММГГГГ и время в виде 1415 где 14 это часы а 15 это минуты). Ответьте плз.Ну или как выловить из стринга текст с одного до другого символа.
например string.sub("Hello world", 1, 4) -> "Hell"
Потом переведите строковою переменную в число функцией tonumber(e)
-
Не надо тем, кто не рубит ничего в программировании и просто играет в майн такой, как есть. Я же сказал, что если не будет телепортов, то схема имеет место быть.Интересно, но никому не надо.
Смысл переплатить за доставку и потратить время в ожидании доставки, когда и проще, и выгоднее телепортироваться на спавн и купить все необходимое?
-
Воу-воу парни! Вы там поменьше шастайте. А то еще натворите неописуемых бед. Там куча опасных блоков. Феникс в гости приходил просто. Это админ. блоки и последствия могут быть катастрофическими
Протестируйте в одиночке или вызовом псевдо-функции пустой, где просто принтится команда для ком. блока на экран.
строчка http://www.timeapi.org/pdt/in+11+hours вернет время МСК
Вот все что вам нужно в домике Алекса узнать. Больше вам ничего не понадобиться.
Программка должна вести лог, подобие меню должно быть, а не черный экран на компе и поди узнай, что там происходит
, добавление ид предметов удобно сделать желательно и пр.ami = peripheral.wrap("adventure map interface_N") function getWorldTime() if not http then print("Pastebin requires http API!!!") print("Set enable API_http in ComputerCraft.cfg") error() end local response = http.get("http://www.timeapi.org/utc/now") --change args if response then local time_mess = response.readAll() response.close() return time_mess else return false end end function playerLoginDetect() while true do local e, user_name = os.pullEvent("player_login") .... end end function sayChat(msg) commandBlock.setCommand("/say "..msg) commandBlock.runCommand() end function giveItem(name_player, [id], count) commandBlock.setCommand(.....) commandBlock.runCommand() end -
Нет, Саня! Это будет на порядок больше геморроя. Есть сотни идей применения мода и использования программ. А извращения с правильной установкой факела черепашкой оставим до лучших времен.Что мешает запоминать координаты таких ситуаций, а потом используя апи крутова посылать черепаху на координаты той ситуации и ставить нужный блок? Смотреть на этот процесс будет на порядок интерестней!
-
Во-воя поставил вопрос с подвохом: опенкомп почему-то абсолютно не хочет работать с AMI он не получает ни объект мира, ни объект игрока он может только список игроков вывести, мною проверено у тебя в комнате!
Ну и не надо брать бензопилу, чтобы почистить яблоко. Делайте на КК. Этот мод более распространен пока и корректно работает со своими аддонами.
-
Даже WE этого толком не умеет, особенно после вращения буфера. А черепашки блоки из некоторых модов вообще не могут разрушать и ставить (например провод редстоуна из ProjectRed и пр.)А как насчет блоков которые нужно ставить передом в определенную сторону? Например: повторитель, красный факел?
WE не для запоминания выходов машин TE, таймингов повторителей и частот тесерактов. Это просто копирование.

Три закона робототехники! (фант.)
в Программирование
Опубликовано:
Участились вопросы относительно, того почему робот из OpenCompeters не наносит дамага игрокам. Отвечаю, эта функция отключена по умолчанию в конфигах мода и ее включать никто не собирается. Почему? Думаю, с Айзеком Азимовым спорить никто не станет. Вот три закона поведения для роботов, впервые сформулированны ним в 1942 году:
- Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.
- Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
- Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому и Второму Законам.
Читать всю информацию по этим законам.