itSchRis917
2007-07-08 11:04:01
<!– BEGIN TEMPLATE: formanswers –>
itschris917 - SRL Member Application Form
itschris917
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
bbri06
Programming Knowledge
no other programming languages
Other Communitys
sythe
How Long have You Played Runescape
2 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, ever since the summer has begun, i have had a bit more time to focus on the cheating aspect of runescape A.K.A. macroing, before i would just use other people's scripts and not worry about how they work, now i have grown to understand and appreciate the people who create these macros. Scar scripting has become a hobby for me, its something i do for fun, and i think thats what matters, im having fun. I dont mean to sound like a little league baseball coach "We had fun kids! Thats all that matters!" , but it has grown to be something that i enjoy doing, and dont really care if i get any monetary gain, or even the satisfaction of someone using my script, i just like creating them.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Well, i was going to post this in the SRL free scripts section, but seeing as how there are still quite a few leechers on SRL-forums, i figured people might just use my script and not give me any feedback, so i decided to post here, and also take a shot at becoming an SRL member. I would love it, if you gave constructive criticism, or even just criticism, i really want to know what i can improve on. Be as harsh as needed.
——————————————————
<!– END TEMPLATE: formanswers –>
itschris917 - SRL Member Application Form
itschris917
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
bbri06
Programming Knowledge
no other programming languages
Other Communitys
sythe
How Long have You Played Runescape
2 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, ever since the summer has begun, i have had a bit more time to focus on the cheating aspect of runescape A.K.A. macroing, before i would just use other people's scripts and not worry about how they work, now i have grown to understand and appreciate the people who create these macros. Scar scripting has become a hobby for me, its something i do for fun, and i think thats what matters, im having fun. I dont mean to sound like a little league baseball coach "We had fun kids! Thats all that matters!" , but it has grown to be something that i enjoy doing, and dont really care if i get any monetary gain, or even the satisfaction of someone using my script, i just like creating them.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Well, i was going to post this in the SRL free scripts section, but seeing as how there are still quite a few leechers on SRL-forums, i figured people might just use my script and not give me any feedback, so i decided to post here, and also take a shot at becoming an SRL member. I would love it, if you gave constructive criticism, or even just criticism, i really want to know what i can improve on. Be as harsh as needed.
program ArenaAlcher;
{.include SRL\SRL.scar}
var
Alchs, PeopleDot, lowalch, highalch, MageLevel, GainedLvls:integer;
WaitTime1, RandomWaitTime1:integer;
Version:extended;
CONST //////////////////////////////////////////////
WaitTime = 15; //in MINUTES time to stay logged out if //
//Person is found. Currently set to 15 min. //
//////////////////////////////////////////////
//////////////////////////////////////////////
RandomWaitTime = 2; //In MINUTES random time to stay logged //
//out. //
//////////////////////////////////////////////
ITEMTOALCH = 4345174; //////////////////////////////////////////////
//Color of the item you want to alch //
//////////////////////////////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers); // set arraylength
CurrentPlayer := 0;
Players[0].Name :='lazydude67';//Username //
Players[0].Pass :='';//Password //
Players[0].Nick :='azy';//3 or 4 LOWERCASE letters of username //
Players[0].String1 :='Low';//HIGH OR LOW ALCH //
Players[0].Loc :='Arena';//Player's Location. //
// VALID ARGUMENTS: //
// .ARENA //
// .BANK //
// .OTHER //
Players[0].Integer1 :=1000;//NUMBER OF ALCHS DESIRED //
Players[0].Active :=True;// Is the player Active? //
end;
{*******************************************************************************
function GetXP(Skill: String): Integer;
By: Masquerader
Description: Returns current xp for a skill.
*******************************************************************************}
function GetXp1(skill: string): Integer;
var
textx,texty,x1, y1, x2, y2, LeftCorner, RightCorner,len: Integer;
xp:string;
t:tpoint;
begin
LeftCorner:= DTMFromString('78DA63346164603006622C0026CA684A841A9' +
'03926449883A6E6FFFF0598E60411614E100173406A8289703301' +
'3500C6560919');
RightCorner:= DTMFromString('78DA635CC2C8C0100CC458004C947131916A8' +
'250D5FCFFBF0055CD124C3558CD3121600E488D3101739610A9C6' +
'04BF1A00F7DF0C91');
result:=-1;
GameTab(2);
t:=skilltocoords(skill);
MMouse(t.x, t.y + 12, 5, 5);
repeat
wait(10);
until findcolor(x,y,10551295,554, 205, 743, 465);
wait(300+random(100))
if((FindDtm(LeftCorner,x1,y1,554, 205, 743, 465))and(FindDtm(RightCorner,x2,y2,554, 205, 743, 465))) then
if(istextinareaex(x1,y1,x2,y2,textx,texty,'XP', 0, smallchars,false,true, 0,2,0))then
begin
len:=(x2-textx-22)div 7
xp:=trim(gettextatex(textx+22,texty,5,smallchars,false,false,0,3,0,len,false,tr_digits))
try
Result:= StrToInt(xp);
except
WriteLn('Failed to get XP');
end;
end;
freedtm(leftcorner);
freedtm(rightcorner);
end;
function ClickContinue : boolean;
begin
if FindColor(x,y,16711680,5,345,510,465) and (not FindColor(x,y,0,18,434,25,434)) then //Finds blue NPC text and not the black line seperating text
begin
if FindNPCChatText('level') then GainedLvls := GainedLvls + 1;
while FindNpcChatText('ontinu') do
begin
Mouse(x,y,20,5,true);
Wait(500 + random(500));
result := true;
end;
end;
end;
procedure ProgRep;
begin
Writeln('Magic level is : '+inttostr(GetSkillLevel('Magic')));
Writeln('Next Magic level is in : '+inttostr(NextLevelAt('Magic')-GetXP1('Magic'))+ 'XP.');
Writeln('Total Magic XP gained : '+inttostr(Alchs*65));
Writeln('Number of Alchs performed : '+inttostr(Alchs));
Writeln('Worked for: '+ScriptTime2(1));
Writeln('You have gained a total of '+inttostr(GainedLvls)+ 'magic levels.');
end;
procedure SkillCheck;
var
Tries:Integer;
begin
repeat
Mouse(586,186,2,2,true);
Tries:=Tries+1;
until(GetColor(587,173)=2763390) OR (Tries=3);
MMouse(588,371,4,4);
Wait(3000+random(250));
end;
//Taken from Fawki (i believe, i cant remember)
function FindAllBitmapsIn(TheBmp,startx,starty,endx,endy:integer):array of tpoint;
var tmpbool:boolean;
AL:integer;
curx,cury,tmpx,tmpy,height:integer;
begin
tmpbool:=FindBitmapIn(TheBmp,tmpx,tmpy,startx,starty,endx,endy);
if tmpbool then
begin
curx:=startx;
cury:=starty;
/////auto height finder///////
tmpbool:=FindBitmapIn(TheBmp,tmpx,tmpy,startx,starty,endx,endy);
height:=0;
repeat
height:=height+1;
tmpbool:=FindBitmapIn(TheBmp,tmpx,tmpy,startx,tmpy,endx,tmpy+height);
until tmpbool;
//writeln('height '+inttostr(height));
///////////
repeat
tmpbool:=FindBitmapIn(TheBmp,tmpx,tmpy,curx,cury,endx,cury+height);
if tmpbool then
begin
curx:=tmpx+1;
AL:=getarraylength(result);
setarraylength(result,AL+1);
result[AL].x:=tmpx;
result[AL].y:=tmpy;
end;
if not tmpbool then
begin
curx:=startx;
cury:=cury+1;
end;
until cury=endy+1;
end;
end;
Function CountPeople:Integer; //Taken from Fawki (i believe, i cant remember)
var People:array of Tpoint;
var Count:integer;
begin
People := (FindAllBitmapsIn(PeopleDot, 521,3,761,173));
Count := getarraylength(People);
Result := Count;
writeln('Found '+IntToStr(getarraylength(People))+' People.');
setarraylength(People,0);
end;
procedure ArenaLowAlch;
var
Tries:integer;
begin
If(CountPeople>0)THEN
BEGIN
Repeat
Mouse(634,475,4,4,true);
Tries:=Tries+1;
Until(GetColor(634,475)=2171233)OR (Tries=3);
Mouse(639,376,4,4,true);
Wait(WaitTime1+Random(RandomWaitTime1));
LoginPlayer;
END;
MouseSpeed:=Random(27);
IF(Not(GetColor(734,176)=2829182))THEN
Mouse(731,179,2,2,true);
If(FindBitmapToleranceIn(lowalch,x,y,558,214,736,454,5))then
BEGIN
Tries:=Tries+1;
Mouse(x+5,y+7,2,2,true);//clicks low alch//)
If FindColorSpiralTolerance(x,y,itemtoalch,558,214,736,454,5)then
Mouse(x,y,4,4,true);//clicks item to alch//
Wait(2200+Random(600));
FindNormalRandoms;
ClickContinue;
If(Random(500)< 10) THEN
begin
SkillCheck;
ProgRep;
end;
Alchs:=Alchs+1;
end;
end;
procedure BankHighAlch;
Var
Tries:integer;
begin
MouseSpeed:=Random(27);
IF(Not(GetColor(734,176)=2829182))THEN
Mouse(731,179,2,2,true);
If(FindBitmapToleranceIn(highalch,x,y,558,214,736,454,5))then
BEGIN
Tries:=Tries+1;
Mouse(x+5,y+7,2,2,true);//clicks high alch//
If FindColorSpiralTolerance(x,y,itemtoalch,558,214,736,454,5)then
Mouse(x,y,4,4,true);//clicks item to alch//
Wait(2200+Random(600));
FindNormalRandoms;
ClickContinue;
If(Random(500)< 10) THEN
begin
SkillCheck;
ProgRep;
end;
Alchs:=Alchs+1;
end;
end;
procedure BankLowAlch;
Var
Tries:integer;
begin
MouseSpeed:=Random(27);
IF(Not(GetColor(734,176)=2829182))THEN
Mouse(731,179,2,2,true);
If(FindBitmapToleranceIn(lowalch,x,y,558,214,736,454,5))then
BEGIN
Tries:=Tries+1;
Mouse(x+5,y+7,2,2,true);//clicks low alch//)
If FindColorSpiralTolerance(x,y,itemtoalch,558,214,736,454,5)then
Mouse(x,y,4,4,true);//clicks item to alch//
Wait(2200+Random(600));
FindNormalRandoms;
ClickContinue;
If(Random(500)< 10) THEN
begin
SkillCheck;
ProgRep;
end;
Alchs:=Alchs+1;
end;
end;
procedure ArenaHighAlch;
var
Tries:integer;
begin
If(CountPeople>0)THEN
BEGIN
Repeat
Mouse(634,475,4,4,true);
Tries:=Tries+1;
Until(GetColor(634,475)=2171233)OR (Tries=3);
Mouse(639,376,4,4,true);
Wait(WaitTime1+Random(RandomWaitTime1));
LoginPlayer;
END;
MouseSpeed:=Random(27);
IF(Not(GetColor(734,176)=2829182))THEN
Mouse(731,179,2,2,true);
If(FindBitmapToleranceIn(highalch,x,y,558,214,736,454,5))then
BEGIN
Tries:=Tries+1;
Mouse(x+5,y+7,2,2,true);//clicks high alch//
If FindColorSpiralTolerance(x,y,itemtoalch,558,214,736,454,5)then
Mouse(x,y,4,4,true);//clicks item to alch//
Wait(2200+Random(600));
FindNormalRandoms;
ClickContinue;
If(Random(500)< 10) THEN
begin
SkillCheck;
MageLevel:=GetSkillLevel('Magic');
ProgRep;
end;
Alchs:=Alchs+1;
end;
end;
procedure LoadBMP;
begin
PeopleDot := BitmapFromString(4, 5, 'z78DA3330000137570434C010' +
'8140576710C41471310241B026435723107436054188880102182' +
'28B0000E71C1BCB');
lowalch := BitmapFromString(18, 17, 'z78DAAD95CD1283200C845' +
'F0921D2F6A850DFFF91FA133A93CEB2186B3DEC41C27E93908054' +
'91749D4596B436CD5225EEA8890FAF6F62DAD9E5F127BBD4F39EE' +
'F972DAFA5C412543B2C3F97ACDA2C2CA5B1B062E31A3A5691E5DA' +
'FB935296FBDCFDF1A7F2FA178B6541FCC5CE05A99EAB0F4FB0184' +
'5358532A5C367D758A41318C5AA25EECC3E64ADFFD1B343997309' +
'337A6ECB9643B18A319A63FBF3F6D9A100ABC61AC30D598CFB550' +
'DEB890AF1CAF213D91D45EF5E3317CBD3E8C31A130FF415990E65' +
'79889D6E19DFAEE4F5B144E462670ABE7DC3397D00C5F388CA');
highalch := BitmapFromString(20, 17, 'z78DAB594C10EC3200C43' +
'7F890265DB9142FBFF9FB44ED12423375990D61E7CA8933C4CA16' +
'BC93DC71535E79A36D6D3CBE9298AF5E1F32C9A0E33996512998E' +
'7364FE5EF6C751B6D6620BA2175CA633C55E9B9217893FF22A295' +
'CFB43F421A9994225DECC5577DBF3F5FFC4B5B30FEE2CD79F68F2' +
'5CA9E7793685E34E6944D114DA92C6DBE4E65EB8406416125135B' +
'AFDCFB11527BBFE5D443CEA514243F5BBFE1AE4F6D86378695D9A' +
'EBAFD1D6205DDC6BBBFE1A8D5ECF57DF2EECB55D7F8DCDE55EDB6' +
'5AE87CEBB8DBDA2B68B6BB36BB8F20DF9B3B9C1');
end;
procedure DetermineAlchSpotAndType;
begin
If Players[CurrentPlayer].String1 = 'High' THEN
begin
If Players[CurrentPlayer].Loc = 'Arena' THEN
repeat
ArenaHighAlch;
until(Alchs=Players[CurrentPlayer].Integer1);
end;
If Players[CurrentPlayer].String1='Low' THEN
begin
If Players[CurrentPlayer].Loc = 'Arena' THEN
repeat
ArenaLowAlch;
until(Alchs=Players[CurrentPlayer].Integer1);
end;
If Players[CurrentPlayer].String1='High' THEN
begin
If Players[CurrentPlayer].Loc = 'Bank' THEN
repeat
BankHighAlch;
until(Alchs=Players[CurrentPlayer].Integer1);
end;
If Players[CurrentPlayer].String1='Low' THEN
begin
If Players[CurrentPlayer].Loc = 'Bank' THEN
repeat
BankLowAlch;
until(Alchs=Players[CurrentPlayer].Integer1);
end;
end;
begin
SetupSRL;
DeclarePlayers;
GetAllLevels;
WaitTime1:=WaitTime * 60000;
RandomWaitTime1:=RandomWaitTime * 60000;
Version:=1.2;
DisguiseScar('Arena Alcher '+FloatToStr(Version));
ActivateClient;
Alchs:=0;
LoadBMP;
LoginPlayer;
DetermineAlchSpotAndType;
SkillCheck;
ProgRep;
Logout;
Writeln('Arena Alcher '+Floattostr(Version)+' brought to you by: Chris Scattaglia and Brad Smock.');
Writeln('Thanks for choosing Arena Alcher ' +Floattostr(Version)+ ' for your macroing needs.');
end.
——————————————————
<!– END TEMPLATE: formanswers –>