Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.05.2008, 21:42   #1
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

Незнаю канечно, нодумаю что чем чем жирнее скрипт тем дольше он выполянется, в нем больше багов и тд и тп.
Хотя бесспорно идея глобального скрипта объединяющего всех
баферов и множество других функций хороша.
Так может сделать его более модульным, распределить всё по ДЛЛкам
чтобы можно было подключать только при надобности.
APXAHGEJI вне форума   Ответить с цитированием
Старый 12.05.2008, 12:18   #2
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

кол-во строк невлияет по сути на быстродействие.. важна общааяя политика написания скрипрта..
сматрите.. вот например код

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
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
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
VORON вне форума   Ответить с цитированием
За это сообщение VORON нажился 2 спасибками от:
Старый 12.05.2008, 13:59   #3
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию Ребята, помогите с проблемой...

Столкнулся я тут вот с чем...
В своем боте решил попробовать вести базу всех мобов в области видимости самого клиента, в общем запоминать всех мобов о которых сообщает сервер.

Для добавления моба отслеживаю пакет #$16: NpcInfo
Для изменения координат моба #$01: MoveToLocation
Для удаления моба из базы #$12: DeleteObject

И вот на что нарвался, что постепенно в течении нескольких часов база мобов растет и растет до неприличных размеров, так например. Когда входишь в каты, мобов в области видимости примерно 60, если тупо постоять там часа 3, мобов становится уже 120 - 150.

Может я какой-нить пакет не знаю с удалением моба?
В самом скрипте ошибок вроде нет...

Вот думаю добавлять к описанию моба засечки по времени последнего обновления, и например, мобов которые не шелохнулись в течении 20 минут, удалать из базы...
Прав ли я?
Или все же у меня скрипт глюки ловит?
nezabudkin вне форума   Ответить с цитированием
Старый 12.05.2008, 17:13   #4
Пользователь
 
Аватар для APXAHGEJI
 
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
APXAHGEJI
По умолчанию

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

Добавлено через 24 минуты
Кстати увидит ли свет новая версия твоего замечательного срипта уже с переделанной скоростью бафа под каст баферов и ребафом по таймеру?
А может и с какими то иными крутыми фишками.

Добавлено через 11 минут
И у меня еще вопрос.
Влияет ли на скорость работы скрипта использование стринговых переменных вместо интовых? Например I:= pck[1]+pck[2] вместо I:=ReadH(1) и тд.
Базы вещей, мобов, координат и тд в виде строк мне кажется использовать не экономично по отноению к памяти, а вот быстродействие как?

Последний раз редактировалось APXAHGEJI, 12.05.2008 в 17:13. Причина: Добавлено сообщение
APXAHGEJI вне форума   Ответить с цитированием
Старый 12.05.2008, 15:07   #5
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Скорее всего где-то в скрипте косяк. Мой намана мобов добавляет/удаляет ... могу сюда кинуть, если надо кому-то, только у мну заготовка для другого дела ... так что сыроватая она, но рабочая =)
QaK вне форума   Ответить с цитированием
Старый 12.05.2008, 19:34   #6
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию

Цитата:
Сообщение от QaK Посмотреть сообщение
Скорее всего где-то в скрипте косяк. Мой намана мобов добавляет/удаляет ...
А может ли скрипт до окончания обработки предыдущего пакета (какой-нить длинный цикл) начать обрабатывать следующий пришедший пакет?
Или например, пришел пакет, который надо долго обрабатывать, и тут сработал один из таймеров?
Что произойдет?

И вообще, если мы в катах сидим, то сколько примерно мобов мы будем мониторить?

Последний раз редактировалось nezabudkin, 12.05.2008 в 19:37.
nezabudkin вне форума   Ответить с цитированием
Старый 12.05.2008, 20:56   #7
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
А может ли скрипт до окончания обработки предыдущего пакета (какой-нить длинный цикл) начать обрабатывать следующий пришедший пакет?
Или например, пришел пакет, который надо долго обрабатывать, и тут сработал один из таймеров?
Что произойдет?

И вообще, если мы в катах сидим, то сколько примерно мобов мы будем мониторить?
про пакеты и обработку вопрос к xkor
а в катах если сидим ну смотря в каких, ну примерно от 100 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
Grinch вне форума   Ответить с цитированием
Старый 14.05.2008, 00:51   #8
Рыцарь
 
Аватар для VORON
 
Регистрация: 06.08.2007
Сообщений: 209
Сказал Спасибо: 6
Имеет 67 спасибок в 34 сообщенях
VORON пока неопределено
По умолчанию

Цитата:
Сообщение от Grinch Посмотреть сообщение
про пакеты и обработку вопрос к xkor
а в катах если сидим ну смотря в каких, ну примерно от 100 мобов как минумум я вижу через стены тока, а сколько на поверхности боюсь предположить.
угу..
а про пакеты ничего сложного
1 екземляр скипта запускается для каждого пакета входящего и исходящиго...
быстрдействия скрипта заключается в том чтобы 100 ифов не обрабатывать ч каждым пакетом.. чтобы ето ускорить в 2 раза то надо 2 блока сдалать для исходящкго и вхродящего трафика.. но в 90% случаев тормозит не скрипт а комп дурацкий... если комп нормальный то 100 ифов каждый раз при приходе пакета обрабатывается норм
сделав блочность в скрипте немного повысит быстродействие..
(в 2 раза работу скрипта ускорит)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
VORON вне форума   Ответить с цитированием
Старый 12.05.2008, 21:22   #9
Новичок
 
Регистрация: 03.05.2008
Адрес: Тула
Сообщений: 7
Сказал Спасибо: 2
Имеет 3 спасибок в 2 сообщенях
cat пока неопределено
По умолчанию

как понять универсальный скрипт? что то вроде вкл. выбора баферов, в константете SE:=1 // включаем скрипт для СЕ , типо так что ли? а если СЕ маленький лвлом, т.е у него нет такого бафа ещё... это как реализовывать? проверкой наличия скила? я конечно понимаю... но помоему слишком много придеться писать, ради того что бы тот же самый варка 1 раз бафнул в парти... Сам по себе варка в парти с СЕ и ПП уже не "пришей к ххх рукав", зачем его засовывать в твой скрипт , если смысла от него там 0
cat вне форума   Ответить с цитированием
Старый 14.05.2008, 19:13   #10
Новичок
 
Регистрация: 17.12.2007
Сообщений: 22
Сказал Спасибо: 7
Имеет 4 спасибок в 4 сообщенях
Aniks
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
Столкнулся я тут вот с чем...
И вот на что нарвался, что постепенно в течении нескольких часов база мобов растет и растет до неприличных размеров, так например. Когда входишь в каты, мобов в области видимости примерно 60, если тупо постоять там часа 3, мобов становится уже 120 - 150.

Может я какой-нить пакет не знаю с удалением моба?
В самом скрипте ошибок вроде нет...
Тоже с таким эффектом сталкнулся. Мне кажется, некоторых мобов клиент удаляет автоматически после смерти, независимо от того, пришел делетеобжект или нет. Просто ждёт какоето время и удаляет
Aniks вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:52.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!