Столкнулся я тут вот с чем...
В своем боте решил попробовать вести базу всех мобов в области видимости самого клиента, в общем запоминать всех мобов о которых сообщает сервер.
Для добавления моба отслеживаю пакет #$16: NpcInfo
Для изменения координат моба #$01: MoveToLocation
Для удаления моба из базы #$12: DeleteObject
И вот на что нарвался, что постепенно в течении нескольких часов база мобов растет и растет до неприличных размеров, так например. Когда входишь в каты, мобов в области видимости примерно 60, если тупо постоять там часа 3, мобов становится уже 120 - 150.
Может я какой-нить пакет не знаю с удалением моба?
В самом скрипте ошибок вроде нет...
Вот думаю добавлять к описанию моба засечки по времени последнего обновления, и например, мобов которые не шелохнулись в течении 20 минут, удалать из базы...
Прав ли я?
Или все же у меня скрипт глюки ловит?
Скорее всего где-то в скрипте косяк. Мой намана мобов добавляет/удаляет ... могу сюда кинуть, если надо кому-то, только у мну заготовка для другого дела ... так что сыроватая она, но рабочая =)
VORON, да я согласен что блоки ускоряют работу, и более того я
в своих скриптах только так и делаю.
Но если взять к примеру мой сраный автосвип (нацеленый на полеарм оружие), то в случае когда мобы умирали одновременно парою ни все из них вносились в базу и в итоге...
Добавлено через 24 минуты
Кстати увидит ли свет новая версия твоего замечательного срипта уже с переделанной скоростью бафа под каст баферов и ребафом по таймеру?
А может и с какими то иными крутыми фишками.
Добавлено через 11 минут
И у меня еще вопрос.
Влияет ли на скорость работы скрипта использование стринговых переменных вместо интовых? Например I:= pck[1]+pck[2] вместо I:=ReadH(1) и тд.
Базы вещей, мобов, координат и тд в виде строк мне кажется использовать не экономично по отноению к памяти, а вот быстродействие как?
Последний раз редактировалось APXAHGEJI, 12.05.2008 в 17:13.
Причина: Добавлено сообщение
Скорее всего где-то в скрипте косяк. Мой намана мобов добавляет/удаляет ...
А может ли скрипт до окончания обработки предыдущего пакета (какой-нить длинный цикл) начать обрабатывать следующий пришедший пакет?
Или например, пришел пакет, который надо долго обрабатывать, и тут сработал один из таймеров?
Что произойдет?
И вообще, если мы в катах сидим, то сколько примерно мобов мы будем мониторить?
Последний раз редактировалось nezabudkin, 12.05.2008 в 19:37.
А может ли скрипт до окончания обработки предыдущего пакета (какой-нить длинный цикл) начать обрабатывать следующий пришедший пакет?
Или например, пришел пакет, который надо долго обрабатывать, и тут сработал один из таймеров?
Что произойдет?
И вообще, если мы в катах сидим, то сколько примерно мобов мы будем мониторить?
про пакеты и обработку вопрос к xkor
а в катах если сидим ну смотря в каких, ну примерно от 100 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
как понять универсальный скрипт? что то вроде вкл. выбора баферов, в константете SE:=1 // включаем скрипт для СЕ , типо так что ли? а если СЕ маленький лвлом, т.е у него нет такого бафа ещё... это как реализовывать? проверкой наличия скила? я конечно понимаю... но помоему слишком много придеться писать, ради того что бы тот же самый варка 1 раз бафнул в парти... Сам по себе варка в парти с СЕ и ПП уже не "пришей к ххх рукав", зачем его засовывать в твой скрипт , если смысла от него там 0
про пакеты и обработку вопрос к xkor
а в катах если сидим ну смотря в каких, ну примерно от 100 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
угу..
а про пакеты ничего сложного
1 екземляр скипта запускается для каждого пакета входящего и исходящиго...
быстрдействия скрипта заключается в том чтобы 100 ифов не обрабатывать ч каждым пакетом.. чтобы ето ускорить в 2 раза то надо 2 блока сдалать для исходящкго и вхродящего трафика.. но в 90% случаев тормозит не скрипт а комп дурацкий... если комп нормальный то 100 ифов каждый раз при приходе пакета обрабатывается норм
сделав блочность в скрипте немного повысит быстродействие..
(в 2 раза работу скрипта ускорит)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
Столкнулся я тут вот с чем...
И вот на что нарвался, что постепенно в течении нескольких часов база мобов растет и растет до неприличных размеров, так например. Когда входишь в каты, мобов в области видимости примерно 60, если тупо постоять там часа 3, мобов становится уже 120 - 150.
Может я какой-нить пакет не знаю с удалением моба?
В самом скрипте ошибок вроде нет...
Тоже с таким эффектом сталкнулся. Мне кажется, некоторых мобов клиент удаляет автоматически после смерти, независимо от того, пришел делетеобжект или нет. Просто ждёт какоето время и удаляет
Нет, всё делается тока с разрешения серва))
Удаляются тока после прихода пакета ObjectDelete, но это после смерти.
А вот что происходит если моб находится на границе видимости и приходит ли этот самый пакеты, когда он не умирает а всего лишь выходит из зоны видимости не знаю.
Нет, всё делается тока с разрешения серва))
Удаляются тока после прихода пакета ObjectDelete, но это после смерти.
А вот что происходит если моб находится на границе видимости и приходит ли этот самый пакеты, когда он не умирает а всего лишь выходит из зоны видимости не знаю.
приходит 100% но зона видимости это понятие размытое прописаное в л2ини помоему. и ещё всё что делает клиент и показывает говорит ему сервер или л2пнх или подобная програмка.