dark1463
2007-08-21 09:43:43
i need a alcher with a solid anti random/antiban script that will work with srl 4 beta:google:
2007-08-21 09:43:43
2007-08-21 12:44:11
2007-08-21 12:58:14
2007-08-21 14:21:22
2007-08-21 15:02:01
2007-08-21 19:15:24
2007-08-21 20:43:35
2007-08-21 21:00:20
From: mat_de_b
Arent there already high alchers about?
http://www.srl-forums.com/forum/search.php?searchid=240203
If i could id give you noob points for not searching :D
2007-08-21 21:19:36
2007-08-21 21:31:30
2007-08-21 23:31:04
2007-08-22 05:53:44
2007-08-22 07:27:01
2007-08-22 07:57:45
2007-08-22 08:00:18
2007-08-22 08:30:21
2007-08-22 08:55:06
2007-08-22 08:56:06
2007-08-22 13:41:44
From: mat_de_b
program AmpleAlcher;
///////////////////////////////////////////////
///// Updated by mat_de_b for SRL 4 BETA /////
//////////////////////////////////////////////
{/////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{Title: Ample Alcher }
{Version: 1.03 }
{Author: WhoCares357 }
{Special Thanks: God }
{Settings: Very Bright; 32 bit }
{Recommendation: Less Crowded Location }
{SetUp Lines: 19-84 }
{/////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{.include SRL\SRL.scar}
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Begin SetUp }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
const
RunD = 's'; //Direction to run from Attacking Random (n, s, w, e)
ItemToAlchName = ''; //Name of the item you are alching (for antiban)
FailedChecks = 5; //Amount of times to allow Double Check if Fail
//Recommended FailedChecks = 5
var x,y:integer;
{*******************************************************************************
procedure MMouseBox(xs, ys, xe, ye: Integer;);
By: mat_de_b edited from XxKanexX's MouseBox
Description: Moves mouse into a random position in the box.
*******************************************************************************}
procedure MMouseBox(xs, ys, xe, ye: Integer);
var
a, b: Integer;
begin
a := Max(xs, xe) - Min(xs, xe);
b := Max(ys, ye) - Min(ys, ye);
a := Random(a);
b := Random(b);
MMouse(xs + a, ys + b, 0, 0);
end;
procedure DeclarePlayers;
begin
HowManyPlayers := 6; //Amount of Characters using
NumberOfPlayers(HowManyPlayers); //Don't touch
CurrentPlayer := 0; //Player to start with (eg. Players[0] = 0)
Players[0].Name := 'Username'; //Username
Players[0].Pass := 'password'; //Password
Players[0].Nick := 'ern'; //3-4 small letters of Username
Players[0].Active := True; //Using Character?
Players[0].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[0].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[0].Integers[1] := 0; //Slot number of item to alch
Players[0].Integers[2] := 0; //Amount to Alch
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := ''; //3-4 small letters of Username
Players[1].Active := True; //Using Character?
Players[1].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[1].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[1].Integers[1] := 0; //Slot number of item to alch
Players[1].Integers[2] := 0; //Amount to Alch
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := ''; //3-4 small letters of Username
Players[2].Active := True; //Using Character?
Players[2].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[2].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[2].Integers[1] := 0; //Slot number of item to alch
Players[2].Integers[2] := 0; //Amount to Alch
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := ''; //3-4 small letters of Username
Players[3].Active := True; //Using Character?
Players[3].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[3].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[3].Integers[1] := 0; //Slot number of item to alch
Players[3].Integers[2] := 0; //Amount to Alch
Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := ''; //3-4 small letters of Username
Players[4].Active := True; //Using Character?
Players[4].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[4].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[4].Integers[1] := 0; //Slot number of item to alch
Players[4].Integers[2] := 0; //Amount to Alch
Players[5].Name := '';
Players[5].Pass := '';
Players[5].Nick := ''; //3-4 small letters of Username
Players[5].Active := True; //Using Character?
Players[5].Booleans[1] := True; //True=High Alch; False=Low Alch
Players[5].Booleans[2] := True; //True=Fire Staff; False=Fire Runes
Players[5].Integers[1] := 0; //Slot number of item to alch
Players[5].Integers[2] := 0; //Amount to Alch
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ End SetUp }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Do Not Touch Below }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
var
i, Total, Items, Failed, uxp, txp: Integer;
slvl, clvl: Integer;
FirstCheck: Boolean;
ItemAlch: String;
RedBulb, HighAlch, LowAlch: Integer; //DTM
Nat, Fire: Integer; //Bitmaps
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ My Signature }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure MySig;
begin
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('Thanks for Using the Ample Alcher');
WriteLn(' /\ ');
WriteLn(' __ / \ __ ______ ');
WriteLn(' \ \/ /\ \/ / / ____\ ');
WriteLn(' \ / \ / / / * ');
WriteLn(' \/ \/ \ \____/| ');
WriteLn(' * * \_______/ ');
WriteLn(' Brought to you by WhoCares357 ');
Wait(1000 + random(300));
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Forwarded for Early Use }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure SwitchNow; forward;
procedure DReport; forward;
function FailedCheck: Boolean; forward;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ StartUp of First Character }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure StartUp;
begin
Wait(200+random(100));
ClearDebug;
FirstCheck := true;
ItemAlch := ItemToAlchName;
Failed := 0;
Total := 0;
uxp := 0;
txp := 0;
clvl := 0;
slvl := 0;
SetupSRL;
DeclarePlayers;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
MySig;
ActivateClient;
Wait(200+random(100));
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Logs In First Character }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure LogIn;
begin
if not LoggedIn then
LogInPlayer;
Wait(200+random(500));
if Players[CurrentPlayer].Integers[2] <= 0 then
begin
WriteLn('Set the correct alch amount.');
WriteLn('');
LogOut;
SwitchNow;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Load Spell DTMs }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure LoadDTMs;
begin
HighAlch := DTMFromString('78DA63E4666060E0674001BFBEF130FC02D28' +
'C40FC1F081885800C2E0634C08844026990194C04D4B001091E02' +
'6A9830DD83A106E46661026A448184007E3500757D07B4');
LowAlch := DTMFromString('78DA63E46760601064400106070D187E01694' +
'620FE0F048C0240063B031A60442281B43090E027A04608488810' +
'50C305242408A8610612A204D4B063FA0B430D0761BB00CAA8072' +
'0');
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Looks for Item Bag Tab }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindTabs: Boolean;
begin
if TabExists(4) then
begin
Result := true;
end else
begin
WriteLn('Tab not found.');
WriteLn('');
Result := false;
LogOut;
SwitchNow;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Find Correct Magic Level }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure FindLvl;
begin
GameTab(2);
clvl := GetSkillLevel('Magic');
slvl := GetSkillLevel('Magic');
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Looks for Nature Rune }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindNat: Boolean;
begin
Nat := BitmapFromString(29, 2, 'z78DA7DCF410EC330080' +
'4C02F611CC3EE1170FCFF27D56AA22A55A57258090E6856644F33' +
'3719CB96C1E0E1EA0DC3D313850EC589034753541BCFA4620F0F0' +
'48286FC2430512416CE3B938DC249A53E3F84707084D2E9610C32' +
'2A242425468CB4BD65566AAABC9DF2D0FA6165E5E5DD3BDCA717E' +
'8CBCFAD69905FEDD582B22BDA2DFFEBFF6A7AF91F2D78B2B3DF7E' +
'EEDBBCCD8819F372BE0042484CD8');
Wait(100+random(200));
GameTab(4);
if FindBitmapToleranceIn(Nat, x, y, 555, 206, 746, 464, 50) then
begin
FreeBitmap(Nat);
Result := true;
Wait(100+random(200));
end else
begin
Result := false;
FreeBitmap(Nat);
WriteLn('Nature Rune(s) not found.');
WriteLn('');
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Looks for the Item (to alch) in Indicated Slot }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindItem: Boolean;
begin
GameTab(4);
if ExistsItem(Players[CurrentPlayer].Integers[1]) then
begin
Result := true;
end else
begin
Result := false;
WriteLn('Please place the item to alch in inv slot 1.');
WriteLn('');
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Looks for Fire Rune/Staff }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindFireSource: Boolean;
begin
if Players[CurrentPlayer].Booleans[2] = true then
begin
RedBulb := DTMFromString('78DA6394606060E06040011F4DE5187E01694' +
'620FE0F048CD2400627031A60442281B430906027A0460C48B010' +
'5003720F3701355240820BBF1A00ED94070B');
GameTab(5);
Wait(100+random(200));
if FindDTM(RedBulb, x, y, 593, 288, 610, 304) then
begin
Result := true;
FreeDTM(RedBulb);
end else
begin
Result := false;
WriteLn('Please wield the fire staff and restart.');
WriteLn('');
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end else
begin
Fire := BitmapFromString(29, 2, 'z78DA758F510A03310844A' +
'F646CE28C9F9A6CEE7FA4864D282D4B15DEC788F8145955ACB5D9' +
'065E9696482894868E247061D0299887496509AA96B6C9C9C6E64' +
'2A37DE79BDE18743776E64F1E6B6F1EA6CBEAE1BA7A7AF5BA56BA' +
'67CCA85113D1A3CBEDB9B90E8909C4DC1C8E026101C1C38A401CF' +
'F9B4FABE717C7EACF17674A5E1CC7F9B68DB214EC63ABA1699111' +
'DBF30DE7B84C35');
GameTab(4);
if FindBitmapToleranceIn(Fire, x, y, 558, 205, 742, 464, 50) then
begin
Result := true;
FreeBitmap(Fire);
end else
begin
WriteLn('Fire Runes not found.');
WriteLn('');
FreeBitmap(Fire);
Result := false;
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Looks for Alching Spell(s) }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindSpell: Boolean;
begin
GameTab(7);
if Players[CurrentPlayer].Booleans[1] = True then
begin
if FindDTM(HighAlch, x, y, 558, 210, 738, 446) then
begin
Result := true;
end else
begin
WriteLn('Spell not found.');
WriteLn('');
Result := false;
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end else
begin
if FindDTM(LowAlch, x, y, 558, 210, 738, 446) then
begin
Result := true;
end else
begin
WriteLn('Spell not found.');
WriteLn('');
clvl := GetSkillLevel('Magic');
Result := false;
LogOut;
SwitchNow;
end;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Checks all Requirements for Begin }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function Check: Boolean;
begin
if FirstCheck then
FindLvl;
if FindTabs and FindNat and FindItem and
FindFireSource and FindSpell and not FailedCheck then
begin
WriteLn('All requirements in order.');
WriteLn('');
Result := true;
FirstCheck := false;
end else
begin
Result := false;
clvl := GetSkillLevel('Magic');
LogOut;
SwitchNow;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Checks if Switch Player Needed/Switches Player }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure SwitchNow;
begin
if not (LoggedIn) or (Items >= Players[CurrentPlayer].Integers[2]) then
begin
if LoggedIn then
clvl := GetSkillLevel('Magic');
slvl := GetSkillLevel('Magic');
LogOut;
if (Items >= Players[CurrentPlayer].Integers[2]) then
begin
WriteLn('Alched all required for ' + Players[CurrentPlayer].Name);
WriteLn('Switching character.');
WriteLn('');
end;
if (Items >= Players[CurrentPlayer].Integers[2]) or not (LoggedIn) then
begin
DReport;
MySig;
NextPlayer(false);
FirstCheck := true;
Wait(100 + random(200));
Check;
Items := 0;
uxp := 0;
Failed := 0;
if Players[CurrentPlayer].Integers[2] <= 0 then
begin
WriteLn('Set the correct alch amount.');
WriteLn('');
LogOut;
Exit;
end;
end;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Anti-Ban }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function MyAntiBan: Boolean;
begin
i := random(1000);
if i > 300 then
begin
case random(100) of
1: begin MMouseBox(MSx1, MSy1, MSx2, MSy2);
Result := true; Wait(2000 + random(500)); end;
13: begin MMouseBox(MIx1, MIy1, MIx2, MIy2);
Result := true; Wait(2000 + random(500)); end;
25: begin GameTab(2); HoverSkill('Magic', False); Result := true;
Wait(2000 + random(500)); end;
38: begin RandomRClick; Result := true; Wait(2000 + random(500));
end;
59: begin PickUpMouse; Result := true; Wait(2000 + random(500));
end;
83: begin AlmostLogout; Result := true; Wait(2000 + random(500));
end;
99: begin BoredHuman; Result := true; Wait(2000 + random(500));
end;
else Result := false;
end;
end else
Result := false;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Chat Anti-Ban }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function MyTalkAntiBan: Boolean;
begin
{//Chat Mage Level\\}
if InChat('lvl') or InChat('level') or InChat('age')
or InChat('agic') then
begin
TypeSend(IntToStr(clvl));
Result := true;
case random(2) of
0: TypeSend('You?');
end;
end;
{\\Chat Mage Level//}
{//Chat Greeting\\}
if InChat('Hi') or InChat('Hello') or InChat('Yo')
or InChat('Hey') then
begin
Result := false;
case random(7) of
0: TypeSend('Hi');
1: TypeSend('So boring...');
2: TypeSend('Go away.');
3: TypeSend('Only ' + IntToStr(Players[CurrentPlayer].Integers[2] - Items)
+ ' to go!');
4: TypeSend('Hello');
5: TypeSend('Wuzup');
6: TypeSend('Yo');
end;
end;
{//Chat Greeting\\}
{//Chat Item\\}
if InChat('hat') and InChat('alch') then
begin
Result := true;
if not ItemAlch = '' then
TypeSend(ItemAlch);
end;
{\\Chat Item//}
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Edited FindLamp }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FindLampEx(Skill: string): Boolean; //Starblaster + Pups
var
LampTime: Integer;
begin
GameTab(4);
if FindColorTolerance(x, y, 1488053, 550, 200, 745, 465, 25) then
begin
if (FindBitmapSpiralTolerance(Lamp, x, y, 550, 200, 745, 465, 25)) then
begin
Mouse(90, 441, 15, 3, true); //added
Result := True;
if (Screenshots) then
SaveScreenshot('Lamp Random - Stupid3ooo - ' + TimeRunning + '.bmp');
WriteLn('******** SOLVED LAMP RANDOM ********');
WriteFileString(TheFile, '******** SOLVED LAMP RANDOM ********' + Chr(13))
Lamps := Lamps + 1;
Players[CurrentPlayer].Rand := 'Lamp';
Mouse(x, y, 1, 1, True);
Wait(1500 + Random(500));
MarkTime(LampTime);
repeat
case (LowerCase(Skill)) of
'strength': Mouse(191, 134, 12, 12, True);
'attack': Mouse(222, 136, 12, 12, True);
'ranged': Mouse(256, 134, 12, 12, True);
'magic': Mouse(289, 135, 12, 12, True);
'defence': Mouse(319, 136, 12, 12, True);
'hitpoints', 'hp': Mouse(176, 166, 12, 12, True);
'prayer', 'pray': Mouse(208, 163, 12, 12, True);
'agility': Mouse(239, 165, 12, 12, True);
'herblore': Mouse(271, 165, 12, 12, True);
'thieving', 'thief': Mouse(303, 164, 12, 12, True);
'crafting', 'craft': Mouse(335, 164, 12, 12, True);
'runecraft', 'runecrafting': Mouse(174, 193, 12, 12, True);
'slayer', 'slay': Mouse(205, 195, 12, 12, True);
'farming', 'farm': Mouse(239, 193, 12, 12, True);
'mining', 'mine': Mouse(270, 194, 12, 12, True);
'smithing', 'smith': Mouse(302, 194, 12, 12, True);
'fishing', 'fish': Mouse(334, 192, 12, 12, True);
'cooking', 'cook': Mouse(173, 220, 12, 12, True);
'firemaking', 'fire': Mouse(206, 220, 12, 12, True);
'woodcutting', 'wc': Mouse(240, 220, 12, 12, True);
'fletching', 'fletch': Mouse(274, 220, 12, 12, True);
'construction': Mouse(303, 220, 12, 12, True);
'hunting','hunt': Mouse(335, 220, 12, 12, True);
end;
Wait(500 + Random(200) + Random(100));
if (TimeFromMark(LampTime) > 30000) then
begin
Logout;
Exit;
end;
until (FindColorTolerance(x, y, 2303647, 155, 117, 370, 250, 0));
Mouse(261, 277, 1, 1, True);
Wait(500 + Random(150) + Random(150));
end;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ NonInventory Anti-Randoms }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function NonInvRandoms: Boolean;
begin
if LoggedIn then
begin
if FindNormalRandoms then
Result := true;
if FindFight then
begin
Result := true;
RunAwayDirection(RunD);
Wait(10000 + random(2000));
RunBack;
end;
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Full Anti-Ban/Wait if No Anti-Ban }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure FullAnti;
begin
if not MyAntiBan and not NonInvRandoms and not MyTalkAntiBan then
begin
Wait(1000 + random(1000));
end;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ If Failed is Amount or More, Switch Player }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function FailedCheck: Boolean;
begin
if Failed >= FailedChecks then
begin
Result := true;
WriteLn('Could not continue script.');
WriteLn('Please check the problem Manually.');
WriteLn('');
LogOut;
SwitchNow;
end else
Result := false;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Clicks Spell }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
function Spell: Boolean;
begin
GameTab(7);
Wait(200 + random(200));
{//If High Alch\\}
if Players[CurrentPlayer].Booleans[1] then
begin
if FindDTM(HighAlch, x, y, 708, 319, 735, 350) then
begin
Wait(100 + random(100));
MMouse(x, y, 2, 2);
Wait(100 + random(50 + random(20)));
if IsUpText('igh') then
begin
Mouse(x, y, 2, 2, true);
Result := true;
Wait(400 + random(200));
end else
begin
WriteLn('Could not find Spell.');
WriteLn('');
Failed := Failed + 1;
Check;
Result := false;
end;
end else
begin
WriteLn('Could not find Spell.');
WriteLn('');
Failed := Failed + 1;
Check;
Result := false;
end;
end else
{\\If High Alch//}
{//If Low Alch\\}
begin
if FindDTM(LowAlch, x, y, 710, 249, 733, 276) then
begin
Wait(100 + random(100));
MMouse(x, y, 2, 2);
Wait(100 + random(50 + random(20)));
if IsUpText('ow') then
begin
Mouse(x, y, 2, 2, true);
Result := true;
Wait(400 + random(200));
end else
begin
WriteLn('Could not find Spell.');
WriteLn('');
Failed := Failed + 1;
Check;
Result := false;
end;
end else
begin
WriteLn('Could not find Spell.');
WriteLn('');
Failed := Failed + 1;
Check;
Result := false;
end;
end;
{\\If Low Alch//}
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Clicks Item }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure ItemClick;
begin
if not LoggedIn then
Exit;
{//If High Alch\\}
if Players[CurrentPlayer].Booleans[1] then
begin
if ExistsItem(Players[CurrentPlayer].Integers[1]) then
begin
MMouseItem(Players[CurrentPlayer].Integers[1]);
if IsUpText('igh') then
begin
MouseItem(Players[CurrentPlayer].Integers[1], true);
Wait(1000+random(200));
if GetCurrentTab = 7 then
begin
Failed := 0;
Items := Items + 1;
Total := Total + 1;
uxp := uxp + 65;
txp := txp + 65;
SwitchNow;
Exit;
end else
begin
Failed := Failed + 1;
Exit;
end;
end else
begin
Failed := Failed + 1;
Check;
Exit;
end;
end else
begin
Check;
Exit;
end;
end else
{\\If High Alch//}
{//If Low Alch\\}
begin
if ExistsItem(Players[CurrentPlayer].Integers[1]) then
begin
MMouseItem(Players[CurrentPlayer].Integers[1]);
if IsUpText('ow') then
begin
MouseItem(Players[CurrentPlayer].Integers[1], true);
Wait(1000+random(200));
if GetCurrentTab = 7 then
begin
Failed := 0;
Items := Items + 1;
Total := Total + 1;
uxp := uxp + 31;
txp := txp + 31;
SwitchNow;
Exit;
end else
begin
Failed := Failed + 1;
Exit;
end;
end else
begin
Failed := Failed + 1;
Check;
Exit;
end;
end else
begin
Failed := Failed + 1;
Check;
Exit;
end;
end;
{\\If Low Alch//}
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Report }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
procedure DReport;
begin
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('');
WriteLn('<><><><><><><><><>Ample Alcher<><><><><><><><>');
WriteLn('Current Character: ' + Players[CurrentPlayer].Name);
WriteLn('Items Alched for ' + Players[CurrentPlayer].Name +
': ' + IntToStr(Items));
WriteLn('Items Left for ' + Players[CurrentPlayer].Name +
': ' + IntToStr(Players[CurrentPlayer].Integers[2] - Items));
WriteLn('Total Alched: ' + IntToStr(Total));
WriteLn('Levels Gained for ' + Players[CurrentPlayer].Name +
': ' + IntToStr(clvl - slvl));
WriteLn('XP Gained for ' + Players[CurrentPlayer].Name +
': ' + IntToStr(uxp));
WriteLn('Total XP Gained: ' + IntToStr(txp));
WriteLn('Worked for: ' + inttostr(GetTimeRunning));
WriteLn('<><><><><><><><><><><><><><><><><><><><><><><><>');
SRLRandomsReport;
end;
{/////////////////////////\\\\\\\\\\\\\\\\\\\\\\\}
{ Main Loop }
{\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////}
begin
{//First Player StartUp\\}
StartUp;
LogIn;
LoadDTMs;
slvl := GetSkillLevel('Magic'); //First check of level (to subtract)
Check;
{\\First Player StartUp//}
begin
repeat
if LoggedIn then
begin
{//Spell/Item Click\\}
if Spell then
begin
ItemClick;
SwitchNow;
end;
end;
{\\Spell/Item Click//}
{//Double-Check + Report\\}
if LoggedIn and not FailedCheck then
begin
FullAnti;
DReport;
end else
SwitchNow;
{\\Double-Check + Report//}
until(false);
end;
end.
If it works feel free to rep, else feel free to complain :D
BTW WhoCares357, if you dont want this posted just pm me and ill take it down
2007-08-22 16:35:03
2007-08-22 16:45:33
2007-08-24 10:25:06
2007-08-24 11:56:46