Показать сообщение отдельно
Старый 13.07.2010, 13:54   #5
Новичок
 
Регистрация: 23.02.2010
Сообщений: 10
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
MaJIou_DoGG пока неопределено
По умолчанию

delphi Код:
//============================= // добавляем в базу  ЛВЛ заточки  procedure  addenchantitemID;  begin    for i:=1 to max do if (BaseItems[i,3] = itemID)  then  begin   enchlvl:=BaseItems[i,11];   flag:=false;   for ii:=1 to max do if (Baselvl[ii] = enchlvl) then  begin // текущий  уже есть в массиве,   flag := true;    BREAK; { прекращаем цикл }    end; if (flag = false) then begin     for ii:=1 to max do if (Baselvl[ii]=-1) then begin // добавим   в массив,     Baselvl[ii]:=enchlvl;      index :=ii;   BREAK; { прекращаем цикл } end; end; end; end; //==========================  procedure ChooseInventory; var OID, lvl:integer; begin  if (itemID>0) and start then  begin    sumitemID:=0;    sumitemID:=Getsumitem(itemID,3,5); // считаем предметы для заточки  SendMsg2(''+IntToStr(sumitem)+' Предметов для заточки с ID :  '+IntToStr(itemID)+'  =  '+IntToStr(sumitemID)+' ШТ');         objectOID:=0;  SendMsg2( '*******************************************' );  SendMsg2('  ---- П О И С К     П Р Е Д М Е Т А ----' );  if (sumitemID > sumitem) then objectOID:=GetObjectID(itemID);//находим по ItemID  предмет с ObjectID  if (objectOID = 0)  then begin     autoMsg:=true;    stopEnchantItem;// остановка скрипта   SendMsg2('Больше предметов c ID : '+IntToStr(itemID)+' для заточки НЕТ ! ! ! ');   SendMsg2('----' );         lvl:=0;  for i:=1 to max do  if (BaseItems[i,3] = itemID) then  begin    OID:=BaseItems[i,2];    lvl:=BaseItems[i,11]; SendMsg2('  . . П р е д м е т . .' ); SendMsg2(' ID: '+IntToStr(itemID)+'  ObjectID: '+IntToStr(OID)+' заточен до: '+IntToStr(lvl)+' ');      SendMsg2(' .................' );    end;  end; end; end; //========================= //находим enchantID предмета по  ItemID для заточки function GetObjectID(itemID:integer) : integer; var   ID,i:integer; begin enchantID:= 0;   ItemEnch:=0;    Result:= 0;  if (itemID > 0) then begin   SendMsg2 ('    ищем ObjectID предмета с ID  :  ' +IntToStr(itemID)+' ');   SendMsg2('------------------------------' );     for i:=1 to max do  if (BaseItems[i,3] = itemID) and (BaseItems[i,11] = minlvl) and (BaseItems[i,11] < maxlvl) then begin    enchantID:=BaseItems[i,2];    Result:=BaseItems[i,2];    ItemEnch:=BaseItems[i,11];  SendMsg2('   ..... Найден  Предмет  для  Заточки  ..... ');  SendMsg2(' ID  : '+IntToStr(itemID)+' и ObjectID : '+IntToStr(enchantID)+'   заточен до : '+IntToStr(ItemEnch)+'');  SendMsg2('------------------------------' );  if start and (enchantID>0) then  Timer02.enabled:=true;   Break// прерываем дальнейший перебор массива.  end; end; end; //========================== procedure stopselectskrol;// отмена выбора скролл begin   buf:=hstr('D04E00');  SendToServerEx(myname); end; //=================================== procedure OnTimer01(Sender: TObject); begin  buf:=#$19;  WriteD(skrolObject);  WriteD(0);  SendToServerEx(myname);  Timer01.enabled:=false; end; //-------------------------- procedure OnTimer02(Sender: TObject); begin  buf:=hstr('D04C00');  WriteD(enchantID);  SendToServerEx(myname);  Timer02.enabled:=false; // Timer03.enabled:=true; end; procedure OnTimer03(Sender: TObject); begin  buf:=#$5F;  WriteD(enchantID);  WriteD(0);  SendToServerEx(myname);  Timer03.enabled:=false;  end;
MaJIou_DoGG вне форума