Alex
Администраторы-
Публикации
3 168 -
Зарегистрирован
-
Посещение
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Alex
-
Тут не в отладке дело. Что тут отлаживать? Три строки? Да, действительно! Просто цикл for i=1 , 10 do robot.forward() end может не дать реальных 10 перемещений робота в мире, даже если на его пути ничего нет, хотя он выполнится реально 10 раз. Во первых: No yield / sleep in the loop => нет гарантии правильной работы GC. Во вторых: сам метод robot.forward() то вызывается 10 раз, но так как он никак не проверяется и пытается выполнятся на огромной скорости, нет никакой гарантии, что он выполнился с TRUE. Проще говоря, может еще не наступить физическое перемещение робота, и следующий вызов метода выполняется с FALSE и перемещение пропускается. Так писать движение робота, видимо, нельзя! Вот маленькая корректировка программы: local r = require("robot") local component = require("component") local long = 10 -- длинна участка. local pause = 5 local function forward() while not r.forward() do os.sleep(1) end os.sleep(0) end -- гоняем робота взад - вперёд while true do for i=1 , long do forward() end r.turnAround() os.sleep(pause) for i=1 , long do forward() end r.turnAround() os.sleep(pause) end Здесь функция local function forward() while not r.forward() do --я написал паузу, но можете атаковать, разрушить блок и прочее, поставить любую задачу роботу os.sleep(1) end os.sleep(0) --здесь можно увеличить координату и вернуть TRUE end дождется выполнения перемещения, пока метод r.forward() не вернет TRUE. Робот переместится и цикл for пойдет дальше. Это гарантировано убережет нас от затыков сервера, маленьких подлагиваний и прочего. Иначе, вы не выполните четко 10 перемещений! Вот робот стал кататься четко по меточкам, даже если вы встанете на пути или положите камешек, а потом уберете: До корректировки, да, он катался на случайное количество блоков, когда на 10, а иногда и на 3 или 4, потом разворачивался.
-
Так как GET запросы, например, к http://www.timeapi.org/utc/now , требуют на выполнение определенного времени, до нескольких секунд, наличия интернет карты и кучи телодвижений, есть еще один вариант получения астрономического времени. Точное оно настолько, насколько точно его настроил админ на хосте. Стандартные функции date +%s в консоли и в интерпретаторе os.date() выдают пока черти что, 1970 год и время с потолка. Всякие счетчики работы Луа машины и ПК нам тоже не подходят, типа os.clock() и прочих. Но есть один способ. В ОС можно получить дату модификации файла методом lastModified('filename') из библиотеки filesystem в формате UNIX Ним и воспользуемся. Модифицируем вспомагательный файл и получим время модификации тут же. Вот функция получения времени: -- ======машинное время (время хоста)======= -- раскомментируйте библиотеку, если она не подключена в вашем коде --local fs = require("filesystem") --(установить для своего часового пояса, -12 : +13, например: -2 или 6) local TIME_ZONE = 2 --(не изменять!) local t_correction = TIME_ZONE * 3600 local function getTimeHost() local file = io.open('/tmp/unix.tmp', 'w') file:write('') file:close() local lastmod = tonumber(string.sub(fs.lastModified('UNIX.tmp'), 1, -4)) + t_correction --print(lastmod) -- Вариант 1 --local data = os.date('%x', lastmod) --local time = os.date('%X', lastmod) --return data, time -- Вариант 2, eсли нужно все по отдельности --local year = os.date('%Y', lastmod) --local month = os.date('%m', lastmod) --local day = os.date('%d', lastmod) --local weekday = os.date('%A', lastmod) --local hour = os.date('%H', lastmod) --local minute = os.date('%M', lastmod) --local sec = os.date('%S', lastmod) --return year, month, day, weekday, hour, minute, sec -- Вариант 3, но есть нюанс, если число минут(часов) 5, то и будет выдано 5, а не 05! --local dt = os.date('*t', lastmod) --return dt.year, dt.month, dt.day, dt.hour, dt.min, dt.sec -- Вариант 4, все в куче, как мы привыкли, в правильном формате local dt = os.date('%Y.%m.%d %H:%M:%S', lastmod) return dt end print(getTimeHost()) Вот выдержка из Советской Энциклопедии о UNIX времени. Часовой пояс установите, как Вам угодно (например, сейчас 2 на ИТ - это время Киев, 3 - МСК). Формат, который возвращает функция, тоже выберите, какой Вам удобно. Лишние закомментированные строки (--) удалите. Теперь легко можно в лог записать любое событие и приписать ему время. Так же можно легко узнать дату и день недели через 234 часов, 36 мин, 40 сек, например, предварительно переведя временной интервал в секунды и потом вернуть астрономическое время. Например вы хотите узнать, через сколько на ИТ вы скрафтите 100К ведер жидкой материи. Это например, 2256 год, 1 апреля, 12:50:12, если не останавливать "генмат" не на секунду Вот ретурн функции: Вариант 1: string, string 04/22/15 09:05:56 Вариант 2: number, number, number, string, number, number, number 2015 04 22 Wednesday 09 05 56 Вариант 3: number, number, number, number, number, number 2015 04 22 9 5 56 Вариант 4: string 2015.04.22 09:05:56 и т.п. По сути вся функция, это 7 строчек. Не нужно никаких гетзапросов выполнять, библ всяких и интернет карт. Подробнее о форматах os.date() здесь.
-
[OC Updates] Обновление OpenComputers до версии 1.5.8.
Alex прокомментировал Fingercomp запись в блоге в Fingercomp's Playground
Молодец, Сангар, что всегда заботится о производительности мода и принимает титанические усилия в экономии ресурсов и памяти сервера. Фиксит все оперативненько. Спасибо Киберу за огромный труд в переводе мануальчика ОС. Для всей части планеты русскоязычной сделал работу, считай! Так же слыхивал, что YuRaNnNzZZ и Тотоro тоже приложили огромные усилия для русской локализации мода. -
Дмитрий (Zer0Galaxy) программу сделал на 99% Необходимо только было подкрутить скорость стрельбы и добавить экшена. Гашетка была только механическая. Сенсора не было. Ну и весь затык на том, что пушка на КК, с которым у нас ведется война. Проблемно стало кидать алмы черепахе или ПК, так как отрезали билдкрафт. А также врап-модемы не приватятся КК-шные, их легко вырубить правым кликом и соответственно произойдет краш программы. Прога то сделана, и пушка стреляет. Но беды с КК и вынужденная реорганизация модов приостановили немного процесс. Сделать бы это на ОС и подключить стрельбу к банковскому счету, то и робота не надо, который всасывает алмы за игровую стрельбу. Напиши Зеро в ЛС, что там да как, и меня подключи к разговору. Но Дима, Крутой и Нео сейчас заняты титаническим трудом с глобальной сетью ОпенНЕТ и DNS серверами, и скорее всего, им не до пушки пока.
-
Ссылки все равно подрезались раньше игрокам каким-то плагином упорно (вместо http://mail.ru в чат обычный игрок при вставке урла видел http //mail ru) Резались точки и урлы все равно были некликабельны. Какой нужен пермишен и что конкретно режет урлы, я так пока и не занимался этим толком (админ нормально вставляет урл в чат). С вводом секирбашки урлы лучше вообще в чат не кидать. Не нужны они там флудить. Просто напиши, смотри тему Подарки за голоса на форуме и т.п. или код программы ERfgg56Hj и все. Пусть новички хоть поиском по форуму научатся пользоваться. Не надо их носиком тыкать и писать в чат мол, вот наш сайт http://computercraft.ru, там смотри. Потом когда разберусь с урлами и настрою маски разрешенных адресов, тема возможно, будет актуальной. Сейчас отличить полезные ссылки от мусора проблематично.
-
Дмитрий! Сеть пока так вся и состоит только из соединенных плат? Не планируется ли в будущем гибридная связь с использованием Wi-Fi?
- 162 ответа
-
- OpenComputers
- OpenNet
-
(и ещё 1 )
Теги:
-
[warn=ИНФО][/warn] Прошла первая фаза операции "Тайфун"! Был снесен КК и некоторые аддоны, которые без КК отвалились. О дальнейшем ходе проведения операции будет доведено отдельно.
-
А что там мама нажарила? Аж интересно стало?
-
Крутая картинка, поржал от души! П.С. Пошел делать медальку "Самый талантливый художник и аниматор проекта!"
-
Это только мнимое ощущение. Из этой половины игроков большая часть пишет проги типа: while true do print('LOL') end Это раз. Второе. Если покопаться в нашем форуме минут 15, то становиться понятно, что за мод КК почти никто не вспоминает. Чанклоадеры - ОС, голограммы - ОС, 3Д принтеры - ОС, всякие рекурсивные копальщики, фермеры, лазерщики, бурильщики, строители, даже водяные насосы - это роботы ОС. Куча тем в блогах, обновления мода, новые возможности и прочее - все относится к ОС! Простенький генератор коблы у всех на ИТ собран на роботе, так как даже черепаху то не поставишь в основном мире. Спрашивается, зачем черепахи тогда нужны вообще? Сервак валить? За КК - молчок полный. Все схемы на ИТ работают практически на моде ОС. Если бы не Крутой, который возится с черепахами, за них бы и слова никто не вспомнил на фоуме. Скачали бы там в нете экскавейт или квери-прогу и все на том. Или принтили ЛОЛ в цикле. Вот и весь КК на сегодня пока. Роботы - это многофункциональные устройства, с интересными крафтами, очень сбалансированы. Робот собирается под конкретные задачи с теми или иными компонентами. Они разрешены во всех мирах, умеют включать и выключать механизмы, юзают кучу инструментов и прочее. Поддержка юникода, возобновление выполнения кода с точки останова, разнообразная гибкая механика, работа с жидкостями и прочие миллионы функций, апдейты и т.д. Расширитель плат 2 уровня позволит вам кинуть на ходу в робота только плату 2-го или первого уровня, 3-го уже нет. Там все очень продумано. Разного уровня видеокарты, и те с разной скоростью работают там с заливкой, очисткой экрана и т.п. Чем черепаха радовала. Что собрал ее из камня железа и сундука, дал кирку и в ней все есть уже. Редстоун сигнал может подать например. А в робота нужно еще запихать плату красного камня: local com = require('component') local rs = com.redstone rs.setOutput(sides.forward, 10) --подать сигнал редстоуна спереди с силой 10 В КК в черепахе или ПК это: redstone.setOutput('front', true) И в чем сильная разница, скажите мне, пожалуйста? То же самое с остальными компонентами робота. Третье! .В моде ОС есть ограничение на использование памяти каждым ПК или роботом. В КК это нет. Нет защищенных каналов передачи данных. Не приватится врап-модем, его можно включать и отключать в чужих приватах. Сеть в КК абсолютно не защищена. И самое главное: простой цикл бестолковый может на 100% загрузить проц сервера и выжрать всю память. По сути, КК, это малофункциональный, опасный, дублирующий, но только малую часть возможностей мода ОС, мод. Атавизм, можно так сказать, хоть местами он и проще в освоении, не спорю. Черепахи запрещены в верхнем мире, а без чанклоадеров их использовать проблематично в майнерс мирах, оставлять там стационарный ЧР опасно. Персональный ЧР для робота в разы дешевле в банке, и его нельзя вычислить в майнерс мире, если робот там где-то ковыряется на глубине. На МТ админы вообще пошли радикальным путем. Сделали крафт черепах чуть ли не из иридия, и по заверениям админов у них на МТ сейчас всего несколько десятков ПК(или черепах) на сервере за все время его существования судя по файлам на ФТП. И все норм, ребята играют. Но там больше они вообще играют в грег и крафт молибдена с вольфрамом, перетертым на тёрочке и запиханым в центрифугу для получения "чугуния" и "алюмимбума". Им там вообще не до черепах пока=) КК умер как сетевой мод в сингле - конфетка, простой мод для освоения, на серваке - гемОр От него будем избавляться, как от балласта, а местами и часовой бомбы, которая может рвануть в любую секунду.
-
-
Был проведен "консилиум"" с Главным ордена К.А. (Кровавая администрация) Группа совещавшихся пришла к заключению: Мод КК опасен, так как может создавать неограниченную нагрузку на процессор и память сервера, даже один игровой ПК. В моде КК нет никаких ограничений на использование памяти и ресурсов сервера. Администрация приняла беспрецедентное решение планомерно и постепенно уйти от устаревшего и не развивающегося мода. КК не имеет фейковой системы, что совершенно исключает его использование в мире с приватами, в частности черепах. огромная дыра в реднет, никакой защиты данных пользователей и отсутствие защищенных каналов. часто не срабатывает startup после принудительной перезагрузки сервера в случае лага (зависания) мод не идет в ногу со временем, не адаптируется под игру на паблик серверах упорно много лет и т.п. (за 4 года было добавлено только окрашивание черепах, планшет и смена инструмента черепахами) мод имеет миллион дыр и может потенциально легко вызвать выход сервера и строя или нормального рабочего устойчивого режима. Огромная просьба администрации! Перенести все свои программы, которые существуют только в игровых ПК во внешнее хранилище данных, например, пастебин. Операция "Тайфун-1" вступает по плану в активную фазу в понедельник 20.04.2015 в 22:00 МСК. Мир будет полностью очищен от модификации КК. Но есть одно НО. Некоторые аддоны не работают без КК. С удалением КК отваливается OpenPeripheral, immibis-peripherals, MoarPeripherals, поэтому, КК будет возвращен, но полностью будет отключено взаимодействие с ним и все крафты. Мод ОС перспективен и развивается стремительными темпами, постоянно фиксится и улучшается функционал. Он должен стать флагманом модов нашего проекта. П.С. Главный более месяца обдумывал это решение. И оно ему далось очень не просто. Я полностью тоже с ним согласен.
-
Изменил программку по просьбам трудящихся. Теперь в мыльном ящике отображается инфа о фактическом времени захода, от которого пляшет следующий заход и подарок, текущая супер-серия и прочая лабуда. http://puu.sh/hhuEs/abca628919.png Теперь вы в курсе текущей недельной серии, когда заходили и когда будет следующий подарок, а также всегда видите свою супер-серию, а не только начиная с 10 дня заходов бесперебойных.
- 86 ответов
-
- игровой процесс
- ресурсы в игре
- (и ещё 1 )
-
Это даааа. Сильно маленькой то да, не должна. Но не дороже, чем ее себестоимость, а стоит она там копейки. Иначе кому она нужна будет. Мы плавно подходим к тому, что нужен не просто ванила-раздатчик простенький, а целый сервисный центр, где игрок регистрируется, получает аккаунт, ему выдается плата на руки, IP, или чего там, пароль. Две платы он купить не может уже на свой ник и т.д. и т.п. Редстоуном с ванила-раздатчиком тут явно не обойтись. Надо городить целый Датацентр провайдеровский.
- 162 ответа
-
- OpenComputers
- OpenNet
-
(и ещё 1 )
Теги:
-
Это верно. И вторая проблемка, что через любой механизм продажи, будь то воронка, раздатчик, банк, робот-всасывальщик-алмазов-и-выплевывальщик-плат-в-цикле и прочая лабудень не застраховывает нас от того, что какой-то шутник, у которого денег куры не клюют, не купит ради прикола все платы сразу и потом не выбросит их в лаву. И нам снова придется сидеть, крафтить новые платы и прописыавть их IP в базе.
- 162 ответа
-
- OpenComputers
- OpenNet
-
(и ещё 1 )
Теги:
-
То есть есть, например 10 реальных уже существующих на руках у тебя, плат-сестер, которые надо продать? А их близнецы уже запиханы куда-то и зарегистрированы в сети?
- 162 ответа
-
- OpenComputers
- OpenNet
-
(и ещё 1 )
Теги:
-
Там же так просто не получить пару плат, даже магией креатива. Их только нужно реально крафтить, чтобы вышло две связанные карты с одним адресом.
- 162 ответа
-
- OpenComputers
- OpenNet
-
(и ещё 1 )
Теги:
-
[ok=ОБНОВЛЕНИЯ!][/ok] обновлен мод ИК-Е обновлени мод ОС добавлен мод ComboArmors (аддон ИК-Е) снижены немного цены на зачарки в банке и на несколько предметов добвлены новые предметы Внимание: нано-лук не поддерживает зачарки. Имеет несколько режимов стрельбы. Крафты модулей "Маскировщик" и "Разрядник" отключены. "Разрядник" можно купить в банке. Он позволяет с огромного расстояния с неба во врага, на которого смотрите, наносить удары молний, используя заряд брони. Немного изменены рецепты CА. Так же в банке можно купить сам лук, модули улучшения брони и прочее за UU. Но лук и модули можно крафтить и самому.
-
Вот ты лайкаешь пост Нео "что за странные слова у Алекса "пук, чих и черепадлики" а сам такие же странные слова и юзаешь, типа "блин" и "офигенен" Что за "американские двойные" стандарты. Определись уже в нашем "интеллигентном" обществе. Или у тебя концепция "Баба яга всегда против (Алекса)"? Сколько я тебя помню на проекте, ты ни разу не согласился с тем, что я предлагаю, или внедряю в проект. Повторяю, НИ РАЗУ!!!! У меня уже датчик-определитель срабатывает. Ага, раз Крутой против моей какой-то идеи, значит ее нужно разрабатывать дальше.
- 35 ответов
-
- opencomputers
- больше декора
-
(и ещё 3 )
Теги:
-
[OC Updates] Обновление OpenComputers до версии 1.5.7.
Alex прокомментировал Fingercomp запись в блоге в Fingercomp's Playground
Принты теперь вообще бомбой стали: они могут излучать свет! Дождались! Недавно я только у Димы "Тоторо" спрашивал, не знает ли он про то, будут ли принты с лайт-ванила свойствами когда-то. Теперь хоть светильники печатай. Вот действительно, в какой именно мод компьютерный хочется играть. -
Ну может быть. Но с другой стороны, мы же не используем Windows 3.11, так как она проще и с нее все начиналось когда-то, так ведь? П.С. А для черепах, ладно, так и быть, не буду использовать термин "черепадлики". , раз это так вам не нравится, что аж Крутой там лайкнул=) Теперь у черепах кодовое название "ЧП"! Так нормально?
-
Когда тебе Крутой будет неделю сервер валить ними, у тебя тоже язык не повернется называть их ласково "черепашки" КК - это безумный мод, который неограниченно может жрать ресурсы сервера, в отличии от ОС, и я не знаю, что нас с Ридом до сих пор останавливает от его сноса с сервера, видно все-таки где-то в глубине души ностальгируем и любим его.
-
Овер, овер! Не сомневайся даже. Когда это разойдется по серверу, как вирус. Сервак только и будет тем и заниматься, как качать гигабайты данных с пастебин постоянно. А для простоты обслуживания и использования и снижения нагрузки на сервер просто добавь это: local function autoUpdate() print('Procedure autoUpdate...') --сюда можешь вставить свой код автоапдейтилки end local function questionUPD() term.clear() term.setCursorPos(1,1) print('Для обновления программы нажмите Y, если это нeбходимо!') print('Программа запустится через 5 сек. в любом случае, но обновление не произойдет!') local wait_upd = os.startTimer(5) while true do local data = {os.pullEvent()} if data[1]=='timer' then if data[2] == wait_upd then print('Escape autoUpdate!') break end elseif data[1]=='key' then if keys.getName(data[2]) == 'y' then autoUpdate() break end end end end questionUPD() print('Start program...') Так будет рациональнее в 100 раз. А так не дай бог у кого-то твоя прога крашнется с безумными черепахенами и в автостартапе будет в цикле качать бесконечно там что-то сотнями лет с пастебина, а так же при каждом пуке, рестарте, перегрузке чанка и просто перестановке черепахена с места на место. Так что нагрузку ты создашь такую страшную на интернет канал и трафика сожрешь, что и блондинкам твоим не снилось.
-
С блокнотом и ручкой ходить по серверу и описывать какахи какие-то в АЕ системе?
-
Я, кстати, только сегодня обратил внимание на название темы =) При чем тут робот с лазером к админским черепахам? Пародия на пародию? Это скорее всего копия "крутых черепахенов" по производству дропа в больших количествах, только лазером.
