delphi Код:
//-----------------------------------------
procedure Init;
begin
minlvl:=0; maxlvl:=0; enchlvl:=0; ItemEnch:=0;
sumskrol:=0; sumitem:=0; sumitemID:=0;
objectOID:=0; enchantObjectID:=0;
enchantID:=0; skrolObjectID:=0;
itemID:=0;
ID:=0;skrolID:=0; blessedskrolID:=0;
skrolOID:=0; blessedskrolOID:=0;
skrolObject:=0;
t:=0;l:=0;d:=0;index:=0;
flag:=false;
autostart:=false;
start:=false;
autoMsg:=true;
selectskrol:=false;selectblessedskrol:=false;
autoselect:=false;
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=1000; //<<== время выбора свитка
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=1000; //<<== время выбора предмета
Timer03:=TTimer.Create(nil);
Timer03.OnTimer:=@OnTimer03;
Timer03.enabled:=false;
Timer03.interval:=2400; //<<== время между заточкой
SendMsg2( ' привет от TAMBIKa' );
SendMsg2( 'в пати чат пишем уровень заточки' );
SendMsg2( ' заточить предмет один раз ! ! !' );
SendMsg2( ' СТАРТ соцдействие ДА ' );
SendMsg2( ' СТОП соцдействие НЕТ' );
SendMsg2('В К Л сообщения соцдействие-приветствие\hello ' );
SendMsg2('ВЫКЛ сообщения соцдействие-победа\victory ' );
SendMsg2( '------------------------------------- ' );
deleteBase;
OpenInventory;//открыть инвентарь
for ii:=1 to max do
Baselvl[ii]:=-1;
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
Timer03.free;
end;
//=========================
procedure OpenInventory;//открыть инвентарь.14=RequestItemList
begin
buf:=hstr('14');
SendToServerEx(myname);
end;
//=========================
procedure addtoskrolID;
begin
OpenInventory;//открыть инвентарь
SendMsg2(' ........ = UseItem = .........' );
skrolObjectID:=ReadD(2);
ID:=0;
ID:=Getitem(skrolObjectID,2,3);//находим по ObjectID скрол с ItemID
if (ID>0) then t:=1;
case ID of
6569..6578:begin
blessedskrolID:=ID;
blessedskrolOID:=skrolObjectID;
SendMsg2(' активирован Blessed SKROLL ID : '+IntToStr(blessedskrolID)+'');
selectblessedskrol:=true;
SendMsg2(' .................' );
end;
729..732,947..962:begin
skrolID:=ID;
skrolOID:=skrolObjectID;
SendMsg2(' активирован SKROLL ID : '+IntToStr(skrolID)+'');
selectskrol:=true;
SendMsg2(' .................' );
end;
end;
end;
//=========================
begin
//не обрабатываем пустые пакеты
if pck='' then exit;
if FromServer and (pck[1]=#$FE) and (pck[2]=#$81) and start then begin
Timer03.enabled:=true;
SendMsg2(' ..... Точим Предмет ..... ');
SendMsg2( ' ID : '+IntToStr(itemID)+' и ObjectID : '+IntToStr(enchantID)+' - до : '+IntToStr(maxlvl)+'' );
SendMsg2( '*******************************************' );end;
if FromServer and (pck[1]=#$87) then EnchantResult;
if FromServer and (pck[1]=#$11) then ItemList;
if FromServer and (pck[1]=#$7C) then ChooseInventory;
if FromClient and (pck[1]=#$49) then begin Resultmaxlvl;end;
if FromClient and (pck[1]=#$56) then begin ActionUse; pck:='';exit;end;
begin
if (start=false) and FromClient then
case pck[1] of
#$19:addtoskrolID;
#$D0:if ReadH(2)=76 then begin
l:=1;
SendMsg2(' выбор ________ предмета ' );
SendMsg2(' .................' );
end;
#$5F:begin
d:=1;
enchantObjectID:=ReadD(2);
if (t=1) and (l=1) and (d=1) then begin
itemID:=0;
itemID:= Getitem(enchantObjectID,2,3);//находим по ObjectID предмет с ItemID
if (itemID > 0) then autostart:=true;
SendMsg2 (' ID предмета : '+IntToStr(itemID)+' для заточки');
sumitem:=0;
sumitemID:=0;
sumitemID:=Getsumitem(itemID,3,5); // считаем предметы для заточки
if (sumitemID > 1) then sumitem:=1;
SendMsg2 (''+IntToStr(sumitem)+' Предметов для заточки с ID : '+IntToStr(itemID)+' = '+IntToStr(sumitemID)+' ШТ ');
SendMsg2(' .................' );
stopselectskrol;
end;
end;
end;
end;
end.
Плз не судите строго если выложил чего не так, это весь скрипт , рубанул его на 4 части