obm |
Отправлено: 21 Января, 2014 - 10:57:43
|
Наблюдатель
Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2014
Репутация: 1
|
Вчера похимичил, отлично получается!
Оказалась, что "моя цена" является тем самым уникальным признаком, за который можно зацепиться. Товар то одинаковым бывает часто, а ценник редко. Вчера очень продвинулся, прямо кайфую от процесса написания бота)!
Я понял, что нужно не пытаться придумать какой-то алгоритм, а действовать как человек.
Проблема возникает, когда есть несколько одинаковых позиций, с одинаковой абсолютно ценой. По первой переход в фазу А прошел, а по второй позиции он происходит 15 сек позже первой. Как человек разделит позиции? А никак! Человек, как и бот, не может выделить где какой товар. Но человек сделает ставку на оба через 60 сек, после перехода первого в фазу А, и через 60+15 на оставшийся. А эти 15 сек легко определить, достаточно фиксировать, есть ли другие аналогичные первой позиции товары в фазе Б, если они были, но пропали (тоже перешли в фазу А), время от появления до пропажи и будет этими 15 сек (Отредактировано автором: 21 Января, 2014 - 10:58:05) |
|
|
obm |
Отправлено: 24 Января, 2014 - 06:52:28
|
Наблюдатель
Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2014
Репутация: 1
|
Kibor пишет: Баг. Обновил программу.
Благодарю!
(Добавление)
Снова столкнулся с очередной трудностью, если постоянно обновлять аукцион, игра блокирует доступ к нему, поэтому хотелось бы не постоянно тыкать кнопку обновления, а только тогда, когда этого требует ситуация. Надеюсь на совет, опять же скорее не по синтаксису, а по общей логике и видению как реализовать. Понимаю, что закодить такое можно теоретически.
Алгоритм вижу такой:
Обновляем раз в минуту
Появилась новая позиция 2 мин до начала торгов, ждем 50 сек с этого момента, далее начинаем обновлять в течении 60 сек раз в 10 сек (чтобы засечь переход 2-1 мин)
Появилась позиция 1 мин до начала торгов, отменяем предыдущий режим обновления, ждем 45 сек и начинаем обновлять в течение 20 сек раз в секунду. И в каждый момент выбираем минимальный возможный интервал обновления со всех позиций.
Всю инфу храним по каждой позиции отдельно. Далее путем определенных сравнений приводим все эти временные интервалы к общей временной линии, соответственно , если на интервале 13:54:10 до 13:55:10 обновление раз в 10 сек, а на 13:54:35 до 13:54:55 раз в 1 сек, то мы обновляем в
13:54:10
13:54:20
13:54:30
13:54:35
тут раз в секунду
13:54:55
13:55:05
Весь вечер вчера голову ломал, код адекватный не получается.
Понимаю, что куда проще сделать обновление таким образом: есть позиции 1 мин до начала - начинай обновлять раз в 1 сек, иначе раз в 50 сек. Но практически всегда есть позиции 1 мин до начала, в итоге он строчит как пулемет постоянно.
А как делает человек: много времени до начала торгов - обновляем редко, осталось 2 минуты, почаще, когда 1 минута, то ждем 50 сек и дальше тыкаем постоянно, чтобы засечь момент. |
|
|
obm |
Отправлено: 25 Января, 2014 - 14:34:22
|
Наблюдатель
Покинул форум
Сообщений всего: 47
Дата рег-ции: Янв. 2014
Репутация: 1
|
не работает:
textout(31, 1387, 277,format(main_timer_arr[0][0])+format(main_timer_arr[1][0])+format(main_timer_arr[2][0])+format(main_timer_arr[3][0])+format(main_timer_arr[4][0]), 0);
работает:
textout(31, 1387, 277,format(main_timer_arr[0][0])+format(main_timer_arr[1][0])+format(main_timer_arr[2][0])+format(main_timer_arr[3][0]), 0);
похоже на баг, переполнение |
|
|
|