SCAR Code:
// Auto-alcher v1.1 //
// Made by: dude_richard //
// Description: alches yew longs in //
// any inventory slot //
// Made: 27/01/2008 //
// Instructions
// Note: You can't run with a bank PIN //
// Note: You must have yew long unoted //
// Fill out your player information in lines //
// 26-28. Then drag the cross-hair onto your //
// runescape client and click run script. //
// This should then let you alch perfectly fine! //
{----------------------------------------------------------}
//Put the Longbows you want to alch in the first Bank Slot//
{----------------------------------------------------------}
// Please post progress reports on the thread. //
// Modded By NaumanAkhlaq :) //
{ ____ ___
/\ | | | | |
/ \ | | | | | - ALCHER!!!
/ __ \ | | | | |
/ \ |___| | |___|
}
Program AutoAlcher;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/magic.scar}
Var
Tries, AlchesDone, x, y :integer;
Const
Magelvl = '1'; //Type your mage lvl in for auto-respond
StatsID = ''; //Your srl stats ID
StatsPass = ''; //Your srl stats pass
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'funny liam';//Your runescape username
Players[0].Pass := 'liverpool';//Your runescape password
Players[0].Nick := 'lia';//3 letter of your runescape username
Players[0].Active := True;
End;
Var
DTM: integer;
Procedure DeclareBMPs;
Begin
DTM := DTMFromString('78DA63CC6362606065644006C7D64932FC07D' +
'220D1FF40C0980054F393010D30229140BA0CA8469411BF9A4CA0' +
'1A76026A8A806A3808A8C906AAF947C03DF140357F08A8C905AAE' +
'1C66F17008C970D32');
End;
Procedure GetThingFromBank; //By NaumanAkhlaq
Begin
Repeat
If FindObjCustom(x,y,['Use','Bank','Booth'],[5405328,5339277,804444],5) then
Mouse(x,y,0,0,False)
ChooseOption('uickly')
Wait(1000+Random(2000))
Tries:=Tries+1;
Until(BankScreen) or (Tries >= 6)
If BankScreen then
Begin
MMouse(95-Random(5), 77+Random(5),2,2)
If IsUpText('ongbo') then
Begin
Mouse(95-Random(5), 77+Random(5),2,2,False)
ChooseOption('All')
wait(1000+Random(200))
CloseBank;
end;
end;
end;
Procedure ClickYewLong;
Begin
if(FindDTM(DTM,x,y,MIX1,MIY1,MIX2,MIY2))then
Begin
Mouse(x,y,2,2,true);
Exit;
End;
Begin
Wait (800 + random(150))
Begin
if not(FindDTM(DTM,x,y,MIX1,MIY1,MIX2,MIY2)) then
Begin
Mouse(543, 27,10,10,true)
WriteLN('Couldnt find any yew longs');
WriteLN('Getting Another Load');
GetThingFromBank;
End;
End;
End;
End;
Procedure Alch;
Var
ibot:integer;
Begin
MarkTime(ibot)
Begin
Gametab(7);
Repeat
CastSpell(35)
Wait(500 + random(300));
ClickYewLong;
wait(2500+Random(500))
AlchesDone:= AlchesDone+1;
Until (not(FindDTM(DTM,x,y,MIX1,MIY1,MIX2,MIY2))) or (TimeFromMark(ibot) >18000)
End;
End;
Function InChatLine(myString: string): Boolean;
Begin
Result := ( pos(myString, TheLine) <> 0 );
End;
Procedure AntiBan; //By NaumanAkhlaq
Begin
Case Random(15) of
1,0,9,4: MMouse(116-Random(100), 285-Random(256),60,60)
2,3,5,8: MMouse(MSX1,MSY1,1,1);
end;
Exit;
end;
Function ChatBack: Boolean; // By Lorax(SL Scripts)
Begin
SaveToChatLog;
if ( OldLine = TheLine ) or ( pos(Players[CurrentPlayer].Nick, TheName) <> 0 ) then
Exit;
if InChatLine(Players[CurrentPlayer].Nick) then
Begin
Wait(1000 + Random(500));
case Random(6) of
0: TypeSend('hello');
1: TypeSend('hi');
2: TypeSend('hey');
3: TypeSend('hey you');
4: TypeSend('yo');
5: TypeSend('sup?');
End;
Result := True;
Exit;
End;
if ( InChatLine('mage') or InChatLine('magic') or InChatLine('age') ) and
( InChatLine('lv') or InChatLine('leve') ) then
Begin
Wait(1000 + Random(500));
case Random(2) of
0: TypeSend ('im '+(magelvl)+'');
1: Typesend ('me,'+(magelvl)+'.');
End;
Result := True;
Exit;
End;
if InChatLine('hi ') or InChatLine('ello') or InChatLine('sup') or
InChatLine('whats up') then
Begin
Wait(1000 + Random(500));
case Random(4) of
0: TypeSend('hello');
1: TypeSend('hey');
2: TypeSend('hey there');
3: TypeSend('hi');
End;
Result := True;
Exit;
End;
if InChatLine('lol') or InChatLine('hehe') or InChatLine('hihi') or
InChatLine('haha') then
Begin
Wait(1000 + Random(500));
case Random(4) of
0: TypeSend('...');
1: TypeSend('lool');
2: TypeSend('rofl');
End;
Result := True;
Exit;
End;
Result := True;
Exit;
End;
Procedure Siggy;
Begin
Writeln('Dude_Richard.......')
Wait(1000)
Writeln('Presents.......')
wait(1200)
Writeln('The One the Only.......')
wait(1300)
writeln('Yew Long Auto-Alcher v1.1! ')
wait(1500)
end;
Procedure ProgressReport;
Begin
ClearDebug
WriteLn('<<<<<<<<<<<<Auto Alcher v1.0>>>>>>>>>>>>');
WriteLn('Alched for ' + TimeRunning + ' ');
WriteLn('Did ' + IntToStr(AlchesDone) + ' High Alches ');
WriteLn('Earnt ' + IntToStr(AlchesDone * 65) + ' XP');
WriteLn('<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>');
WriteLn(' ');
WriteLN('Please post progress reports on thread')
WriteLn(' ')
Wait(2000 + random(200))
End;
Procedure AntiRandoms;
Begin
ChatBack;
FindNormalRandoms;
FindTalk;
AntiBan;
End;
Procedure Prepare;
Begin
SetupSRL;
ClearDebug;
DeclareBMPs;
Siggy;
DeclarePlayers;
Wait(10);
ScriptID := '568';
SRLID := StatsID;
SRLPassword := StatsPass;
ActivateClient;
Wait(10);
LoginPlayer;
Wait(10);
SRLRandomsReport;
GameTab(7);
End;
Begin
MakeCompass('N')
SetAngle(True)
Prepare;
Repeat
if (Not(LoggedIn)) then
Exit;
Alch;
AntiRandoms;
ProgressReport;
Until (Not(Loggedin));
If (not(loggedin)) then
Begin
Logout;
ProgressReport;
FreeDTM(DTM);
End;
End.