Перейти к публикации
Форум - ComputerCraft
user707

Безопасный бартер

Рекомендованные сообщения

Не знаю, может моя идея окажется глупой или бесполезной, но авось кому-нибудь понравится  :)

В связи с последними изменениями на сервере ИТ (бушующий дворник, редкие лаги:) ) появилась идея сделать безопасный рынок обмена вещами между игроками по аналогии с банком, т.к. возникают риски потерять выброшенные на пол вещи. Да и от нечестных торговцев эта система должна защитить).

 

Так вот, недалеко от спавна можно сделать небольшую кабинку, по аналогии с банковской кабинкой. С двух разных сторон заходят игроки, за ними закрывается дверь. Каждый бросает в лунку предмет, его подбирает робот, обсчитывает и показывает другому игроку на экране. С другой стороны все ровно так же с точностью до наоборот).

Если обоих игроков устраивает сделка, они сначала нажимают "Подтвердить", чтобы система заблокировала вещи, чтоб нечестный игрок их не смог отозвать в последний момент. Затем после блокировки - нажимают "Обменять". Робот отдает вещи игрокам либо в ЭС, либо в обычный сундук.

 

Вот как то так. Сумбурно, но смысл, мне кажется, ясен.

В принципе, разработкой я мог бы и сам заняться, благо опыт в программировании есть, но у меня пока нет игровых ресурсов, чтобы это реализовать :)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попроси у ZeroGalaxy - он тебе и ресурсов дасть и роботов сколько хочешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Идея, на мой взгляд, довольно не глупая и может оказаться весьма полезной. Попробуй обкатать ее в сингле и перенесем на сервер. Ресурсы - не вопрос. А если Алекс даст добро, то эти кабинки для обмена можно будет разместить на территории банка где царит безопасность.

Изменено пользователем Zer0Galaxy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошая идея, я Тоторо ещё до банка предлагал сделать или банк, или обменник, он выбрал банк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ладно, попробую наваять что-нибудь простенькое в сингле. Но не думаю, что работа пойдет очень быстро, т.к. опыт в программировании есть, а вот опыта работы с ОС - нет. Я только-только познакомился с этим модом :)

В свободное время на работе вот сижу, обзоры да гайды всякие смотрю по ОС.

А просить ресурсы мне как-то религия не позволяет  :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему просить? Ты для себя одного что ли делаешь? А на общественно полезное дело ресурсы всегда найдутся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чем вам дворник не нравится? Не даст он вам ресы потерять т.к. овер не трогает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут дело не только в потере ресурсов, но и в недоверии игроков друг другу. Вот договорились, к примеру, Вася с Петей обменяться, шкуру коровы на стак алмазов. Как осуществить такой обмен, что бы никто из участников не имел технической возможности обмануть другого? Только через посредника. Именно таким посредником и призвана быть подобная система обмена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знал, мне показалось, что трогает. Т.к. в чате идут сначала сообщения об удалении вещей, а затем идут сообщения об удалении вещей в майнерс мирах. К тому же вчера в чате жаловался один, что на спавне выронил иридиевый бур (видимо споткнулся и выронил) и он исчез  :lol: (но это скорее всего из-за рестарта серва произошло)

Да и к тому же, не из-за одного дворника такая идея в голову пришла :)

Изменено пользователем user707

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Бартерная двусторонняя сделка, это хорошо. Есть плагин такой с сундуком обмена. И такая же система работает в играх типа LA.  Можно отозвать предложенный предмет, но если только прошло двустороннее подтверждение предложенного, то сделка совершается.

 

Игрок 1 - Предложить  (можно забрать)

Игрок 2 - Предложить  (можно забрать)

Игрок 1 или 2 - Подтвердить   (1 или 2 игрок может Подтвердить или Забрать) Если подтвердили оба игрока, сделка совершается.  Если один из игроков не согласился, Подтверждение второго игрока тоже снимается и он может предложить что-то новое или забрать свое.

 

Но программка не такая простая, как кажется на первый взгляд. Для удобства нужна таблица с понятными именами, которые робот интерпретирует человеку, то есть если робот получил OpenComputers:item 44, то вернет  на экран в список Интернет плата (http) Принимать решение о сделке с неизвестными именами будет крайне  затруднительно человеку :D

 

Должно быть все очень четко выверено и засинхронизировано, все тайминги и паузы, принт времени на окончание раздумий, автоочистка, если игрок свои какахи кинул и вообще забил на сделку и пошел кушать борщ, команды подтверждения и отзывы предмета, обмен через сундуки двух роботов, сетевое управление, принтинг на экран того, что в пузе робота на момент первичного предложения, обеспечение защиты от всяких нестыковок, переполнений и резкой отмены в последнюю секунду предложения и прочее прочее и т.п., миллион нюансов :)

 

 

