SRL Archive - Archive

elfyyy - SRL Member Application


Kyle

2013-11-27 15:46:56

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?
Pascal and Python, Going to be taking classes next semester on Matlab.


Are you a member of any other communities?
Not Actively


Tell us about yourself…
From: elfyyy
My name is Kyle and I am currently in my second year of mechanical engineering at USF in Florida. I played RS ever since around 4th grade up until around highschool. While I go on sometimes, it is just when I am working on scripts. I am 19 years old and will hopefully end up getting my masters of engineering from either USF or I may transfer to Georgia Tech. While I spend a lot of time on my computer my main hobby by far is fishing. I have fished and still fish in many tournaments and have placed in several and finished first in a Kingfish tournament. While I like to consider myself decent with computer programming I need to work on more languages as pascal is the only one I am very good at. I have only released one complete script which is my pest control. I have written several others but either never finished them or had it to the point where I felt comfortable to release. While my degree is Mechanical Engineering I will hopefully be taking a lot of programming classes to further my knowledge in a variety of languages. I hope to become a member here at villavu to help further my knowledge of scripting and to be able to help others in this awesome community.
Thank you very much for considering me,
Kyle



Please show us one (or multiple) of your scripts.
[CODE]program PC;
{$DEFINE SMART8}
{$I SRL-OSR/SRL.Simba}
// Welcome To Elfyyy's PC Script!

// Please report any and all bugs to thread

// Thanks To Flight and Le Jingle for various advice

// Start In Boat, Outside it, or On island

Var
Prayers: array of string;

const
Name = 'Iemz Pc'; //Pest Control Friend chat channel

procedure DeclarePlayer;
begin
Prayers := ['superhuman strength','eagle eye'];//LowerCase Only... Use '' For No Prayers
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';//Username
Players[0].Pass := '';//Password
Players[0].Nick := '';//Nickname(Not first letter)
Players[0].Active := True;//Keep true
end;
//NO TOUCHY BELOW\\
const
VERSION = '2.5';
USE_AUTO_CHECKER = True;
DARK_DEFILER = 0;
LIGHT_DEFILER = 1;
TORCHER = 2;
GREEN_SHIFTER = 3;
RED_SHIFTER = 4;
PUKE_SPLATTER = 5;
MID_SPLATTER = 6;
BRIGHT_SPLATTER = 7;
EAST_PORTAL = 0;
WEST_PORTAL = 1;
SOUTHEAST_PORTAL = 2;
SOUTHWEST_PORTAL = 3;

type Tmonster = record
MainColor, SideColor: integer;
Names:String;
end;

TmonsterArray = Array of Tmonster;


Type TPortal = Record
Message:string;
DTM, X1, Y1, X2, Y2:Integer;
Active:Boolean;
end;

TPortalArray = Array of TPortal;

var

Status: string;
TimeGone, PlankDTM, IBoatDTM, Won, GamesWon, GamesLost, Zeal, ZealPH, Lost1, Lost2, EastCross, WestCross, SouthEastCross, SouthWestCross, CurrentW, HotW: integer;
Monsters: TmonsterArray;
Portals: TPortalArray;

procedure Proggy;
begin
TimeGone := (GetTimeRunning / 1000);
Zeal := GamesWon * 2;
ZealPH := (3600 * (Zeal)) / ((TimeGone)) ClearDebug;
writeln('Thanks For Using Elfyyys PC Script!');
writeln('Currently using version:' + version);
Writeln('Time Running: ' + TimeRunning);
Writeln('Status:' + Status) Writeln('Played ' + IntToStr(GamesWon + GamesLost) + ' Games So Far!');
Writeln('Won ' + IntToStr(GamesWon) + ' games and Lost ' + IntToStr(GamesLost) + ' games!');
Writeln('Earned ' + IntToStr(Zeal) + ' Zeal, Thats ' + IntToStr(ZealPH) + ' Zeal P/h!');
end;

procedure SetupMonsters;
begin
SetArrayLength(Monsters, 8);
with Monsters[DARK_DEFILER] do
begin
MainColor := 5848409;
SideColor := 10732227;
Names := 'Dark Defiler';
end;
with Monsters[LIGHT_DEFILER] do
begin
MainColor := 6577248;
SideColor := 10601154;
Names := 'Light Defiler';
end;
with Monsters[TORCHER] do
begin
MainColor := 5065481;
SideColor := 1187996;
Names := 'Torcher';
end;
with Monsters[GREEN_SHIFTER] do
begin
MainColor := 2439186;
SideColor := 945762;
Names := 'Green Shifter';
end;
with Monsters[RED_SHIFTER] do
begin
MainColor := 1781205;
SideColor := 4610426;
Names := 'Red Shifter';
end;
with Monsters[PUKE_SPLATTER] do
begin
MainColor := 6123659;
SideColor := 15000807;
Names := 'Puke Splatter';
end;
with Monsters[MID_SPLATTER] do
begin
MainColor := 7898563;
SideColor := 12107969;
Names := 'Mid Splatter';
end;
with Monsters[BRIGHT_SPLATTER] do
begin
MainColor := 11043776;
SideColor := 15263979;
Names := 'Bright Splatter';
end;
end;

