Лидеры
Популярный контент
Показан контент с высокой репутацией 09.03.2020 во всех областях
-
4 балла
-
2 балла
-
2 баллаПредлагаю добавить в world_interface функцию получения всего инвентаря игрока и сделать insertItem как в OC для MC1.12.2. Очень нужные функции, т. к. в старых версиях майна все надо делать по одному стаку и одному слоту, а это сильно замедляет работу с инвентарем. Пройти по 36 слотам это 1.8 секунды. И было бы совсем здорово, чтобы при уничтожении стака, выдавалось количество (либо сделать уничтожение не по слотам, а по предметам, чтобы работало как команда clear с возможностью указать количество предметов)
-
1 баллПредставляю вам прoграмму умнoгo бартера, кoтoрая пoзвoляет oбменивать джинсы/бусы на зoлoтo/алмазы, пo справедливым ценам. Принцип рабoты Тoргoвый терминал пoкупает и прoдает предметы, устанавливая цены, oснoвываясь на закoне спрoса и предлoжения. Вычисление цены сoстoит из трех фoрмул: O/(I-O[+1])/I*M - пoлучение реальнoй стoимoсти предмета. (I - купленo, O - прoданo, M - мнoжитель) I-O этo разница между купленными и прoданными предметами, т. е. текущее кoличествo. Чтoбы пoлучить нoрмальнoе oтнoшение при I=O, всегда прибавляем 1. Далее, пoлучаем oтнoшение всех прoданных предметoв к текущему кoличеству - O/(I-O+1). Затем, делим результат на кoличествo купленных предметoв, чтoбы пoлучить oбратную прoпoрцию и умнoжаем на некoтoрoе числo, кoтoрoе пoзвoлит представить кoэффициент спрoса/предлoжения в виде натуральнoгo числа. ((R-C)/R)*C+C - если реальная стoимoсть бoльше текущей. (R - реальная стoимoсть, C - текущая) Пoлучаем разнoсть между реальнoй и текущей, делим на реальную, для пoлучения натуральнoй oснoвы. Далее, умнoжаем на текущую, и увеличиваем текущую стoимoсть на пoлученнoе значение. (C-R)/3+R - если реальная ниже текущей. Пoлучаем oбратную разницу, делим на кoэффициент падения цены (мoжет быть случайным значением oт 1 дo inf или oтнoшением C/R, лучше втoрoе, нo пoлучается слишкoм маленькая инерция) и дoбавляем этo делo к реальнoй стoимoсти. Уcтрoйствo Тoргoвый терминал сoстoит из кoмпьютера, рoбoта и прoизвoльнoй сети хранения предметoв AE2. Рoбoт, пo кoманде терминала, загружает и выгружает предметы, кoтoрые нахoдятся в буфере. К буферу пoдключен терминал через адаптер с кoнтрoллерoм инвентаря, кoтoрый пoзвoляет пoдсчитывать пoкупаемые у пoльзoвателя предметы. Терминал управляет перемещением предметoв между буферoм и МЕ сетью, через адаптер у МЕ-интерфейса. (На MC 1.7.10 нужен аддoн OpenPeripheral, дoбавляющий неoбхoдимые драйвера) Кoмпoненты Для терминала пoтребуется: алмазный кoрпус с алмазным мoнитoрoм, интернет-карта, беспрoвoдная карта, алмазная графическая карта, Lua BIOS, жесткий диск с OpenOS, прoцессoр и максимум ОЗУ. Периферия: редстoун-I/O (для включения и перезагрузки), 2 адаптера, кoнтрoллер инвентаря, кoнвертер энергии, клавиатура, зарядник для рoбoта, ME-интерфейс и ME-дискoвoд с дискетами. Для рoбoта: зoлoтoй кoрпус, инвентарь, EEPROM, беспрoвoдная карта, прoцессoр и минимум OЗУ. Устанoвка и настрoйка wget https://raw.githubusercontent.com/DOOBW/automarket/master/terminal.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/style.gss wget https://raw.githubusercontent.com/DOOBW/automarket/master/start.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/market.db wget https://raw.githubusercontent.com/DOOBW/automarket/master/robot_bios.lua wget https://raw.githubusercontent.com/DOOBW/automarket/master/gml.lua /lib/gml.lua echo start >> .shrcВ файле robot_bios.lua задать переменнoй address первые 4 симвoла адреса сетевoй карты терминала. Прoшить этoт файл в EEPROM рoбoта.В файле terminal.lua, в таблице cfg задать стoрoны: ic_side - стoрoна, с кoтoрoй нахoдится буфер пo oтнoшению к адаптеру с кoнтрoллерoм инвентаря. mei_side - стoрoна, с кoтoрoй нахoдится буфер oтнoсительнo адаптера. Перезагрузить терминал, включить рoбoта и мoжнo пoльзoваться. База данных устроена так: db = { users = { ['Ник_пользователя'] = { balance = счет, count = количество совершенных операций, lastlogin = время последней операции } }, items = { ['название_мода:название_предмета|метаданные'] = { label = Лейбл_предмета, i = куплено, o = продано, cost = текущая_стоимость } } } Пример работы (старая версия)
-
1 баллЛучше запихать выдачу этой инфы в геосканер. Название биома уже можно получать через advanced-геосканер. Инфа о слизневых чанках добавлена в dev-версии. Можно и id дименшена и прочую доступную инфу добавить.
-
1 балл
-
1 баллДанная версия безвозвратно устарела, да и слишком тормознутая была из-за массивной GUI либы. Все учтено, ничего не багает, не дюпает, вайтлист есть. Я полностью переработал концепцию, теперь она только на дебаге и работает, с аешками и сундуками я наигрался вдоволь. Игроки подключаются удаленно и вообще никакого влияния на ядро оказать не могут. Есть только одна проблема, я все делал на МС1.12.2, там есть некоторые различия в возможностях, по сравнению с другими версиями. Вообще, без проблем могу перенести на 1.7.10, единственный затык в том, что до 1.13 нет абсолютно никакой возможности получить информацию об инвентаре игрока на чистом MC+OC. Я подготовил PR, добавляющий возможность дебаге смотреть в инвентарь, но там в OC разработка продвигается медленно и все нестабильно. Поэтому, лучше воспользоваться той штукой, которую делал NEO. Пока что я изощрился забирать ресы у игрока, присылая ему бессмертную летающую вагонетку. Гораздо проще добавить функционал для работы самим компам, чтобы они от имени игрока покупали/продавали ресы из сундуков, но вряд-ли такое будет востребовано.
-
1 баллЯ недавно выложил IRC-либу, которую я делал, чтобы собирать IRC-мост. Теперь я собрал и мост. Установка Соберите компьютер с интернет-платой, кучей памяти (на всякий случай), админ-чатбоксом из OpenTechnology и дебаг-картой (через неё онлайн получает прога). Поставьте на него OpenOS. Пропишите следующие команды: mkdir -p /home/bin wget https://gist.githubusercontent.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/raw/c8617e01b7baa0e47936300fd9e783afa36601cb/irc-bridge.lua /home/bin/irc-bridge.lua Скачайте и установите IRC-либу. Например, так: mkdir -p /home/lib/irc /home/lib/irc/client /home/lib/irc/event /home/lib/irc/protocol cd /home/lib/irc set ADDR=https://gitlab.com/cc-ru/irc-oc/-/raw/v1.1.0/irc wget $ADDR/init.lua init.lua wget $ADDR/enum.lua enum.lua wget $ADDR/state.lua state.lua wget $ADDR/throttlingScheduler.lua throttlingScheduler.lua wget $ADDR/client/init.lua client/init.lua wget $ADDR/client/handlers.lua client/handlers.lua wget $ADDR/event/init.lua event/init.lua wget $ADDR/event/bus.lua event/bus.lua wget $ADDR/protocol/init.lua protocol/init.lua wget $ADDR/protocol/isupport.lua protocol/isupport.lua wget $ADDR/protocol/capabilities.lua protocol/capabilities.lua wget $ADDR/protocol/splitter.lua protocol/splitter.lua Запустите мост, чтобы он создал конфиг-файл: irc-bridge Откройте файл /etc/conversationalist.cfg. Там будет сериализованная Lua-таблица (не самый лучший формат конфига, согласен). Найдите и поменяйте следующие настройки: channel — канал, к которому подключаться nickname — ник бота в ирке account — имя аккаунта бота в ирке (можно в nil поставить, если нет) accountPassword — пароль от акка (также в nil поставить, если нет) gameAdmins или ircAdmins — в таблицу впишите себя, чтобы можно было конфигать Всё. Мост поставлен. Команды Мост воспринимает команды. Чтобы выполнить команду, например pm on: Пропишите в игре: #IRC: pm on Пропишите в ирке: /notice @<имя канала> pm on (например, /notice @#cc.ru-server1 pm on). Список команд: online — показать онлайн на другом конце моста. pm on — разрешить с другого конца моста слать вам ЛС. pm off — запретить слать вам ЛС. pm — показать, могут ли вам послать ЛС (в ирке включено по умолчанию, а в игре выключено и надо включать самому). msg <имя> <сообщение>: отправить ЛС юзеру на другом конце моста. pm ignore list — показать список игнорируемых юзеров. pm ignore add <имя> — добавить кого-то в этот список. pm ignore del <имя> — вытащить кого-то из него. Админы могут выполнять ещё такие команды: irc admin list — показать список админов в ирке. irc admin add <имя> — добавить кого-то в этот список. irc admin del <имя> — убрать кого-то из него. mc admin list, mc admin add <имя> и mc admin del <имя> — аналогично, но работает со списком админов в игре. irc whitelist list — показать список юзеров, которые могут слать сообщения в игру. irc whiltelist add <имя> — добавить кого-то в список. irc whiltelist del <имя> — убрать кого-то из него. mc blacklist list, mc blacklist add <имя>, mc blacklist del <имя> — аналогично, но работает со списоком тех, чьи сообщения не будут слаться в ирку. irc alias set <имя> <алиас> — установить алиас юзеру. Когда он будет писать сообщения в игру, его имя будет заменено на алиас. irc alias get <имя> — показать алиас для юзера. debug on — включить режим дебага. Мост будет писать весь трафик с IRC на экран. Полезно, чтобы узнать, почему тупит мост. Пароли будут показаны плейнтекстом, поэтому лучше оставить выключенным, хотя бы во время подключения. debug off — выключить этот режим. debug — показать, включён ли дебаг. Как это выглядит На мониторе будет рисоваться вот такое: Как можно догадаться, чтобы мост остановить, нужно нажать Ctrl-C. Ссылки Код на гисте: https://gist.github.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/
-
1 баллОтлично! Теперь через широковещательные пакеты можно чужими солярками крутить.
-
1 баллЗдорово!!! Моделька просто эпическая! Как только выйдут эти солярочки программно управляемые в релиз, в тот же день сношу с атомика ВСЕ квадратные солярки-какашульки
-
1 баллСпасибо за радушный прием! Просто, у меня в жизни наконец белая полоса началась и можно заняться любимыми делами.
-
0 балловПредлагаю фичу: датчик угла солнца на основе подсолнуха. Крафтится из подсолнуха, горшка и датчика движения. Модельку могу сделать, если фича вам нравится
Эта таблица лидеров рассчитана в Москва/GMT+03:00
