Totoro
-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Сообщения, опубликованные пользователем Totoro
-
-
А мы заручимся поддержкой игроков и будем штурмовать резиденцию админа.
Да здравствует анархия и банкиры!
-
Как-то много... А если я сделаю *зловещим тоном* The largest КОБЛОГЕНЕРАТОР? И буду отправлять рабов продавать коблу?
Рабовладельцам тоже надо на что-то жить.
А ведь еще рабов кормить. -
Убиваете всю романтику. Просто закапываете живьем ребята. Предметы уничтожаются и берутся из воздуха!
МУА-ХА-ХА-ХА-ХА-ХА!
ХА-ХА!
Я согласен с крутым, где такое видано банк который не хранит.
Да и им никто пользоваться не будет, я специально принесу 20к булыжника, что бы если есть хранилище, оно забилось.
А вот и первый пользователь нашего банка! Добро пожаловать! По текущему курсу, продав 20К булыжника, вы получите 20К кредитов на ваш счет.
-
Итак, фича, которая, насколько я понял, совершенно необходима любому приличному банку:
F1. Загрузка прайсов из Pastebin
F2. Отображение цен в вестибюле банкаЗдесь у меня хранится таблица:
А так выглядят цены, прочитанные программой:

В верхней части таблицы на Pastebin записано что-то вроде "timestamp". Время последнего обновления таблицы.
Раз в два часа (или раз в день), банк будет заглядывать на сайт и проверять этот "штамп". Если дата (время, или просто последовательность букв) изменилась, тогда уже скачивается таблица полностью, парсится и цены в банке обновляются.
Под "штампом" записано одно дробное число (от 0.0 до 1.0) - наценка. Оно означает, на сколько (процентов) дешевле банк принимает товары, чем продает их.
Сами цены имеют такой формат:
<id>[:metadata] <продажа> [покупка] <название>
Если значение "покупки" не указано, то банк сам его рассчитает на основе наценки.
-
1
-
-
Банк? Ура!
А что если сделать его на RFID картах, с ключами безопасности?
Потеряют карту - сами виноваты.
Как в реале

RFID-карты и ключи безопасности - это все очень заманчиво. Я когда телепорты писал пробовал их присобачить. Карточки, коды доступа - хакерская романтика =)
Но теперь я решил использовать другой подход.
Банк будет нетребовательным и надежным как удар кувалдой.
Я пишу его только на ваниле + ОС. Никаких дополнительных модов Даже от АЕ отказался (взял только креативный топливный элемент).Авторизация игрока будет проводиться через "фейс-контроль". Т.е. игрок вошел в кабинку - по центру дисплея кнопка "Авторизоваться".
Игрок ее нажимает, проход за спиной закрывается, компьютер достает из клик-эвента ник игрока и делает его единоличным пользователем терминала.
Таким образом, даже если кто-то влез в последнюю минуту к тебе в кабинку - он не сможет ничего нажать на дисплее через твое плечо. (Или убить тебя и перевести деньжат с твоего счета на свой.)
Через пять минут бездействия (если игрок телепортнулся) компьютер разблокируется и вход снова открывается.
-
-
ПОЛЕ БИТВЫ
Площадка на которой будет происходить тестирование банковских программ. Totoro World.


-
2
-
-
Кто нибудь продаст 10к железа, будут твои черепахи, пахать во всю. Лучше АЕ использовать.
И ванильные сундуки забьються.
А кто сказал, что я собираюсь в "Хранилище" что-то хранить?

Оно не забьется никогда.
-
ПЛАН БИТВЫ
1) Схема

