Показать сообщение отдельно
Старый 30.07.2008, 05:22   #6
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

а попробуйте так -
delphi Код:
const PLName = 'НикНейм'; Name = 'НикНейм'; Var   DismissTimer, AgreeTimer : TTimer; procedure Init; //Вызывается при включении скрипта begin   AgreeTimer :=TTimer.Create(nil);   AgreeTimer.OnTimer :=@AgreeJoinParty;   AgreeTimer.enabled :=false;   AgreeTimer.interval :=2000;   DismissTimer :=TTimer.Create(nil);   DismissTimer.OnTimer :=@DismissJoinParty;   DismissTimer.enabled :=false;   DismissTimer.interval :=10000; end; procedure Free; //Вызывается при выключении скрипта begin   AgreeTimer.Free;   DismissTimer.Free; end; procedure AgreeJoinParty(Sender: TObject); begin   AgreeTimer.enabled :=false;   buf:=hstr('2A 01 00 00 00');               //Создаем пакет "принять пати"   SendToServerEx(Name);                              //Отправляем его на сервер end; procedure DismissJoinParty(Sender: TObject); begin   DismissTimer.enabled :=false;   buf:=hstr('2A 00 00 00 00');               //Создаем пакет "Отказать в пати"   SendToServerEx(Name);                              //Отправляем его на сервер end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin   if (ConnectName=Name) and FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 AskJoinParty     if ReadS(2) = PLName then       AgreeTimer.enabled :=true     else       DismissTimer.enabled :=true;     pck :='';                                  //убиваем этот пакет   end; end.

Последний раз редактировалось PanAm, 30.07.2008 в 14:21.
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от: