Перейти к содержанию
Asterios

Вопрос


elfs1

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

От чего зависит  На покупке или продажи через итем брокера Очерёдность цены! Ну типа если одинаковую цену выставить что б первая была? Например был мой ник первый с а конкурента 2 меняем цены и тут в 1 прекрасный моент он стаёт ниже! что он сделал ?

Изменено пользователем elfs1
Ссылка на комментарий
Поделиться на другие сайты

http://forum.asterios.tm/index.php?showtopic=313795

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

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

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

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

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

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

И даже если у вас получится это сделать, то ближайший рестарт изменит очередность другим образом. 

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

сам так и не понял .думал из за па.......но ,нет . Просто делай всегда на 1 пункт ниже/выше. 

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

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

Изменено пользователем дд300
Ссылка на комментарий
Поделиться на другие сайты

Кстати да, сделал твина для продажи АА, пару дней сидел первым в списке, потом рестарт и уже последний, среди тех, у кого одинаковая цена) Не на пасёшься гномами на каждый тип рандома, легче цену таки изменять)

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

Ясна спасибо!

Изменено пользователем elfs1
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...