Оффтоп
Код:
//-----------------------------------------
procedure Init;
begin
UseForConnectName := myname;
t:=0;l:=0;d:=0;
autostart:=false;flag:=false;selectID:=false;
autoMsg:=true;start:=false;select:=false;
GetiD:=0;sumskrol:=0;objectOID:=0;
maxlvl:=0;itemID:=0; enchantID:=0;
ItemEnch:=0;skrolObjectID:=0;
enchantObjectID:=0;
Timer01:=TTimer.Create(nil);
Timer01.OnTimer:=@OnTimer01;
Timer01.enabled:=false;
Timer01.interval:=200; //<<== время выбора свитка
Timer02:=TTimer.Create(nil);
Timer02.OnTimer:=@OnTimer02;
Timer02.enabled:=false;
Timer02.interval:=500; //<<== время выбора предмета
Timer03:=TTimer.Create(nil);
Timer03.OnTimer:=@OnTimer03;
Timer03.enabled:=false;
Timer03.interval:=3800; //<<== время между заточкой
SendMsg2( ' Привет от TAMBIKa' );
SendMsg2( 'в пати чат пишем уровень заточки' );
SendMsg2( ' заточить предметы один раз ! ! !' );
SendMsg2( ' СТАРТ соцдействие ДА ' );
SendMsg2( ' СТОП соцдействие НЕТ' );
SendMsg2('В К Л сообщения соцдействие-приветствие\hello ' );
SendMsg2('ВЫКЛ сообщения соцдействие-победа\victory ' );
SendMsg2( '------------------------------------- ' );
deleteBase;
OpenInventory;//открыть инвентарь.14=RequestItemList
for ii:=1 to max do
BaseID[ii]:=0;
end;
procedure Free;
begin
Timer01.free;
Timer02.free;
Timer03.free;
end;
//=========================
procedure OpenInventory;//открыть инвентарь.14=RequestItemList
begin
buf:=hstr('2F');
SendToServer;
end;
//=========================
procedure RequestActionUse;
begin
case ReadD(2) of
12:begin autoMsg:=true;end;
13:begin autoMsg:=false;end;
24:begin
if (maxlvl=0) then SendMsg2 (' Неуказан Уровень Заточки ');
if (autostart=false) then SendMsg2( 'предмет незаточен или пакеты неприняты !' );
if autostart and (maxlvl>0) then begin
SendMsg2( ' ! ! ! П О Е Х А Л И ! ! !' );
SendMsg2( '_______________________________' );
start:=true;
GetItemID ;
end;
end;
25:begin
stopEnchantItem;// остановка скрипта
SendMsg2( ' ! ! ! С Т О П ! ! ! ' );
stopselectskrol;
end;
end;
end;
//=========
procedure stopEnchantItem;// остановка скрипта
begin
autoMsg:=true;
start:=false;
deleteBase;
enchantID:=0;
ItemEnch:=0;
stopselectskrol;// отмена выбора скролл
SendMsg2 (' ___ О С Т А Н О В Л Е Н О ___ ');
Timer01.enabled:=false;
Timer02.enabled:=false;
Timer03.enabled:=false;
end;
//=========
begin
//не обрабатываем пустые пакеты
if pck='' then exit;
if FromServer and (pck[1]=#$11) then begin ItemList;end;
if FromServer and (pck[1]=#$7C) then begin ChooseInventory;end;
if FromClient and (pck[1]=#$38) then begin Resultmaxlvl;pck:='';exit;end;
if FromClient and (pck[1]=#$15) then begin RequestActionUse;pck:='';exit;end;
begin
if (start=false) and FromClient then
case pck[1] of
#$0C:begin
t:=0;
OpenInventory;//открыть инвентарь
skrolObjectID:=0;
skrolID:=0;
skrolObjectID:=ReadD(2);
skrolID:= Getitem(skrolObjectID,2,3);//находим по ObjectID скрол с ItemID
stopselectskrol;
if (skrolID = 0) then SendMsg2(' . SKROLL ID НЕТ .' );
if (skrolID > 0) then begin
t:=1;
sumskrol:=0;
sumskrol:=Getitem(skrolID,3,5);
SendMsg2(' .................' );
SendMsg2(' активирован SKROLL ID : '+IntToStr(skrolID)+' = '+IntToStr(sumskrol)+' ШТ' );
SendMsg2(' .................' );
end;end;
#$43:if ReadH(2)=76 then begin
l:=1;
SendMsg2(' Выбор Предмета для Заточки ' );
SendMsg2(' .................' );
end;
#$65:begin
enchantObjectID:=0;
enchantObjectID:=ReadD(2);
itemOID:=0;
itemOID:=Getitem(enchantObjectID,2,3);//находим по ObjectID предмет с ItemID
if (itemOID > 0) then begin
d:=1;
if (t=1) and (l=1) and (d=1) then begin
autostart:=true;
SendMsg2 (' заточен предмет c ID : '+IntToStr(ItemOID)+' ');
SendMsg2(' .................' );
addIDtoarray(ItemOID);//добавляем в базу ID предмета
stopselectskrol;
end;
end;
end;
end;
end;
end.
Через два часика вернусь еще раз посмотрю в чем там дело
Последний раз редактировалось Maxima, 08.12.2009 в 16:27.
|