procedure JoinClan(Name:String);
Var
x,y:integer;
begin
FTab(tab_Clan);
if FindColorSpiralTolerance(x, y, 6619135, 605, 225, 675, 245, 5) then
Exit;
mmouse(600,450,4,4)
ClickMouse2(Mouse_Left);
TypeSendEx(Name,true);
Wait(RandomRange(500,1100));
end;

Function OpenWScreen:Boolean;
Var
x, y:integer;
begin
Result := False;
if Loggedin then
Exit;
Mmouse(54,475,1,1);
wait(500);
ClickMouse2(Mouse_Left);
Wait(500);
if findcolortolerance(x,y,3166829,350,190,435,220,10) then
Result := True;
end;

procedure MyWorld(W: Integer);
var
WArray: array of Integer;
TPA: TPointArray;
I, C: Integer;
begin
SetArrayLength(TPA, 62);
for I := 0 to 61 do
begin
TPA[I] := IntToPoint(250 + ((i/16)*90), 80 + (24 * (i mod 16)));
end;
begin
Warray := [301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 316, 317, 318, 319, 320, 321, 322, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 338, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 357, 358, 359, 360, 361, 362, 365, 366, 367, 368, 369, 370, 373, 374, 375, 376, 377, 378];
for C := 0 to 61 do
if warray[C] = W then
begin
MMouse(TPA[C].x, TPA[C].y,1,1);
wait(500);
ClickMouse2(Mouse_Left);
end;
end
end;

function World: Integer;//Credit Turpinator
var
j, i, x, y, tens, ones, L, dcount, maxloc, finalloc: Integer;
Main, dif, ZeroToNine: TIntegerArray;
begin
SetLength(Main, 10);
SetLength(ZeroToNine, 10);
ZeroToNine[0] := BitmapFromString(5, 8, 'meJxjYGBI+f8fghjAbAYYgAtShcuAahEAGQoq5Q==');
ZeroToNine[1] := BitmapFromString(3, 8, 'meJxjYGBI+f+fAUxCGAwwEWIYEF1ABABdJBo3');
ZeroToNine[2] := BitmapFromString(5, 8, 'meJxjYGBI+f8fghjAbAYYQGbjkSKGzYBkCwQBAMlcI78=');
ZeroToNine[3] := BitmapFromString(4, 8, 'meJxjYGBI+f8fiBjADAYwgDPgbLgaNHE4G00vXAQAxUoe+w==');
ZeroToNine[4] := BitmapFromString(4, 8, 'meJxL+f+fAQZS8LKxknCESxcAfc4e+w==');
ZeroToNine[5] := BitmapFromString(4, 8, 'meJxL+f8/BQkxwAAaG00WqwJkcbgIAGUwI78=');
ZeroToNine[6] := BitmapFromString(5, 8, 'meJxjYACBlP//gYgBxmbAEESWgouj6UJWjMmFC0LYAHSRKuU=');
ZeroToNine[7] := BitmapFromString(4, 8, 'meJxL+f8/BYYYYADOplAQCAAoQRo3');
ZeroToNine[8] := BitmapFromString(5, 8, 'meJxjYGBI+f8fghjAbAYYgAvCuQykKMavFwC6dy1H');
ZeroToNine[9] := BitmapFromString(5, 8, 'meJxjYGBI+f8fghjAbAYYgAvCucgKkBloKtHMwcoFAJogI78=');
for j := 0 to 9 do
begin
tens := 0;
ones := 0;
for i := 9 downto 0 do
begin
if FindBitmapIn(ZeroToNine[i], x, y, 690, 269 + j * 15, 700, 278 + j * 15) then
tens := i;
if FindBitmapIn(ZeroToNine[i], x, y, 698, 269 + j * 15, 704, 278 + j * 15) then
ones := i;
end;
Main[j] := tens * 10 + ones;
end;
for i := 0 to 9 do
FreeBitmap(ZeroToNine[i]);
begin
SetLength(dif, length(Main));
for L := 0 to length(Main) - 1 do
dif[L] := 1;
QuickSort(Main);
dcount := 0;
for L := 0 to length(Main) - 2 do
if Main[L] = Main[L + 1] then
inc(dif[dcount])
else
inc(dcount);
maxloc := 0;
for L := 0 to length(dif) - 1 do
if (dif[L] > dif[maxloc]) then
maxloc := L;
finalloc := 0;
for L := 0 to maxloc - 1 do
finalloc := finalloc + dif[L];
result := Main[finalloc];
end;
end;

function CWorld:Boolean;
Var
i, k: Integer;
TPA,Blah:TPointArray;
TheBox:TboxArray;

begin
result := false;
SetArrayLength(TheBox, 10);
SetArrayLength(TPA, 10);
K := 0
for i:=0 to 9 do
begin
TheBox[i] := IntToBox(650,268 + (15*i),709 ,280 + (15*i));
if findcolorstolerance(Blah,65280,TheBox[i].X1,TheBox[i].Y1,TheBox[i].X2,TheBox[i].Y2,5) then
K := K + 1
end;
if K >= 6 then
Result := True;
end;

