Незнаю канечно, нодумаю что чем чем жирнее скрипт тем дольше он выполянется, в нем больше багов и тд и тп.
Хотя бесспорно идея глобального скрипта объединяющего всех
баферов и множество других функций хороша.
Так может сделать его более модульным, распределить всё по ДЛЛкам
чтобы можно было подключать только при надобности.
кол-во строк невлияет по сути на быстродействие.. важна общааяя политика написания скрипрта..
сматрите.. вот например код
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
BEGIN
if FromClient then
if ConnectName=NameKom then
if pck[1]+pck[2]=hstr('1B 04') then then
begin end;
if FromClient then
if ConnectName=NameKom then
if pck[1]+pck[2]=hstr('1B 04') then then
begin end;
if FromClient then
if ConnectName=NameKom then
if pck[1]+pck[2]=hstr('1B 04') then then
begin end;
END.
все скрипты мы именно по такой схеме делаем.. причем ифы- проверяют входящий или исходящий пакет..
и конект проверяют.. можно сделать в скрипте блоки= что существенно ускорит процесс..
например:
BEGIN
if FromClient then
begin
if ConnectName=NameKom then
begin
/// // // // //
end;
if ConnectName=NameBot then
begin
/// // // // //
end;
end;
if FromSERVER then
begin
if ConnectName=NameKom then
begin
/// // // // //
end;
if ConnectName=NameBot then
begin
/// // // // //
end;
end;
END.
и все обработчики пакета помешать внутри блока таким образом мы економим быстродействие компа..
по сути за 1 проход скрипт всеголиш 2 обработчика принять должен ВХОДЯЩИЙ ИЛИ ИСХОДЯЩИЙ..
далее внутри каждого блока- обработать КОНЕКТ НЕЙМ.. а уже далее выполнить код..
т.е. если сделать такую вот блочность.. то быстродействие скрипта повысится за счет того что скрипт каждый раз не будет проверять 30 ИФОВ.. 50% скорости- обеспечено за счет того что ифа всего 2 вначале- КЛИЕНТ ИЛИ СЕРВЕР.. всё остальное- в блоках предназначенных для етого направления..
быстродействие скрипта повысится.. но.. станет сложнее куски кода периносить из одного скрипта в другой..
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
Столкнулся я тут вот с чем...
В своем боте решил попробовать вести базу всех мобов в области видимости самого клиента, в общем запоминать всех мобов о которых сообщает сервер.
Для добавления моба отслеживаю пакет #$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 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
про пакеты и обработку вопрос к xkor
а в катах если сидим ну смотря в каких, ну примерно от 100 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
угу..
а про пакеты ничего сложного
1 екземляр скипта запускается для каждого пакета входящего и исходящиго...
быстрдействия скрипта заключается в том чтобы 100 ифов не обрабатывать ч каждым пакетом.. чтобы ето ускорить в 2 раза то надо 2 блока сдалать для исходящкго и вхродящего трафика.. но в 90% случаев тормозит не скрипт а комп дурацкий... если комп нормальный то 100 ифов каждый раз при приходе пакета обрабатывается норм
сделав блочность в скрипте немного повысит быстродействие..
(в 2 раза работу скрипта ускорит)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
как понять универсальный скрипт? что то вроде вкл. выбора баферов, в константете SE:=1 // включаем скрипт для СЕ , типо так что ли? а если СЕ маленький лвлом, т.е у него нет такого бафа ещё... это как реализовывать? проверкой наличия скила? я конечно понимаю... но помоему слишком много придеться писать, ради того что бы тот же самый варка 1 раз бафнул в парти... Сам по себе варка в парти с СЕ и ПП уже не "пришей к ххх рукав", зачем его засовывать в твой скрипт , если смысла от него там 0
Столкнулся я тут вот с чем...
И вот на что нарвался, что постепенно в течении нескольких часов база мобов растет и растет до неприличных размеров, так например. Когда входишь в каты, мобов в области видимости примерно 60, если тупо постоять там часа 3, мобов становится уже 120 - 150.
Может я какой-нить пакет не знаю с удалением моба?
В самом скрипте ошибок вроде нет...
Тоже с таким эффектом сталкнулся. Мне кажется, некоторых мобов клиент удаляет автоматически после смерти, независимо от того, пришел делетеобжект или нет. Просто ждёт какоето время и удаляет