SRL Archive - Archive

kyleinkman - SRL Member Application


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…
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.

Olly

2013-03-22 16:15:24

Pretty much all of the advanced stuff was made by x[Warrior]x3500 if i am correct?

kyleinkman

2013-03-22 16:19:08

From: Ollybest
Pretty much all of the advanced stuff was made by x[Warrior]x3500 if i am correct?

Yeah I made sure to credit him everywhere I used his procedure's He has really been a great mentor for me since day one

Also guy's if you have looked at the codes before, I re made the mining script (the firt script) to show a variety of stuff I can do

Olly

2013-03-22 16:20:53

Yeah that is somewhat a problem, we can't judge the script parts that aren't written by you.

The Killer

2013-03-22 16:21:45

case RandomRange (1,4) of
1:begin
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)];
SPS_WalkPath(myPath);
end;
2:begin
myPath := [Point(102, 628), Point(108, 632), Point(129, 640), Point(148, 637), Point(171, 646), Point(185, 641)];
SPS_WalkPath(myPath);
end;
3:begin
myPath := [Point(101, 631), Point(114, 635), Point(129, 632), Point(138, 640), Point(157, 638), Point(168, 647), Point(179, 628)];
SPS_WalkPath(myPath);
end;
4:begin
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)];
SPS_WalkPath(myPath);
end;
end
//can be shortended to
case RandomRange(1, 4) of
1: MyPath := [the path];
2: MyPath := [the path];
3: MyPath := [the path];
4: MyPath := [the path];
end;
SPS_WalkPath(MyPath);

Like I said on skype :P, just thought I'd post it for future reference :)
You're a nice guy, Standards need a bit of work (Lack of camel cap is annoying :S)

Holding my vote for a little bit :)

NKN

2013-03-22 16:28:06

Voting no.
Your parts of the code aren't advanced enough. I'm not sure you fully understand how to script TPA's/ATPA's/Records.

Maybe once I see more of your scripting, and less of warriors, I'll change my mind.

kyleinkman

2013-03-22 16:29:50

hold up guys im gonna add a different script into this :)

Kevin

2013-03-22 16:32:44

Holding my vote until I see at least 300 lines you wrote within a single script (BMW found those rules somewhere…) and you either use PascalCasing or CamelCasing for your variables names. Like Steven said here and I said in skype, that is surprisingly annoying - and it makes it more difficult to read.

kyleinkman

2013-03-22 18:17:03

Ok i changed the script up there guys :) let me know what you think

kyleinkman

2013-03-22 18:54:26

From: Ollybest
Yeah that is somewhat a problem, we can't judge the script parts that aren't written by you.


Hey Olly I re wrote the mining script please take another look at it :)

cause

2013-03-22 20:01:36

Voted yes. Even if the object stuff is borrowed, its implementation is good enough for me :)

kyleinkman

2013-03-22 21:30:13

From: cause
Voted yes. Even if the object stuff is borrowed, its implementation is good enough for me :)


Thank you Cause :)

Vinyl Scratch

2013-03-23 15:09:36

I'm on my iPod, so I can't really "look" at the script, but why I can see, it's good, but needs a little work.

(I just got members, not going to vote. But anyone can give advice, amirite?)

Remind me on Skype later on too look at it again, and I'll tell you what I'd like to see.


Best of luck on your app, bro!

kyleinkman

2013-03-23 15:25:28

From: Vinyl Scratch
I'm on my iPod, so I can't really "look" at the script, but why I can see, it's good, but needs a little work.

(I just got members, not going to vote. But anyone can give advice, amirite?)

Remind me on Skype later on too look at it again, and I'll tell you what I'd like to see.


Best of luck on your app, bro!


Thx Vinyl :) ill message you on skype later

Ian

2013-03-23 16:34:50

From: nivek1989
Holding my vote until I see at least 300 lines you wrote within a single script (BMW found those rules somewhere…) and you either use PascalCasing or CamelCasing for your variables names. Like Steven said here and I said in skype, that is surprisingly annoying - and it makes it more difficult to read.


Found it here: http://villavu.com/forum/showthread.php?t=74195
I still think that there should be a link to this at the start of the application process, seems it isn't looked at enough.

Kyleinkman: Like Vinyl, I can't read through the code from my Android because it won't let me scroll through it, but when I go on the computer later I'll take a look through. Until then, I recommend reading through the guide I linked and making sure that you have all the requirements :)

Vinyl Scratch

2013-03-23 16:52:33

Yeah. I'm going to be staying another night at my friends house, so I'll get you the advice (for lack of a better word.)

xtrapsp

2013-03-23 18:44:10

Voted yes, not for the script as it contains borrowed elements but because you're nothing but nice :))

Justin

2013-03-23 18:45:57

Meh, script is more advanced then some other members' scripts, don't see why not, voted yes.

Benny

2013-03-23 18:58:46

I would like to see that video!

Good luck!

kyleinkman

2013-03-23 19:21:27

From: Benny
I would like to see that video!

Good luck!


[video=youtube;Zj6kUDX4p30]http://www.youtube.com/watch?v=Zj6kUDX4p30[/video]
theres a few more on my channel if you look arround on it :)

Sjoe

2013-03-23 20:04:06

From: kyleinkman

theres a few more on my channel if you look arround on it :)


Niceeeeee!

Ian

2013-03-23 20:17:16

Voting yes solely because of backflips.

Jk, script looks fine, and you're good to have here. ;)

Although I do wonder why Warrior hasn't applied :/

kyleinkman

2013-03-24 12:08:04

From: BMWxi
Voting yes solely because of backflips.

Jk, script looks fine, and you're good to have here. ;)

Although I do wonder why Warrior hasn't applied :/


lol thank you for the vote :) I added a really simple 07 script up top just to show I can get around by using dtms instead of sps aswell

Hobbit

2013-04-11 17:39:31

Didn't quite make it this time. Take the suggestions given and feel free to reapply in 2 weeks time :)