SCAR Code:
program SuperAlcher;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Magic.scar}
{************************************************************|
{**********************Welcome To: **************************|
{**********************SUPERBATMANS**************************|
{**********************SUPERALCHER***************************|
{************************************************************|
{Features:
{-AntiRandoms(SRL)
{-AntiBan(Mostly Homemade)
{-Lots of consts(colors seem to vary a bit)
{-Option to buy more alchs when out of them
{************************************************************
{Directions:
{1.Have your Yew longs(or whatever your gonna alch) in 13th
{Inv spot.
{2.Run program.
{3.Enjoy
{************************************************************
{Other:
{-I get about 900-1050 alchs per hour with this.
{-I just Let it run for my first time during school, I had 10k
(alchs in My Inv, when i got back i had about 2900 left(2892)
{-Ive Tested buying and it always worked for me, but there is
{Something i dont like about it. I dunno what it is, but oh well
{-It was wierd, it didnt look like i got any randoms while i
{was gone, and i was only using 1 player, i didnt get any randoms
{during testing.
{**************************************************************
Please report bugs/problems to:
[email]Wannab723@gmail.com[/email] or PM Me on SRL
-I plan on adding extra features like antilost, and maybe if its
a good idea, autofletcher, but that stuff will all come in time.
-I might ad SMART but i really dont fully understand what it is.
If you could kindly explain it to me, im all ears.
{***************************************************************}
var
x,y,count,fullcount,alchs,bored,talk,outofstuff,
alchsbought,magiclvl,magicxp,magiclvl,magicxp,xpneed,
alchneed,averagexp: integer;
const
//SET THESE//
AlchItem='yew longbow'; //if your not buying yew longbows, change that here(also change price lower);
buymorestuff=true; //set to true if you want script to buy more alchs for you
muted=false; //Set to true if muted(will use quickchat);
AmountToBuy=500; //amount of alchs to buy when out of alchs(if buymorestuff=true)
PriceOfNats=240; //price to buy nature runes for ea.
PriceOfYews=690; //price to buy yew longbows for ea.
goals=true; //set to true if you want goals
goallvl=99;
xpgoal=13034431;
//ONLY SET IF COLORS OR COORDS ARENT WORKING//
yewnote=7971763; //set to color of notes of yews(they where changing on me so i added this
alchcolor=643794; //yellow alch color in magic tab
CTContinue=16711680; //Color of ClickToContinue in chatbox
ChatSword=10264383; //When Given options in chatbox, there is 2 swords, The Color Of the Middle Gem in handle of Left Sword
ExClerk=4335153; //Blue Suit Color On GE clerks
BuyArrow=247475; //ColorOf the Yellow Down Arrow For buy in GE
ItemText=23200; //When Input options in buy, orange text color of the name of the item
DotAmount=39167; //The Color Of the '...'(orangish) to put in custom amount to buy of item in GE
ConfirmOffer=39116; //Orange Text of Confirm in GE offers
AmountBoxTX=477; //In GE, the X coordinates of the Top-left square for Custom amount in buy tab
AmountBoxTY=358; //Same as above Top Y coordinate
AmountBoxBX=511; //' ' Bottom X coordinate
AmountBoxBY=381; //' ' Bottom Y coordinate
PriceBoxTX=685; //These Are All the same as above, but for the custom price tab Top X
PriceBoxTY=357; //Top Y
PriceBoxBX=723; //Bottom X
PriceBoxBY=379; //Bottom Y
(*&^*^DONT SET*&^*)
askmagelvl=1;
tellmagelvl=2;
procedure SetGoals;
begin
xpneed:=xpgoal-magicxp;
alchneed:=xpneed/65;
averagexp:=alchs/StrToInt(TimeRunning);
end;
procedure buynats;
begin
FindColorTolerance(x,y,ExClerk,MSX1, MSY1, MSX2, MSY2,5);
Mouse(x,y,0,0,true);
wait(800+random(1400));
FindColorTolerance(x,y,CTContinue,MCX1, MCY1, MCX2, MCY2, 5);
Mouse(x,y,0,0,true);
wait(800+random(1400));
Mouse(x,y,0,0,true);
wait(800+random(1400));
FindColorTolerance(x,y,ChatSword,MCX1, MCY1, MCX2, MCY2, 5);
wait(800+random(1200));
Mouse(x,y+20,50,2,true);
wait(800+random(500));
FindColorTolerance(x,y,CTContinue,MCX1, MCY1, MCX2, MCY2, 5);
wait(1200+random(800));
Mouse(x,y,0,0,true);
wait(1200+random(1400));
Mouse(x,y,0,0,true);
wait(1500+random(1400));
FindColorTolerance(x,y,BuyArrow,MSX1, MSY1, MSX2, MSY2,5);
Mouse(x,y,2,2,true);
wait(1200+random(200));
TypeSend('nature rune');
wait(500+random(500));
FindColorTolerance(x,y,ItemText,MCX1, MCY1, MCX2, MCY2, 5);
Mouse(x,y,1,1,true);
wait(500+random(500));
FindColorTolerance(x,y,DotAmount,AmountBoxTX,AmountBoxTY,AmountBoxBX,AmountBoxBY,5);
Mouse(x,y,1,1,true);
wait(500+random(500));
TypeSend(IntToStr(AmountToBuy));
wait(500+random(500));
FindColorTolerance(x,y,DotAmount,PriceBoxTX,PriceBoxTY,PriceBoxBX,PriceBoxBY,5);
Mouse(x,y,1,1,true);
wait(500+random(500));
TypeSend(IntToStr(PriceOfNats));
wait(500+random(500));
FindColorTolerance(x,y,ConfirmOffer,446,445,589,496,5);
Mouse(x,y,3,3,true);
wait(2500+random(1200));
If(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=false) then
Begin
repeat
wait(2000+random(15000))
until(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=true)
end;
If(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
wait(800+random(500));
If(FindColorTolerance(x,y,1947358,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
end;
if(FindColorTolerance(x,y,1543442,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
end;
end;
wait(2500+random(1500));
end;
procedure buyyews;
begin
FindColorTolerance(x,y,BuyArrow,MSX1, MSY1, MSX2, MSY2,5);
Mouse(x,y,2,2,true);
wait(1200+random(200));
TypeSend(AlchItem);
wait(500+random(500));
FindColorTolerance(x,y,ItemText,MCX1, MCY1, MCX2, MCY2 ,5);
Mouse(x,y,1,1,true);
wait(500+random(500));
FindColorTolerance(x,y,DotAmount,AmountBoxTX,AmountBoxTY,AmountBoxBX,AmountBoxBY,5);
Mouse(x,y,1,1,true);
wait(500+random(500));
TypeSend(IntToStr(AmountToBuy));
wait(500+random(500));
FindColorTolerance(x,y,DotAmount,PriceBoxTX,PriceBoxTY,PriceBoxBX,PriceBoxBY,5);
Mouse(x,y,1,1,true);
wait(500+random(500));
TypeSend(IntToStr(PriceOfYews));
wait(500+random(500));
FindColorTolerance(x,y,ConfirmOffer,446,445,589,496,5);
Mouse(x,y,3,3,true);
wait(2500+random(1200));
If(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=false) then
Begin
repeat
wait(2000+random(15000));
MMouse(1,1,1000,800);
until(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=true)
end;
If(FindColorTolerance(x,y,1999423,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
wait(800+random(500));
If(FindColorTolerance(x,y,1947358,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
end;
if(FindColorTolerance(x,y,1615291,MSX1, MSY1, MSX2, MSY2,5)=true) then
begin
Mouse(x,y,3,3,true);
end;
end;
wait(500+random(800));
Mouse(MMCX, MMCY,5,5,true);
wait(2500+random(1500));
end;
function CheckForAlchs: boolean;
begin
If(FindColorTolerance(x,y,alchcolor, MIX1, MIY1, MIX2, MIY2,5)=false) and(FindColorTolerance(x,y,yewnote, MIX1, MIY1, MIX2, MIY2,5)=false) then
begin
result:=false;
end;
if(FindColorTolerance(x,y,alchcolor, MIX1, MIY1, MIX2, MIY2,5)=true) or (FindColorTolerance(x,y,yewnote, MIX1, MIY1, MIX2, MIY2,5)=true) then
begin
result:=true;
end;
end;
procedure SendReport;
begin
AddToReport('/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\');
AddToReport('| HELLO AND WELCOME TO |');
AddToReport('| SUPERBATMANS |');
AddToReport('| SUPERALCHER+ |');
AddToReport('|__________________________________________|');
AddToReport('|This Script has been running for: |');
AddToReport('|'+TimeRunning+' |');
AddToReport('|__________________________________________|');
AddToReport('|In the '+TimeRunning+' This Program has been |');
AddToReport('|running you have received: |');
AddToReport('|'+IntToStr(magicxp)+ ' MagicXp |');
AddToReport('|__________________________________________|');
AddToReport('|Your Current Magic Level Is: |');
AddToReport('|'+IntToStr(magiclvl)+' |');
AddToReport('|__________________________________________|');;
AddToReport('|Your Goal Magic Level Is: |');
AddToReport('|'+IntToStr(Goallvl)+' |');
AddToReport('|__________________________________________|');
AddToReport('|To get to your goal Magic Level of: |');
AddToReport('|'+IntToStr(Goallvl)+' |');
AddToReport('|You Must Get: |');
AddToReport('|'+IntToStr(xpneed)+' XP |');
AddToReport('|Which Is About: |');
AddToReport('|'+IntToStr(alchneed)+' Alchs |');
AddToReport('|__________________________________________|');
AddToReport('|You Have Alched: |');
AddToReport('|'+IntToStr(fullcount)+' Times |');
AddToReport('|In'+TimeRunning+' |');
AddToReport('|For about: |');
AddToReport('|'+IntToStr(Averagexp)+' XP per second. |');
AddToReport('|__________________________________________|');
end;
//main//
begin
SetupSRL;
GameTab(7);
repeat
magiclvl:=GetSkillInfo('magic',false);
magicxp:=GetXp('magic');
SetGoals;
ClearReport;
SendReport;
if(CheckForAlchs=true) then
begin
Cast('High Level Alchemy');
MouseItem(13,true);
count:=count+1;
fullcount:=count+1;
alchs:=fullcount*65;
bored:=random(50);
talk:=random(100);
FindNormalRandoms;
//Random Check Magic Xp(Antiban);
if(count=30+random(25)) then
begin
GameTab(2);
wait(500+random(800));
HoverSkill('magic',false);
wait(1500+random(800));
GameTab(7);
end;
//Going Back To Magic Tab If Lost;
if(FindColorTolerance(x,y,alchcolor, MIX1, MIY1, MIX2, MIY2,5)=false) then
begin
GameTab(7);
end;
//Random Bored(Antiban);
if(bored=3) then
begin
boredhuman;
end;
//Random tell Magic lvl/Ask Magic Lvl(antiban);
if(talk=13) then
begin
if(FindColorTolerance(x,y,14474460,MCX1, MCY1, MCX2,MCY2,5)=true) then
begin
if(muted=true) then
begin
Mouse(x,y,1,1,true);
TypeSend('S');
wait(200+random(200));
TypeSend('M');
wait(200+random(200));
TypeSend(IntToStr(askmagelvl));
wait(200+random(200));
Mouse(x,y,1,1,true);
TypeSend('S');
wait(200+random(200));
TypeSend('M');
wait(200+random(200));
TypeSend(IntToStr(tellmagelvl));
wait(200+random(200));
end;
if(muted=false) then
begin
TypeSend('My Magic Level is ' + IntToStr(MagicLvl));
TypeSend('What is your level in Magic?');
end;
end;
end;
if(CheckForAlchs=false) then
wait(10000+random(5000));
begin
if(CheckForAlchs=false) then
begin
if(outofstuff=1) then
begin
writeln('Out of Nature Runes');
AddToReport('Out of Nature Runes');
writeln('Out of Yew LongBows');
AddToReport('Out of Yew LongBows');
if(buymorestuff=true) then
begin
buynats;
buyyews;
DragItem(5,13);
alchsbought:=alchsbought+AmountToBuy;
end;
outofstuff:=2;
end;
end;
end;
end;
until(x=999999999999)
end.