procedure PraySelect;
var
Prayer: array of string;
i, t, S: Integer;
TPA: TPointArray;
begin
if Length(Prayers) = 0 then
Exit;
SetArrayLength(TPA, 29);
for i := 0 to 28 do
Tpa[i] := IntToPoint(568 + (37 * (i/6)), 230 + (37 * (i mod 6)));
begin
Prayer := ['thick skin', 'rock skin', 'protect item', 'incredible reflexes', 'mystic might', 'piety', 'burst of strength', 'superhuman strength', 'hawk eye', 'protect from magic', 'retribution','no', 'clarity of thought', 'improved reflexes', 'mystic lore', 'protect from missiles', 'redemption','no', 'sharp Eye', 'rapid restore', 'steel skin', 'protect from melee', 'smite','no', 'mystic will', 'rapid heal', 'ultimate strength', 'eagle eye', 'chivalry'];
for T := 0 to High(Prayers) do
begin
for S := 0 to 28 do
if Prayer[S] = Prayers[T] then
begin
FTab(tab_Prayer);
MMouse(TPA[S].x, TPA[S].y, 1, 1);
wait(500);
ClickMouse2(Mouse_Left);
end;
end;
Ftab(tab_inv);
end;
end;

procedure AutoUpdateMe; //Credit Shuttleu
var
ThisFile: integer;
OnlineVersion, NewScript, FileNew: string;
begin
if USE_AUTO_CHECKER then
begin
writeln('Checking for script updates...');
OnlineVersion := GetPage('http://pastebin.com/raw.php?i=b4sF5MBD');
writeln(OnlineVersion);
writeln(Version) if (trim(OnlineVersion) > Version) then
begin
writeLn('Using Outdated Script!!');
writeLn('Updating to New Version.');
NewScript := GetPage('http://pastebin.com/raw.php?i=MHrcUdf1');
FileNew := ScriptPath + 'ElfyyyPc-V' + OnlineVersion + '.simba';
ThisFile := Rewritefile(FileNew, true);
try
WriteFileString(ThisFile, NewScript);
except
begin
writeLn('Failed writting to ' + FileNew + '!!');
terminatescript;
end;
end;
CloseFile(ThisFile);
writeLn('New script downloaded to ' + FileNew + '!! Please use this one!!');
TerminateScript;
end;
if (trim(OnlineVersion) = Version) then
writeLn('You Are Updated To the Lastest Version!');
end
else
WriteLn('!!!!! Not checking for latest version, you may be outdated!');
if (trim(OnlineVersion) < Version) then
begin
Writeln('You Are Using a Beta Version!!! Babysit!!');
Writeln('Give any and ALL feedback to Elfyyy!!!');
wait(5000);
end;
end;

