Всё елементарно
const //Interlude
EnterWorld=#$03;
LogoutOK=#$7E;
SeverClose=#$26;
var i:integer; Connects:TStringList;
procedure Init;
begin
Connects:=TStringList.Create;
end;
procedure Free;
begin
Connects.free;
end;
begin
if fromClient then begin
if (pck[1]=EnterWorld) and (Connects.indexOf(connectName)=-1) then Connects.Add(connectName);
if ord(pck[1]) in [список,пакетов,для,отправки] then begin buf:=pck; pck:=''; for i:=0 to Connects.Count-1 do SendToServerEx(Connects[i]); end;
end else if (pck[1]=LogoutOK) or (pck[1]=SeverClose) then begin i:=Connects.indexOf(connectName); if i>-1 then Connects.Delete(i); end;
end.
[список,пакетов,для,отправки] - через запятую id пакетов типа MoveBackwardToLocation, Action, RequestMagicSkillUse. Но не советую отправлять все, особенно такие как RequestDestroyItem или UseItem, т.е. использование предметов с другого окна или EnterWorld