Задача №8: Включение AI: ASAP [old]
Добавлено: Пт фев 02, 2007 4:29 pm
Задача №8: Включение AI: ASAP [old] [2006-X-16]
Jerry:Включение AI: "как только - так сразу": (без timeout AI).
timeout AI по умолчанию равен 2.
После смены карты логика OpenKore отключена 2 секуны, и лишь по истечении этого времени начинает работать.
Зачем это нужно?
Если дать меньшее значение, 1, как правило работать будет. Если поставить 0, начнутся аномалии.
Проблема в том, что Kore в момент принятия рашения еще не получила от сервера статусы чара, данные об окружающей его "объективной действительности" ;) и о содержимом инвентаря.
А это значит, что Kore скорее всего решит отправится за покупками, т.к. по его мнению у него кончились банки/винги и т.п.
Теоретически, мы можем обойтись без этого таймаута вообще. Нам достаточно дождаться момента, когда все данные будут загружены. Или даже не все, а лишь нужные нам (главным образом - инвентарь). При достаточно быстрой связи это будет практически мгновенно; менее 0.5 секунды.
Этот даст возможность сделать ОЧЕНЬ быстрый teleSearch, например, для поиска MVP.
pJ:вопрос не сформулирован. ) Что нужно то ? телесерч сделать ? Дык его можно и так сделать, при серче банки никому не нужны.
zzzz: а, вру, нельзя телесерч сделать. Без таймаута никуды.
Jerry:1) Пока мы незнаем индекс итема в инвентаре - использовать его не получится.
(1а - уточнение - в 90% индекс будет тот же; за исключением, если у нас кончился какой-то расходник - тогда индекс может измениться)
2) Пока мы не получили информацию, что происходит вокруг нас, нет смысла винговаться дальше.
Формулировка задачи такова: "Включать AI по готовности, а не использовать задержку из переменной timeout AI".
pJ:нету такого понятия как "готовность". Сервер пихает координаты мобов "как есть". т.е. ты прилетел, и - вот тебе ..раз ..два .... три. .. четыре ..
И все, больше ничего может через секунду прийти .. пять.. из-за лага, а может и не прийти. А может и через две..
а итемы ... итемы можно в принципе кешировать, да ..
Jerry:1) Ты не прав. Если я правильно помню, "то, что вокруг" приходит одним пакаваном (?). Да, потом может прийти что-то еще. Но нам некогда ждать. Достаточно получить первую посылку.
2) Итемы кешировать... Если бы не было проблемы (1), имело бы смысл. Но насколько я помню, сначала приходят статусы, потом итемы, а потом (?) "то, что вокруг", так что, смысла экономить время на итемах как бы и нет (?).
pJ:Вообще гоовря, я не помню, какая там именно последовательность, но это даже и не важно. Есть пакет, допустим, "моб появился". Так вот, в случае сетевой передачи, строго говоря, никто даже не гарантирует, что этот пакет придет целиком, то есть за одну операцию чтения из сокета. Далее - если сервер отослал 4 таких пакета - никто не гарантирует, что они придут 4 сразу, а не 2 сейчас, а два через секунду. И в третьих - никто не указывает, что "загрузка мобов закончена". Так что вот.
Кеширование итемов может .. ээ теоретически пригодиться.. если нам не нужна мобовая обстановка. То есть если нам никакая обстановка не нужна )) Допустим, для быстрого перемещения по карте. Хотя конечно влишком виртуальная ситуация.
Jerry:Там не один пакет - один моб. Там все мобы - один пакет. (?)
pJ:Нет. Один моб - один пакет. 0x78 0x7B или 0x7С
На том мы и остановились...Флуд:
Как говорил старик Хотабыч, "сомневаюсь, о Волька, чтоб это было так".
Я проверю, но мои предыдущие наблюдения говорят об ином.