Ive looked a bit and try to add some wait before bitmap search..
Took a look at your script posting some fixed stuff in 2 min
SCAR Code:
// Auto-alcher v1.0 //
// Made by: dude_richard //
// Description: alches yew longs in //
// any inventory slot //
// Made: 27/01/2008 //
// Instructons //
// 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! // //
// Please post progress reports on the thread. //
Program AutoAlcher;
{.include SRL/SRL.scar}
Var
AlchesDone, x,y, :integer;
Const
NumberOfAlches = 87; //How many alches you want to do
Magelvl = '1'; //Type your mage lvl in for auto-respond
// Theres a function that results your Skill level!!
// GetLevelSkill or something like that!
// Look in manual or in Includes..
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';//Your runescape username
Players[0].Pass := '';//Your runescape password
Players[0].Nick := '';//3 letter of your runescape username
Players[0].Active := True;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
// Idk if thats needed! Have been away for sometime..
End;
Var
YewLong, Highalch : integer;
Procedure DeclareBMPs;
Begin
YewLong := BitmapFromString(19, 15, 'beNqV0sFKAlEUxnFdFCSWD' +
'9OihW1a+ATtxKBySMoUFUFwExQEFhKikRoiEohESOAL+pcPPoabLY' +
'TLYe6Z8+Oee2ZmjVmvNOlG49fisHPFSiSSUaFA/PmsEi/PD4h6NX2' +
'7mb/ffY8qWoK2ZKi8zueJlBEFeRtA8mTicDmp2bJyp/tEwcVHOX7i' +
'XxjYs5ONpfI/yDLUHW2zx3t6kOKtoCyL5O+0DoxfVkNjLXoZWUEfS' +
'jSkK7a2NEN8aR1uhV/92zgko7Pc8P1FSpACig01bUGeBQM7fDwiGs' +
'pSTA+C5P1XqE/9GIOH3SCnyzajVLe9uSkF7tZQd7cSpExWI9oKuSn' +
'bAGoCkKda+rmZZutumaShJyMlqAJNSVDW0N8igPqCFKzWr2VuTw==' +
'');
Highalch := BitmapFromString(1, 19, 'beNqzNnS2hiJHSz04G6sIC' +
'hcAdhAM6Q==');
End;
Procedure Alch;
Begin
Gametab(7);
Wait(RandomRange(300, 500);
if (FindBitmap(Highalch, x, y)) then
Mouse(x, y, 1, 1, True)
Wait(RandomRange(300, 500);
if not (FindBitmap(Highalch, x, y)) then
begin
WriteLN('Couldnt find alch button...');
WriteLN('Logging out and terminating script');
Logout;
TerminateScript;
end;
Wait(RandomRange(300, 500);
if (FindBitmap(YewLong, x, y)) then
Mouse(x, y, 1, 1, True)
Wait(RandomRange(300, 500);
if not (Findbitmap(YewLong, x, y)) then
Begin
WriteLN('Couldnt find any Yew Longs...');
WriteLN('Logging out and terminating script');
Logout;
TerminateScript;
End;
AlchesDone := AlchesDone + 1;
End;
Function InChatLine(myString: string): Boolean;
Begin
Result := ( pos(myString, TheLine) <> 0 );
End;
Function ChatBack: Boolean; //originally 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 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(' ')
End;
procedure AntiRandoms;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
if FindFight then
begin
RunTo(WhatDirection,True);
end
end;
Procedure Prepare;
Begin
SetupSRL;
ClearDebug;
DeclareBMPs;
ActivateClient;
DeclarePlayers;
LoginPlayer;
SRLRandomsReport;
GameTab(7);
End;
Begin
Prepare;
Repeat
Alch;
AntiRandoms;
ProgressReport;
Until (ALchesDone >= NumberOfAlches); // <--- Not accepable!
If (ALchesDone >= NumberOfAlches) then // <--- Not needed!
Logout;
ProgressReport;
FreeBitmap(YewLong);
FreeBitmap(Highalch);
End.
Fix your standarts and i be happy to read more..