Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 01.08.2008, 06:48   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию L2PacketHack 3.5.x

Исходники здесь
Вот такие скомпилированные версии есть у меня.

Ниже данные устарели.
Репозиторий находится тут (открывать через SVN клиент)
Удобный просмотр репозитория через браузер тут
Скомпилированные версии тут Пароль к архиву: coderx.ru

Есть ли предложения по модернизации существующего кода с описанием как должно и что хотелось бы заменить/добавить?

Программа пишется в среде Delphi 2007 и Delphi 7 с использованием следующих дополнительных библиотек компонентов:
- FastScript (http://fast-report.com/ru/products/fast-script.html)
- JCL (http://sourceforge.net/projects/jcl/)
- JVCL (http://sourceforge.net/projects/jvcl/)

Дополнительные компоненты брать тут. (<-- TPerlRegEx есть только там)

/upd:
для компиляции последних ревизий понадобятся JCL, JVCL (ссылки выше) а так же:
jwapi2.2a, SyntEdit, TRichView.v11.0+ScaleRichView.v2.0, TsiLang (letitbit / upload.com.ua)
Немного подправленный FastScript искать в файловом архиве.

Последний раз редактировалось NLObP, 17.10.2016 в 00:02.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 111 спасибками от:
-=Ma}{imuS=-, 4erteg, Agat, ak47, Alan, alexsl, alexteam, AoWpwnz, APXAHGEJI, Asmalaa Asrety, Benefit, BISMARCK_555, boy200007, boypush, Breadfan, BuKbI4, CCCP, Crypto, Curious, cutter, DashKAaa, Denis63RUS, dyh9l, Elecktron, Emocean, Evgeniy, FatalHistori, Fer123, Ferrari3200, FFALL777, Fim, freeworld, GameCoder, gavr1l0, gexiss, goodvin1709, Green, Grinch, HacPaTyc, INFERION, isya, Johnson, Keeper, Keisei, Kotyara2014, lomoWAR, lordka), LostQ, Lotar, Ma3aXakA, march, marslem, mat1s, MHz, micoach, MiRoN, mirt, MoD_Hanes, MrIICUX, Mulder, Murdoc, neonv1, nezabudkin, Nigga, Niros, NoFear, OleSha, OMOH8787, PanAm, pascalpwnz, PerioH, PIONER, QaK, rastaman_228, ratvier, RockTeam, RoZ, Rubicosha, Rysis, Ryth, saxa24111, shunder, skaner, skiner4119, Snowbars, StekloReZ, stopicot, TAMBIK, Tchep, Therapyst, TryLaw, vahes, Velizarx, victor_rvm, Vilson, Vklu4atel^^, vlad00777, vovanchik, vul-test, wanick, wasabi_100, WhiteDevil, Xelat, xkor, Yegor, Yellowboy, zDiablik, АлисаХочетСекс, Арти, женька
Старый 20.09.2009, 23:57   #1051
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Обе предоставленые - касательно скриптового енджина и выполняющихся в ним функций.
такой сбитый трейслог я видел несколько раз при попытке запускать полноценный скрипт в "дополнительно"
могу глянуть на сам скрипт/скрипты в этот момент запущенные ?
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 21.09.2009, 00:29   #1052
Местный
 
Регистрация: 25.11.2007
Сообщений: 48
Сказал Спасибо: 34
Имеет 14 спасибок в 12 сообщенях
pascalpwnz
По умолчанию

все 4 скрипта вида:
delphi Код:
if fromserver\client and (pck[1]=#$xx) ... and (pck[x]=#$xx) then  pck:=''; // в одном случае тут pck:=HSTR('xx xx xx');  

Добавлено через 12 минут
------------------------
Касательно второй ошибки в тот раз появилась так:
Открыл вкладку скрипты (2 фильтр скрипта по умолчанию включены), изменил сторонний скрипт, закрыл вкладку, нажал выход - ошибка. Соединения не перехватывались (или были проигнорированы). Повторить не удалось, но ошибка именно в 141, (ну по крайне мере до 128 включительно я ее никогда не видел) уже не первый раз. Но это очень не критично.

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

Последний раз редактировалось pascalpwnz, 21.09.2009 в 00:29. Причина: Добавлено сообщение
pascalpwnz вне форума   Ответить с цитированием
За это сообщение pascalpwnz нажился спасибкой от:
Старый 21.09.2009, 00:34   #1053
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Порылся немного.
поправил пару жестких косяков с вкладкой дополнительно (ух и давно же я туда не смотел) -)

Цитата:
PSS В 141 появилась ошибка интерфейса, которая возникает при попытке его закрыть. Приходиться убивать через диспетчер. (Вторая в файле)
неправильный порядок разрушения объектов при наличии соединений. нашел. исправил. хотя не критично.

завтра проверю остальные догадки.


все эти симптомы возникают при использовании простейших скриптов изменяющих/убивающие пакет без использования write/readX ? (ответ сузит круг поиска)

Добавлено через 3 минуты
Погоняй пока вот это http://l2phx.pp.ru/arhive/l2phx.3.5....somefixes].rar
мне будет проще фиксить непофикшеное.
эррор логи приветствуются.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 21.09.2009 в 00:39. Причина: Добавлено сообщение
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился 3 спасибками от:
Старый 21.09.2009, 08:04   #1054
Местный
 
Регистрация: 25.11.2007
Сообщений: 48
Сказал Спасибо: 34
Имеет 14 спасибок в 12 сообщенях
pascalpwnz
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
все эти симптомы возникают при использовании простейших скриптов изменяющих/убивающие пакет без использования write/readX ? (ответ сузит круг поиска)
Да. Все выглядит именно так, как в коде предыдущего поста.

Вспомнил, что в 3.4.* возникали проблемы при использовании pck:='';
Сделаю сейчас вместо этого pck[1]:=#$D5; (D5 вроде свободный пакет от сервера к клиенту... надеюсь...)

Добавлено через 38 минут
[s]Замена pck:=''; не помогла,[/s] 141 somefix завершился ошибкой, без error.log

Добавлено через 8 минут
error.log 141
http://dump.ru/file/3450768
error.log 122 (со второй машины на удивление всего 2 записи об ошибке, хотя там я его использовал постоянно и он часто вылетал)
http://dump.ru/file/3450769

Добавлено через 4 часа 44 минуты
Похоже предыдущий вылет был по иной более редкой причине.
А так после замены pck:=''; ПХ работает нормально уже 4+ часа.
С удивлением обнаружил, что один из фильтруемых пакетов постоянно приходит при каче (надо будет разобраться почему), отсюда и не стабильность относительно "мини задач". Но! Версия 3.4.* сразу ругалась на ошибку чтения из памяти, если скрипт(или оператор) ниже пытался прочитать пустой пакет, тогда как в 3.5 этого не происходит, да и вообще этот используемый скрипт-фильтр все это время стоял ниже всех, могу только предположить, что уже где-то далее программа пытается прочитать пустой пакет, используя какое-то редко активируемое условие. Хотя тут вам видней.

Добавлено через 1 час 50 минут
Через 6+ часов работы пх опять закрылся ошибкой без логов. Это уже явно другая ошибка, как ее диагностировать ?

Последний раз редактировалось pascalpwnz, 21.09.2009 в 08:04. Причина: Добавлено сообщение
pascalpwnz вне форума   Ответить с цитированием
За это сообщение pascalpwnz нажился спасибкой от:
Старый 21.09.2009, 11:43   #1055
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

Цитата:
pck[1]:=#$D5
не надо так делать...
pck:=#$D5 - воттак лучше..
а еще лучше
pck:=''
ибо если pck = '' то выражение вида pck[1] приведет к ошибке.

вот так тоже не надо делать:
if pck[1] = xx and pck [10]= yy then
при условии что у нас пакет длинной ниже 10.
так что проверяй длинну пакета либо делай так
if pck[1] = xx then
if pck [10]= yy then //это условие будет проверяться только если тип пакета = хх (при условии что пакет хх имеет по определению такую длинну)
либо через кейс.
при чем после обнуления пцк убедись что ниже нет условий обращающихся к его элементам (pck[1] и т.д.)
+1 в копилку за кейс.

к стати вот такие вот проебы могут стать причиной вылета. при чем ты ошибку максимум в статус баре увидишь. если увидишь -)

и НЕ забывать делать
if pck = '' then exit; в САМОМ начале последующих скриптов.
я чуть попожже все таки добавлю такую проверку в самом пх, и он просто не будет запускать скрипт в цепочке при условии что пцк пуст (был обнулен)
а так больше замечаний нет.

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

Добавлено через 7 минут
Цитата:
я чуть попожже все таки добавлю такую проверку в самом пх
поправил по быстрому. заодно обнаружил другой косяк но с обработкой пакетов в плагинах.
перезалил под тем же билдом.
чуть пожже займусь разбором ватчлиста.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 21.09.2009 в 12:36. Причина: Добавлено сообщение
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился 3 спасибками от:
Старый 21.09.2009, 11:46   #1056
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Код:
а еще лучше
pck:=''
exit;
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать

Последний раз редактировалось TAMBIK, 21.09.2009 в 12:31.
TAMBIK вне форума   Ответить с цитированием
Старый 21.09.2009, 15:07   #1057
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

сделал отключение чтения значений из фастскрипта при скрытом ватчлисте.
ускорит работу и уберет излишний геморрой с вартайпаррай.
перезалил.

Добавлено через 2 часа 3 минуты
глянул лог ошибок... все таки... всего 4 штуки те что определенно можно локализировать. повторений много.

вход в редактор в "дополнительно". был поправлен вчера.
(00271A9D){l2ph.exe } [00672A9D] uScriptEditor.TfScriptEditor.EditorEnter (Line 396, "units\uScriptEditor.pas" + 1) + $1D

разрушение обьектов когда енкдек разрушался перед автоматическим сохранением лога пакетов при выходе (где использовался енкдек.коннектнаме).
еще вчера поправил. это все ексепшины имеющее строчку:
(0026ADC0){l2ph.exe } [0066BDC0] uVisualContainer.TfVisual.deinit (Line 246, "units\uVisualContainer.pas" + 12) + $A

вот это по идее только что поправил опять же связано с неправильным порядком разрушения объектов при выходе с пх (некритично):
(00272CB9){l2ph.exe } [00673CB9] uScripts.TScript.Destroy (Line 317, "units\uScripts.pas" + 4) + $F
(002732D1){l2ph.exe } [006742D1] uScripts.TfScript.DestroyAllScripts (Line 413, "units\uScripts.pas" + 2) + $D

вот это вылезло при компиляции скрипта, когда он не смог определить позицию ошибки в тексте (некритично).
поправил пытаться отмечать строчку не будет, будет только выводить в статус ошибку.
(0027C554){l2ph.exe } [0067D554] uData.TdmData.Compile (Line 1035, "units\uData.pas" + 5) + $28

вот это вообще ХЗ что. очень похоже на юзанье инжекта более старой версии
(00267FF5){l2ph.exe } [00668FF5] uMainReplacer.TfMainReplacer.ReadMsg (Line 228, "units\uMainReplacer.pas" + 2) + $7
(000A98DC){l2ph.exe } [004AA8DC] Controls.TControl.WndProc + $188
(000AC93B){l2ph.exe } [004AD93B] Controls.TWinControl.WndProc + $157
(0009297D){l2ph.exe } [0049397D] Forms.TCustomForm.WndProc + $421
(000AC5B8){l2ph.exe } [004AD5B8] Controls.TWinControl.MainWndProc + $2C
(000303DC){l2ph.exe } [004313DC] Classes.StdWndProc + $14
(00098E03){l2ph.exe } [00499E03] Forms.TApplication.ProcessMessage + $13
(00098E92){l2ph.exe } [00499E92] Forms.TApplication.ProcessMessages + $A
(0026EDC8){l2ph.exe } [0066FDC8] uSettingsDialog.TfSettings.ReadSettings (Line 114, "units\uSettingsDialog.pas" + 5) + $7
(00270825){l2ph.exe } [00671825] uSettingsDialog.TfSettings.Init (Line 455, "units\uSettingsDialog.pas" + 10) + $2
(0028402C){l2ph.exe } [0068502C] l2ph.l2ph (Line 84, "" + 22) + $7

и еще одна
думаю что она одна и таже, но отследить ее не могу ибо трейс сбит.
заканчиваеться вот такой фенькой
uVisualContainer.TfVisual.SavePacketLog
при чем выше по трейсу идет вообще билеберда, с рандомным порядком используемых юнитов упирающихся в ФС.
в общем, делетим еррор лог и пробуем переаплоаденный.
делимся впечатлениями.

Добавлено через 18 минут
в общем перезалил.
__________________
L2Ext - project closed.

Последний раз редактировалось alexteam, 21.09.2009 в 15:07. Причина: Добавлено сообщение
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился 3 спасибками от:
Старый 21.09.2009, 15:51   #1058
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от alexteam Посмотреть сообщение
вот так тоже не надо делать:
if pck[1] = xx and pck [10]= yy then
при условии что у нас пакет длинной ниже 10.
так что проверяй длинну пакета либо делай так
if pck[1] = xx then
if pck [10]= yy then //это условие будет проверяться только если тип пакета = хх (при условии что пакет хх имеет по определению такую длинну)
не бурусь гарантировать что в скриптовом движке это работает как и в дельфи, но в дельфи писать "if pck[1] = xx and pck [10]= yy then" было бы правильно ибо если первое условие ложно то второе уже не проверяется
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 21.09.2009, 15:55   #1059
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

даже если аналогично тому как в делфе.
у него таких проверок под ряд походу не 1 штука.
обнуление пакета и скрипт загибаеться на следующей проверке.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 21.09.2009, 16:25   #1060
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

alexteam, ну это да
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка



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

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


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

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

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