procedure DeclareDTM;
begin
SouthWestCross := DTMFromString('mbQAAAHicY2VgYJjOyMAwAYjnAnE/EC8AYh2guAkQKwOxChAbA/FhTQkGUSEhFCwHFOdBw4xYMBgAAOHgBhM=');
EastCross := DTMFromString('mbQAAAHicY2VgYJjOyMAwAYjnAnE/EC8AYh2guAkQKwOxChAbA/FhTQkGUSEhFCwHFOdBw4xYMBgAAOHgBhM=');
WestCross := DTMFromString('mbQAAAHicY2VgYJjOyMAwAYjnAnE/EC8AYh2guAkQKwOxChAbA/FhTQkGUSEhFCwHFOdBw4xYMBgAAOHgBhM=');
SouthEastCross := DTMFromString('mbQAAAHicY2VgYJjOyMAwAYjnAnE/EC8AYh2guAkQKwOxChAbA/FhTQkGUSEhFCwHFOdBw4xYMBgAAOHgBhM=');
PlankDTM := DTMFromString('mbQAAAHicY2VgYGADYm4GCOACYkYozQTE/EAsBJXrLQpgqI6zZFjQFMOwvCOeISPEmkEEKM4BxDxImBELBgMAjKsG+A==');
IBoatDTM := DTMFromString('mbQAAAHicY2VgYOABYnkGBJCBikkAsSQQM0LFOwsdGFL9JBim17gxTK1yYahLt2KQA4pzoGFGLBgMAICRBp4=');
Won := BitmapFromString(110, 18, 'meJytmG1r1EAUhfP/W8GuFGpaw' + 'fpJEAsiFrGtrKWVilp8AenP8W5O8+zZM+m6LYbLMrmZzG6ePfdlsv' + 'XqZGu0R2/Oy7aP5rO3F9iT4y9lnPYn3/aOr3xCeTTNnWW1lAa7H77' + 'WnLIaML6X7Z/9YHB4/vv5x5/9/Prg0y9ZrVl+XdIAq6s46y55MJ3q' + 'xtbP97KU3xKessevz8qEsT674YBh/cjgU56AtvfuElyOtBbU2EmuJ' + '7Z+gh5ZJHmE+rU8bA2Ea9J0l9gGNHm0uMbBquUmUL5g0SuSO0dzZ1' + 'gD8XmAiR6CBP4apW1uRePWzr7Hs5RHHNr1a0II0nVYE2AISUzrcJf' + '071+NVSwLY/F0IFBV/D59/7lotHgj9uVRluCqrHLCA+K6hb8IbSEd' + 'YGqAXEWSqHSSenzn6eicJOpFjdy1e7rUpC9SAz013NCSk4xATufxl' + 'cOEoaeIsv9IEp6L0J5fF0mJpwbi5moHhZ59Ep3rsJWlk2ROrRYrCK' + 'MeX+XGA3MT8wLU6hOSk6GtS266ukgvU+RdJILD6TIDDBJlHa56niQ' + '93gWznRmog+SLy5vtIbRhOAmzG4/Wg19yhSSXCg6fqg4MRMZnMo0j' + '5mvMA4pkrOMz40DSeEARM0O3+KHakkSTkAwTqDYJBFiRVKTrcSq1O' + 'qJgwvN6CZZKucVvdPI0PBprwFUEz1Uym0gKiAoNQEh9LahuTImd5Y' + 'eWpDRZn1XEBdPFiWIjeXpOwF8wZTy4qLZAdMl58tQ6jZBf/Oz5tbN' + 'SPvS7UJqfehfUDeXJi8UkHPwOqrP6UtCCJLVbJDHkxyCcbUnqVstT' + 'nSo9iqTGkBQcyHdj7KuIxDRIOmfyocZeUCCJJsmuQHMsBMV6kh4L0' + 'Uo9u7ipcX1qd1PTpElgCqCwSLH3IhljwezGvOeVRV2WB75Ll7+Awq' + 'GZhRGSUPKGOXJCBKmLzcM/SPqNXuA8Z8oDSXY3HGweBVAHjSI1hUh' + 'vYbpTlUgeyUzRzbQA6GCjgpR0Fek+LdZRO7TEXreMVcOBO7rotzX2' + '/66zrOszyyNZQpIkGdnSnZSeydYxdKirncl4Nux3FNrR9myy31lpW' + 'oY2MvpMol5S6W37qZ4zzHvL6H/aHnK91Y3SnlecsHB6i+4enI5ReZ' + 'INOMwjW3osB+EwfvbLyz/ajPS2o1FQ983uG9og2h/feLgmaU2lMb5' + 'uQ7uLZAtqheTQ7YQ4EWTbRBHjqjKC5t279/AOM94jcbrc2a0qE5KH' + '4ysg/yOisd+310fuFBleN90lzth4EstFcmd8n0Yse5e+4d6nG4p1Z' + 'FQXLZsX3hRNwmwFif9g2EdLkwQ1Ee2nwNR+vOBAL/QZ++uD1XcXkx' + 'aihViRdPm1msQT7zoI3tn4rlIwHaNwLQQ5YFS50RiSJNKZvYjT5NT' + 'q/Jps2aLrbesNW0VxPzal+tw9XfZIrsZ/5snJS0S0kwxQPijdOkkP' + '0tm4B/dN38x23xoLTs0s8+Dlv+hXX1R6pHsFIbpRnWvJSdZdful22' + 'dMFSdaMGIfY+mzpRfAv0ilRpQ==');
Lost1 := BitmapFromString(76, 17, 'meJyVlsFOw0AMRPP/dzhQkIDPgB' + 'QVBCegCnDhc3AzyevE3gaIrCrxer0ej+3tZjtcPn6GbLaD5Ozu1eX' + 'i/i3EP12fVptLx8/d/uC/H5JnDGLV93pgWr1++LjevvPJEnvD+SKk' + '/mAgP+6tBlyDrxnw2CrAo9sZIHGGJo7GLFAIHVsS/MDoOUE/Oe+X8' + 'Y+fN09fsuy6jsw40nbw/bQFGycoMaWwlU8i0VI3PvKGhD05zwBHVx' + 'WgMKIhDEUYrnQQbvWyzs4UW2GWI0gFEU5JQEYn0+9MpYKMtKfq4l2' + 'MpHiSRgcRoTAK5sYa04tnBWaqJWeQYsttO2OM7VAJamGs7SN0zmx8' + 'cmgKklMcY4wC59F73KViTNnzDmomx6lUVo8b5+o91PNIq4chjMJ1Y' + 'eNLcr77cnuKyjGqs2r2lK4mRuW/Nqmy2mzkVKvaXnMoMzSEFJ1Yg0' + 'kDJA3MWqt46+aHOlESeBS/a/w4GHF0WIom30v70yN6CVDpXI2jQJo' + 'iFGRXLjD2Q+LRXxyg3r3AeJd/b8BJv9srt6SFg3yMTxh3e5UfrNVg' + 'NI4mFP3geqChSf2YeCRROuhUJbt/scOlsLiA+sWtRITd8qoSxhCfM' + 'zUhis1Tx6SCdI52g1qr/Gqa+SqpTsXGP4qYANSbs09FJWoEUFSSc4' + 'fPFvWjWgPifMKw6hhpaj8aXMBEecrSWa4CHbUpvKEA6zPH8+OTwXP' + 'OvcDFzVk+lrXk7Qw0SWKNJLD6K8y6PRV//eyWT/XmGQNdZ9MDmqrc' + 'vnynJerW9dXGzVzcIGFMAKtUAw2ctOTdUU+vSAOj6xO0po3ngc+r5' + '2/2Yl95/Its5rs+Yfc/AKf2NhmBx1MGfxT5qTz+CyAErdO9Ik06ms' + 'RVYfs6xqZnvUB0BXU5jminjIvPNW5TXcn/DxdPk4U=');
Lost2 := BitmapFromString(62, 14, 'meJyNlctOAzEMRef/97CAsigr+A' + 'UoUqdiViBUUQkNf4NHp726tZOWyqo8iZMcv5L17rA+l8dpXo3f+gw' + 'dkf7wPmtQcv+2R7ndHjQiudnsfcRt6lban1mWH/d5+Vhks4ysO+Tx' + 'H8InihxJHomWg9iW40KGYRA249iwMGaZQhG5XHNjyNnw7vWzSR5rA' + 'XbmJClQcMaJIWJ2nhRGzaI0k5tkOP2IfwosSpCHVFSPeQN+nJ0cvC' + 'U+2y/PjjN75K+SA1zJsVeoIX+aflIJVRc8xUfycdYpNekOTAqukjO' + 'SjD3aYpMvQe6+qH16YccASeS1GS/HPG0en5U8dNioN0SD6EqxusAH' + 'm/wqZjdLeiVP9gRqOP95zPkMM/dC2KRAU5hpzx45s2rbC8A9F5oZc' + 'acqsMefUsdZfNESXbz1hhc595uUf5I3XajkVBFgAHvZ6FPBh1yZ6p' + 'GnMrsQzKT07Cu5glyxU9mgpxypJWvN9GJI99WScze9Q1MDVnKPsJO' + '7UyLXYCWXjk0PT7MO7J3IdVfHh9NdIXmeftPTKV1ThEL+ruwaTGXf' + 'zIJiUlelZ1TvS1ooM386Aw9Cv9ITvM4C3gHki9zvYfvl4LOr8/fCW' + '6a+IH8mIDdF');
end;

