@SunnyMaiden,
http://rawr.su/topic/49-zatochka-na-ile-kliker-adrenalin/
uses SysUtils;
function SetCursorPos(x, y : integer): boolean; stdcall; external 'user32.dll';
function mouse_event(dwFlags, dx, dy, dwData: byte; dwExtraInfo: integer): void; stdcall; external 'user32.dll';
function GetAsyncKeyState(vKey: integer): integer; stdcall; external 'user32.dll';
procedure mouseClick(_delay : integer = 100);
begin
mouse_event($2, 0, 0, 0, 0);
delay(_delay);
mouse_event($4, 0, 0, 0, 0);
end;
function CheckItemEnchantLevel(const itemID: Integer; const quest: Boolean = False) : Integer;
var tempItem: TL2Item;
begin
if quest then Inventory.Quest.ByID(itemID, tempItem)
else Inventory.User.ByID(itemID, tempItem);
Result := tempItem.EnchantLevel;
end;
var
Ench: cardinal;
p2,p1,p: pointer;
action: TL2Action;
inv: TInventory;
e, endEnch, d: Integer;
const
safeEnch:integer=3;
begin
while engine.status = lsOnline do
begin
endEnch:=16; //требуемая заточка
d:=200; //пауза
if user.sitting then break;
if (GetAsyncKeyState(45)<>0) then break;
engine.useitem(6577);
delay(d);
//SetCursorPos(1712,92); //coord item
SetCursorPos(32,92);
delay(d);
mouseClick();
delay(d);
//SetCursorPos(1776,405); //coord ok
SetCursorPos(96,405);
delay(d);
mouseclick();
delay(2*d);
e := CheckItemEnchantLevel(6590);
print(e);
if(e>=endEnch) then break;
end;
end.
ну или вот, когда садишься и нажимаешь кнопку, вроде инсерт то прекращается заточка, ну тут думаю разобраться не сложно уже.