Log in

View Full Version : need help please



jolt
01-17-2007, 08:17 PM
{================================================= ========================]
[ Ultimate Power MIner ]
[ ]
[ by: Rams89 ]
[ ]
[ ]
[ DESCRIPTION AND NOTES : It power mines any rock. ]
[ v1.6 ]
[ *Next version will include player array. ]
[ *Better anti ban and random event handling(DONE) ]
[ *Tested with SRL 3.4 ]
[ ***NOT RESPONSIBLE FOR BANNED ACCOUNTS*** ]
[ ***Updated on Oct 28th 2006 ]
[ ]
[ ]
[ ]
[================================================== =======================]
[ Instructions. ]
[================================================== =======================]
[ 1. USE Runescape with Low Detail, Very Bright. ]
[ 2. Set Colours(Lines 40-48) and Specifications(Lines 52-59) ]
[ 3. Press Play and enjoy. ]
[================================================== =======================]
[ Features ]
[================================================== =======================]
[-Antiban. ]
[-Handle's Trades(Will trade ore to any player). ]
[-Fully Updated Randoms. ]
[================================================== =======================]

program Powerminer;
{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Mining.scar}
{.include SRL\SRL\extended\xmapwalk.scar}
{.Include SRL/SRL/Misc/Trade.Scar}


const
{================== Setup Colours Here (Optional) =======================}
Adamant = 6322272;
Clay = 4885165;
Coal = 1383709;
Copper = 3824769;
Gold = 3775149;
Iron = 1976644;
Mithril = 7359564;
Silver = 10856117;
Tin = 8684172;
{================================================= ========================}
{Set The Following}

rockwait = 4500; {Time between each click in (ms) 1000ms= 1sec }
rockcolor = iron; {What type of ore would you like to mine ?}
Antiban2 = true; {Do you want to use Antiban function?(suggested)}
Rdirection = 'N'; {If attacked, in what direction do you want to run?}
LoadsD = 500; {How many loads do you want to do?}
Pickaxew = true; {Is your pickaxe weild?}
Autotalk = true; {Autotalk?}
Nickname = 'aseb'; {Type 3-4 letters of your runescape username}

{========= Do not touch below unless you know what you are doing!=========}
var
loads: Integer;
ores: Integer;
Pr: TPoint;
i: Integer;
TraderName: String;
OreMask: Integer;
RunDirection: String;
EvilChicken, EvilChickens: Integer;
LostPick: Boolean;
Ox, Oy: Integer;
{==================Updated AntiRandoms to SRL 3.4=========================}

Procedure RunAway;
Begin
Case (Random(9+1)) of
0 : Begin TypeSend('ahh'); end
1 : Begin TypeSend('=S'); end
2 : Begin TypeSend('hah'); end
3 : Begin TypeSend('stupid randoms'); end
4 : Begin TypeSend('-.-'); end
5 : Begin TypeSend('ahh not again!'); end
6 : Begin TypeSend('0o0o'); end
7 : Begin TypeSend('Ahh!'); end
8 : Begin TypeSend('!!!!'); end
9 : Begin TypeSend('whoa'); end
10 : Begin TypeSend('=/'); end
End
RunAwayDirection(RunDirection);
Wait(8000+Random(2000));
RunBack;
End;

Procedure ExitWindow;
Var
Close: Integer;
Begin
Close := BitmapFromString(10, 11, 'z78DA3330000243033069E66' +
'4EA62628C9F3440528F4912AF0BBF38015913537313430889 DF3D' +
'505D48EA3149F274E13201971A533753236367641297BD982 A89D' +
'185DF04FC6A70C96211B7347131B6C42409B807872E5C2600 00D9' +
'5685F1');
If(FindBitmapToleranceIn(Close, x, y, MSX1, MSY1, MSX2, MSY2, 10))then
Begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
End;
FreeBitmap(Close);
End;

{=============FindEvilChicken taken from SRL created by Dankness=========}

Function FindEvilChicken: Boolean;
Var
CX, CY: Integer;
Begin
If(EvilChicken= 0)then
EvilChicken:= CreateBitmapMaskFromText('egone,', UpChars);
If(FindName)then
If(FindBitmapMaskTolerance(EvilChicken, CX, CY, 3, 3, 515, 336, 0, 40))then
Begin
Result:= True;
EvilChickens:= EvilChickens + 1;
WriteLn('******** FOUND EVIL CHICKEN RANDOM ********');
WriteFileString(TheFile, '******** FOUND EVIL CHICKEN RANDOM ********' +Chr(13));
End;
End;

{===================Function FindPickHead taken from SRL==================}

Function FindPickHead: Boolean;
Var
C, XH, YH: Integer;
ReEquipPick: Boolean;
Begin
GameTab(4);
Result:= True;

If(FindBitmapToleranceIn(PickHandle, x, y, MIX1, MIY1, MIX2, MIY2, 30))or
(GetColor(472, 380)= 0) and (GetColor(482, 383)= 0)then

Begin
GameTab(5);
Wait(750+Random(250));
If(GetColor(604, 300)= 65536) and (GetColor(601, 298)= 65536)then
Begin
WriteLn('Broken Pickaxe..');
NoPick:= True;
LostPick:= True;
GameTab(4);
Result:= False;
Exit;
End;
GameTab(4);
Wait(2000+Random(100));
If(FindBitmapMaskTolerance(OreMask, x, y, 559, 210, 735, 460, 10, 5))then
Begin
MMouse(x, y, 5, 5);
Mouse(x, y, 0, 0, False);
ChooseOption(x, y, 'rop');
End

Repeat
If(not(LoggedIn))then Exit;
C:= C + 1;
x:= Random(510)+5;
y:= Random(330)+5;
If(FindColorSpiral(x, y, hc1, MSX1, MSY1, MSX2, MSY2))or
(FindColorSpiral(x, y, hc2, MSX1, MSY1, MSX2, MSY2))or
(FindColorSpiral(x, y, hc3, MSX1, MSY1, MSX2, MSY2))or
(FindColorSpiral(x, y, hc4, MSX1, MSY1, MSX2, MSY2))or
(FindColorSpiral(x, y, hc5, MSX1, MSY1, MSX2, MSY2))then
Begin
MMouse(x, y, 0, 0);
If(IsUpText('ake'))then
Begin
GetMousePos(x, y);
Mouse(x, y, 1, 1, True);
End
Flag;
Wait(750+Random(250));
End else
If(PickUpItems)then
ItemGrab;
Until((FindBitmapToleranceIn(PickHead, x, y, MIX1, MIY1, MIX2, MIY2, 50)) or (C>=10));
If(not(FindBitmapToleranceIn(PickHead, x, y, MIX1, MIY1, MIX2, MIY2, 50)))then
Begin
NoPick:= True;
Result:= False;
LostPick:= True;
Exit;
End;

WriteLn('Found Head!');
LostPick:= False;

GameTab(5);
Wait(250+Random(100));

If(FindBitmapToleranceIn(PickHandle, XH, YH, 560, 280, 615, 322, 50))then
Begin
WriteLn('UnEquiping Handle..');
Mouse(XH, YH, 0, 0, True);
ReEquipPick:= True;
End;

Wait(250+Random(100));
GameTab(4);
Wait(250+Random(100));

If(FindItemBmpTol(PickHead, 50)) and (FindItemBmpTol(PickHandle, 50))then
Begin
ClickItemBmpTol(PickHead, 50, True);
Wait(750+Random(250));
ClickItemBmpTol(PickHandle, 50, True);
PickAxeAttached:= PickAxeAttached + 1;
WriteLn('Attached Head & Handle!');
NoPick:= False;
Result:= True;
If((EquipPick) or (ReEquipPick))then
Begin
Wait(2000+Random(1000));
ClickItemColor(hc1, True);
End;
End;
End;
End;

{==================Function HandleTrade taken from SRL====================}

Function HandleTrade: Boolean;
Var
TradeMark: LongInt;
Begin
If(AcceptTrade) or (TradeScreen)then
Begin
Result:= True;
Wait(1000+Random(500));
TraderName:= GetTraderName;
ClickAllItemsBmpMaskTolWait('ffer', OreMask, 20, 25, 30+Random(30));
Wait(1000+Random(500));
Accept;
MarkTime(TradeMark)
While(not PlayerAccepted) and (TimeFromMark(TradeMark) < 15000) do Wait(1000+Random(500));
If(TimeFromMark(TradeMark) > 15000)then Decline;
Accept;
MarkTime(TradeMark)
While (TradeScreen2) and (TimeFromMark(TradeMark) < 15000) do Wait(1000+Random(501));
If(TimeFromMark(TradeMark) > 15000)then Decline;
If(TimeFromMark(TradeMark) > 15000)then TypeSend('Thanks '+TraderName)
Else TypeSend('What do u want '+TraderName)
Trades:= Trades + 1;
ExitWindow;
End;
End;

{=======================Up to date Random Events==========================}

Procedure FindRandoms;
Begin
HandleTrade;
DwarfItem;
FindPickHead;
FindNormalRandoms;
If(FindFight) or (FindEvilChicken)then
Begin
RunAway;
End
End;

{============================Autotalk============= ========================}

procedure randomtalk;
begin
if Autotalk = true then
case random(10) of
0: typesend('mining lvls'+chr(13));
1: typesend('so boooring'+chr(13));
2: typesend('man this stinks'+chr(13));
3: typesend('yay almost next lvl'+chr(13));
4: typesend('hi'+chr(13));
5: typesend('grr'+chr(13));
6: typesend('omg'+chr(13));
7: typesend('so slow'+chr(13));
8: typesend('la dee da'+chr(13));
9: typesend('da dee dum'+chr(13));
10:typesend('u like this?'+chr(13));
end;
end;

procedure AntiBan1;
begin
RandomChatEvery(10 + Random(5));
RotateEvery(20 + Random(10));
LeaveScreenEvery(5 + Random(5));
HoverEvery(15 + Random(5), 'random');
PickUpMouseEvery(5 + Random(10))
RandomRClickEvery(15 + random(5))
if (KillScriptTime > 0) then
KillScript(KillScriptTime);
end;

procedure ProgressReport;
begin
WriteLn('');
WriteLn('<============== Rams PowerMiner Report ===============>');
WriteLn(' Time working : ' + TimeRunning);
WriteLn(' Loads dropped : ' + inttostr(loads) + ' loads.');
WriteLn(' Ores dropped : ' + inttostr(ores) + ' ores.');
SRLRandomsReport;
end;

Procedure dropore;
begin
WriteLn('Load complete. Ore dropping...');
if (Pickaxew = true) then for i := 1 to 28 do
begin
Pr := ItemCoords(i);
MouseSpeed := 8+random(2);
Wait(100+random(200));
mmouse(Pr.x, Pr.y, 3, 3);
wait(100+random(100));
Mouse(Pr.x, Pr.y, 3, 3, False);
Wait(100+random(200));
ClickOption('Drop', 2)
end;
if (Pickaxew = false) then for i := 2 to 28 do
begin
Pr := ItemCoords(i);
MouseSpeed := 8+random(2);
Wait(100+random(200));
mmouse(Pr.x, Pr.y, 3, 3);
wait(100+random(100));
Mouse(Pr.x, Pr.y, 3, 3, False);
Wait(100+random(200));
ClickOption('Drop', 2)
FindRandoms;
end;
WriteLn('Finished another load');
loads := loads + 1
if (Pickaxew = true) then ores := ores + 28
if (Pickaxew = false) then ores := ores + 27
wait(200+random(800))
end;

Procedure WeAtMine;
Var
WX, WY : Integer;

Begin If (Not(FindSymbol(Wx, WY, 'mining site'))) Then Begin
RunWhere('N', false) If (Not(FindSymbol(Wx, WY, 'mining site'))) Then Begin
RunBack;
Flag;
RunWhere('E', False) If (Not(FindSymbol(Wx, WY, 'mining site'))) Then Begin
RunBack;
Flag;
RunWhere('S', False) If (Not(FindSymbol(Wx, WY, 'mining site'))) Then Begin
RunBack;
Flag;
Runwhere('W', False) If (Not(FindSymbol(Wx, WY, 'mining site'))) Then
WriteLn('We are defantly lost termInating script')
TerminateScript;
End; End; End; End; End;


procedure mineore;
begin
repeat
MouseSpeed := 10+random(2);
FindRandoms;
if (FindObjOre(Ox,Oy,'ine',rockcolor,10,3)) then
begin
ClickToContinue;
mmouse(Ox,Oy,3,3);
if (not(Findgas(Ox,Oy))) then
begin
wait(100+random(100));
mouse(Ox,Oy,2,2,true);
if (FindGas(Ox,Oy)) then
begin
wait(100+random(100));
RunAwayDirection(Rdirection);
Wait(1000+random(1000));
RunBack;
end;
FindTalk;
end
else
begin
wait(100+random(100));
RunAwayDirection(Rdirection);
Wait(1000+random(1000));
RunBack;
end;
wait(rockwait+random(500));
FindPick;
Antiban1;
FindRandoms;
RandomTalk;
ProgressReport;
end;
until (InvFull);
end;



begin
SetupSRL;
SetupSRLMining;
MouseSpeed := 8+random(2);
ActivateClient;
DisguiseScar('Notepad');
LoadGhostSpeakWords('Mining');
NickNameBmp:=CreateBitmapMaskFromText(Nickname,UpC hars);
if not FindPickHeadColor then
begin
Exit;
end;
repeat
WeAtMine;
mineore;
randomtalk;
dropore;
until (LoadsD = Loads)
Logout;
ProgressReport;
SRLRandomsReport;
WriteLn('All loads requested are now done')
WriteLn('Thank you for using Rams Ultimate Power Miner');
Exit;
end.

the error is


Line 233: [Error] (20194:10): Duplicate identifier 'HANDLETRADE' in script C:\Program Files\SCAR 2.03\Scripts\power miner.scar


how do i fix this error?

Killerdou
01-17-2007, 08:49 PM
change all handletrades to handletrade1

jolt
01-17-2007, 10:24 PM
thanks it worked.