SRL Archive - Archive

Echo_ - SRL Member Application


Echo_

2011-03-30 21:53:10

How Long have You Played Runescape?
5 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
N/A


What is your general programming knowledge?
Java, Pascal, learning C++


Are you a member of any other communities?
http://www.moparisthebest.com/smf/index.php


Tell us about yourself…
From: Echo_
My name is Quanah Ecoffey, I am from Colorado, US and am 16 years old (17 in April). My current interests are mainly software related, I want to have a job in software development when I get out of college. Other than scripting, I also enjoy client hacking and developing bots. Other than that, I enjoy skateboarding and hiking.



Please show us one (or multiple) of your scripts.
{******************************************************************************\
| |
| Varrock East Iron Miner |
| |
| by Echo_ |
| |
|******************************************************************************|
| Fill in the marked section below in order to set up the script. |
\******************************************************************************}

program MineiroDeFerro;
{$DEFINE SMART}
{$i SRL/SRL.scar}
{$i SRL/SRL/misc/stats.simba}

{--------------COMPLETE THE FOLLOWING CONSTANTS TO FIT YOUR NEEDS--------------}
const
STATS_NAME = '';//Your SRL Stats login name
STATS_PASS = '';//Your SRL Stats password

IRON_TO_MINE = 0;//Amount of iron ore you want to mine

TAKE_BREAKS = False;//True if you want to take breaks, False if you don't
BREAK_AFTER = 0;//The amount of time the script will run until taking a break
R_BREAK_AFTER = 0;//Randomness added to BREAK_AFTER
BREAK_FOR = 0;//The amount of time to break before logging in again
R_BREAK_FOR = 0;//Randomness added to BREAK_FOR

SERVER = 66;
MEMBERS = False;
SIGNED = True;
HD = False;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

with Players[0] do
begin
Name := '';//Your RuneScape login name
Pass := '';//Your RuneScape password
Nick := '';//A nickname for this account
Active := True;
Pin := '';//Your pin number (leave blank if you don't have one)
BoxRewards := ['mote', 'ostume', 'oins', 'aphire', 'ssence'];
end;
end;
{--------------------DON'T TOUCH ANYTHING BEYOND THIS POINT--------------------}

var
BreakRounds, TotalBreaks, IronMined, ExpGained, AntiBanned: Integer;

procedure CheckSetup;
begin
if (IRON_TO_MINE <= 0) then
begin
Writeln('Please enter a valid amount of iron to mine.');
TerminateScript;
end;
end;

procedure Antiban;
begin
case Random(50) of
0: RandomRClick;
1: PickUpMouse;
2: BoredHuman;
3: ExamineInv;
4: Wait(500 + Random(250));
end;
Inc(AntiBanned);
end;

function BreakHandler(BreakIn, BreakFor, randBreakIn, randBreakFor: Integer): Boolean;
var
w, x, y, z: Integer;
begin
if not LoggedIn then Exit;

w := (BreakIn * 60000);
x := (BreakFor * 60000);
y := RandomRange(-randBreakIn * 60000, randBreakIn * 60000);
z := RandomRange(-randBreakFor * 60000, randBreakFor * 60000);

if (GetTimeRunning < ((w) + (y) + BreakRounds)) then Exit
else
if (GetTimeRunning > ((w) + (y) + BreakRounds)) then
begin
Writeln('Taking a break for about ' + IntToStr(BreakFor) + ' minutes.');
Logout;
Wait((x) + (z));
Writeln('Logging in.');
LoginPlayer;
Result := LoggedIn;
FindNormalRandoms;
IncEx(BreakRounds, (w) + (x));
Inc(TotalBreaks);
Writeln('The next break will occur in about ' + IntToStr(BreakIn) + ' minutes.');
end;
end;

procedure Bank;
var
IronOre, x, y, Trees: Integer;
begin
IronOre := DTMFromString('mggAAAHicY2NgYHBlYmCwB2I/IHYGYhMg9gfip0C5a0D8Gog/AvEbIL4NxFZKkkCSCQPzM2AHjDgwBAAA2PQHnQ==');

if not LoggedIn then Exit;
SetAngle(True);
MakeCompass('s');
OpenBankGlass('veb', False, False);
Wait(200 + Random(50));
if not BankScreen or PinScreen then
begin
OpenBankNPC;
Wait(200 + Random(50));
end;
if not BankScreen or PinScreen then
begin
OpenBankQuiet('veb');
Wait(200 + Random(50));
end;
BankTab(1);
FixBank;
Wait(200 + Random(100));
if FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 4, 4);
if WaitUpTextMulti(['ron', 'ore'], 500 + Random(100)) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(100 + Random(50));
ChooseOptionMulti(['eposit', 'll']);
Wait(100 + Random(50));
CloseBank;
end;
end else Writeln('Couldn''t find Iron Ore.');
FreeDTM(IronOre);
FindNormalRandoms;
end;

function FirstPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 911;
dtmMainPoint.y := 307;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9014674;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 911;
dtmSubPoints[0].y := 307;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9014674;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 919;
dtmSubPoints[1].y := 298;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4616060;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 903;
dtmSubPoints[2].y := 300;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 4749184;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 920;
dtmSubPoints[3].y := 314;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 4748160;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 906;
dtmSubPoints[4].y := 314;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 4551290;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function SecondPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 932;
dtmMainPoint.y := 278;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9014674;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 932;
dtmSubPoints[0].y := 278;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9014674;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 936;
dtmSubPoints[1].y := 269;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4749184;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 928;
dtmSubPoints[2].y := 270;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 4750716;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 937;
dtmSubPoints[3].y := 283;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3553082;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 928;
dtmSubPoints[4].y := 282;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 4618364;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function ThirdPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 923;
dtmMainPoint.y := 268;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9014674;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 923;
dtmSubPoints[0].y := 268;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9014674;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 927;
dtmSubPoints[1].y := 261;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4031618;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 917;
dtmSubPoints[2].y := 261;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3701106;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 919;
dtmSubPoints[3].y := 275;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3436393;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 927;
dtmSubPoints[4].y := 276;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3304293;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function FourthPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 944;
dtmMainPoint.y := 248;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9014674;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 944;
dtmSubPoints[0].y := 248;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9014674;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 244;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4750702;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 955;
dtmSubPoints[2].y := 245;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 1267494;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 955;
dtmSubPoints[3].y := 254;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3436398;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 935;
dtmSubPoints[4].y := 252;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 4750707;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function FifthPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 956;
dtmMainPoint.y := 224;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9014674;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 956;
dtmSubPoints[0].y := 224;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9014674;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 944;
dtmSubPoints[1].y := 219;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4288876;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 948;
dtmSubPoints[2].y := 231;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 5796203;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 964;
dtmSubPoints[3].y := 217;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3958371;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 971;
dtmSubPoints[4].y := 227;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3826781;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function SixthPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 965;
dtmMainPoint.y := 224;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 8817298;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 965;
dtmSubPoints[0].y := 224;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 8817298;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 955;
dtmSubPoints[1].y := 219;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 933229;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 972;
dtmSubPoints[2].y := 218;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2705481;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 974;
dtmSubPoints[3].y := 230;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3959397;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 956;
dtmSubPoints[4].y := 230;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 4610904;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function SeventhPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 963;
dtmMainPoint.y := 225;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 8752272;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 963;
dtmSubPoints[0].y := 225;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 8752272;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 948;
dtmSubPoints[1].y := 221;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4354938;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 973;
dtmSubPoints[2].y := 220;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3171184;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 970;
dtmSubPoints[3].y := 235;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2443864;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 955;
dtmSubPoints[4].y := 234;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3167578;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function EighthPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 971;
dtmMainPoint.y := 240;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 3825245;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 971;
dtmSubPoints[0].y := 240;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 3825245;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 960;
dtmSubPoints[1].y := 225;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 9145234;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 980;
dtmSubPoints[2].y := 225;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2838874;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 940;
dtmSubPoints[3].y := 255;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 9145234;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 987;
dtmSubPoints[4].y := 255;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3235175;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;


function NinthPoint: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 959;
dtmMainPoint.y := 261;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 3102812;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 959;
dtmSubPoints[0].y := 261;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 3102812;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 953;
dtmSubPoints[1].y := 257;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 2969210;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 954;
dtmSubPoints[2].y := 269;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3765617;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 966;
dtmSubPoints[3].y := 268;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3235936;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 962;
dtmSubPoints[4].y := 256;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3167582;
dtmSubPoints[4].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