2) Пояснение
Внутри банка - кабинки.
Внутри кабинок - терминалы.
Внутри терминалов - программа, которая общается с клиентом, узнает, какого черта ему нужно и затем общается с банковским серваком на предмет возможностей и толщины кошелька клиента.
Возле терминалов - сундуки, в которые клиент кладет свой товар. И откуда забирает купленое.
За стеклянной стенкой - орава роботов. Роботы берут товары, которые продал клиент, из сундука, пересчитывают и увозят в "хранилище" (или просто выкидывают в дезинтегратор, все равно у админа креатив).
Затем они получают в "хранилище" покупки клиента и везут их обратно.
Командует парадом - "шеф", банковский сервак. Он следит за прайсами (которые отправляет на дисплеи в вестибюль), отвечает на запросы терминала и роботов и без зазрения совести генерирует из воздуха новые товары в "хранилище", пользуясь читкодами и дебаг-платой. Кроме того он ведет базу данных клиентов, записывая состояние счета каждого.
Общение идет по беспроводной связи, строго по внутренним адресам сетевых плат. Ни байта наружу, ни байта извне.
Итого: для работы банка потребуется написать три программы.
1) Терминал. По большей части - это просто графический интерфейс, который действия юзера преобразует в запросы к "шефу".
2) Робот. Робот передвигается по банку, отвечая на вызов клиента и перевозя товары. Он проверяет ID товаров, и их количество и передает эту инфу "шефу".
3) Сервер. Сам "шеф". Командует парадом.
-
4
-
-
Та не, дело в том, что на серваке стоит Essentials, который команду перезаписывает на свою.
Кстати, если юзать ванильную команду, то прописывать нужно bukkit:weather thunder 100500, например.
У них на сайте слово rain вообще в алиасы команды записано.
Команда: weather
Алиасы: sky, sun, storm, rain
Описание: Manipulates the weather.
Синтаксис: /<command> <storm|sun> <duration>
-
Не работает

Вообще команда выглядит так:
weather <clear|rain|thunder> [duration in seconds]
(http://minecraft.gamepedia.com/Commands#weather)
Можно попробовать задать продолжительность.
Команда не может быть ограничена - только для админов и т.п.? Так чтобы КБ ее не смог выполнить.
Отладочная плата вроде бы умеет "привязываться" к игроку, чтобы использовать для выполнения команд его пермишны.
-
У отладочной карты, насколько я знаю, нет команд для работы именно с инвентарем игрока.
У нее есть команда
insertItem(id:string, count:number, damage:number, nbt:string, x:number, y:number, z:number, side:number):boolean - Insert an item stack into the inventory at the specified location. NBT tag is expected in JSON format.
И команда
removeItem(x:number, y:number, z:number, slot:number[, count:number]):number - Reduce the size of an item stack in the inventory at the specified location.
-
Интересует каким образом реализованна команда read из СС .
Где можно посмотреть исходники таких команд ?
Оболочка к этой команде, насколько я понимаю находится здесь:
ComputerCraft1.65.jar\assets\computercraft\lua\rom\apis\io
Однако она упирается в _G.read(), а это значит что сама реализация скрыта в исходниках мода.
Вот тут есть пример самописного ввода данных (с ограничением максимальной длинны ввода дополнительно):
http://www.computercraft.info/forums2/index.php?/topic/7945-max-input-length/
Плюс, посмотреть ввод данных на эвентах можно в OpenOS - Term API (для OpenComputers).
-
Прыжок тройной высоты за 100 UU-тугриков.
-
И зачем мне этот гемор?
Какие такие кнопочки в банке? Нажимные плиты что ли? И как по ним прыгать? Как ник получать? Чем чат то плох? Так и приватить можно отменить команты /trust через чат, а сделать на кнопках. И админ команды ворлдэдита.=) Чат то наоборот удобно. А так будет, как обычно в майне. Вася чарит, а Петя мордочкой в монитор тычется шифтом с отставленной назад задницей, по кнопкам прыгает и мешает и прочее. Это геморой еще тот, лишние телодвижения. Головняк неописуемый, короче.
Можно в банковском терминале отдельную вкладку сделать, на платные зачарки.
-
Для того чтобы узнать тип переменной, в Луа есть функция type()
Пример:
print(type("Hello world")) --> string print(type(10.4*3)) --> number print(type(print)) --> function print(type(type)) --> function print(type(true)) --> boolean print(type(nil)) --> nil print(type(type(X))) --> string-
2
-
-
И куда его к черепашке прилепить?
По механике движения, эта библиотека будет полезнее для дронов.
А вообще векторные рассчеты - очень полезная библиотека. Взять хотя бы GPS, которым программисты CC пользуются "искаропки".
Он весь построен на векторах.
-
Ну, тогда придется открывать файл мода WinRAR'ом и искать там что-то вроде assets/lua.
-
Вопрос, как открыть этот файл?
edit ocs/apis/sensor
Или, если так не даст, то в два приема:
cd ocs/apis/ edit sensor
В сингле - просто открой папку с сейвом и найди каталог computer. Там все файлы внутри должны быть.
-
Я правильно понял, что генератор заправляется только во время очистки инвентаря?
Похоже на то. Во время разгрузки инвентаря он набивает топку углем по максимуму, а если остается лишний - сбрасывает вместе с остальной добычей.
Вторая версия программы использует запись в файл текущих координат. Причем делает это после каждого движения, что на мой взгляд немного нерационально. Выкопав карьер 10 на 10 на 10 блоков, программа перезапишет злосчастный файл с координатами около 1000 раз.
-
Можно распостранятся используя бит нет вышку
Это если у жертвы уже стоит "бекдор".
Ведь кому-то надо принять сообщение, записать на диск полученный код и активировать его.
Мне кажется, самый реальный способ заражения - через дискету с автораном.
Она заражает компьютер, и тот начинает писать вирусные автораны на все дискеты вставляемые в него.
И т.д.
Надо посмотреть, есть ли способ держать загруженную программу фоном на компьютере с OpenOS.
-
1
-
-
Давайте сначала напишем вирус, который заразит все компы на IT 1.7.10 и вынудит искать антивирус.
-
3
-
-
Чего-то пока не нашел фейка в дронах. Потыкался по ним сканером, глухо. В роботах все гуд. И в конфиге не нашел упоминания про дронов и формата фейк-плеера. Странно. Сангар точно обещал в 1.5 привязать их? Дима, а ты смотрел?
И еще вроде, субъективно, дрон стал еще быстрее разряжаться, как китайский планшет)
Вот точная цитата его ответа:
In 1.5 drones will have their own fake players, in 1.4 they use the general OC fake player.
Да, разряжаются быстро. Глянул в конфиг -
# The amount of energy a drone can store in its internal buffer. drone=5000И 0.4 энергии они жрут в такт.
-
<gpumpy cat image>
:P