Вот рекомендуемая схема размещения обменника. Роботы разнесены для того, чтобы не хватать предметы друг у друга. Но у них есть возможность синхронно обменяться товарами. Так же на сенсорные экранчики игрокам которые совершают сделку, выводится вся инфа о текущих встречных предложениях и кнопки управления:

 

5LgekH9.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем два робота? Один не справится? Бегать ему не надо. Вертеться только возле сундуков

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем два робота? Один не справится? Бегать ему не надо. Вертеться только возле сундуков

И как мы поймем, кто кинул предмет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По первому: ну изначально я планировал так, чтоб робот в цикле засасывал все что движется перед собой))) (даже игроков, тогда работорговля получится)))

 

 

Для удобства нужна таблица с понятными именами, которые робот интерпретирует человеку, то есть если робот получил OpenComputers:item 44, то вернет  на экран в список Интернет плата (http) Принимать решение о сделке с неизвестными именами будет крайне  затруднительно человеку :D

 

С этим тоже понятно. Я поэтому и писал про аналог с банком, там-то все уже реализовано в этом плане.

 

Должно быть все очень четко выверено и засинхронизировано, все тайминги и паузы, принт времени на окончание раздумий, автоочистка, если игрок свои какахи кинул и вообще забил на сделку и пошел кушать борщ, команды подтверждения и отзывы предмета, обмен через сундуки двух роботов, сетевое управление, принтинг на экран того, что в пузе робота на момент первичного предложения, обеспечение защиты от всяких нестыковок, переполнений и резкой отмены в последнюю секунду предложения и прочее прочее и т.п., миллион нюансов :)

 

А тут мне кажется, что кнопки "подтвердить" и "забрать" должны убрать половину из этих нюансов.

Понятно, что всегда останется человеческий фактор и какой-нить финт игроки все равно могут выкинуть)

 

P.S.

По поводу clear lag: 

Тем не менее, вчера после включения дворника лагов было заметно меньше, чем обычно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А тут мне кажется, что кнопки "подтвердить" и "забрать" должны убрать половину из этих нюансов.

Понятно, что всегда останется человеческий фактор и какой-нить финт игроки все равно могут выкинуть)

 

Нюансов там очень много, их пока их не видно, пока не начнешь писать прогу=)

 

Так как оно должно быть по идее:

 

------------Ваш товар: ----------------------------    Встречное предложение;----------------------

золото - 15                                                        алмаз - 1

слайбол - 5

-------------------------------------------------------------------------------------------------------------------

 

Статус:  Оппонент предложил (или думает) В течении он не может поменять решение

 

                                                         Выберите действие:

                        [Забрать]    [Добавить]   [Мало, дай больше]    [Подтвердить]  

 

 

Роботы - это чаши весов, которые всегда сравниваются, хранят товар, дозасасывают по кнопке обновить, или все выкидывают и т.п.  Как только обоюдное подтверждение проходит, роботы синхронно через сундуки меняются ресами.

Статус принтит то, что нажал оппонетн, типа "Дай больше" "Оппонент забрал товар, передумал" "Оппонент подтвердил текущую сделку" и т.д. Все это работает паралельно с ивентами от мониторов, каждому роботу соответственно нужно давать команду на подбор, выкидывание, сделку и прочее, блочить кнопки и т.п.  Там все не так просто, как кажется. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И как мы поймем, кто кинул предмет?

Вася кидает шкуру мамонта коровы в левый сундук и жмет кнопку "Предложить". Робот поворачивается влево и вытаскивает шкуру себе в инвентарь. Петя кладет стак алмазов в правый сундук и тоже давит кнопку "Предложить". После того как игрок выполнил операцию "Предложить", его оппоненту выдается информация о том, что ему предлагают и в каком количестве. После того как выполнено два предложения, становятся доступны кнопки "Подтвердить". Если оба нажимают "подтвердить", робот осуществляет обмен. Если кто то нажал "Отменить", робот возвращает предметы в тот сундук откуда взял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вася кидает шкуру мамонта коровы в левый сундук и жмет кнопку "Предложить". Робот поворачивается влево и вытаскивает шкуру себе в инвентарь. Петя кладет стак алмазов в правый сундук и тоже давит кнопку "Предложить". После того как игрок выполнил операцию "Предложить", его оппоненту выдается информация о том, что ему предлагают и в каком количестве. После того как выполнено два предложения, становятся доступны кнопки "Подтвердить". Если оба нажимают "подтвердить", робот осуществляет обмен. Если кто то нажал "Отменить", робот возвращает предметы в тот сундук откуда взял.

 

