Тема: assist
Показать сообщение отдельно
Старый 16.09.2009, 23:31   #5
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

Код:
// Прописываем имена ботов сюда
const
Lyk = 'Bot2';
Komandos = 'Kom';
Lyt = 'Bot1';
var
IDPartyMember: integer; //ИД командира
CoordLykX, CoordLykY, CoordLykZ :Integer; //координаты бота
CoordLytX, CoordLytY, CoordLytZ :integer; //координаты бота
CoordKomandX, CoordKomandY, CoordKomandZ :integer; // координаты командира
Mob, MobX, MobY, MobZ :integer; // координаты моба и его ид

procedure bRun;
begin
 buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLykX);
  WriteD(CoordLykY);
  WriteD(CoordLykZ);
  WriteC(0); 
  SendToServerEX(Lyk);
  buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLykX);
  WriteD(CoordLykY);
  WriteD(CoordLykZ);
  WriteC(0); 
  SendToServerEX(Lyk);              
end;
procedure bRun1;
begin
 buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLytX);
  WriteD(CoordLytY);
  WriteD(CoordLytZ);
  WriteC(0); 
  SendToServerEX(Lyt);
  buf:=#$1F;
  WriteD(IDPartyMember);
  WriteD(CoordLytX);
  WriteD(CoordLytY);
  WriteD(CoordLytZ);
  WriteC(0); 
  SendToServerEX(Lyt);              
end;

procedure Assist;
begin
buf:=hstr('1F'); 
  WriteD(Mob);
  WriteD(MobX);
  WriteD(MobY);
  WriteD(MobZ);
  WriteC(0);          
  SendToServerEX(Lyk);
end;

procedure Assist1;
begin
buf:=hstr('1F'); 
  WriteD(Mob);
  WriteD(MobX);
  WriteD(MobY);
  WriteD(MobZ);
  WriteC(0);          
  SendToServerEX(Lyt);
end;

begin
   if pck='' then exit;
   //если от сервака принят пакет с ИД и Координатами членов пати то
     if FromServer and (ConnectName=Komandos) and (pck[1]=#$BA) then
     begin
          //запоминаем ИД командира
          IDPartyMember:=ReadD(6);
     end;       
         //если принят пакет от клиента со сменой таргета командиром   
    if FromServer and (ConnectName=Lyk) and (pck[1]=#$23) and (ReadD(2) = IDPartyMember) then     
    begin
        Mob:=ReadD(6);
        MobX:=ReadD(10);
        MobY:=ReadD(14);
        MobZ:=ReadD(18);     
     end;       
        //записываем координаты бота при приходе пакета о изменении позиции
 if FromClient and (ConnectName=Lyk) and (pck[1]=#$59) then
   begin
   CoordLykX:=ReadD(2);
   CoordLykY:=ReadD(6);
   CoordLykZ:=ReadD(10);
   end;
        // для второго бота
  if FromClient and (ConnectName=Lyt) and (pck[1]=#$59) then
   begin
   CoordLytX:=ReadD(2);
   CoordLytY:=ReadD(6);
   CoordLytZ:=ReadD(10);
   end; 
   
   if FromClient and (ConnectName=Komandos) and (pck[1]=#$49) then
      if (pck[2]=#$31) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           bRun;
           bRun1;
           exit;
      end;
      
   if FromClient and (ConnectName=Komandos)and (pck[1]=#$49) then
      if (pck[2]=#$32) and (pck[3]=#$00) then
      begin
           //убиваем этот пакет, чтоб сервер его не получил
           pck:='';
           Assist;
           Assist1;
           exit;
      end;
end.
Sashafaq вне форума   Ответить с цитированием