PDA

Просмотр полной версии : Памогите с макросом!!!



DaDec
18.06.2004, 12:00
Немуго прокачать хеалинг ,так как нету макроса на UOpilot
0.96 . На улей ! Скинте макрос каму нетрудно !

Destroyer
18.06.2004, 22:38
repeat 20
double_left 441, 314 500 // на улей
end_repeat
repeat 20
double_left 601, 540 // на бинты
wait 1000
left 401, 262 // на себя
wait 2000
end_repeat


А вообще лучше скачай пилот поновее, например 1.07

DaDec
20.06.2004, 16:52
Спосибо тока ты скожи где его скочать :) !?

Vase4ek
20.06.2004, 17:01
Спосибо тока ты скожи где его скочать :) !?
Яндекс решает, а вообще лови http://wknight.hotbox.ru/

Kernel
21.06.2004, 10:11
while hits = str
send w // LastObject (на всякий случай...)
double_left 419, 290 // улей
wait 100
end_while
while hits < str
double_left 948, 353 // бинты
wait 100
send w // LastObject
wait 2000
end_while

Вот это самый лучший скрипт на хилинг. Тот что наверху небезопасный.

---
Baal:<font color=green>ну про лучший я бы помолчал...:roll: до лучшего ему еще как пешком до Луны :) но для прокачки вполне сойдет, только безопасность тут ненамного лучше чем в верхнем варианте. Там месага после клика на улей вылезает что мол тебя пчелы покусали, вот если ее ждать - то будет безопасный. А так это всего лишь защита от мелкого лага, на большом - сляжет, правда его может и не быть если повезет :) Аналогично - с лечением.</font>

Slight
22.06.2004, 01:25
лучше скачай UOScript Oscom Edition и не парься... а вот те на него макрос...



Program UOScriptTest;
{$include sysutils.uops}
const
KeyLO = F12; { last object }
KeyLO_LT = F11; { last object - last target }
KeyLO_TS = F10; { last object - target self }

BandType = 3617;
HiveType = 2330;
MortarType = 3739;
BlackPearlType = 3962;
RefreshType = 3851;

procedure CreateRefresh;
var
MortarID,BlackPearlID : LongInt;
MenuHandle : LongInt;
bm : Array of String;
c : LongInt;
begin
if not _FindObject(MortarType,MortarID) then Exit;
if not _FindObject(BlackPearlType,BlackPearlID) then Exit;
SetLastObject(MortarType,MortarID);
SetLastTarget(BlackPearlID);
SendKey(KeyLO_LT);
//ждём открытия меню
c := 0;
Delay(1000);
while (not FindCraftMenu('potion',MenuHandle))or(c<10000) do begin
Delay(1000);
c := c + 1000;
end;
Delay(1000);
LeftDoubleClick(69,62);
SetArrayLength(bm,1);
bm[0] := 'put';
WaitForMessages(bm,15000);
end;

var
i : LongInt;
BandID,HiveID,RefreshID : LongInt;

bm : array of String; { break msg }
begin
GetJournal;
echo := false;
while true do begin
Eat;

if (_stam < Round(_dex*0.1)) then begin
//стамины стало слишком мало
CreateRefresh;
if _FindObject(RefreshType,RefreshID) then begin
SetLastObject(RefreshType,RefreshID);
SendKey(KeyLO);
Delay(2000);
end;
end;

//кликаем по улью
if _FindObject(HiveType,HiveID) then begin
SetLastObject(HiveType,HiveID);
for i:=0 to 0 do begin
SendKey(KeyLO);
Delay(1000);
end;
end else begin
ShowMessage('Can''t find bee hive!');
Exit;
end;


//лечимся
SetArrayLength(bm,3);
bm[0] := 'put';
bm[1] := 'barely';
bm[2] := 'mummy';
while _hits < _str do begin
if _FindObject(BandType,BandID) then SetLastObject(BandType,BandID) else begin
ShowMessage('No bandages left!');
Exit;
end;
SendKey(KeyLO_TS);
Delay(2000);
WaitForMessages(bm,10000);
end;
end;
end.

и теперь сам SysUtils.uops


//-----------------
// Message Box
//-----------------
const
MB_OK = 0;
MB_OKCANCEL = 1;
MB_STOPRETRYIGNORE = 2;
MB_YESNOCANCEL = 3;
MB_YESNO = 4;
MB_RETRYCANCEL = 5;

IDOK = 1;
IDCANCEL = 2;
IDSTOP = 3;
IDRETRY = 4;
IDIGNORE = 5;
IDYES = 6;
IDNO = 7;

MB_ICONERROR = 16;
MB_ICONQUESTION = 32;
MB_ICONWARNING = 48;
MB_ICONINFORMATION = 64;
function MessageBox(HWND: LongInt; aText: PChar; Caption: PChar; uType: Word): Longint; external 'MessageBoxA@user32.dll stdcall';
procedure ShowMessage(str : PChar);
begin
MessageBox(0,str,'Ultima Online',MB_OK);
end;

//-----------------------------------------------------------
//~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
//-----------------------------------------------------------

function _FindObject(aType : Word; var aID : LongInt) : boolean;
var
gumpList,gumpCnt : Longint;
i : LongInt;
hBP : LongInt;
sBP : String;
begin
Result := false;
GetGumpsList(gumpList);
GetListCount(gumpList,gumpCnt);
for i:=0 to gumpCnt-1 do begin
GetListItem(gumpList,i,hBP,sBP);
if FindObject(hBP, aType, aID) then begin
Result := true;
break;
end;
end;
FreeObjectsList(gumpList);
end;

//-----------------------------------------------------------
//~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
//-----------------------------------------------------------

// funkcija #djot soobwenij hronjawihsja v massive MSG
// i vozvrawaet nomer elemnta v massive i (-1) v slu4ae ne naho#denija
function WaitForMessages(amsg : array of String;period : LongInt) : LongInt;
var
c : LongInt; // vremja do vihoda
jCnt,i,j : LongInt;
s : String;
begin
c := 0;
Result := -1;
if echo then writeln('...WaitForMessages starts');
while (c<period) do begin
GetJournalNew;
GetJournalCount(jCnt);
if echo then writeln('find '+IntToStr(jCnt)+' messages');
for i:=0 to jCnt-1 do begin
GetJournalString(i,j_LowerCase,s);
if echo then writeln(IntToStr(i+1)+'.) mes :'+s);
for j:=0 to GetArrayLength(amsg)-1 do begin
if (Pos(amsg[j],s)>0) then begin
Result := j;
if echo then writeln(' ... find and exit');
Exit;
end;
end;
end;
Delay(1000);
if period>0 then c := c + 1000;
end;
if echo then writeln('...WaitForMessages ends');
end; { WaitForMassages }


P.S. в сисутилс я не включил всех процедур, чтобы не захламлять топик, если что не будет похать скажи, выложу.

DaDec
22.06.2004, 11:14
Всем спосибо за помащь !
Нашёл самый лёгкии вариант %)))
double_left На улей
double_left На бенты
send f11Ват фут таргет Таргет сельф :)))
wait 8000
И растёт хорошо :)))
На UoPilot/0.96