Дим, а как он, мне интересно, кинет в привате в сундук вещи, и тем более заберет? Схема подразумевает аналог банковских кабин зеркальных запираемых и все запривачено, при чем нейтральным третьим лицом, не заинтересованным в хищении, а это аз есмь, Админ, например  :)

Или есть план не приватить бартерные кабины?

 

А во вторых, роботы, это цифровые брокеры, они всегда оперативно добирают и отдают назад сделочное предложение, и отправляют список пуза своего на мониторы.

 

Роботы - это чаши в буквальном смысле слова, при чем НЕ резиновые, больше не напихаешь, чем там есть места. Сундуки только для промежуточного обмена товарами, реальным содержимым роботов. Никаких виртуальных гивалок и прочего.

 

Но это мое предложение делать именно так, вариантов то масса. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нюансов там очень много, их пока их не видно, пока не начнешь писать прогу=)

 

Никто и не говорил, что будет просто :)

Начну с азов в креативке, максимально упростив систему, а там уже наращивать мощностя программы можно)

 

Я когда еще в институте свой первый тетрис на сях начал писать - тоже думал все просто, а в итоге закончил через 2 года в пару сотен тыщ строк кода))

 

Статус:  Оппонент предложил (или думает) В течении < 24 cек > он не может поменять решение

А тут не очень понял... что за 24 сек? Кто не может поменять решение за это время?

По идее, можно же без остчета отлавливать - либо нажата кнопка "подтвердить", либо "отменить". Если нажата "Отменить", то у оппонента "подтвердить" отжимается.

Изменено пользователем user707

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если Вася нажал Подтвердить, а у Пети стала неактивной кнопка Забрать, то все норм. Тогда у Пети есть только вариант тоже Подтвердить. Если он ничего вообще не тыкнул в течении какого-то времени, у Васи отпадает подтверждение и он тоже может забрать вещи. А время там тикает от 30 секунд до 0, например, и пишется, мол, "Петя думает" Ну и в процессе встречного подтверждения уже ничего нельзя забирать или добавлять. Как-то так навскидку.

Походу там разберетесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дим, а как он, мне интересно, кинет в привате в сундук вещи, и тем более заберет? 

Кинуть в трубу можно. Ах! У нас труб уже нет. Да, тут надо думать. User707, когда будешь тестить в сингле, учитывай какие моды стоят на сервере.

 

 

А время там тикает от 30 секунд до 0, например, и пишется, мол, "Петя думает"

Можно временем никого не ограничивать. После того как вещи для обмена переданы роботу, доступны кнопки "Подтвердить" и "Забрать". Если один из участников нажал "Подтвердить", он еще может забрать свою вещь пока другой участник не сделал подтверждения. Если оба подтвердили, обмен считается совершённым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кинуть в трубу можно. Ах! У нас труб уже нет. Да, тут надо думать. User707, когда будешь тестить в сингле, учитывай какие моды стоят на сервере

 

:D

Сундук был бы идеальным вариантом как для бартера, так и для банка. Однако для этого нужен сундук который плюет на приваты.

А после упорной борьбы на искоренение всего, что не приватится, их не осталось.

 

Что касается трубы, то засасывание роботом напрямую быстрее и удобнее, как в плане постройки кабинки, так и в плане программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Извиняюсь за некропост.

 

 

6UP5tWY.png

 

YhxMLAx.png

 

tuLWPL0.png

 

VIqT89Q.png

 

 

Думаю, суть ясна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какое то строение из поршней, аккумуляторов и других непонятных блоков. Лично мне ничего не ясно.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какое то строение из поршней, аккумуляторов и других непонятных блоков. Лично мне ничего не ясно.

 

Ok, в кабинки заходят игроки, кликают по мониторам - поршни запирают вход.

Игроки кидают предметы в воронки, на мониторы выводятся названия предметов и количество, когда оба игрока жмакают "обмен" - робот выплевывает предметы через дропперы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ok, в кабинки заходят игроки, кликают по мониторам - поршни запирают вход.

Игроки кидают предметы в воронки, на мониторы выводятся названия предметов и количество, когда оба игрока жмакают "обмен" - робот выплевывает предметы через дропперы.

ПО уже реализовано? Если да, надо собрать прототип на сервере

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что за текстур пак?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ok, в кабинки заходят игроки, кликают по мониторам - поршни запирают вход.

Игроки кидают предметы в воронки, на мониторы выводятся названия предметов и количество, когда оба игрока жмакают "обмен" - робот выплевывает предметы через дропперы.

Выход/вылет/warp - одним/обеими игроками - как обрабатывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что за текстур пак?

 

Мой, сегодня дорисую.

 

 

Выход/вылет/warp - одним/обеими игроками - как обрабатывать?

 

Никак, хотя, можно через детекторы движения, но Базар по-лучше будет, ибо можно закинуть и купить товар в любое время.

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×