kyleinkman
2013-03-22 16:07:26
How Long have You Played Runescape?
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
My only programing knowledge is what I've learned here on villavu from all of you guys. I feel I have learned a fair amount of pascal since being here, and also I can use APPA
Are you a member of any other communities?
Youtube
Tell us about yourself…
Please show us one (or multiple) of your scripts.
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
My only programing knowledge is what I've learned here on villavu from all of you guys. I feel I have learned a fair amount of pascal since being here, and also I can use APPA
Are you a member of any other communities?
Youtube
Tell us about yourself…
From: kyleinkman
Well my name is Kyle and I am a long time runescape player, I find myself to be a friendly and positive member of this community and since day one I have had a passion for scripting wich you guys have helped me succeed in. I am from Canada and I am a Tattoo artist. I like this community because it has helped me learn so much about scripting and I learn somthing new every day I am here.
My interests include : scripting,drawing,tattooing,guitar, and doing flips(like backflips and stuff Youtube vid avail on request :P)
I hope you guys feel that I am ready to be a member just like you guys and if you feel I am not ready please pm me and let me know what I can do to be ready to join you guys :)
Please show us one (or multiple) of your scripts.
program new;
{$define smart8}
{$i srl/srl.simba}
{$i sps/sps.simba}
{$I srl/srl/misc/SmartGraphics.simba}
const
AreYouInTheMine = True;
DoYouWantGraphics = True;
AreYouHoldingPicaxe = True;
DoYouWantMiniBreaks = True;
DoIMineMith = False;
DropOre = False;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
var
x, y, h, i, j, k: integer;
ATPA: t2DPointArray;
TPA: tPointArray;
background: integer;
function FindOreToDrop(): boolean;
var
rock: integer;
x, y: integer;
found: extended;
begin
result := false;
rock := DTMFromString('mggAAAHicY2NgYJjGxMAwG4gXAvFcIO4C4olAbMnIwGACxFZA7AzE1kB' + 'sAMSzpkwG6mLCwEYM2AEjDgwBALWcBvs=');
if (FindDTMRotatedSE(rock, x, y, MIx1, MIy1, MIx2, MIy2, Pi / 6, 5 * Pi / 6, Pi / 60, found)) then
begin
mmouse(x, y, 5, 5);
wait(300 + random(200));
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_right);
WaitOption('rop', 2000);
result := true;
end;
freeDTM(rock);
end;
function GetToMine(): boolean;
var
myPath: array of TPoint;
tele, fally: integer;
arr: extended;
begin
if not (AreYouInTheMine) then
begin
FTab(tab_Magic);
wait(50 + random(100));
tele := BitmapFromString(7, 4, 'meJxjYmCQ17VQMrTVtPbUsvHRcwo2' + 'co9kYmAAiqiaOgEFte38DNzCTbzjgILKxg5q5q4QZcaeMWZ+SUBBo' + 'AhcGVAEiACifRFV');
if (FindDeformedBitmapToleranceIn(tele, x, y, mix1, miy1, mix2, miy2, 10, 0, false, arr)) then
begin
mmouse(x, y, 6, 3);
wait(300 + random(200));
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
freeBitmap(tele);
wait(50 + random(100));
mousebox(660, 306 - 50, 670, 317 - 50, mouse_left);
wait(50 + random(50));
mousebox(570, 349 - 50, 581, 358 - 50, mouse_left);
fally := BitmapFromString(7, 4, 'meJxjYmCQ17VQMrTVtPbUsvHRcwo2' + 'co9kYmAAiqiaOgEFte38DNzCTbzjgILKxg5q5q4QZcaeMWZ+SUBBo' + 'AhcGVAEiACifRFV');
if (FindDeformedBitmapToleranceIn(fally, x, y, mix1, miy1, mix2, miy2, 10, 0, false, arr)) then
begin
mmouse(x, y, 6, 3);
wait(300 + random(200));
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
freeBitmap(fally);
wait(20000 + random(1500));
myPath := [Point(3662, 2978), Point(3658, 2990), Point(3657, 3002), Point(3657, 3019), Point(3660, 3033), Point(3657, 3043), Point(3659, 3056), Point(3661, 3065), Point(3664, 3075), Point(3672, 3080), Point(3692, 3085), Point(3701, 3088), Point(3715, 3090), Point(3723, 3099), Point(3734, 3103), Point(3742, 3111), Point(3752, 3119), Point(3764, 3124), Point(3779, 3138), Point(3796, 3151), Point(3811, 3148), Point(3826, 3150), Point(3837, 3153), Point(3847, 3153), Point(3866, 3155), Point(3879, 3162), Point(3887, 3172), Point(3890, 3187), Point(3895, 3198), Point(3903, 3203), Point(3914, 3211), Point(3918, 3225), Point(3918, 3245), Point(3916, 3250), Point(3914, 3254), Point(3902, 3254), Point(3887, 3254), Point(3878, 3249)];
SPS_WalkPath(myPath);
while (ismoving) do
wait(50);
if FindColorspiralTolerance(x, y, 4877954, 92, 121 - 50, 475, 347 - 50, 71) then
begin
mmouse(x, y, 3, 3);
if (waitUpTextMulti(['limb', 'adder'], 800)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
wait(1500 + random(300));
myPath := [Point(301, 536), Point(306, 537), Point(311, 537), Point(319, 536), Point(352, 530), Point(356, 527), Point(365, 523), Point(376, 511), Point(376, 510), Point(381, 499), Point(386, 491), Point(387, 487), Point(389, 481), Point(395, 471), Point(394, 465)];
SPS_WalkPath(myPath);
while (ismoving) do
wait(50);
if FindColorspiralTolerance(x, y, 4608337, 92, 121 - 50, 475, 347 - 50, 71) then
begin
mmouse(x, y, 3, 3);
if (waitUpTextMulti(['pen', 'oor'], 800)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
wait(1500 + random(300));
myPath := [Point(395, 451), Point(391, 442), Point(385, 436), Point(380, 430), Point(375, 424), Point(369, 419), Point(364, 416), Point(352, 408), Point(345, 402)];
SPS_WalkPath(myPath);
while (ismoving) do
wait(50);
if FindColorspiralTolerance(x, y, 2043858, 92, 121 - 50, 475, 347 - 50, 71) then
begin
mmouse(x, y, 3, 3);
if (waitUpTextMulti(['nter', 'ntrance'], 800)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
wait(1500 + random(300));
end
else
exit;
end;
end;
end;
end;
end;
end;
end;
end;
end;
function ClickRocks(): boolean;
begin
if not (DoIMineMith) then
begin
result := false;
if (FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1381653, MSX1, MSY1, MSX2, MSY2, 8)) then
begin
ATPA := splitTPA(TPA, 4);
h := high(ATPA);
for i := 0 to h do
begin
middleTPAEx(ATPA[i], x, y);
mmouse(x, y, 3, 3);
if (waitUpText('oal', 2000)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
result := true;
exit;
end;
end;
end;
end
else
result := false;
if (FindColorsSpiralTolerance(MSCX, MSCY, TPA, 8345429, MSX1, MSY1, MSX2, MSY2, 8)) then
begin
ATPA := splitTPA(TPA, 4);
h := high(ATPA);
for i := 0 to h do
begin
middleTPAEx(ATPA[i], x, y);
mmouse(x, y, 3, 3);
if (waitUpText('ithril', 2000)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
result := true;
end;
if (DropOre) then
begin
FindOreToDrop();
exit;
end;
end;
end;
end;
function ClickBank(): boolean;
begin
result := false;
if (FindColorsSpiralTolerance(MSCX, MSCY, TPA, 6587801, MSX1, MSY1, MSX2, MSY2, 8)) then
begin
ATPA := splitTPA(TPA, 4);
j := high(ATPA);
for i := 0 to h do
begin
middleTPAEx(ATPA[k], x, y);
mmouse(x, y, 3, 3);
if (waitUpText('eposit', 2000)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
result := true;
exit;
end;
end;
end;
end;
function DepositOre(): boolean;
var
Bmp: integer;
x, y: integer;
arr: extended;
begin
result := false;
Bmp := BitmapFromString(7, 4, 'meJxjYmCQ17VQMrTVtPbUsvHRcwo2' + 'co9kYmAAiqiaOgEFte38DNzCTbzjgILKxg5q5q4QZcaeMWZ+SUBBo' + 'AhcGVAEiACifRFV');
if (FindDeformedBitmapToleranceIn(Bmp, x, y, mix1, miy1, mix2, miy2, 10, 0, false, arr)) then
begin
mmouse(x, y, 6, 3);
wait(300 + random(200));
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_right);
WaitOption('All', 2000);
result := true;
end
else
begin
MouseBox(165, 129 - 50, 175, 138 - 50, mouse_right);
wait(500 + random(500));
waitoption('All', mouse_left);
wait(500 + random(500));
end;
freeBitmap(Bmp);
end;
procedure WalkToBank;
var
myPath: array of TPoint;
begin
case RandomRange(1, 4) of
1: myPath := [Point(185, 630), Point(173, 640), Point(161, 642), Point(150, 639), Point(123, 639), Point(106, 636), Point(104, 628)];
2: myPath := [Point(181, 628), Point(161, 639), Point(143, 639), Point(131, 639), Point(103, 632)];
3: myPath := [Point(186, 628), Point(171, 644), Point(159, 644), Point(144, 641), Point(127, 639), Point(109, 642), Point(101, 629)];
4: myPath := [Point(184, 629), Point(167, 645), Point(153, 641), Point(128, 639), Point(101, 627)];
end;
SPS_WalkPath(myPath);
end;
procedure DetectDoneMining();
var
failsafeTime, invNum: integer;
begin
invNum := InvCount;
if (invNum < 28) then
begin
marktime(failsafeTime);
repeat
wait(20 + random(100));
findnormalrandoms();
until (InvCount > invNum) or (timeFromMark(failsafeTime) > 15000) or (InvFull);
wait(100 + random(100));
end;
end;
function WalkToCoal(): boolean;
var
myPath: array of TPoint;
begin
if (doiminemith) then
begin
exit;
end
else
begin
case RandomRange(1, 4) of
1: myPath := [Point(103, 632), Point(117, 637), Point(131, 637), Point(141, 637), Point(159, 640), Point(167, 640), Point(182, 640), Point(186, 636)];
2: myPath := [Point(102, 628), Point(108, 632), Point(129, 640), Point(148, 637), Point(171, 646), Point(185, 641)];
3: myPath := [Point(101, 631), Point(114, 635), Point(129, 632), Point(138, 640), Point(157, 638), Point(168, 647), Point(179, 628)];
4: myPath := [Point(102, 632), Point(110, 640), Point(126, 639), Point(138, 639), Point(148, 645), Point(168, 640), Point(181, 639), Point(182, 648)];
end;
SPS_WalkPath(myPath);
end;
end;
procedure AntiBan;
begin
case Random(100) of
1:
begin
HoverSkill('mining', False);
FTab(tab_Inv);
end;
2: BoredHuman;
3: PickUpMouse;
4: RandomRClick;
5:
begin
HoverSkill('random', False);
FTab(tab_Inv);
end;
end;
end;
procedure MiniBreak;
begin
case RandomRange(1, 4) of
1: wait(300 + random(150));
2: wait(1000 + random(1000));
3: wait(5000 + random(5000));
4: wait(400 + random(3000));
end;
end;
function DoIMini(): boolean;
begin
if (DoYouWantMiniBreaks) then
case RandomRange(1, 4) of
1: wait(100 + random(150));
2:
begin
Minibreak;
end;
3: wait(100 + random(100));
4: wait(100 + random(100));
end
else
begin
exit;
end;
end;
var
TotalCoal: integer;
procedure Proggy();
begin
incEx(TotalCoal, 28);
clearDebug();
writeln('Coal: ' + tostr(TotalCoal));
writeln('Coal/Hr: ' + tostr(Round(TotalCoal * (3600.0 / (GetTimeRunning / 1000.0)))));
writeLn('Total Time: ' + TimeRunning);
end;
procedure setupPlayer();
begin
if (DoYouWantGraphics) then
begin
Background := BitmapFromString(353, 52, 'meJztnW1vFDcQx9G950VTCSltQ' + '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' + 'tIOSQioIaLAUn3ohyUA7nmcPjl2//B+gKH7A=');
end
else
exit;
end;
begin
setupsrl;
SPS_Setup(RUNESCAPE_SURFACE, ['9_7', '9_8']);
SPS_Setup(RUNESCAPE_OTHER, ['dwarven_mine']);
declarePlayers();
LoginPlayer;
setupPlayer();
{$IFDEF SMART}
SMART_DrawBitmap(true, background, inttopoint(0, - 50));
{$ENDIF}
proggy();
ClickNorth(SRL_ANGLE_HIGH);
GetToMine();
repeat
if (clickRocks) then
begin
detectDoneMining();
if (InvFull) then
begin
AntiBan;
wait(200 + random(200));
WalkToBank;
while (ismoving) do
wait(50 + random(50));
ClickBank;
wait(200 + random(100));
DoIMini();
Proggy();
WalkToCoal;
end;
end;
until (false);
end.
program new;
{$define smart8}
{$i srl/srl.simba}
{$i w/wObject.simba}
// thanks to x[Warrior]x3500 for the use of Wobject
var
wObj: array [0..15] of wObject;
currentArmor: integer;
breakTime,breakLength: array of Integer;
totalTimeOnPlayer: integer;
bkgdGlobalBMP: integer;
const
debug = true;
procedure declareplayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
breakTime:= [93,83,160,38,205]; // break after X amount of minutes
breakLength:= [13,8,5,3,24]; // break for X amount of minutes
totalTimeOnPlayer:= 15*60; // play for a total amount of minutes
end;
////////////////////////////////////////////////////////////////////////
// title: procedure loadObjects; //
// author: x[Warrior]x3500 //
// description: sets up Objects //
////////////////////////////////////////////////////////////////////////
procedure loadObjects;
begin
with wObj[0] do
begin
name := 'depositore';
uptext := ['ithdraw-ingots','melter'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.68
color.CTSModTwo:= 1.09
color.startColor:= 11434103
color.colorTol:= 17
color.xModS:= 13.52
color.xModE:= 47.3999999999999
color.yModS:= 11.2
color.yModE:= 51.5799999999999
color.zModS:= 20.7999999999999
color.zModE:= 65.4399999999999
end;
with wObj[1] do
begin
name := 'smith';
uptext := ['nvil'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.1
color.CTSModTwo:= 0.32
color.startColor:= 8491927
color.colorTol:= 10
color.xModS:= 17.59
color.xModE:= 38.5099999999999
color.yModS:= 18.68
color.yModE:= 41.14
color.zModS:= 16.5099999999999
color.zModE:= 36.14
end;
with wObj[2] do
begin
name := 'smith';
uptext := ['nvil'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.09
color.CTSModTwo:= 0.37
color.startColor:= 8754842
color.colorTol:= 9
color.xModS:= 20.02
color.xModE:= 38.5099999999999
color.yModS:= 21.3799999999999
color.yModE:= 41.14
color.zModS:= 18.91
color.zModE:= 36.14
end;
with wObj[3] do
begin
name := 'deposit';
uptext := ['eposit-armour'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.09
color.CTSModTwo:= 0.36
color.startColor:= 8160144
color.colorTol:= 6
color.xModS:= 17.8699999999999
color.xModE:= 29.32
color.yModS:= 18.1099999999999
color.yModE:= 29.66
color.zModS:= 17.2199999999999
color.zModE:= 28.32
end;
with wObj[4] do
begin
name := 'smith';
uptext := ['nvil'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.05
color.CTSModTwo:= 0.24
color.startColor:= 7965841
color.colorTol:= 12
color.xModS:= 14.21
color.xModE:= 36.85
color.yModS:= 15.15
color.yModE:= 39.2
color.zModS:= 13.4
color.zModE:= 34.57
end;
with wObj[5] do
begin
name := 'depositore';
uptext := ['ithdraw-ingots','melter'];
waitTime := 1000;
x := MSCX;
y := MSCY;
xs := MSX1;
xe := MSX2;
ys := MSY1;
ye := 312 - 50;
dist := 10;
mouseModX := - 1;
mouseModY := - 1;
mouseRandX := 2;
mouseRandY := 2;
color.CTSMode:= 2;
color.CTSModOne:= 0.02
color.CTSModTwo:= 0.76
color.startColor:= 11297940
color.colorTol:= 14
color.xModS:= 12.54
color.xModE:= 38.98
color.yModS:= 10.38
color.yModE:= 31.94
color.zModS:= 19.6699999999999
color.zModE:= 61.96
end;
with wObj[6] do
begin
name := 'G-Anvil';
uptext := ['nvil','mith'];
waitTime := 1000;
x := 290;
y := 226;
xs := 278;
xe := 410;
ys := 215-50;
ye := 240-50;
dist := 10;
mouseModX := -1;
mouseModY := 0;
mouseRandX := 4;
mouseRandY := 3;
color.CTSMode:= 2;
color.CTSModOne:= 0.2;
color.CTSModTwo:= 0.13;
color.startColor:= 6056047;
color.colorTol:= 22;
color.xModS:= 2.78;
color.xModE:= 34.17;
color.yModS:= 2.9;
color.yModE:= 36.53;
color.zModS:= 2.72;
color.zModE:= 31.73;
end;
with wObj[7] do
begin
name := 'G-Smelter';
uptext := ['melter','ingots'];
waitTime := 1000;
x := 220;
y := 180;
xs := 121;
xe := 294;
ys := 143-50;
ye := 216-50;
dist := 10;
mouseModX := -2;
mouseModY := -2;
mouseRandX := 8;
mouseRandY := 12;
color.CTSMode:= 2;
color.CTSModOne:= 0.05;
color.CTSModTwo:= 0.51;
color.startColor:= 9608620;
color.colorTol:= 11;
color.xModS:= 23.06;
color.xModE:= 47.68;
color.yModS:= 23.68;
color.yModE:= 48.92;
color.zModS:= 22.01;
color.zModE:= 45.55;
end;
with wObj[8] do
begin
name := 'G-BlkHole';
uptext := ['hute','armour'];
waitTime := 1000;
x := 220;
y := 180-50;
xs := 153;
xe := 346;
ys := 133-50;
ye := 230-50;
dist := 5;
mouseModX := -2;
mouseModY := -2;
mouseRandX := 4;
mouseRandY := 4;
color.CTSMode:= 2;
color.CTSMode:= 2;
color.CTSModOne:= 4.17;
color.CTSModTwo:= 0.56;
color.startColor:= 1447703;
color.colorTol:= 4;
color.xModS:= 0.27;
color.xModE:= 1.51;
color.yModS:= 0.28;
color.yModE:= 1.57;
color.zModS:= 0.31;
color.zModE:= 1.68;
end;
with wObj[9] do
begin
name := 'G-Anvil2';
uptext := ['nvil','mith'];
waitTime := 300;
x := 280;
y := 230-50;
xs := 273;
xe := 298;
ys := 211-50;
ye := 245-50;
dist := 10;
mouseModX := -1;
mouseModY := 0;
mouseRandX := 4;
mouseRandY := 3;
color.CTSMode:= 2
color.CTSModOne:= 0.2;
color.CTSModTwo:= 0.13;
color.startColor:= 6056047;
color.colorTol:= 22;
color.xModS:= 2.78;
color.xModE:= 34.17;
color.yModS:= 2.9;
color.yModE:= 36.53;
color.zModS:= 2.72;
color.zModE:= 31.73;
end;
with wObj[10] do
begin
name := 'G-SmithButton';
uptext := [''];
waitTime := 300;
x := 280;
y := 360-50;
xs := 265;
xe := 478;
ys := 356-50;
ye := 375-50;
dist := 10;
mouseModX := -10;
mouseModY := -5;
mouseRandX := 20;
mouseRandY := 10;
color.CTSMode:= 2;
color.CTSModOne:= 0.04;
color.CTSModTwo:= 0.21;
color.startColor:= 13407496;
color.colorTol:= 21;
color.xModS:= 4.78;
color.xModE:= 40.07;
color.yModS:= 5.78;
color.yModE:= 49.83;
color.zModS:= 13.09;
color.zModE:= 93.18;
end;
end;
procedure antiban(i:integer);
begin
case i of
0:
case random(650) of
0..9: mmouse(50,50,500,300);
10:
begin
HoverSkill ('smithing', False);
FTab(tab_Inv);
end;
11: PickUpMouse;
12: RandomRClick;
end;
1:
case random(40) of
5: wait(3000+random(6000));
6: wait(1000+random(3000));
7: wait(13000+random(8000));
8: wait(7000+random(5000));
end;
end;
end;
procedure proggy(name, skill: String);
var
Exp, ExpPerHour, remainderExp, currExp: integer;
bars, barsPerHour,eraser: integer;
nextExp: extended;
begin
cleardebug();
Exp := GetXPBarTotal-wStartTotalExp;
currExp:= getXPBarTotal - wCurrentExp;
remainderExp:= wStartSkillExp - currExp;
if(remainderExp<1)then
begin
wStartSkillExp:= XPTillNextLevel(skill);
remainderExp:= wStartSkillExp-currExp;
wCurrentExp:= GetXPBarTotal;
end;
ExpPerHour := Round(Exp * (3600.0 / (GetTimeRunning / 1000.0)));
bars:= exp/240;
barsPerHour:= ExpPerHour/240;
nextExp:= remainderExp/(ExpPerHour+1.0);
writeLn('---------- Artisans -----------');
writeLn('------ ' + padr(name,12) + ' --------');
writeLn('Total Time: ' + TimeRunning);
writeLn('Bars used: ' + IntToStr(bars));
writeLn('Bars Per Hour: ' + IntToStr(barsPerHour));
writeLn('Exp Earned: ' + IntToStr(Exp));
writeLn('Exp Per Hour: ' + IntToStr(ExpPerHour));
writeln('Exp Till Next Lvl: ' + inttostr(remainderExp));
writeln('Time Till Next Lvl: ' + ToStr(trunc(nextExp)) + ' Hours and ' + intToStr(trunc(nextExp*60) mod(60)) + ' Minutes');
writeLn('----------------------------------------');
if(debug)then
begin
eraser := GetMufasaBitmap(bkgdGlobalBMP).Copy(78, 55, 320, 70).Index;
SMART_DrawBitmap(False, eraser, Point(75, 399));
SMART_DrawTextEx(False, 77, 399, UpCharsEx, TimeRunning,9372175);
eraser := GetMufasaBitmap(bkgdGlobalBMP).Copy(120, 55, 200, 70).Index;
SMART_DrawBitmap(False, eraser, Point(69, 429));
SMART_DrawTextEx(False, 72, 430, UpCharsEx, IntToStr(bars), 9372175);
eraser := GetMufasaBitmap(bkgdGlobalBMP).Copy(120, 55, 200, 70).Index;
SMART_DrawBitmap(False, eraser, Point(423, 399));
SMART_DrawTextEx(False, 425, 400, UpCharsEx, IntToStr(Exp), 9372175);
eraser := GetMufasaBitmap(bkgdGlobalBMP).Copy(120, 55, 190, 70).Index;
SMART_DrawBitmap(False, eraser, Point(435, 429));
SMART_DrawTextEx(False, 437, 430, UpCharsEx, IntToStr(ExpPerHour), 9372175);
FreeBitmap(eraser);
end;
end;
procedure depositore;
var
noteDTM,x,y: integer;
begin
GameTab(tab_Inv);
noteDTM := DTMFromString('mrAAAAHic42BgYJgHxGuAeDUQLwbiCUDcD8TTgXguEN9hZGC4BcSvgPg1lP0UiW8qLw5UxYQTiwBJfjyYEY9ukBwMAACysQ0f');
if(finddtm(noteDTM,x,y,MIx1,MIy1,MIx2,MIy2))then
begin
mouse(x-3,y-3,6,6,mouse_left);
wait (850+random(100));
wFindObjectMulti([wObj[0]], mouse_left, false, false) ;
wait (600+random(100));
end else
writeln('grr');
freeDTM(noteDTM);
end;
procedure depositSomeOres;
begin
case random(4) of
0: depositore;
end;
end;
function detectSmithingScreen(): boolean;
var
x,y:integer;
begin
result:= findcolor(x,y,5938629,289, 74-50,290, 75-50);
end;
procedure withdrawbars;
begin
if(not(invfull))then
begin
status('Withdrawing Bars');
disguise('Withdrawing Bars');
if(wFindObjectMulti([wObj[7]], mouse_left, true, false))then
begin
status('Withdrawing Bars');
disguise('Withdrawing Bars');
while(not(detectSmithingScreen))do
begin
wait (50+random(100));
if(pinscreen)then
if(not(inpin(players[currentplayer].pin)))then
begin
writeln('Declare your players');
nextplayer(false);
terminatescript();
end;
end;
mousebox(38, 49, 186, 62, mouse_left);
wait (100+random (200));
mousebox(40, 104, 192, 109, mouse_left);
wait (20+random (20));
mousebox(291, 309, 442, 321, mouse_left);
while(detectSmithingScreen)do
wait(50+random(100));
wait(50+random(100));
if(not(invfull))then
begin
wait(400+random(100));
if(not(invfull))then
begin
nextplayer(false);
writeln('Ran out of bars');
terminatescript;
end;
end;
end;
end;
end;
function getName():integer;
var
Name: TPointArray;
a:integer;
begin
FindColorsTolerance(Name,16777215,209, 35,314, 57,2);
a:=high(Name);
case a of
51: result:=1;
106: result:=2;
59: result:=3;
91: result:=4;
0..10:
begin
writeln('Couldn''t Find Armor');
nextPlayer(false);
terminatescript();
end;
end;
end;
procedure selectArmor();
var
name,tempx,tempy,i,t:integer;
begin
name:=getName;
currentArmor:= name;
case name of
1:
begin
tempx:=46;
tempy:=151-50;
end;
2:
begin
tempx:=190;
tempy:=151-50;
end;
3:
begin
tempx:=95;
tempy:=152-50;
end;
4:
begin
tempx:=142;
tempy:=151-50;
end;
else
writeln('Name detection isn''t working...');
end;
if(not(wFindObjectMulti([wObj[9]], mouse_left, true, false)))then
if(not(wFindObjectMulti([wObj[6]], mouse_left, true, false)))then
if(not(wFindObjectMulti([wObj[1], wObj[2], wObj[4]], mouse_left, true, false)))then
begin
writeln('Failed to find anvil. Terminating');
nextPlayer(false);
terminateScript;
end;
status('Choosing Armor');
disguise('Choosing Armor');
marktime(t);
while(not(detectSmithingScreen))do
begin
wait(200+random(200));
if(timefrommark(t)>2000)then
begin
wait(random(300));
if(not(wFindObjectMulti([wObj[9]], mouse_left, true, false)))then
if(not(wFindObjectMulti([wObj[6]], mouse_left, true, false)))then
if(not(wFindObjectMulti([wObj[1], wObj[2], wObj[4]], mouse_left, true, false)))then
begin
writeln('Failed to find anvil');
end;
end;
end;
mouse(tempx,tempy,5,5,true);
wait(100+random(200));
if(not(wFindObjectMulti([wObj[10]], mouse_left, true, false)))then
mouse(504,75-50,5,5,true);
end;
procedure smith;
var
ingotDTM, armor,x,y: integer;
begin
currentArmor:= -1;
ingotDTM := DTMFromString('mggAAAHicY2NgYHBiYmDwBGJvIDYBYlsgtgdic0YgG4j1obQ7EBsBcXJcHFAXEwb+DyQZScAQAADIMQUr');
while(findDTM(ingotDTM,x,y,688, 479-50,727, 514-50))do
begin
status('Making Armor');
disguise('Making Armor');
armor:= getName;
if(not(armor=currentArmor))then
begin
selectArmor();
wait(400+random(100));
proggy('Artisan Workshop Smither','smithing');
end;
wait (500+random (100));
antiban(0);
end;
freeDTM(ingotDTM);
antiban(1);
end;
procedure drop;
begin
status('Dropping Down Chute');
disguise('Dropping Down Chute');
wait(100+random(100));
wFindObjectMulti([wObj[8]], mouse_left, true, false) ;
wait (400+random (200));
antiban(0);
end;
function detectTotalRunTime():boolean;
begin
result:= (GetTimeRunning/1000/60) > TotalTimeOnPlayer;
end;
begin
srl_sixhourfix:= true;
setupsrl;
declareplayers();
loadObjects();
wInitPlayer();
wInitBreakTime(breakTime);
clickNorth(srl_angle_high);
proggy('Artisan Workshop Smither','smithing');
depositore;
repeat
withdrawbars;
smith;
drop;
proggy('Artisan Workshop Smither','smithing');
if(wDoBreak(breakLength))then
begin
wInitBreakTime(breakTime);
clickNorth(srl_angle_high);
end;
depositsomeores;
until(detectTotalRunTime);
freeBitmap(bkgdGlobalBMP);
end.program maplechopperbanker07;
{$define smart8}
{$i srl-osr/srl.simba}
var
x, y, h, i: integer;
ATPA: t2DPointArray;
TPA: tPointArray;
procedure declareplayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Pin := '';
Players[0].Active := True;
end;
procedure ChopMaples;
begin
repeat
if (FindColorsSpiralTolerance(MSCX, MSCY, TPA, 15217, MSX1, MSY1, MSX2, MSY2, 25)) then
begin
ATPA := splitTPA(TPA, 4);
h := high(ATPA);
for i := 0 to h do
begin
middleTPAEx(ATPA[i], x, y);
mmouse(x, y, 3, 3);
if (waitUpText('hop', 2000)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
writeln('Chopping Tree');
wait(10000 + random(4000));
end;
end;
end;
until (invfull);
end;
procedure bank();
begin
wait(1000 + random(2000));
if (FindColorsSpiralTolerance(MSCX, MSCY, TPA, 3823205, MSX1, MSY1, MSX2, MSY2, 5)) then
begin
ATPA := splitTPA(TPA, 4);
h := high(ATPA);
for i := 0 to h do
begin
middleTPAEx(ATPA[i], x, y);
mmouse(x, y, 3, 3);
if (waitUpText('ooth', 2000)) then
begin
getMousePos(x, y);
mouse(x, y, 0, 0, mouse_left);
writeln('openingbank');
wait(1000 + random(2000));
exit;
end;
end;
end;
end;
procedure walkToBank();
var
dtm, x, y: integer;
aFound: extended;
begin
DTM := DTMFromString('mggAAAHicY2NgYGhkYmBoBuI+IC4B4mIgbgNiN6CcMRCbALEREJsBsTkQt1RXMXz9ysDw5w8TmIax/wPlRLBgoFEMLFgwBAAAEQ0RAg==');
if (findDTMRotatedSE(dtm, x, y, mmx1, mmy1, mmx2, mmy2, 0, 2 * Pi, Pi / 180, aFound)) then
begin
mouse(x, y, 1, 1, mouse_left);
wait(500 + random(100));
flag;
freeDTM(dtm);
end
else
begin
mousebox(633, 111, 639, 116, mouse_left);
end;
end;
procedure depositm;
begin
mouseitem(3, mouse_right);
wait(100 + random(50));
waitoption('All', mouse_left);
wait(100 + random(50));
mousebox(651, 50, 662, 58, mouse_left);
end;
begin
setupsrl;
declareplayers();
loginplayer();
repeat
chopmaples;
walkToBank();
bank;
depositm;
until (false);
end.