ChiterEPT
09.02.2012, 15:24
Проблема с SetName, а именно не устанавливает имя соединения.
Запускаю л2пх на Аион сервера версии 2.5 пакеты не шифрованные большинство пакетов нормально описано в aion2.*.ini но имя соединения автоматически не устанавливается. Написал скрипт чтоб вручную ставить, процедура SetName не работает... может кто помочь?
Как тут скрипт наглядно выставить на форум? пока так...
var
OID :integer;
named :boolean;
procedure Init; //Вызывается при включении скрипта
begin
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
If FromClient and (pck[1]=#$66) then // 66 - EnterWorld
begin
OID:=ReadD(4); // OID выбранного чара
named:=false;
sendMSG(IntToStr(OID)); // выводим OID в лог
end;
if (not named) and FromServer and (pck[1]=#$1F) and (ReadD(16)=OID) then
begin
SetName(ReadS(48)); // Если пакет 1F (PlayerInfo) про нас читаем наше имя
named:=true; // и пытаемся назвать соединение ...
sendMSG(ReadS(48)); // выводим в лог наше имя
sendMSG(ConnectName); // выводим в лог имя соединения...
end;
end.
В логах вижу это:
09.02.2012 03:49:35 Библиотека D:\l2phx.3.5.33.174\inject.dll успешно загружена
09.02.2012 03:49:36 Стартует L2ph v3.5.33.174
09.02.2012 03:49:36 На 7788 зарегистрирован локальный сервер
09.02.2012 03:49:50 Надёжно пропатчен новый клиент aion.bin (3584)
09.02.2012 03:50:45 (Inject.dll) Коннект на 91.214.69.42:2106 проигнорирован
09.02.2012 03:50:46 (Inject.dll) Перехвачен коннект на 91.214.69.42:7777
09.02.2012 03:50:46 ServerListen: Обнаружено новое соединение.
09.02.2012 03:50:46 Тунель ($143107536) создан
09.02.2012 03:50:46 Тунель ($143107536) запущен для чтения с сокета № 504
09.02.2012 03:50:46 Тунель ($143107536), Серверный сокет № 504 / Клиентский сокет № 536, Соединение установлено с 91.214.69.42:7777
09.02.2012 03:50:46 Имя соединения для тунеля ($143107536): ********
09.02.2012 03:50:46 Имя соединения для тунеля ($143107536): ??????????
09.02.2012 03:50:49 Script: 33790899 // OID
09.02.2012 03:50:55 Script: ChiterEPT // Имя чара
09.02.2012 03:50:55 Script: ?????????? // Имя соединения после SetName
Добавлено через 10 часов 17 минут
Небольшая поправка, процедура SetName изменила только название файла лога пакетов.
Запускаю л2пх на Аион сервера версии 2.5 пакеты не шифрованные большинство пакетов нормально описано в aion2.*.ini но имя соединения автоматически не устанавливается. Написал скрипт чтоб вручную ставить, процедура SetName не работает... может кто помочь?
Как тут скрипт наглядно выставить на форум? пока так...
var
OID :integer;
named :boolean;
procedure Init; //Вызывается при включении скрипта
begin
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
If FromClient and (pck[1]=#$66) then // 66 - EnterWorld
begin
OID:=ReadD(4); // OID выбранного чара
named:=false;
sendMSG(IntToStr(OID)); // выводим OID в лог
end;
if (not named) and FromServer and (pck[1]=#$1F) and (ReadD(16)=OID) then
begin
SetName(ReadS(48)); // Если пакет 1F (PlayerInfo) про нас читаем наше имя
named:=true; // и пытаемся назвать соединение ...
sendMSG(ReadS(48)); // выводим в лог наше имя
sendMSG(ConnectName); // выводим в лог имя соединения...
end;
end.
В логах вижу это:
09.02.2012 03:49:35 Библиотека D:\l2phx.3.5.33.174\inject.dll успешно загружена
09.02.2012 03:49:36 Стартует L2ph v3.5.33.174
09.02.2012 03:49:36 На 7788 зарегистрирован локальный сервер
09.02.2012 03:49:50 Надёжно пропатчен новый клиент aion.bin (3584)
09.02.2012 03:50:45 (Inject.dll) Коннект на 91.214.69.42:2106 проигнорирован
09.02.2012 03:50:46 (Inject.dll) Перехвачен коннект на 91.214.69.42:7777
09.02.2012 03:50:46 ServerListen: Обнаружено новое соединение.
09.02.2012 03:50:46 Тунель ($143107536) создан
09.02.2012 03:50:46 Тунель ($143107536) запущен для чтения с сокета № 504
09.02.2012 03:50:46 Тунель ($143107536), Серверный сокет № 504 / Клиентский сокет № 536, Соединение установлено с 91.214.69.42:7777
09.02.2012 03:50:46 Имя соединения для тунеля ($143107536): ********
09.02.2012 03:50:46 Имя соединения для тунеля ($143107536): ??????????
09.02.2012 03:50:49 Script: 33790899 // OID
09.02.2012 03:50:55 Script: ChiterEPT // Имя чара
09.02.2012 03:50:55 Script: ?????????? // Имя соединения после SetName
Добавлено через 10 часов 17 минут
Небольшая поправка, процедура SetName изменила только название файла лога пакетов.