procedure FreeTheDTM;
begin
FreeDTM(PlankDTM);
FreeDTM(IBoatDTM);
FreeBitmap(Won);
FreeBitmap(Lost1);
FreeBitmap(Lost2);
end;

function GetLocation: string;
var
x, y: Integer;
begin
if not LoggedIn then Exit;
Result := '';
if FindColorSpiralTolerance(x, y, 5855173, MMX1, MMY1, MMX2, MMY2, 45) and FindColorSpiralTolerance(x, y, 197048, MMX1, MMY1, MMX2, MMY2, 45) and FindColorSpiralTolerance(x, y, 60395, MMX1, MMY1, MMX2, MMY2, 45) and FindColorSpiralTolerance(x, y, 12161149, MMX1, MMY1, MMX2, MMY2, 45) then
begin
Result := 'HomeLand';
end;
if FindColorSpiralTolerance(x, y, 63488, 352, 10, 514, 89, 5) and FindColorSpiralTolerance(x, y, 3355647, 352, 10, 514, 89, 10) and FindDTM(IBoatDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
wait(150);
Result := 'IslandBoat';
Wait(150);
Exit;
end;
if FindColorSpiralTolerance(x, y, 16777113, 0, 0, 150, 100, 3) then
begin
Result := 'Boat';
Exit;
end;
end;

procedure RunToMobs;
var
x, y: integer;
Tpa: TPointArray;
ATPA: T2DPointArray;
begin
findcolorstolerance(Tpa, 195836, MMX1, MMY1, MMX2, MMY2, 5);
ATPA := TPAtoATPA(Tpa, 5);
if Length(ATPA) = 0 then
Exit;
SortATPASize(ATPA, true);
MiddleTPAEx(ATPA[0], X, Y);
MMouse(x, y, 0, 0);
ClickMouse2(Mouse_Left);
Wait(randomrange(600,1200));
end;

Procedure AttackMonsters;
var
MainColorTPA, SideColorTPA:TPointArray;
TheATPA: T2DPointArray;
MainBox: TBox;
i, H, Monster: integer;
MSCTP: Tpoint;
begin
if not LoggedIn then
Exit;
MSCTP := Point(MSCX, MSCY);
for Monster := DARK_DEFILER to BRIGHT_SPLATTER do
if findcolorstolerance(MainColorTPA, Monsters[Monster].MainColor, MSX1, MSY1, MSX2, MSY2, 5) then
begin
TheATPA := SplitTPAEx(MainColorTPA, 30, 30);
SortATPAFrom(TheATPA, MSCTP);
H := high(TheATPA)
for i := 0 to H do
begin
MainBox := GetTPABounds(TheATPA[i]);
if findcolorstolerance(SideColorTPA, Monsters[Monster].SideColor, MainBox.x1, MainBox.Y1, MainBox.X2, MainBox.Y2, 15) then
begin
mmouse(SideColorTPA[0].x, SideColorTPA[0].y, 2, 2);
if WaitUpText('ttack', 160) then
begin
Status := ('Attacking a '+ ToStr (Monsters[Monster].Names)) Proggy;
clickmouse2(mouse_left);
wait(randomrange(2000,6000));
end;
end;
end;
end;
end;

procedure FindMonstersDefend;
var
Run: integer;
begin
if not LoggedIn then Exit;
Status := ('Looking for Mobs');
Proggy;
repeat
if not LoggedIn then break;
AttackMonsters;
Run := random(100);
if (Run = 50) then
begin
Status := ('Run to mobs');
Proggy;
RunToMobs;
end;
until((GetLocation = 'IslandBoat') or (GetLocation = 'HomeLand'))
end;

procedure GetInBoat;
var
x, y, Q: integer;
begin
if not LoggedIn then Exit;
wait(1500);
if FindNPCChatText('Congratulations!', nothing) then
GamesWon := (GamesWon + 1);
if FindNPCChatText('noticed', nothing) or FindNPCChatText('lost.', nothing) then
GamesLost := (GamesLost + 1);
status := ('Looking for Plank DTM 1st Check');
Proggy;
if FindDTM(PlankDTM, x, y, 255, 71, 350, 335) then
begin
Status := ('Found DTM');
Status := ('Looking for Plank Color, 2nd check');
Proggy;
if FindColorSpiralTolerance(x, y, 3760254, 255, 71, 350, 335, 8) then
mmouse(x, y, 3, 3);
if WaitUpTextMulti(['Cross', 'plank'], 180) then
begin
Status := ('3rd Check Done, Crossing Plank :)');
Proggy;
MarkTime(Q);
repeat
if not LoggedIn then Break;
wait(randomrange(250, 1000));
clickmouse2(Mouse_Left);
if ((TimeFromMark(Q) > 10000)) then
begin
writeln('Couldn''t Cross Plank, Report Error ASAP')
terminatescript;
end;
until (GetLocation = 'Boat');
end;
end
else
wait(Randomrange(250,750));
if (GetLocation = 'Boat') then exit;
if RadialWalkTolerance(3256063, 0, 360, 80, 0, 0, 15) then
RadialWalkTolerance(2180436, 160, 200, 60, 0, 0, 50);
RadialWalkTolerance(982782, 140, 240, 60, 0, 0, 50);
end;

procedure WaitInBoat;
var
t, s: integer;
begin
if not LoggedIn then Exit;
Ftab(tab_clan);
Wait(500);
HotW := (World + 300);
Status := ('Checking If in Active Clan World');
Proggy;
Wait(800);
if (CWorld = True) then
begin
MarkTime(t);
Ftab(Tab_Inv);
repeat
if not LoggedIn then Break;
wait(randomrange(30, 250));
Status := ('Waiting in boat, Start AntiBan');
Proggy;
if not (GetLocation = 'Boat') then
exit;
case Random(100) of
1: HoverSkill('strength', False);
2: HoverSkill('hitpoints', False);
3: HoverSkill('magic', False);
4: HoverSkill('ranged', False);
5: RandomMovement;
6..15:
begin
MarkTime(s);
repeat
wait (randomrange(30, 200))
until (GetLocation = 'IslandBoat') or (TimeFromMark(s) > randomrange(5000, 20000))
end;
end;
until(GetLocation = 'IslandBoat')
Exit;
end
else
Status := ('Not In Active World, Hopping');
Proggy;
Logout;
OpenWorldScreen;
MyWorld(HotW);
Exit;
end;

procedure RunToCenter;
begin
if not LoggedIn then Exit;
if (GetLocation = 'HomeLand') then
exit;
Status := ('At Island Boat, Move out!');
Proggy;
wait(30);
Setangle(0);
MakeCompass('N') if (GetLocation = 'HomeLand') then
exit;
RadialWalkTolerance(1864314, 160, 200, 80, 0, 0, 50) if (GetLocation = 'HomeLand') or (GetLocation = 'IslandBoat') or (GetLocation = 'Boat') then
exit;
PraySelect;
RadialWalkTolerance(195836, 30, 330, 80, 0, 0, 50);
if (GetLocation = 'HomeLand') then
exit;
Status := ('Ran Past Center!');
Proggy;
end;

begin
AutoUpdateMe;
DeclarePlayer;
activateclient;
SetupSRL();
if (not LoggedIn) then
LogInPlayer;
Setangle(0);
MakeCompass('N')
wait(50);
CurrentW := (CurrentWorld);
Joinclan(Name);
SetRun(true);
Retaliate(true);
GameTab(tab_Inv);
DeclareDTM;
SetupMonsters;
Addonterminate('FreeTheDTM');
repeat
if not LoggedIn then
begin
LogInPlayer;
CurrentW := (CurrentWorld);
Joinclan(Name);
Wait(RandomRange(5000,7500));
end;
While (GetLocation = 'HomeLand') do
GetInBoat;
While (GetLocation = 'Boat') do
WaitInBoat;
While (GetLocation = 'IslandBoat') do
RunToCenter;
FindMonstersDefend;
until (false);
FreeTheDTM;
end.[/CODE]

Ashaman88

2013-11-27 16:13:51

And that's a yes

The Killer

2013-11-27 17:50:18

It's a yes from me :)
One thing that did catch my eye was:
Prayers := ['superhuman strength','eagle eye'];//LowerCase Only… Use '' For No Prayers
If you didn't know, you can use Lowercase(s:AnyString):string; to lowercase things. This is important here because you always have people who make mistakes…
But very good app :)

