Totoro
-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Сообщения, опубликованные пользователем Totoro
-
-
Интересно!
(хоть я и не разбираюсь в сетях =))
-
-
Просмотрел код, чистый, понятный.
Я увидел там лишь кнопки, текущая структура не предусматривает добавление других объектов типа прогрессбаров, текстинпутов и тд лабуды.
Или это у вас из объекта суперкнопки выходит?
Еще вопрос, для чего обрабатывать клик по группе кнопок? Они оверлапятся на экране? Если да, то как при этом они отображаются?
Там ничего нет пока по сути. Только скопипащенные кнопочки и псевдографика.
Группы кнопок - это я для удобства сделал.
Чтобы можно было легко управлять кнопками в сложном, многоэкранном интернфейсе. Кнопки группируются в таблички, а затем уже функции отрисовки экранов рисуют и проверяют на клики только свои группы кнопок.
Кроме того можно произвести "тематическую" разбивку. Например функция создания диалогового окна будет создавать свою группу кнопок - "ОК", "Применить" и "Отмена" и отрабатывать только ее, не затрагивая остальной интерфейс, когда диалог открыт.
В будущем вероятно заменю группы на "родительский элемент".
-
Спасибо. Вот теперь что то проясняется.
Еще вопрос. Могут ли сервера, которые стоят в одной серверной стойке обмениваться информацией при помощи обычных проводных сетевых плат? Достаточно ли того, что они стоят в одной стойке или надо какую то внешнюю сеть городить?
Нет, сеть городить не надо.
Сервера в одной стойке умеют общаться друг с другом. Для этого достаточно проводной сетевой карты.
В интерфейсе серверной стойки есть переключатель External/Internal который определяет поведение серверов при получении и передаче сетевых пакетов.
Для примера, пусть у нас есть четыре сервера в стойке - A, B, C и D. Сервера A, B и C привязаны к левой, правой и нижней сторонам. Сервер D не привязан к стороне стойки.
В режиме External, сообщение пришедшее извне на левую сторону стойки получит сервер A. Сообщение будет передано им на другие стороны стойки. И уйдет по проводам, подключенным к этим сторонам. Таким образом сервера B и C тоже получат его. Сервер D не получит сообщения.
Если сервер А пошлет сообщение от себя, все будет работать по той же логике.
Если сообщение пошлет сервер D - его не получит никто (потому что он не связан с конкретной стороной стойки).
В режиме Internal, сообщение пришедшее на левую сторону стойки также получит сервер А. Сообщение будет передано всем серверам в стойке, т.е. B, C и D, но не будет передано на стороны стойки и провода, подключенные к этим сторонам.
Если сервер А отправит сообщение, оно будет передано на все другие сервера в стойке а также на левую сторону (и подключенный к ней провод). Но не будет передано другим сторонам блока.
Если сервер D отправит сообщение - оно будет передано только другим серверам в стойке (A, B и C).
Таким образом при помощи серверной стойки и нескольких серверов в ней, можно фильтровать сетевые сообщения как угодно.
-
2
-
-
Собственно компонент - это некое устройство, подключаемое через Component API. =)
Вот списочек: http://ocdoc.cil.li/component
Это и внешние девайсы, и платы, и апгрейды и прочее. Любой девайс, обладающий набором своих функций - это компонент (даже файловые системы).
Мы подключаем компонент:
local com = require('component') local device = com.deviceИ в переменной device у нас оказывается так называемый "прокси" объекта.
Это табличка с переменными и методами девайса. Как библиотека, по сути.
Команда com.device возвращает ГЛАВНЫЙ компонент. Обычно - это первый в списке одинаковых.
Если же у нас их много, одинаковых, (пять связных плат, например), то мы можем получить их все используя метод com.list('type'):
(Подробнее о методах Component API: http://ocdoc.cil.li/api:component)
for address, componentType in component.list('device') do ... endА в случае например получения сообщения от связной платы, и необходимости отпределить от какой именно, можно использовать адрес отправителя, который обязательно присутствует в пойманном эвенте:
modem_message (receiverAddress: string, senderAddress: string, port: number, distance: number, ...)
(Подробнее об эвентах компонентов: http://ocdoc.cil.li/component:signals)
-
1
-
-
Я когда заходил на сервер для программистов, думал что можно будет сразу зайдя в игру начать прогать. Но мне пришлось добывать много ресурсов прежде чем я сделал сносный компьютер. Компьютерный сервер - сервер для кодинга, и не как иначе. Для добывания ресурсов играют на греговских и обычных hi-tech серверах.

В тоже время это все еще сервер Minecraft. А Minecraft - это копание ресурсов и крафт, как ни крути. =)
Если убрать добычу ресурсов, станут бессмысленными целый раздел программ майнеров/карьеров. Именно поэтому есть (ДОЛЖЕН быть) кит для программистов. Кому интересно программировать и он то подтвердил какими-то разработками на форуме - выдается железо, остальные комают и крафтят. Всем интересно.
Дешевые компьютеры это тоже зло. Потому что некоторые "недо-джедаи" начинают их использовать для создания всяких идиотских лагозаводов. И вред от этого всем - и программистам и игрокам.
-
3
-
-
Как при помощи шин расширять количество слотов сервера?
Сможет ли один сервер работать с несколькими связанными платами?
Какое максимальное количество связанных плат может обрабатывать один сервер?
Шины расширяот количество компонентов, подерживаемое сервером. К сожалению, количество слотов в интерфейсе при этом не растет =)
Сервер может сколько угодно (в рамках лимита на компоненты) связных плат поддерживать.
Но физически их поместится не очень много. Придется поставить еще один сервер/компьютер.
-
Этот скрин выше напоминает мне почему-то построение на плацу.
Черепаха-сержант строит свой взвод черепашек-рядовых, а один черепахен на флаг побежал

-
5
-
-
Это знаешь, что напоминает?
Папа программист сынку говорит:
- Сынок, посмотри. поизучай программирование, это интересно!
А сынок говорит:
- Неее, папа, разнообразия и интереса в программировании нету, а вот разнообразные готовые программы, это интересно.

Ну прав же! Железная логика.
Разнообразие появляется как результат программирования, а программирование - скука и однообразие.

-
1
-
-
А можно ли подобную напоминалку сделать на основе планшета? Каменный ПК с собой сильно не потакаешь.
Можно повесить сирену на стену, и встать рядом с планшетом из ОС. Если в нем есть редстоун плата он сможет дать на сирену сигнал. Правда у планшета могут разрядиться аккумуляторы. =)
-
Неплохо. Кстати, OpenComputers полностью поддерживает Юникод, поэтому очень советую писать комментарии не транслитом а на русском.

-
Не до конца понял ответ на вопрос под номером 3. Что надо делать, то?

Тут такое дело, понимаешь ли, что поддержки графических форматов "из коробки" нигде нет.
Надо парсить бинарный формат PNG (или JPEG), разбирать его по полочкам, где палитры, где параметры, где пиксели и т.п. А учитывая что несмотря на простоту формата там дофига ньюансов (типа черезстрочной развертки или сжатия данных алгоритмом deflate), дело это специфическое, и муторное. И включать это в мод никто не собирается.
Однако, в мире есть добрые люди, которые все уже написали за нас. И распаковщик сжатых данных, и генератор хешей, и парсер графического формата (PNG).
По той ссылке, что кинул тебе Фингер, как раз содержится полный пакет программ, специально для ОС, который позволит без особых проблем (почти =)) отобразить тебе на экране картинку.
Пруф:


-
1
-
-
Цель №1.
IBOT.
Totoro Bank? Обломаетесь

-
А если сделать так называемые "сервера-проводники". За радиусом действия основной сети передавать информацию, с целью увеличить радиус действия.
Если я правильно понял, это и есть глобальная сеть, которую делает NEO.
Узлы - "роутеры" которые обмениваются информацией между собой и составляют основу сети, и компьютеры - "клиенты" которые общаются друг с другом через цепочку промежуточных роутеров.
-
Дима, а кто нам вывалил стену в банке?
Это лирическо-философская картина под названием "Банк. Бесконечность"
Чанк с дальней стеной не прогрузился =)
-
-
За 3 минуты могут в кабинку забежать человек 20... секунд 30 не больше надо ставить...
Механика работы кабинки такова:
Клиент пришел. - Нажал "Логин". - Двери кабинки закрылись. - Игрок что-то делает. - Игрок нажал "Выход". - Двери кабинки открылись. - Клиент ушел.
Если игрок не нажмет "Выход" - двери не откроются и он не уйдет.
Но допустим, что он телепортнулся домой, или покинул игру.
Тогда кабинка останется стоять ЗАКРЫТОЙ. Никто туда понабежать не сможет.
Через 3 минуты, сработает таймер бездействия, разлогинит текущую сессию и после этого откроет кабину для следующих посетителей.
-
1
-
-
Пара замечаний:
- если не нажал кнопку выход (разлогин из сессии) через сколько сессия закроется и закроется ли вообще? А так можно уйти из кабинки и не закрыть сессию,а потом придет другой игрок и за мой баланс купит что-либо
- Мне системка сегодня зачарила пустой слот
Какую-то проверку надо поставить или хотя бы предупредить на экране, что нужно предмет в руках держать
Если клиент бездействует более N минут (3 по умолчанию), то терминал выкидывает его в логин.
Насчет зачарки пустых слотов - да, наверное предупреждение стоит повесить.
-
Писать редактор для OC или CC? чтобы не флудить, голосуйте, плиз, голосуйте только в два варианта:"OC" и "СС". После 3 дней голосования(за это время напишу шаблоны поиска полей объявлений в lua) прошу администраторов удалить все сообщения относящиеся к голосованию, то есть на 4 день, мне надо еще зайти на форум и глянуть голоса)
Советую запилить под это дело отдельную тему, а в ней создать открытое голосование.
Чтобы не флудить и не смешивать разработку с уже готовым проектом в этой теме.
-
Через пару дней может =)
-
~*-*~
Всё это в OpenComputers 1.5.4
http://oc.cil.li/index.php?/page/index.html/_/releases/opencomputers-v154-r44
Сангар продолжает радовать.
-
Воу, круто. Мне начинается нравится этот интерфейс! Идея с тенью под полосками смотрится отлично!
Рад, что ты оценил.
Наркоманский слайдбар пришлось приберечь для другого случая. Но я его обязательно куда-нибудь приделаю.

-
Если 0, то #0 писать не нужно!!!
Можно и писать, в принципе. Парсер поймет.
Просто это лишнее. -
Как ты сделал черточки?пиксели дубовы как в СС, так и в ОС.
Это все магия Юникода.



Мод OpenComputers
в Обсуждение модов
Опубликовано:
Именно так. Сервер D может получить мессагу от компа, потому что ее редиректит внутри стойки сервер А.
А мессага от сервера D не попадет к компьютеру, потому что стоит режим Internal который отключает передачу мессаг на внешние стороны стойки.
Однако, эту мессагу получит сервер А. С него можно будет программно переслать ее наружу (на левую сторону, к которой он привязан), в случае надобности.