Банк для сервера IT
в Инфраструктура
Опубликовано:
В игре, в чате, постоянно спрашивают - "Когда банк будет готов?", или "Почему никто не делает банк?". Алекс решил портнуть его на ОС, и я в этой теме как бы предлагаю один из вариантов.
Идея БАЗАРА по прежнему кажется мне очень привлекательной и ее безусловно надо довести до релиза.
Проблема с МЕ сетью - это слабое место пока. Я тоже искал способы комфортно работать с ней через ОС, но пока не нашел. Оно реализовано как-то кривовато у Сангара. (Кстати, на форуме недавно кто-то опять спрашивал об этой проблеме, может Сангар таки ответит? Или улучшит интеграцию с АЕ.)
Ты предлагаешь объединить Банк и Базар в один?
В принципе можно. В текущем проекте изменения будут минимальными. Просто нужно будет чтобы сервер, в качестве альтернативного варианта не создавал предметы из воздуха а читал таблицу "лотов".
Я думаю можно поступить двояко:
1) Объединить терминалы. Сделать в меню еще один пункт - "Базар". И юзер попадает на "аукцион", может листать лоты, ставить свои и заказывать их. Систему валюты можно оставить ту же самую, чтобы не было путаницы.
2) Сделать разные кабинки для Банка и Базара, но стоять они будут рядом, в одном здании и будут соединены с одним и тем же сервером Банка. Ну и роботы будут обслуживать их одинаково.
(Кстати, проект здания тогда можно изменить, сделать его большим и круглым. В центре - ядро банка, сервер и роботы, вокруг - кабинки, вокруг - зал. На стенах зала, напротив стен с кабинками - мониторы с прайсами и лотами)
Я сделал набросок терминала.
Сейчас работает авторизация игрока и система надежных "дверей", запирающих кабинки.
Учитывая, что в сердце сервера запрятана дебаг-плата, я не стал мудрить с "механизмом":