procedure WalkToMine;
var
ClickPath, x, y: Integer;
begin
if not LoggedIn then Exit;
SetRun(True);
Writeln('Walking to the mine.');
ClickPath := FirstPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := SecondPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := ThirdPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := FourthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := FifthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := SixthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := SeventhPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := EighthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
ClickPath := NinthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
FindNormalRandoms;
Wait(2000 + Random(500));
Writeln('Successfully reached the mine.');
end;

procedure MineIron;
var
x, y, IronOre: Integer;
begin
IronOre := DTMFromString('mggAAAHicY2NgYHBlYmCwB2I/IHYGYhMg9gfip0C5a0D8Gog/AvEbIL4NxFZKkkCSCQPzM2AHjDgwBAAA2PQHnQ==');

if not LoggedIn then Exit;
MakeCompass('n');
repeat
if FindObjCustom(x, y, ['ocks', 'ock', 'cks'], [2963281, 2831437, 2568006, 3028818], 5) then
begin
MMouse(x, y, 2, 2);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
Writeln('Mining iron ore.');
Wait(1500 + Random(300));
repeat
Wait(1);
AntiBan;
FindNormalRandoms;
until(FindBlackChatMessage('ou manage to mine some iron'));
end;
until(InvFull);
IncEx(IronMined, CountItems('dtm', IronOre, []));
IncEx(ExpGained, (CountItems('dtm', IronOre, []) * (35)));
Stats_IncVariable('Iron Ore (Mined)', CountItems('dtm', IronOre, []));
Stats_IncVariable('Total EXP Gained', (CountItems('dtm', IronOre, []) * (35)));
Stats_Commit;
end;

