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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.01.2010, 15:44   #1
Местный
 
Аватар для kpa9pt
 
Регистрация: 13.01.2010
Сообщений: 159
Сказал Спасибо: 18
Имеет 30 спасибок в 23 сообщенях
kpa9pt имеет немного плохого в прошлом
По умолчанию Готовый кривопашушщий скрипт на отсоединение клиента

Здравствуйте.
Написал себе скрипт чтоб отсоединить клиент и он вродебы работает, когда запускаю его и выхожу в клиенте, ла2 у меня закрывается, а в программе остаётся соединение, и чаром можно управлять, но в программе постоянно приходят (спам нон стоп) сообщения WNS error ****/*** сразу после сообщения там же "Дисконект..клиент отвалился"
Я бы и не парился если бы не проблема, когда запускаю скрипт например на набитие pvp у меня виснет в у смерть программа из-за спама вот этих WNS error (при запуске скрипта поток увеличиваться) , а простой скрипт - сесть встать у меня работает. Собственно оба этих скрипта работают без проблем когда клиент запущен.
Вот часть (знающие допишут) работающего скрипта на отсоединение клиента, кто знает как избавиться от этих WNS error:
__________________________________
begin
ConnectID:=ConnectIDByName(Support);
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
end;
if FromClient and (pck[1] = Logout) then begin
pck:='';
buf:=LogOutOk;
SendToClient;
end;
---------------------------------------
собственно если пригодиться вот:

Logout='#$09';
LogoutOK='#$7E';

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

http://coderx.ru/showpost.php?p=37024&postcount=23
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 13.01.2010, 20:02   #3
Местный
 
Аватар для kpa9pt
 
Регистрация: 13.01.2010
Сообщений: 159
Сказал Спасибо: 18
Имеет 30 спасибок в 23 сообщенях
kpa9pt имеет немного плохого в прошлом
По умолчанию

Странно добавил вроде вот эту строку

if (ConnectName=CHAR_NAME) and FromServer and logoutok then pck := '';

но пакеты на клиент всё равно идут.

вот что я в целом написал:


const
CHAR_NAME = 'HKfk';
var
logoutok : boolean;

procedure init;
begin
logoutok := false;
end;

begin

if pck='' then exit;
NoFreeOnServerDisconnect;
NoFreeOnClientDisconnect; //разрешить отключение клиента онли. при отключении сервера тунель будет разрушаться, что и должно происходить.
if (ConnectName=CHAR_NAME) then begin
if (FromClient) then begin
if (pck[1]=#$09) then
begin
Pck:='';
//Не забыл ли ты обнулить пакет ?
//pck := 0 или реквайст должен пройти на сервер ?
logoutok := true; //флаг
buf:=#$7E; //шлем логауток на клиент
SendToClientEx(CHAR_NAME);
end;
end;
end;

if (ConnectName=CHAR_NAME) and FromServer and logoutok then pck := ''; //!!!! не пропускать пакеты на клиент через ПХ!! если он уже отключен.


end.
kpa9pt вне форума   Ответить с цитированием
Старый 13.01.2010, 21:14   #4
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

сравнив с оригиналом... и проанализировав изменения - честно.. заматюкался..
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 13.01.2010, 23:16   #5
Местный
 
Аватар для kpa9pt
 
Регистрация: 13.01.2010
Сообщений: 159
Сказал Спасибо: 18
Имеет 30 спасибок в 23 сообщенях
kpa9pt имеет немного плохого в прошлом
По умолчанию

Извени но твой оригинал у меня не работает, рвёт соединение программа, я добился работа способности только перенеся вот эту строку и добавив следом ещё одну, из-за этого перематюкался?) :

NoFreeOnServerDisconnect;
NoFreeOnClientDisconnect;

ну и ещё у меня пакет на logout другой.
Пожалуйста объясни где я не прав.

Добавлено через 1 час 27 минут
Всё заработало и дествительно плакать хочеться от того что я там наворотил в общем кому интересно вот работает:

const
CHAR_NAME = 'HKfk';
var
logoutok : boolean;

procedure init;
begin
logoutok := false;
end;

begin
if pck='' then exit;
if (ConnectName=CHAR_NAME) and (FromClient) and (pck[1]=#$00) then
begin
pck := ''; //или реквайст должен пройти на сервер ?
//Не забыл ли ты обнулить пакет ?
NoFreeOnClientDisconnect; //разрешить отключение клиента онли. при отключении сервера тунель будет разрушаться, что и должно происходить.
NoFreeOnServerDisconnect;
logoutok := true; //флаг
buf:=#$84; //шлем логауток на клиент
SendToClientEx(CHAR_NAME);
end;
if (ConnectName=CHAR_NAME) and FromServer and logoutok then pck := ''; //!!!! не пропускать пакеты на клиент через ПХ!! если он уже отключен.
end.


в твоей версии небыло вот этой строки:

NoFreeOnServerDisconnect;
у меня без неё не работает, и также у меня отличаються пакеты но это не суть главная вон та строчка.
Спасибо за всё.

А и ещё вопрос:
Вот теперь клиент закрыт а соединение висит, но не идут пакеты от сервера, вот если я активирую скрипт с наличием условия прихода пакета от сервера, он работать будет или нет?

Всё и с этим уже разобрался)

Последний раз редактировалось kpa9pt, 14.01.2010 в 11:41. Причина: Разобрался что к чему)
kpa9pt вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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