Open Beseenok opened 6 years ago
Бот работает по принципу: Добавить в него предметы, которые хотелось бы покупать. Затем выставить прибыль - либо для каждого предмета своя, либо общая. После бот для каждого предмета возьмет с сайта 2 цены: среднюю и минимально выставленную на продаже. Из них возьмет наименьшую. На основе нее, вышей комиссии с продажи на маркете и выставленной прибыли вычислит цену покупки: MinDiscount-profit (2 для предметов с ценой выше 200р). Так для каждого предмета. После обновления всех цен, выставятся цены в уведомлениях, проверит список быстрых покупок и запустится проход по предметам. Линейный проход по списку с интервалом в Itimer из конфига. И начнет слушать веб-сокеты по двум каналам: newitems_go и webnotify для покупки предметов, ну и остальные каналы для уведомлений о покупке, передачи и тд.
Да, действительно, получается так, что если цена будет на 1 коп. выше, то он не купит
Выставление вещей на продажу Можно реализовать, чтобы бот выставлял определенный предмет по определенной цене? Ручками создавать таблицу, аналогичную csgotmitems.dat. P.S. Боюсь, что itm.i_market_hash_name иногда будет некорректно отображаться (пустое значение), зная проблему с именами hash ru и en.
предполагается, что будет выставлять не только то что покупает, но и другие вещи?
вот может также осуществить два варианта = другие по стандарту, а "особые" по фиксированной цене, чтобы охватить все желания. но в моем случае интересен пока только особые скины по фиксированной цене.
Ввести базу GiveListItems на примере GetListItems с определенным GivePrice и типом
Хотел бы немного уточнить по алгоритму выставления товара: например в инвентаре есть 2 одинаковых предмета, один куплен за 60 коп, а другой за 80 коп, то как бот их будет выставлять? ясно, если уже выставленные по 1 руб и бот их выставит по 99 коп, а если на момент выставления стоит предмет с ценой 83 коп, то как? (вижу, что он учитывает скидку)
а если предмет не был куплен, а я перекинул в инвентарь с другого персонажа, то в этом случае не выставит?
Хотел бы немного уточнить по алгоритму выставления товара: например в инвентаре есть 2 одинаковых предмета, один куплен за 60 коп, а другой за 80 коп, то как бот их будет выставлять? ясно, если уже выставленные по 1 руб и бот их выставит по 99 коп, а если на момент выставления стоит предмет с ценой 83 коп, то как? (вижу, что он учитывает скидку)
найдет в истории за 7 часов покупки этого предмета, из них возьмет максимальную цену и выставит только в том случае, если находясь на 5(maxPosition в getPriceForSet) позиции с учетом комиссии ты получишь больше чем заплатил. там еще была проверка на то, чтобы не уйти далеко от средней цены: средняя 5, а в списке продаж только цена за 60. должен был вставить за 5+какой-то%. но это отключено. нестабильно работало( вещи, которые ты не купил за последние 7? часов он не выставит
больше чем заплатил
на значение Profit?
не помню по какой причине, но я перестал учитывать profit в выставлении. но это легко вернуть. ситуация такая. т.к. это консоль и управление так себе, то я сейчас могу отгрузить изменения, для того чтобы некоторые предметы выставлялись по цене, указанной в конфиге. будет новое поле priceForSetItem, из которого будет браться значение, при SetItemType = 1(ручное выставление цен). так же будет флажок NeedBuy, которые показывает нужно ли покупать этот предмет или он висит в списке только для того, чтобы выставлялись цены.
но все эти настройки будут делаться только руками в файле items.json. если устроит, то сейчас отгружу
т.е. выглядеть это будет примерно так: добавляешь предметы в бота через команду "а", потом выключаешь его, меняешь в items.json настройки для того что нужно, включаешь обратно
давай попробуем) тем более, если это будет формат json, который можно редактировать, я сам могу без бота добавлять то, что мне нужно.
т.е. в любом случае предмет придется добавить в бота. не важно, для покупки или только для выставления NeedBuy: true - предмет покупается, false - в списке только для выставления SetItemType: 0 - автоматически подбирать цену, 1 - заданное значение из поля ниже PriceForSetItem - цена, за которую нужно выставить предмет
при включенном лучше ничего не трогать, т.к. он может затереть изменения и в любом случае файл читается только при включении
запусти, он пересоздаст файл и можешь настраивать
пора уже делать интерфейс) если стим не закроет все обмены, то сделаем недельки через 2
"price": что это за параметр? значение -10.0 = нормально? это по какой цене покупать в случает "priceCheck" = 1?
price это цена покупки priceCheck - как обновлять цену: 0 - считать автоматически, 1 - брать с уведомлений зачем менять в конфиге то, чего не понимаешь? да и в коде все есть
я уже понял, но бот мне сам ставил цену, вот и спросил (может лагал сервер, не знаю)
не, там просто разом для всех вещей цены запрашивались. ничего критичного, если "NeedBuy": false сейчас убрал это
Приветствую! Как я понимаю бот работает по принципу
If(marketname == listname && marketprice <= listprice) { Buy(); }
Или же он перебивает цену по ордерам? если по первому, то от куда берется нужная цена? Если указывать ее вручную, то, если вещь выставят хотя бы на 1коп. больше указанной, то вещь не будет куплена, а это потеря прибыли или я что то не так понимаю?