Показать сообщение отдельно
Старый 21.05.2009, 19:42   #405
Пользователь
 
Регистрация: 11.04.2009
Адрес: lameriy
Сообщений: 34
Сказал Спасибо: 9
Имеет 1 спасибку в 1 сообщении
lamer пока неопределено
По умолчанию

Код:
//******************************************************************************
const
Name='хххххххх'; //ник перса
procedure ReqGetItem;
begin
  if itm=0 then begin
    timer1.enabled:=true; //включаем отсчет времени
    needbackup:=false;
    exit;
  end;
  timer1.enabled:=false; //выключаем отсчет времени
  //перебираем базу
  for i:=1 to max do begin
    //если нашли, то обнуляем
    if (ItemBase[1,i]<>0) then begin  //ObjectID
      say('ReqGetItem');
      //даем команду подобрать вещь
      buf:=#$1F;
      WriteD(ItemBase[1,i]);
      WriteD(ItemBase[2,i]);
      WriteD(ItemBase[3,i]);
      WriteD(ItemBase[4,i]);
      WriteH(00);
      SendToServerEx(Name);
    end;
  end;
end;
begin
  //****************************************************************************
  //DropItem - выпала вещь
  if FromServer and (ConnectName=Name) and (pck[1]=#$0D) then begin
    //чужие вещи не берем
    if (Attacker=ReadD(2)) then begin
      timer1.enabled:=false; //выключаем бота
      AddMob:=true;
      //перебираем базу
      for i:=1 to max do begin
        //если нашли, то корректируем его координаты на новые
        if (ItemBase[1,i]=ReadD(6)) then begin  //ObjectID
          ItemBase[2,i]:=ReadD(14); //x
          ItemBase[3,i]:=ReadD(18); //y
          ItemBase[4,i]:=ReadD(22); //z
          AddMob:=false;
          inc(itm);
          NeedBackup:=true;
          say('Корректируем данные по предмету');
        end;
      end;
      //иначе, перебираем базу, ищем свободную ячейку в ней и добавляем
      for i:=1 to max do begin
        if (ItemBase[1,i]=0) then begin
          //запоминаем в свободную ячейку
          ItemBase[1,i]:=ReadD(6); //ObjectID
          ItemBase[2,i]:=ReadD(14); //x
          ItemBase[3,i]:=ReadD(18); //y
          ItemBase[4,i]:=ReadD(22); //z
          inc(itm);
          NeedBackup:=true;
          say('Добавили данные по предмету');
          break;
        end;
      end;
    end;
    say('ColvoItm='+inttostr(itm));
  end;
  //****************************************************************************
  //SpawnItem - валяется вещь
  if FromServer and (ConnectName=Name) and (pck[1]=#$0C) then begin
    timer1.enabled:=false; //выключаем бота
    AddMob:=true;
    //перебираем базу
    for i:=1 to max do begin
        //если нашли, то корректируем его координаты на новые
      if (ItemBase[1,i]=ReadD(2)) then begin  //ObjectID
        ItemBase[2,i]:=ReadD(10); //x
        ItemBase[3,i]:=ReadD(14); //y
        ItemBase[4,i]:=ReadD(18); //z
        AddMob:=false;
        inc(itm);
        NeedBackup:=true;
        say('Корректируем данные по предмету');
      end;
      //иначе, перебираем базу, ищем свободную ячейку в ней и добавляем
      for i:=1 to max do begin
        if (ItemBase[1,i]=0) and AddMob then begin
          //запоминаем в свободную ячейку
          ItemBase[1,i]:=ReadD(2); //ObjectID
          ItemBase[2,i]:=ReadD(10); //x
          ItemBase[3,i]:=ReadD(14); //y
          ItemBase[4,i]:=ReadD(18); //z
          inc(itm);
          NeedBackup:=true;
          say('Добавили данные по предмету');
          break;
        end;
      end;
    end;
    say('ColvoItm='+inttostr(itm));
  end;

  //****************************************************************************
  if Wait(time1,2000) and NeedBackup and (underAttack=false) then ReqGetItem;

  //****************************************************************************
  //определяем реальность поднятия вещи
  //GetItem
  if FromServer and (ConnectName=Name) and (pck[1]=#$12) then begin
    //перебираем базу
    for i:=1 to max do begin
      //если нашли, то обнуляем
      if (ItemBase[1,i]=ReadD(6)) then begin  //ObjectID
        ItemBase[1,i]:=0; //ObjectID
        ItemBase[2,i]:=0; //x
        ItemBase[3,i]:=0; //y
        ItemBase[4,i]:=0; //z
        dec(itm);
        //say('Удаляем данные по предмету');
      end;
    end;
    if itm=0 then begin
      needbackup:=false;
      timer1.enabled:=true;
    end;
    say('ColvoItm='+inttostr(itm));
  end;
end.
Обьясните где ошибка, вроде переделал под ХБ, ну и вставил привязку к персу по нику. Не работает и всё тут.)
Выдаёт ошибку при включении.

Последний раз редактировалось lamer, 21.05.2009 в 19:44. Причина: уточнение
lamer вне форума   Ответить с цитированием