Цитата:
Сообщение от semiromid
Вот сдела. Все работает . Но когда наприер "Сэрик" дает пати "Вива" то она почемута его берет , а "AntBuf'" начинает давать денсы (
Код:
const
name = 'AntBuf';
var
Paname: String;
timer:TTimer;
TimerStep:byte;
procedure Init;
begin
TimerStep:=1;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=1000; //время задержки между отправкой пакетов.
end;
procedure Free;
begin
timer.free;
end;
procedure OnTimer;
begin
case TimerStep of
1:
begin
timer.interval:=1000;
buf:=Hstr('49 14 04 3E 04 31 04 40 04 3E 04 20 00 3F 04 3E 04 36 04 30 04 3B 04 3E 04 32 04 30 04 42 04 4C 04 20 00 3A 04 20 00 31 04 30 04 44 04 35 04 40 04 43 04 20 00 3A 04 3B 04 30 04 3D 04 30 04 20 00 22 00 1B 04 38 04 33 04 30 04 22 00 20 00 21 00 00 00 03 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
2:
begin
timer.interval:=1000;
buf:=Hstr('39 10 01 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
3:
begin
timer.interval:=2000;
buf:=Hstr('39 12 01 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
4:
begin
timer.interval:=2000;
buf:=Hstr('39 35 06 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
5:
begin
timer.interval:=2000;
buf:=Hstr('39 37 06 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
6:
begin
timer.interval:=2000;
buf:=Hstr('39 39 06 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
7:
begin
timer.interval:=2000;
buf:=Hstr('39 0F 01 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
8:
begin
timer.interval:=2000;
buf:=Hstr('39 13 01 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
9:
begin
timer.interval:=2000;
buf:=Hstr('39 36 01 00 00 00 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
10:
begin
timer.interval:=2000;
buf:=Hstr('49 21 04 3F 04 30 04 41 04 38 04 31 04 3E 04 20 00 47 04 42 04 3E 04 20 00 32 04 3E 04 41 04 3F 04 3E 04 3B 04 4C 04 37 04 3E 04 32 04 30 04 3B 04 38 04 41 04 4C 04 20 00 48 04 42 04 30 04 42 04 3D 04 4B 04 3C 04 20 00 3A 04 3B 04 30 04 3D 04 20 00 31 04 30 04 44 04 35 04 40 04 3E 04 3C 04 21 00 1F 04 40 04 38 04 45 04 3E 04 34 04 38 04 42 04 35 04 20 00 35 04 49 04 35 04 20 00 3A 00 29 00 00 00 03 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
11:
begin
timer.interval:=1000;
buf:=Hstr('44');
SendToServerEx(name);
Inc(TimerStep);
end;
12:
begin
timer.interval:=1000;
buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
SendToServerEx(name);
Inc(TimerStep);
end;
13:
begin
timer.interval:=1000;
buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
SendToServerEx(name);
timer.enabled:=false;
end;
14:
begin
buf:=Hstr('1C 01 00 00 00');
SendToServerEx(name);
timer.enabled:=false;
end;
end;
end;
begin
if FromServer and (pck[1]=#$39) then begin //от сервера получен пакет $39
PAname:= ReadS(2);
if (PAName = 'Сэрик') or (PAName = 'еенн') or (PAName = 'тете') or (PAName = 'Огнн') or (PAName = 'бдбдбд') or (PAName = 'LIGAsword') or (PAName = 'Вива') or (PAName = 'wuiwiw') then begin
buf:=Hstr('43 01 00 00 00');
timer.enabled:=true;
TimerStep:=1;
end else
buf:=hstr('43 00 00 00 00'); //Создаем пакет "Отказать в пати"
pck :=''; //убиваем этот пакет
SendToServer;
end;
//даем мп
begin
if FromServer and (pck[1]=#$70) then begin //от сервера получен пакет $39
buf:=Hstr('55 01 00 00 00');
timer.enabled:=true;
timer.interval:=5000;
TimerStep:=14;
SendToServer; //Отправляем его на сервер
end;
end;
end.
|
Подскажите кк сделать примерно вот так
Код:
const
name = 'AntBuf';
begin
if FromServer and (pck[1]=#$39) then begin //от сервера получен пакет $39
if ReadS(2) = ('Пиротехник') or ('Пиротyехник') then //проверяем от кого
buf:=hstr('43 01 00 00 00');
SendToServer;
//Отправляем его на сервер
end;
end.