rj

2013-11-27 18:04:41

I may transfer to Georgia Tech
:o I live about 2 hours down the road from there :)


Good app, goes beyond the recommendations for SRL members :)

Sin

2013-11-27 18:25:16

You in your undergrad at USF? (Yes btw)

Kyle

2013-11-27 18:47:19

From: The Killer
It's a yes from me :)
One thing that did catch my eye was:
Prayers := ['superhuman strength','eagle eye'];//LowerCase Only… Use '' For No Prayers
If you didn't know, you can use Lowercase(s:AnyString):string; to lowercase things. This is important here because you always have people who make mistakes…
But very good app :)


Yeah I saw that but I was quite lazy finishing up with that last update. Makes the people who use it have some brains ;)
From: Sin
You in your undergrad at USF? (Yes btw)

Yeah I am. 2nd year.


Thanks a lot guys for the yes's, means a lot!!

Turpinator

2013-11-27 18:57:13

From: elfyyy
Yeah I saw that but I was quite lazy finishing up with that last update. Makes the people who use it have some brains ;)


it weeds out the people that cant read simple directions… amirite? ;)

but yeah. if only @Justin would get on skype… he could get into the skype group and then everyone would actually actually know him. hurry up justin.

cause

2013-11-27 20:07:46

Solid yes :)
EDIT: Who voted no?

Kyle

2013-11-27 21:03:01

From: cause
Solid yes :)
EDIT: Who voted no?


Haters Be hating ya know?! Haha Jk, I would like to know why, so I could improve on it or at least know what it was for lol.

Sin

2013-11-27 21:20:11

Just wondering, what was your GPA/SAT score when you got accepted?

[XoL]

2013-11-27 21:26:08

Yes from me!

Kyle

2013-11-27 21:43:15

From: Sin
Just wondering, what was your GPA/SAT score when you got accepted?

Uh Gosh, my GPA with core classes only(Thats all USF uses for their acceptance) was like a 3.75 unweighted and like 4.2 Weighted. My ACT is all I submitted to them and it was a 32.

EDIT: Just checked and my ACT was actually a 30.

Sjoe

2013-11-27 21:55:42

I voted no on accident, someone can change it?

Dgby714

2013-11-27 22:50:00

I'm going to vote yes, tho your standards kill me, and I know it's valid for PascalScript, but try not to miss semicolons.

Olly

2013-11-28 00:33:44

SortATPAFrom(TheATPA, MSCTP);
Won't actually sort your atpa how you want it to, wrongly named (to me) SortATPAFrom actually sorts each tpa from the point, for your use you will want SortATPAFromFirstPoint Or SortATPAFromMidPoint.

mmouse(SideColorTPA[0].x, SideColorTPA[0].y, 2, 2);
Also, Id like to see something else than clicking the first point in the tpa, even if it has randomness, maybe middleTPA?

core

2013-11-28 00:46:33

Voted yes, though code lacks any comments. I think at the very least each function and procedure should have a comment explaining what it does, inputs and outputs.

Kyle

2013-11-28 01:05:50

From: Olly
SortATPAFrom(TheATPA, MSCTP);
Won't actually sort your atpa how you want it to, wrongly named (to me) SortATPAFrom actually sorts each tpa from the point, for your use you will want SortATPAFromFirstPoint Or SortATPAFromMidPoint.

mmouse(SideColorTPA[0].x, SideColorTPA[0].y, 2, 2);
Also, Id like to see something else than clicking the first point in the tpa, even if it has randomness, maybe middleTPA?


Yeah I was wondering why it wasn't sorting them like I thought it should, I just added the SortfromMidPoint and it works like I wanted it too! Thanks alot! I Also Just changed around a lot of my mouse functions and used some of flights mouse procedures, I will definitely change the always using the first point in the array.

From: core
Voted yes, though code lacks any comments. I think at the very least each function and procedure should have a comment explaining what it does, inputs and outputs.

Will do definitely!

xtrapsp

2013-11-28 09:26:11

Voted yes.

Don't know why but I like you kid.

#HateBarbradyforyesvotes

King

2013-12-01 17:28:30

Looked through the script quickly, looks nice, I see the functions needed and you have had a good attitude from what I know of you.

Things I would like to see: Work on commenting out the script (like what each does, what your trying to do, thoughts ect..) as I feel it helps us see exactly what you are trying to do with the script.

I like your main loop as it is not just a 1 2 3 type thing, it accounts for location. Does this run elsewhere besides the middle?

Solid yes :)

Dgby714

2013-12-02 02:40:20

From: elfyyy
Will do definitely!


Please don't overdo it… There is a such thing as over-commenting.

Kyle

2013-12-02 17:23:45

Thanks for the votes! I am working on a second script which is quite a gold farming monster so I will probably just keep it private or members+ for a while.

From: King
Looked through the script quickly, looks nice, I see the functions needed and you have had a good attitude from what I know of you.

Things I would like to see: Work on commenting out the script (like what each does, what your trying to do, thoughts ect..) as I feel it helps us see exactly what you are trying to do with the script.

I like your main loop as it is not just a 1 2 3 type thing, it accounts for location. Does this run elsewhere besides the middle?

Solid yes :)


Thanks for that, and I'm not sure I completely understand your question?

Hoodz

2013-12-02 17:27:44

From: elfyyy
Thanks for the votes! I am working on a second script which is quite a gold farming monster so I will probably just keep it private or members+ for a while.



Thanks for that, and I'm not sure I completely understand your question?


does it fight somewhere else on the island except in the middle (like close to the portals).

and why is elfyyy no srl-member yet? :D

Kyle

2013-12-02 17:33:28

