Исходники здесь
Вот такие скомпилированные версии есть у меня.
Ниже данные устарели.
Репозиторий находится тут (открывать через SVN клиент)
Удобный просмотр репозитория через браузер тут
Скомпилированные версии тут Пароль к архиву: coderx.ru
Есть ли предложения по модернизации существующего кода с описанием как должно и что хотелось бы заменить/добавить?
Дополнительные компоненты брать тут. (<-- 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.
nezabudkin,
проверил дллку, на голом клиенте прекрасно хватает соединение.
в общем ради интереса - прошу стянуть debugview, запустить, запустит тот клиент в котором возникают проблеммы с инжектом.
и после логина поискать характерное "бла бла бла --<<by Fyyre>>--" в логе debugview'а
alexteam, сегодня затестил еще на одном клиенте, на этот раз интерлюд, та же фигня. 83 релиз работает, а новые релизы перехватывать не хотят! Запустил я debugview, но по моему, ничего интересного она мне не показывает. Лог прикрепил.
alexteam, однако действительно появилась ошибка.
Версия 128 нормально перехватывает клиент (en хб, грация) или бот(вмх под шок).
Версия 132, 133(4),139 - патчит, но не перехватывает соединение.
вернул назад структуру инжекта.
по ходу получить доступ к мапфайлу находясь внутри клиента не всегда у инжекта получается.
билд будет только тогда когда выверю полностью все изменения которые сделал за последние 2 дня а их там уже 9 коммитов...
Цитата:
патчит, но не перехватывает соединение.
на самом деле даже 83 будет писать пропатчен, даже если он нифига технически не был пропатчен.. это сообщение следует воспринимать как "клиент был найден"..
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 11.09.2009 в 16:26.
Причина: Добавлено сообщение
l2phx.3.5.23.143[test].rar
выложен для теста. полностью не успел проверить. так что вливайтесь -)
Включает следующие изменения:
Цитата:
[+] Галочка Kamael-helbound-gracia в настройках будет устанавливаться автоматически после выбора протокола. при этом ее состояние можно будет сменить после выбора протокола.
[*] поубивал к чертям практически все стайонтопы.
[*] в плагинах в онконнкт/дисконнект/онпакет тип параметра cnt был изменен на integer; был cardinal. (при ошибке сокет может принимать отрицательное значение (!))
[+]В Скриптовый движок добавлены:
var UseForConnectName: string;
var UseForConnectID: Integer; Оффтоп
их значение действует на работу следующих функций:
SendToClient,
SendToServer,
NoCloseFrameAfterDisconnect,
CloseFrameAfterDisconnect,
NoCloseClientAfterServerDisconnect,
CloseClientAfterServerDisconnect,
NoCloseServerAfterClientDisconnect,
CloseServerAfterClientDisconnect,
Disconnect,
SetName
Так же их действие распространяется на поступление pck в тело скриптов.
пояснение: При установке к примеру UseForConnectName := 'MyCharacter'; тело функции между "begin" и "end." будет вызываться только при совпадении UseForConnectName и имени соединения.
вывод: проверки в скрипте по типу "if ConnectName = 'MyCharacter' then " становятся ненужны в большинстве случаев. скриптовый движок будет "запускаться" реже и только там где это требуется (экономим цп ^_^)
Порядок обработки этих переменных
1. UseForConnectName
2. UseForConnectID (если не задано UseForConnectName)
3. если ни UseForConnectName первое ни UseForConnectID не задано - SendToClient, SendToServer, и т.д. действуют по старому.
пример:
UseForConnectName := 'testchar'
будут отсылать buf с помощью SendToClient по такой схеме
Сначала провериться назначено ли UseForConnectName если эта переменная задана то buf будет отослан соединению с этим именем.
если UseForConnectName не назначено то проверяется назначен ли UseForConnectID если да то отсылает buf соединению с этим айди
если не UseForConnectName не UseForConnectID не назначены то SentToClient отрабатывает как и раньше.
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 11.09.2009 в 17:30.
За это сообщение alexteam нажился 3 спасибками от:
(..ограничение по длине сообщения...)
Продолжение:
Цитата:
[*] изменена функция OnCallMethod в плагинах. ее объявление:
TOnCallMethod = function(const ConnectId, ScriptId: integer; const MethodName: String; var Params,
FuncResult: Variant): Boolean; stdcall;
в функцию были добавлены ConnectId, ScriptId
где ConnectId это айди соединения получаемого с учетом UseForConnectName и UseForConnectID
а ScriptId это уникальный идентификатор "скрипта" вызвавшего OnCallMethod
таким образом OnCallMethod может идентифицировать с большой вероятностью (при использовании UseForConnectName и UseForConnectID в самом скрипте)
идентификатор соединения связанного с "экземпляром скриптового движка" вызвавшим метод либо использовать для этих целей ScriptId.
для чего это нужно: если плагин расширяющий функции скриптового движка используется в нескольких скриптах то достаточно часто (все зависит от "направления" функций реализуемых) требуется идентифицировать соединение для которого будет выполняться "расширение" либо "экземпляр скрипта"
[+] Следующие функции добавлены в структуру плагинов
Function SerScriptVariable(scriptid:integer; varname:string; varvalue:variant):boolean;
Function GetScriptVariable(scriptid:integer; varname:string):variant;
function IsScriptIdValid(scriptid:integer):boolean;
позволяют менять значение глобальных переменных скриптового движка в OnCallMethod плагинов.
[-] При редирректе соединения с помощью лсп в лог писался локальный порт вместо удаленного
[+] Соответствующая надпись для перенаправления соединения при использовании лсп в режиме "перехват соединения".
[*] Вернул инжект к старой схеме определения хендла главного окна.
[+] В скриптовый движок добавлены следующие процедуры:
procedure WriteMask(Mask:string; parameters : array of variant)
procedure ReadMask(Mask:string; var index:integer; var parameters : array of variant)
[+] в хелп добавлено их (и не только их) описание в разделе "Перечень поддерживаемых функций/процедур, переменные." (хелп так же был обновлен под текущую версию)
[*] Модифицирован обработчик рантайм ошибок в testInit и testFree (Вместо системной "операция завершена успешно" будет отображаться класс и сообщение конкретной ошибки)
обновленные сурсы фастскрипта перезалиты на фтп
__________________
L2Ext - project closed.
Последний раз редактировалось alexteam, 11.09.2009 в 16:51.
За это сообщение alexteam нажился 2 спасибками от: