эм... сложный вопрос
могу лишь рассказать общую теорию построения такого скрипта
во первых - если ты наблюдал за пакетами, приходящими в клиент - даже если ничего не делать персонажем, просто стоять и рядом никого не будет - время от времени приходит пакет пинг и клиент ему отзывается - посылает на сервер обратно другой пакет-ответ на пинг. он может быть разный на разных серверах, поэтому точно не скажу какие там параметры и id... вот значит нам надо эмулировать отсылку ответа на этот пинг.
во вторых - когда ты выходишь из игры, клиент посылает серверу что-то типа логофф - типа разлогинился, нам нужно его перехватить и обнулить. то есть когда ты жмешь выход из игры, клиент закроется - нооооо сервер не дополучит этот пакет логофф и будет продолжать получать ответы на пинг - а значит будет думать что ты все еще в сети.
где-то дуней мне давал такой скрипт... надо поискать - ты его не запускай, иначе из-за несовпадения id спалишься, что используешь левые программы - ты посмотри общую структуру, а после добавь свои значения что есть в пинге.
Код:
const
name = 'besmudag';
procedure NetPing;
begin
buf:=#$A8;
WriteD(ReadD(2));
WriteD(5);
WriteD(6144);
SendToServerEx(name);
end;
procedure offclient;
begin
pck:='';
NoCloseServerAfterClientDisconnect;
NoCloseClientAfterServerDisconnect;
buf:=#$7E;
SendToClientEx(name);
end;
begin
if (connectname=name) and (fromclient) and (pck[1]=#$09) then offclient;
if (connectname=name) and (fromserver) and (pck[1]=#$D3) then NetPing;
end.