From: hoodz
does it fight somewhere else on the island except in the middle (like close to the portals).

and why is elfyyy no srl-member yet? :D


Haha thats what I was wondering!!! Looks like I technically tied your 0 no votes(getting rid of @Sjoe's blunder!) Haha.

@King
Yeah, when it leaves the boat it randomly walks once in a random direction towards a wall, and after a set time of not seeing any monsters(I forget what it is now) it will walk to an area with the most amount of yellow dots.

Kyle Undefined

2013-12-02 17:47:55

I'm not going to vote, but please work on your standards and comments.

Also, I am not far from USF. That's a good school, good luck!

Flight

2013-12-02 20:27:44

From: Olly
SortATPAFrom(TheATPA, MSCTP);
Won't actually sort your atpa how you want it to, wrongly named (to me) SortATPAFrom actually sorts each tpa from the point, for your use you will want SortATPAFromFirstPoint Or SortATPAFromMidPoint.

mmouse(SideColorTPA[0].x, SideColorTPA[0].y, 2, 2);
Also, Id like to see something else than clicking the first point in the tpa, even if it has randomness, maybe middleTPA?


From: core
Voted yes, though code lacks any comments. I think at the very least each function and procedure should have a comment explaining what it does, inputs and outputs.


That's very good advice. I actually did some research yesterday on correct/alternative forms of code documentation and some look very pleasant for the eyes. I can see it's very important now.


King

2013-12-03 13:56:08

From: elfyyy
Haha thats what I was wondering!!! Looks like I technically tied your 0 no votes(getting rid of @Sjoe's blunder!) Haha.

@King
Yeah, when it leaves the boat it randomly walks once in a random direction towards a wall, and after a set time of not seeing any monsters(I forget what it is now) it will walk to an area with the most amount of yellow dots.


ˆ like that, I just didn't see it in there haha, probably just missed it skimming!

lordsaturn

2013-12-04 00:41:18

I guess the important thing is does it work? And if it does work, are you going to get banned using it? Can't speak to either of those, so I'll abstain from voting. But your use of types shows that you know how to think like a computer scientist.

Does anyone ever run these?

The Mayor

2013-12-07 01:01:29

Nice script elfyyy. I even learnt a few new things from reading it :) Just to say something useful - you should try and be consistent with your capitalization.

Since I haven't been around much I won't vote, but it looks like you're in anyway :)

Janilabo

2013-12-07 16:15:27

Hey elfyyy,

Nice application you have created here!

I already voted yes over a week ago, but I still would like to point out that there's some things you can simplify a bit in your script..
In some parts you are using/creating arrays even when you really don't need em.

For example these 2 below:

MyWorld (2 ways):
// With InRange check, to prevent it even creating WArray and entering the InIntArrayEx with invalid world's.
procedure MyWorld(W: Integer);
var
WArray: TIntegerArray;
i: Integer;
begin
if InRange(W, 301, 378) then
begin
WArray := [301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 316, 317, 318, 319, 320, 321, 322, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 338, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 357, 358, 359, 360, 361, 362, 365, 366, 367, 368, 369, 370, 373, 374, 375, 376, 377, 378];
if InIntArrayEx(WArray, i, W) then
begin
MMouse(250 + ((i / 16) * 90), 80 + (24 * (i mod 16)), 1, 1);
Wait(500);
ClickMouse2(Mouse_Left);
end;
end;
end;

// Simply without an InRange check
procedure MyWorld(W: Integer);
var
WArray: TIntegerArray;
i: Integer;
begin
WArray := [301, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 314, 316, 317, 318, 319, 320, 321, 322, 325, 326, 327, 328, 329, 330, 333, 334, 335, 336, 337, 338, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 357, 358, 359, 360, 361, 362, 365, 366, 367, 368, 369, 370, 373, 374, 375, 376, 377, 378];
if InIntArrayEx(WArray, i, W) then
begin
MMouse(250 + ((i / 16) * 90), 80 + (24 * (i mod 16)), 1, 1);
Wait(500);
ClickMouse2(Mouse_Left);
end;
end;

CWorld:
function CWorld: Boolean;
var
i, k, x, y: Integer;
begin
k := 0
for i := 0 to 9 do
if FindColorTolerance(x, y, 65280, 650, 268 + (15 * i), 709, 280 + (15 * i), 5) then
k := (k + 1);
Result := (k >= 6);
end;

Similar/same tricks could be used for PraySelect aswell.

Either way, looks like you are definitely getting in! :)

Ashaman88

2013-12-07 16:42:35

From: lordsaturn
I guess the important thing is does it work? And if it does work, are you going to get banned using it? Can't speak to either of those, so I'll abstain from voting. But your use of types shows that you know how to think like a computer scientist.

Does anyone ever run these?


If you check the OSR section you would see this script and the answers to your question

Kyle

2013-12-08 08:59:55

Thanks a lot for the comments and I will definetly take your guys advice and add/make the changes to my script and to future scripts!

Rich

2013-12-13 15:37:09

It's pretty clear to me which way the vote's going, but just for the record I'm saying yes. A good attitude and a well written script which runs for nearly 95 hours warrants you being in IMO!

EDIT: Didn't see the poll is closed. Just got to wait for an admin to see this now!

Rubix

2013-12-14 19:04:46

No.