procedure WalkToBank;
var
ClickPath, x, y: Integer;
begin
if not LoggedIn then Exit;
Writeln('Walking to the bank.');
SetAngle(True);
MakeCompass('S');
ClickPath := EighthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := SeventhPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := SixthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := FifthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := FourthPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := ThirdPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := SecondPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
ClickPath := FirstPoint;
if DTMRotated(ClickPath, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
FFlag(7);
FreeDTM(ClickPath);
SymbolAccuracy := 0.5;
if FindSymbol(x, y, 'bank') then
begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
end;
SymbolAccuracy := 0.8;
Writeln('Successfully reached the bank.');
end;

procedure ProgressReport;
var
FileName: Integer;
FilePath: string;
begin
FilePath := AppPath + 'Scripts/';
try
FileName := RewriteFile(FilePath + 'MDF_Report.txt', False);
except
Writeln('Error writing to the report file.');
end;
WriteFileString(FileName, '{******************************************************************************\' + #13 + #10);
WriteFileString(FileName, '| |' + #13 + #10);
WriteFileString(FileName, '| Mineiro de Ferro (Iron Miner) |' + #13 + #10);
WriteFileString(FileName, '| |' + #13 + #10);
WriteFileString(FileName, '| by Echo_ |' + #13 + #10);
WriteFileString(FileName, '| |' + #13 + #10);
WriteFileString(FileName, '|******************************************************************************|' + #13 + #10);
WriteFileString(FileName, ' ' + #13 + #10);
WriteFileString(FileName, 'Name = ' + Players[0].Nick + #13 + #10);
WriteFileString(FileName, 'Time Running = ' + Players[0].Nick + #13 + #10);
WriteFileString(FileName, 'Iron Mined = ' + IntToStr(IronMined) + #13 + #10);
WriteFileString(FileName, 'XP Gained = ' + IntToStr(ExpGained) + #13 + #10);
WriteFileString(FileName, 'Antibanned = ' + IntToStr(AntiBanned) + #13 + #10);
WriteFileString(FileName, ' ' + #13 + #10);
WriteFileString(FileName, '\******************************************************************************}' + #13 + #10);
CloseFile(FileName);
end;

procedure MainLoop;
begin
repeat
if (TAKE_BREAKS = True) then
begin
BreakHandler(BREAK_AFTER, BREAK_FOR, R_BREAK_AFTER, R_BREAK_FOR);
end;
Bank;
WalkToMine;
MineIron;
WalkToBank;
ProgressReport;
until((IronMined) >= ((IRON_TO_MINE) / (27)));
end;

begin
Smart_Members := MEMBERS;
Smart_Server := SERVER;
Smart_Signed := SIGNED;
ClearDebug;
CheckSetup;
SetupSRL;
SetupSRLStats(87, STATS_NAME, STATS_PASS);
DeclarePlayers;
LoginPlayer;
MainLoop;
end.

TomTuff

2011-03-30 22:20:22

Nice usage of the SRL Include, DTMs, DDTMs, Breaking. Your antiban procedure looks a bit archaic, but hey what could you expect? :p

In several places there are oppurtunities for DTMs to leak.

Example:

procedure Bank;
var
IronOre, x, y, Trees: Integer;
begin
IronOre := DTMFromString('mggAAAHicY2NgYHBlYmCwB2I/IHYGYhMg9gfip0C5a0D8Gog/AvEbIL4NxFZKkkCSCQPzM2AHjDgwBAAA2PQHnQ==');

if not LoggedIn then Exit;
{..snip..}
FreeDTM(IronOre);
end;
If the player isn't logged In, it will keep the DTM in memory.

I don't see any multiplayer support :(

Your Walking procedures could be simplified by storing DDTMs in an array and using a for..to..do loop.

In MineIron, you have yourself set up for several infinite loops.

procedure MineIron;
var
x, y, IronOre, T: Integer; //Add T for timing
begin
IronOre := DTMFromString('mggAAAHicY2NgYHBlYmCwB2I/IHYGYhMg9gfip0C5a0D8Gog/AvEbIL4NxFZKkkCSCQPzM2AHjDgwBAAA2PQHnQ==');

if not LoggedIn then Exit;
MakeCompass('n');
while not(InvFull) and LoggedIn do
begin
if FindObjCustom(x, y, ['ocks', 'ock', 'cks'], [2963281, 2831437, 2568006, 3028818], 5) then
begin
MMouse(x, y, 2, 2);
GetMousePos(x, y);
Wait(100 + Random(50));
Mouse(x, y, 0, 0, True);
Writeln('Mining iron ore.');
T := GetSystemTime + 2000 + Random(500);
while (GetSystemTime < T) and (LoggedIn) do
begin
WaitNone;
AntiBan;
FindNormalRandoms;
if FindBlackChatMessage('ou manage to mine some iron') then
Break;
end;
end else
Inc(Tries);
if (Tries >= 10) then
begin
Writeln('Failed to mine more than 10 times. Exiting.');
Break;
end;
end;
IncEx(IronMined, CountItems('dtm', IronOre, []));
IncEx(ExpGained, (CountItems('dtm', IronOre, []) * (35)));
Stats_IncVariable('Iron Ore (Mined)', CountItems('dtm', IronOre, []));
Stats_IncVariable('Total EXP Gained', (CountItems('dtm', IronOre, []) * (35)));
Stats_Commit;
end;


See what I modified. Overall ok script, voted yes as you're a valuable community member (I think) :)

Coh3n

2011-03-30 23:00:48

Yes.

Floor66

2011-03-31 01:07:06

Yes.

Do take note that your WalkToMine/Bank procs needs to be shortened! Make an array of your DDTMs and loop through it.

Also, this:

repeat
Wait(1);
AntiBan;
FindNormalRandoms;
until(FindBlackChatMessage('ou manage to mine some iron'));

Not sure if that'll actually work in practice. You could use something like IsAnimating.

Your attitude is great, your tutorial on the client blew my mind ^^

cycrosism

2011-03-31 01:20:34

This was one yes I was happy to give.

Sgt Soul

2011-03-31 01:53:38

I looked through your script and I saw an extensive use of DTM's which I thought was pretty good :) (not that scripting is my forte) but what really made you a yes was your good attitude, attitude within people in most cases wont change, but scripting experience will always develop :) so with a positive and constructive attitude you can easily be on your way to being a member, yes from me. I can see you will be a great asset to the SRL community :)

Iamadam

2011-03-31 02:27:37

yes

Rich

2011-03-31 03:02:39

Wanted to vote yes, but accidentally clicked no. Could someone change that please?

Gu3st...

2011-03-31 03:09:41

Ah, Echo_!
Finally you apply! :D

Definite yes!

Sabzi

2011-03-31 07:25:38

It's yes from me.

!@ this thread: I remember(I who is not here for a long time) the times when someone doesn't have custom hand made tpa functions than it was really hard to get in. And there was certain things to avoid. Excessively using something and things like that.
You can pretty much see from my posts I am not satisfied with recent apps :/.

@this app: This one is good! It just came out now.

Emaziz

2011-03-31 08:04:42

From: Sabzi
It's yes from me.

!@ this thread: I remember(I who is not here for a long time) the times when someone doesn't have custom hand made tpa functions than it was really hard to get in. And there was certain things to avoid. Excessively using something and things like that.
You can pretty much see from my posts I am not satisfied with recent apps :/.

@this app: This one is good! It just came out now.


You liked mine! Everyone liked it. 26-0! You better not beat me, Echo :p

I would vote yes, but someone told me I shouldn't vote until couple of weeks after I've been accepted. :p

WT-Fakawi

2011-03-31 08:07:36

Yes!

Sabzi

2011-03-31 08:39:22

From: Emaziz
You liked mine! Everyone liked it. 26-0!


Haha, that was a good exception :).[OFF] I didn't really looked into your script because I saw your releases and the knowledge you got.
Still, IMHO member threshold is lowering constantly.
Not that it's bad …, but it's not the place to talk about it.[/OFF]

Home

2011-03-31 09:27:37

Yeb :)

~Home

Rich

2011-03-31 11:29:21

Any point in leaving this app open?

Emaziz

2011-03-31 11:50:02

Nope. Someone close it before he beats the record :p

Griff

2011-03-31 17:53:06

No. Hope you don't like breaking records bitch.

YES!!!!!!!!!!!!!!!!!!!!!

Putnam

2011-03-31 20:46:47

Tempted to vote no. Surprised Emaziz voted yes :P

Bad Boy JH

2011-03-31 21:26:57

Advanced procedures are great, but DDTMs are basically created from an editor, and all 8 are loaded from different procedures.
Walking has no failsafes (if it doesn't find one of the DDTMs it still thinks it has succeeded).
Not Multiplayer.

Great attitude, but SRL members should be based on scripting ability, not just good attitude.

Voting no.

rogeruk

2011-03-31 21:34:36

From: Bad Boy JH
Advanced procedures are great, but DDTMs are basically created from an editor, and all 8 are loaded from different procedures.
Walking has no failsafes (if it doesn't find one of the DDTMs it still thinks it has succeeded).
Not Multiplayer.

Great attitude, but SRL members should be based on scripting ability, not just good attitude.

Voting no.


Top quality of a SRL Member is their attitude and contribution to the community.

This should always come before /leveled with scripting ability. Users can always learn how to script, or advance.

Attitude is something that will hardly ever change. And to be honest its a waste of time trying to change someones behavior / attitude

Yes.

HarryJames

2011-03-31 21:37:01

From: Bad Boy JH
Advanced procedures are great, but DDTMs are basically created from an editor, and all 8 are loaded from different procedures.
Walking has no failsafes (if it doesn't find one of the DDTMs it still thinks it has succeeded).
Not Multiplayer.

Great attitude, but SRL members should be based on scripting ability, not just good attitude.

Voting no.




/OT Just out of curiosity, What do you think it takes to be a 'member'?

noidea

2011-03-31 23:37:05

Im voting yes, but I have to be frank (Im not trying to be an ass). I am less than impressed with your script. Over half is DDTMs. Your walking procedures have no fail safes. You show no knowledge of TPAs and many of the advanced functions in SRL and Simba. However, I know you'll stick around and learn more. You've already done so much for the community and I thank you for that.

Congrats on the more than likely successful application.

Bad Boy JH

2011-04-01 02:47:54

From: rogeruk
Top quality of a SRL Member is their attitude and contribution to the community.

This should always come before /leveled with scripting ability. Users can always learn how to script, or advance.

Attitude is something that will hardly ever change. And to be honest its a waste of time trying to change someones behavior / attitude

Yes.


So scripting quality is unimportant? so why do we need a script to join. This is a scripting community, our upper-echelons should be our best scripters.

Emaziz

2011-04-01 08:06:36

From: Bad Boy JH
So scripting quality is unimportant? so why do we need a script to join. This is a scripting community, our upper-echelons should be our best scripters.

^ This. Attitude is important, but scripting ability is what really counts. Saying 'yes' purely based on their attitude, wow :duh:

Iamadam

2011-04-01 08:58:26

He has a good attitude and contributes to the community by creating useful scripts. That's enough.

Gu3st...

2011-04-01 09:43:43

From: Emaziz
^ This. Attitude is important, but scripting ability is what really counts. Saying 'yes' purely based on their attitude, wow :duh:
I barely looked at your script :redface:

Frement

2011-04-01 09:53:06

I didn't look at the script either (Well, I looked at it :D), I know your skills and knowledge, attitude is awesome. So, I hope you get in.

NCDS

2011-04-01 16:22:54

From: noidea
Im voting yes, but I have to be frank (Im not trying to be an ass). I am less than impressed with your script. Over half is DDTMs. Your walking procedures have no fail safes. You show no knowledge of TPAs and many of the advanced functions in SRL and Simba. However, I know you'll stick around and learn more. You've already done so much for the community and I thank you for that.

Congrats on the more than likely successful application.

This.

HarryJames

2011-04-01 16:34:27

From: Iamadam
He has a good attitude and contributes to the community by creating useful scripts. That's enough.


That's what I was on about. I obviously didn't get in from the script that I presented :3

rogeruk

2011-04-04 08:10:44

From: HarryJames
/OT Just out of curiosity, What do you think it takes to be a 'member'?


From: WT-Fakawi

I would like to give you three considerations before you again push no.

  • What is the attitude of the applicant? This is for me, and it should be for you too, the most important quality. How is his/her 's tone of voice? How is his/her's willingness to learn and adapt? What is are his/her's words compared to age/social background? The atmosphere (meaning you) is what makes this community great! If applicants speak their truth quietly and nicely, I would let them in by default, like I have done so on many occasions in the past. So, if the attitude is right….push yes next time.
  • How many times has the applicant applied? In other words: Is this a persistent junior? Has he/she learned from his last appliance? If he/she has….push yes next time. We cant all be Masters!
  • We were all nobodies once. Do not forget that. Remember where you came from, and view the application through the eye of the nobody. See the pride in the script. See how it has been written/formatted with care. Look at the time it took to finally master the often difficult programming concepts of SCAR/SRL. Look at all the blood and sweat it took to finally push "Submit New Thread". Feel the anxiety of the applicant as he watches yes/no grow. Generally speaking: if a script has just a hint of crude originality….push yes next time.


There was an app recently that was denied due to the users attitude. Attitude > Scripting ability.

You can learn to script, you can't learn how not to be an ass

Plus..
HarryJames & Emaziz

Didn't you only just get SRL Member?
(If you have voted, cant see who voted)
Q: When should you be allowed to vote?
A: You should not vote on applications as soon as you get into SRL Members. Wait a couple of weeks and see how others are taking the applications and learn.

cycrosism

2011-04-04 08:31:45

From: rogeruk
There was an app recently that was denied due to the users attitude. Attitude > Scripting ability.


The first two times I went to get SRL mems I got voted no because of my attitude. Needless to say, I have changed a lot since then which caused my third app to be successful.

So yes, attitude plays a big role.

For those SRL mems who want to see

First app: http://villavu.com/forum/showthread.php?t=44404
Second app: http://villavu.com/forum/showthread.php?t=45562 (This one contains the most "No due to attitude"
Third app: http://villavu.com/forum/showthread.php?t=46756

Emaziz

2011-04-04 09:34:03

From: rogeruk

Plus..
HarryJames & Emaziz

Didn't you only just get SRL Member?
(If you have voted, cant see who voted)


I didn't. But does it matter? My opinion of a good application isn't going to change over 2 weeks. I know very well what to look. ;)

Gu3st...

2011-04-04 13:09:31

rogeruk:
Its suggested that new SRL Members look around at recent applications and stick around for a few new ones, just so you know what to look for and what our standard is in terms of new SRL member abilities/attitudes. There's no set time frame though so if you feel like you're ready go ahead and vote.

WT-Fakawi

2011-04-13 10:08:52

In. Welcome.