SRL Archive - RS3 Outdated / Broken Scripts

Miner/banker and smither


surfdiver2005

2007-02-01 00:05:04

I really would like a nice auto miner/banker possibly one in the miners guild? i would love to wake up in the morning with a bank full of coal! then to top it off. when i head to school i could start up an auto smither form steel!!!! and somthing that works smootha and i wouldnt be afraid to use a P2P on it. id pee my pants if these were available. oh. and if they were Extremely reistant to JAGEX with autobans and auto talkers i think everyone would be happy! thanx.

Surf

P.S. if these are alrdy available could you post for me?

yesiammanu

2007-02-01 00:47:21

I'm pretty sure theres already a few guild auto-miners there, both f2p and p2p.

Heres one of the f2p, but remember, you should ALWAYS auto suspiciously. Don't just leave it on all night. It's not about IF you get banned, its about WHEN.

{=========================================================================]
[ SRL Guildminer 0.39. ]
[ ]
[ NAME : SRL Guildminer 0.39 ]
[ WRITER : by Wizzup and WT-Fakawi (by Stupid3ooo) ]
[ CATEGORY : Miner ]
[ DESCRIPTION : See below. ]
[ USAGE : Miner/banker for coal ]
[ AUTOCOLOR : YES ]
[ SRL REV. : SRL Version 3. ]
[ NOTES : STAND @ LEFTMOST BANKSLOT ]
[ FACE MM PERFECT NORTH. ]
[=========================================================================]
| Description: |
| A macro that mines a full load of coal and mith in the miner's guild, |
| then banks it in the east Falador bank. | |
| Instructions: |
| 1.Set the Runescape brightness to V-bright, and your computer's |
| resolution to 32bit resolution. |
| 2.Need SCAR version 2.0.3. |
| 3.Start script in the Falador eastern bank. |
| 4.Start with a pickaxe in your fist inventory slot or equiped. |
| 5.Recomended to have extra pickaxes in your first bank slot. |
| 6.Click and drag the crosshair over the Runescape client. |
Then press the green arrow. |
| 7.START @ FALADOR EASTBANK LEFTMOST BANKSLOT FACE MM PERFECTLY NORTH |
[=========================================================================}


program SRLGuildMiner;

{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Mining.scar}
{.include SRL/SRL/misc/FaladorColorFinder.scar}
{.include SRL/SRL/extended/xMapWalk.scar}

Const
Loads = 2; // Number of loads before switching user.
OreTol = 4;
StartPlayer = 0;

Const
CoalColor = 2438711; // CoalColor is a constant
MithrilColor = 7425100; // MithrilColor is a constant

//----------------------------------------------------------------------------//
Const VersionNumber = '0.39';
//----------------------------------------------------------------------------//

Var MapPickColor,MapOreColor,LadderColor,
TotalOres,SecondsToWait,H,G:integer;

Var FB1,FB2,FB3: Integer; // BankerDTMs (Yellow dots at three angles: -10,0,+10 degrees)
// For use with DTM3Flag that plants a flag when any of 3 DTM's is found


//----------------------------------------------------------------------------//

Procedure DeclarePlayers;
begin
HowManyPlayers:=6;
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Loc :='Falador';
Players[0].Boolean1 := True; // EquipPick.
Players[0].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[0].Active := True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Loc :='Falador';
Players[1].Boolean1 := True; // EquipPick.
Players[1].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[1].Active := True;

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Loc :='Falador';
Players[2].Boolean1 := True; // EquipPick.
Players[2].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[2].Active := True;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Loc :='Falador';
Players[3].Boolean1 := True; // EquipPick.
Players[3].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[3].Active := True;

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Loc :='Falador';
Players[4].Boolean1 := True; // EquipPick.
Players[4].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[4].Active := True;

Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Loc :='Falador';
Players[5].Boolean1 := True; // EquipPick.
Players[5].String1 := 'Coal'; // Coal = coal only. Mithril = both.
Players[5].Active := True;

end;

//----------------------------------------------------------------------------//

Procedure FillMem; // 3 yellow dot bankers @ different angle
begin

FB1 := DTMFromString('78DA636C66626008634001972E5E66F80FA41' +
'981F83F1030B601D5C4A0AAF9F38789810BAA0604189B8850D345' +
'580D00CA7B110D');
FB2 := DTMFromString('78DA63EC61626008614001478F1E65F80FA41' +
'981F83F1030F602D544A1AAF9F38789810BAA0604182712A1662A' +
'504D247E3500C2961107');
FB3 := DTMFromString('78DA636C646260086140038C0CFFC12403C37' +
'F206004A9894255F1E70F130317540D58472B504D3401359D4035' +
'31F8D50000978B0E8E');
end;

//----------------------------------------------------------------------------//

Procedure SetOres;

Begin
Case Lowercase(Players[CurrentPlayer].String1) Of
'coal' : Begin OreColor1 := CoalColor OreColor2 := OreColor1 End;
'mithril': Begin OreColor1 := MithrilColor ; OreColor2 :=CoalColor ; End;
End;
End;

//----------------------------------------------------------------------------//

Function FindOre(MaxTol:Integer):Boolean;

Var Tol,Ex,Ey:Integer;

Begin

H:=H+1;
For G := 1 to H do
Begin
Case G Of

1: Begin OreColor:= OreColor1; SecondsToWait := 5; End;
2: Begin OreColor:= OreColor2; SecondsToWait := 10; End;

End;
End;

While (Not (FindColorTolerance(Ex, Ey, OreColor, MSX1, MSY1, MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Do
Begin
Tol:=Tol+1;
End;
If ((FindColorTolerance(Ex, Ey, OreColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Then Result:=True;
Tol:=1;
Wait(10);

End;

//----------------------------------------------------------------------------//

procedure PlayerStats;

var PSActive: string;
var i: Integer;
begin
WriteLn(' ');
WriteLn(' ');
WriteLn(' ');
writeln('**********************************************');
writeln('Name : '+ Players[CurrentPlayer].Name);
writeln('Number : '+inttostr(CurrentPlayer));
writeln('Mining Level : '+ inttostr(Players[CurrentPlayer].level[15]));
writeln('Worked for : '+IntToStr(Players[CurrentPlayer].Worked)+' minutes.');
writeln('Banked : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
if Players[CurrentPlayer].Active=True then PSActive:='True' else PSActive:='False';
writeln('Active : '+ PSActive);
writeln('Location : '+ Players[CurrentPlayer].loc);
writeln('**********************************************');

for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active=True then PSActive:='True' else PSActive:='False';
writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+PSActive+
'.- Lvl : '+inttostr(Players[i].level[15])+
'.- B :'+inttostr(Players[i].Banked)+' Times.'+
'.- A: '+IntToStr(Players[i].Worked)+' mins.'+
'.- Loc: '+Players[i].loc);
end
writeln('**********************************************');
end;

//----------------------------------------------------------------------------//

procedure ProgressReport;
begin
WriteLn(' ');
WriteLn(' ');
WriteLn(' ');
WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
writeln('Worked for '+ TimeRunning);
WriteLn('Banked '+IntToStr(banks)+' loads[s].');
WriteLn('Banked '+IntToStr(TotalOres)+' Ores.');
WriteLn('<=====================================================>');
PlayerStats;
SRLRandomsReport;
end;

//----------------------------------------------------------------------------//

function FindMapOreColor:integer;
var
MapOre,MapOre2:integer;
begin
MapOre := BitmapFromString(3, 3,
'3D2C345948546D5D624A39416D5D626D5D625948546D5D626D5D62' +
'');
MapOre2 := BitmapFromString(3, 3,
'061115222D35364243131E22364243364243222D35364243364243' +
'');
if(FindBitmapsProgressiveTol(MapOre,MapOre2,0,0,0,65,5,587,41,705,118))then
Result:=GetColor(x+1,y+1);
Freebitmap(MapOre);
Freebitmap(MapOre2);
end;

//----------------------------------------------------------------------------//

Function FindFaladorLadderColor: Integer;
var C,TX,TY,FaladorLadder:integer;

begin
FaladorLadder:= BitmapFromString(2, 2, '4F1F004F1F004F1F00' +
'A4A298');

while (C<100) do
begin
C:=C+5;
If FindBitMapToleranceIn(FaladorLadder,TX,TY,650,144,664,156,C) then
begin
LadderColor:=GetColor(TX,TY);
Players[CurrentPlayer].Loc:='Falador';
Result:=LadderColor;
writeln('LadderColor = '+IntToStr(LadderColor));
break;
end
end
FreeBitMap(FaladorLadder);
if Result = 0 then begin writeln('ERROR: LadderColor NOT Found'); TerminateScript end;
end;

//----------------------------------------------------------------------------//

function Underground:boolean;
begin
if((FindColoredAreaTolerance(x,y,256,570,5,725,162,50,1)))then
begin
Result:=true;
end;
end;

//----------------------------------------------------------------------------//

procedure ToCenter;
begin
if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
begin
Mouse(x-10,y-10,20,20,true);
FFlag(20);
Wait(1000+Random(100));
end else
begin
RoadWalk(MapOreColor,'S');
if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
begin
Mouse(x-10,y-10,20,20,true);
FFlag(20);
Wait(1000+Random(100));
end;
end;
end;

//----------------------------------------------------------------------------//

procedure RunAway;
begin
if(UnderGround)then
begin
RoadWalk(MapOreColor,'W');
ClickMMColor(LadderColor);
FFlag(10);
RoadWalk(MapOreColor,'E');
end else
RunTo('N',False);
end;

//----------------------------------------------------------------------------//

function HandleGas(Gx,Gy:Integer):Boolean;
begin
if FindGas(gx,gy) then
begin
ToCenter;
Result:=True;
end;
end;

//----------------------------------------------------------------------------//

Function ClimbLadderDown:Boolean;
var
c:integer;
begin
for c:=1 to 50 do
begin
If FindColor(x,y,0,MSX1+10,MSY1+10,MSX2-10,MSY2-10) then
begin
Wait(100);
Mouse(x,y,0,0,false);
if ChooseOption(x,y,'Climb') then
begin
MarkTime(Mark);
repeat
Wait((1000)+Random(1000));
If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
until ((GetColor(580,80)=0) and (GetColor(648,142)=0));
Result:=True;
Exit;
end;
end;
c:=C+1;
SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
if C=50 then begin Logout; exit end;
end;
end;

//----------------------------------------------------------------------------//

Function ClimbLadderUp:Boolean;
var
c:integer;
begin
for c:=1 to 50 do
begin
Wait(100);
if FindObj(x,y,'adder',2775161,21) then
begin
Wait(100);
Mouse(x,y,0,0,false);
if ChooseOption(x,y,'Climb') then
begin
MarkTime(Mark);
repeat
Wait((1000)+Random(1000));
If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
until FindColor(x,y,WaterColor,MMX1,MMY1,MMX2,MMY2);
Result:=True;
Exit;
end;
end;
c:=C+1;
if C=50 then begin Logout; exit end;
SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
end;
end;

//----------------------------------------------------------------------------//
// -- To the Guild in Three Clicks! --//
//----------------------------------------------------------------------------//

procedure BankToGuild;
var xblack,yblack:Integer;
begin
PerfectNorth;
MouseFindFlag(690,110,1,-1);
Flag;
FindColor(xblack,yblack,0,MMX1,MMCY,MMX2,MMY2);
Mouse(xblack-5,yblack+10,0,0,true);
Flag;
ClimbLadderDown;
Players[CurrentPlayer].loc:='Guild';
end;


//----------------------------------------------------------------------------//

procedure GuildToBank;
var
c:integer;
begin

repeat
c:=c+1;
RadialWalk(MapOreColor,210,270,50,-1,0);
if FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) then break;
if c=10 then begin Logout; exit; end;
until( FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) or(c>10) )
IdleTime(3000, 1000, 1.0);
If FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) Then Mouse(x,y,2,2,True);
Wait(1500+Random(500));
FFlag(0);
ClimbLadderUp;

MouseFindFlag(666,45,-1,-1);
Flag;
MakeCompass('N');
If FindColor(x,y,BankColor,MMX1,MMY1,MMX2,MMY2) then
begin
Mouse(x,y,0,0,True);
FFlag(10);
DTM3Flag(FB1,FB2,FB3,True);
FFlag(3);
end
else
begin
DTM3Flag(FB1,FB2,FB3,True);
FFlag(3);
end;
Players[CurrentPlayer].loc:='Falador';
end;
//----------------------------------------------------------------------------//

Function SimpleBank:Boolean;
var sx,sy,dx,dy,Mark2,Tries:integer;
begin
SX:=MSCX; SY:=MSCY;
repeat
sx:=Sx+1;
sy:=sy+3;
MMouse(sx, sy, 0, 0);
if IsUpTextMulti('e Bank','Booth','ooth') then
begin
GetMousePos(Dx, Dy);
Mouse(Dx, Dy, 0, 0, False);
if ChooseOption(Dx, Dy, 'uickly') then
begin
MarkTime(Mark2);
repeat
Wait(10);
if TimeFromMark(Mark2) > 20000 then
begin
Result:=False;
Exit;
end;
until BankScreen;
if BankScreen then
begin
Result := True;
Exit;
end;
end;
end
else
begin
wait(1);
Tries:=Tries+1;
end;
until(tries >9);
end;

//----------------------------------------------------------------------------//

procedure Bank;

var LocalOres:integer;
begin
if (NoPick and EquipPick) then
begin
if InventoryFull then
begin
if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,460,25))then
begin
Mouse(x,y,5,5,false);
ChooseOption(x,y,'Drop');
end;
end;
GameTab(5);
Mouse(593,303,0,0,true);
Wait(Random(1000)+2000);
GameTab(4);
end;

LocalOres:=CountItemBmpTol(Ore,50);
MarkTime(Mark);

if not BankScreen then
begin
repeat
if (not(Loggedin)) then Exit;
if not SimpleBank then OpenBankQuiet('feb');
until(BankScreen or (TimeFromMark(Mark)>60000));
end;
if(BankScreen)then
begin
Wait(Random(2000)+200);
FixBank;
if(NoPick=true)then
begin
ClickAllItemsColorWait('All',65536,1000+Random(100));
Wait(Random(2000)+200);
Withdraw(1,1,1);
Wait(Random(2000)+200);
end else
begin
if(EquipPick=false)then Deposit(2,28,2);
Wait(Random(2000)+200);
if(EquipPick=true)then
begin
ClickAllItemsColorWait('All',65536,1000+Random(100));
Wait(Random(2000)+200);
end;
end;
CloseBank;
if(NoPick=true)and(EquipPick=true)then
begin
FindPickHeadColor;
Wait(Random(1000)+200);
ClickItemColor(hc1,true);
end;
Banks:=Banks+1;
TotalOres:=TotalOres+LocalOres;
Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
NoPick:=false
end;
end;

//----------------------------------------------------------------------------//

Procedure ChangeGasPixels(Var Gasx,GasY:Integer);

Var
TempX, TempY: Integer;

Begin
Wait(100);
If FlagPresent Then
Begin
FFlag(0);
If FindColorSpiralTolerance(x,y,OreColor,MSX1,MSY1,MSX2,MSY2,4) Then
Begin
x := TempX;
y := TempY;
If CheckOre(x,y,OreColor,4) > 2 Then
Begin
If Distance(MSCX,MSCY,TempX,Tempy) < 40 Then
Begin
GasX := x;
GasY := y;
End;
End;
End;
End;
End;

//----------------------------------------------------------------------------//

Procedure WizzupMine;

Var Dx,Dy,Ex,Ey:Integer;

Begin

If FindOre(OreTol) Then
Begin
If FindObjOre(Dx, Dy, 'Mine', OreColor, 10, 4) Then
Begin
H:=0;
If Not HandleGas(Dx, Dy) Then
Begin
If Random (9) < 7 Then Mouse(Dx, Dy, 0, 0, True)
Else
Begin
Mouse(Dx, Dy, 0, 0, False);
ChooseOption(Ex, Ey, 'ine');
End;
ChangeGasPixels(Dx,Dy);
MarkTime(Mark);
Repeat
HandleGas(Dx, Dy);
Wait(100);
FindTalk;
FindPick;
If NoPick Then Break;
If FindFight Then RunAway;
Until ((TimeFromMark(Mark) > (1000 * SecondsToWait))
Or (FindColor(X, Y, 0,51, 421, 51, 421)))
End;
End;
End
Else
Begin
If H>1 Then H:=0;
If Random(9) < 7 Then if not FindColorTolerance(x,y,CoalColor, MSX1,MSY1,MSX2,MSY2,OreTol) then ToCenter;
FindNormalRandoms;
If FindFight Then RunAway;
Wait(500+Random(500));
End;
End;

//----------------------------------------------------------------------------//

Procedure DoChats;

Begin
SetChat('On', 1);
SetChat('On', 1);
SetChat('Off', 2);
SetChat('Off', 2);
SetChat('On', 3);
SetChat('On', 3);
End;

//----------------------------------------------------------------------------//

procedure Setup;
begin
SetupSRL;
SetUpSRLMining;
FillMem;
DeclarePlayers;
CurrentPlayer:=StartPlayer;
EquipPick:= Players[CurrentPlayer].Boolean1; // Wielding.
PickUpItems:=True; // to pick up random items when pickhead is gone.
BenMouse:=False;
MouseSpeed:=10;
LoginPlayer; // logs in the first player.
SetOres;
end;

//----------------------------------------------------------------------------//
//*************************** Main Loop***************************************//
//----------------------------------------------------------------------------//

begin
Setup;
FindFaladorLadderColor;
SymbolAccuracy:=0.4; // temporarily reduce symbolaccuracy for better symbol spotting
FindFaladorBasicColors;
SymbolAccuracy:=0.8; // set symbolacc. to default
NickNameBMP:=CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars) // in case we started logged in aot logged out

repeat
GetAllLevels;
if not FindPickHeadColor then Logout;

Dochats;
if Players[CurrentPlayer].loc='Falador' then
begin
SetRun(true);
BankToGuild;
end

if Players[CurrentPlayer].loc='Guild' then
begin
if(MapOreColor=0) then MapOreColor:=FindMapOreColor;

if FindMMColor(x, y, LadderColor) then RoadWalk(MapOreColor,'E');
FFlag(10);

MarkTime(Mark);
if(MapPickColor=0) then MapPickColor:=GetSymbolColor(x,y,'mining spot');
repeat
WizzupMine;
Wait(100);
if (not(Loggedin)) then break;
until(InventoryFull)or(NoPick=true)or(TimeFromMark(Mark)>1800000)

SetRun(False);
GuildToBank;
Bank;
ProgressReport;
end;
if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0) ) then
Begin
MarkTime(Mark);
SetChat('off',1);
repeat
Wait(1000);
FindNormalRandoms;
if(TimeFromMark(Mark)>120000) then begin Logout; Break; end;
until(not(LoggedIn));
writeln('dead and logging back in');
writeln(InttoStr(CurrentPlayer));
Wait(500+Random(501));
NextPlayer(True);
writeln(InttoStr(CurrentPlayer));
NoPick:=False;
SetOres;
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
end;

if (not (Loggedin)) then
Begin
NextPlayer(False);
NoPick:=False;
SetOres;
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
DoChats;
End;
Until(False)
end.



Heres Xcan's smelter-
{
XXXXXXX XXXXXXX
X:::::X X:::::X
X:::::X X:::::X
X::::::X X::::::X
XXX:::::X X:::::XXX cccccccccccccccc aaaaaaaaaaaaa nnnn nnnnnnnn
X:::::X X:::::X cc:::::::::::::::c a::::::::::::a n:::nn::::::::nn
X:::::X:::::X c:::::::::::::::::c aaaaaaaaa:::::an::::::::::::::nn
X:::::::::X c:::::::cccccc:::::c a::::ann:::::::::::::::n
X:::::::::X c::::::c ccccccc aaaaaaa:::::a n:::::nnnn:::::n
X:::::X:::::X c:::::c aa::::::::::::a n::::n n::::n
X:::::X X:::::X c:::::c a::::aaaa::::::a n::::n n::::n
XXX:::::X X:::::XXXc::::::c ccccccca::::a a:::::a n::::n n::::n
X::::::X X::::::Xc:::::::cccccc:::::ca::::a a:::::a n::::n n::::n
X:::::X X:::::X c:::::::::::::::::ca:::::aaaa::::::a n::::n n::::n
X:::::X X:::::X cc:::::::::::::::c a::::::::::aa:::a n::::n n::::n
XXXXXXX XXXXXXX cccccccccccccccc aaaaaaaaaa aaaa nnnnnn nnnnnn
_ _
___ _ __ ___ ___| | |_ ___ _ __
/ __| '_ ` _ \ / _ \ | __/ _ \ '__|
\__ \ | | | | | __/ | || __/ |
|___/_| |_| |_|\___|_|\__\___|_|}
{ ______________________________________________________________________
|DO NOT CHANGE ANYTHING WITHOUT ASKING ME FIRST(other than setup) |
|Please post bugs and proggys. |
|if you want more players add more of line 67-72 but change the number.|
|If you have a pin go to line 296 and take out the // and put you pin |
|between the '' |
|______________________________________________________________________|}

program AKsmelter;
{.include SRL/SRL.scar}
{.include SRL/SRL/extended/xbank.scar}
{.include SRL/SRL/extended/xsymbol.scar}
{.include SRL/SRL/Skill/Smithing.scar}

//Auto color from wizzups powerminer... i moded it. thanks wizzup

//~~~~~im not responsible if you get banned~~~~~

// ~~~~SETUP~~~~
//==============================================================================

Const furnace = 1584276; //orange part of furnace
StartPlayer = 0; // Determines who will play first
VersionNumber = 'V.1.5';
AutoColor = True; // True for autocolor...recommended.
time2 = false; //if you want start time true, if not then false
stime = 10; // 1-12am 1-12 respectivly, 1-12pm 13-24 respectivly
MSpeed = 8; //speed of the mouse...higher number slower speed, lower number higher speed
BMouse = false; //BenMouse...true or false
MySRLID = ''; // Must be a string!
MySRLPassword = ''; // Must be a string!
//==============================================================================

var
color:integer;
quest:integer;
barsmade:integer;
barmade:integer;
bar:integer;
Loads:integer;
BAmount:integer;
Barcolor:integer;
xp:integer;
BarMask:Integer;


// ~~~~set players below~~~~
//==============================================================================

Procedure DeclarePlayers;
begin
HowManyPlayers :=1; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer:= StartPlayer; // CurrentPlayer = Array Index

Players[0].Name :='';//username
Players[0].Pass :=''; //password
Players[0].Nick :=''; //3-4 consecutive letters of your user name(NOT First letter)
Players[0].String1 :='steel'; //type of bar bronze,iron,steel,mith,addy,rune,gold,silver
Players[0].Skill :='smithing'; //skill to choose when you get a genie
Players[0].integer2:=20; //how many loads
Players[0].Active :=True; //are you going to use this player

end;

// dont change below if you dont know what your doing
//=============================================================================

Const
BronzeColor = 2902109;
IronColor = 6119013;
SilverColor = 11971242;
SteelColor = 9013650;
GoldColor = 1880792;
MithrilColor = 7491150;
AdamantColor = 5400146;
RuniteColor = 8023891;

procedure Time;
Var
Hour, Mins, Sec, MSec: Word;
begin
if (time2=true) then
repeat
DecodeTime(Now, Hour, Mins, Sec, MSec);
wait(1000);
until Hour>(stime-1);
wait(1000);
if (time2=false) then exit;
end;

Procedure AfterLogin;
begin
MakeCompass('w');
FTWait(3+ random(2));
MakeCompass('w');
SetChat('on',1);
SetChat('on',1);
SetChat('on',2);
SetChat('on',2);
SetChat('off',3);
SetChat('off',3);
HighestAngle;
end;

Procedure AutoRespond;//Credits to Charmz for this
Var Responce: String;
RandomReply: Integer;
begin
If(InChat('smithing')) or (InChat('smith')) or (InChat('s')) and (InChat('lvl')) or (InChat('lev')) or (InChat('level'))then
Begin
Responce:= IntToStr(GetSkillLevel('smithing'));
TypeSend(Responce);
GameTab(4);
End;
If(InChat('hi')) or (InChat('hello')) or (InChat('hey'))then
Begin
RandomReply:= random(7)+1;
Case RandomReply of
1 : Responce:= ('sup');
2 : Responce:= ('yo');
3 : Responce:= ('whats up everyone');
4 : Responce:= ('whats up');
5 : Responce:= ('allo allo');
6 : Responce:= ('wat up');
7 : Responce:= ('y0o');
8 : Responce:= ('what is up');
End;
TypeSend(Responce);
End;
If(InChat(Players[CurrentPlayer].Name)) or (InChat(Players[CurrentPlayer].Nick))then
Begin
RandomReply:= Random(7)+1;
Case RandomReply of
1 : Responce:= ('what');
2 : Responce:= ('yes');
3 : Responce:= ('what do you want');
4 : Responce:= ('me?');
5 : Responce:= ('Yah?');
6 : Responce:= ('who?');
7 : Responce:= ('wha?');
8 : Responce:= ('?');
End;
TypeSend(Responce);
End;
End;

Procedure BarAmount;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : BAmount:=14;
'iron' : BAmount:=28;
'steel' : BAmount:=9;
'silver' : BAmount:=28;
'gold' : BAmount:=28;
'mith' : BAmount:=5;
'addy' : BAmount:=4;
'rune' : BAmount:=3;
End;
End;

Procedure SetColor;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : BarColor:=BronzeColor;
'iron' : BarColor:=IronColor;
'steel' : BarColor:=SteelColor;
'silver' : BarColor:=SilverColor;
'gold' : BarColor:=GoldColor;
'mith' : BarColor:=MithrilColor;
'addy' : BarColor:=AdamantColor;
'rune' : BarColor:=RuniteColor;
End;
End;


Procedure Bitmaps;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : Bar:=BronzeBar;
'iron' : Bar:=IronBar;
'steel' : Bar:=SteelBar;
'silver' : Bar:=SilverBar;
'gold' : Bar:=GoldBar;
'mith' : Bar:=MithrilBar;
'addy' : Bar:=AdamantBar;
'rune' : Bar:=RuniteBar;
End;
End;

Procedure AutoGetBarColors;

Begin
WriteLn('AutoColor:');

If FindColor(X, Y, BarColor, MCX1, MCY1, MCX2, MCY2) Then
BarColor := GetColor(X, Y);

WriteLn(Players[CurrentPlayer].String1+' color = '+IntToStr(BarColor));

End;


Function FindT:boolean;
Begin
repeat
if not LoggedIn then Exit;
wait(100+random(200));
Until (FindText(x, y, 'Enter amount:', UpChars, MCX1, MCY1, MCX2, MCY2)=true);
result:=true
End;

Function BarCount:boolean;
Begin
if (CountItemBmpTol(Bar,10)=BAmount) then
result:= true
end;

Function Door:boolean;
begin
if (FindColorTolerance(x,y,1394524,5,263,515,338,5) or
FindColorTolerance(x,y,603212,5,263,515,338,5) or
FindColorTolerance(x,y,2256012,5,263,515,338,5))then
MMouse(x,y,2,2);
if (IsUpTextMulti('lose','los','ose')) then
Result := True;
end;

procedure OpenDoor;
var cx,cy:integer;
begin
Status('finding door...');
MarkTime(mark);
Lowestangle;
Wait(100+random(50));
begin
if (Door) then
Writeln('door is open');
end;
if not (Door) then
repeat
if (IsUpText('Door')) then
FTWait(1);
if (IsUpText('Open')) then
Mouse(cx,cy,2,2,false);
ChooseOption(x,y,'Open');
begin
Flag;
repeat
Wait(100);
until (Door) or (TimeFromMark(mark)> 5000);
end;
Until (Door) or (TimeFromMark(mark)> 5000);
end;

procedure MyOpenBank;
begin
Status('Opening bank...');
if not (BankScreen) then
Lowestangle;
MarkTime(mark);
repeat
if (FindColorTolerance(x,y,8618883,2,70,515,178,5) or
FindColorTolerance(x,y,9079691,2,70,515,178,5))then
Wait(250);
MMouse(x,y,2,2);
Wait(250);
if (IsUpText('Bank booth')=true) then
Wait(250);
Mouse(x,y,2,2,false);
if (ChooseOption(x,y,'quickly')) then
begin
Flag;
wait(250);
InPin('5034'); //put your pin between ''
repeat
Wait(100);
until (BankScreen);
end;
until (BankScreen) or (TimeFromMark(mark)> 60000);
if TimeFromMark(Mark)> 60000 then Logout;
end;

Procedure WBronze;
begin
BankMouse(1, false);
ClickOption('X', 1);
Findt;
TypeSend('14');
BankMouse(2,false);
ClickOption('X', 1);
Findt;
TypeSend('14');
end;

Procedure WAll;
begin
BankMouse(1,false);
ClickOption('All',1);
end;

Procedure WSteel;
begin
BankMouse(1,false);
ClickOption('X',1);
Findt;
TypeSend('9');
BankMouse(2,false);
ClickOption('All',1);
end;

Procedure WMith;
begin
BankMouse(1,false);
ClickOption('X',1);
Findt;
TypeSend('5');
BankMouse(2,false);
ClickOption('All',1);
end;

Procedure WAddy;
begin
BankMouse(1,false);
ClickOption('X',1);
Findt;
TypeSend('4');
BankMouse(2,false);
ClickOption('All',1);
end;

Procedure WRune;
begin
BankMouse(1,false);
ClickOption('X',1);
Findt;
TypeSend('3');
BankMouse(2,false);
ClickOption('All',1);
end;

Procedure WithdrawOres;
var act:integer;
begin
Status('Withdrawing ores...');
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : act:=1;
'iron' : act:=2;
'steel' : act:=3;
'silver' : act:=2;
'gold' : act:=2;
'mith' : act:=4;
'addy' : act:=5;
'rune' : act:=6;
End;
Begin
If act=2 then WAll;
If act=1 then WBronze;
If act=3 then WSteel;
If act=4 then WMith;
If act=5 then WAddy;
If act=6 then WRune;
End;
End;

Procedure Antirandoms2;
begin
Findnormalrandoms;
FindTalk;
DwarfItem;
end;

Procedure ToBank;
begin
status('Going to bank...');
Antirandoms2;
keydown(17);
Mouse(600,95,2,2,true);
keyup(17);
Antirandoms2;
FFlag(5);
FindSymbol(x,y,'bank');
keydown(17);
Mouse(x,y,2,2,true);
keyup(17);
LowestAngle;
Antirandoms2;
Flag;
Loads:=Loads+1
ReportVars[0] := ReportVars[0]+ 1;
Players[CurrentPlayer].Integer1:=Players[CurrentPlayer].Integer1+1
Players[currentplayer].Loc:='bank'
end;

Procedure Antirandoms;
Begin
Findnormalrandoms;
FindTalk;
DwarfItem;
if(FindFight)then
begin
RunAwayDirection('S');
wait(8000+random(500));
runback;
end;
AutoRespond;
end;

Function Amount:boolean;
begin
if (FindText(x,y,'Enter amount:',UpChars,MCX1,MCY1,MCX2,MCY2)=true) then
result:=true
end;

Procedure Furn;
begin
Repeat
antirandoms;
if (FindColorRightTol(x,y,BarColor,15, 378, 494, 437,8)) then
MMouse(x-10,y,2,2);
wait(250);
if (IsUpText('melt 1')=true) then
Wait(250);
Mouse(x-10,y,2,2,false);
if (ChooseOption(x,y,'melt X')) then
begin
Flag;
FTWait(1);
repeat
Wait(100);
until (Amount);
end;
until (Amount);
TypeSend(inttostr(BAmount+1));
repeat
if not LoggedIn then Exit;
wait(1000+random(500));
antirandoms;
until (BarCount=true) or FindText(x, y, 'You have run out of',+
smallchars, MCX1, MCY1, MCX2, MCY2);
if (BarCount=true) then writeln('Found Bars');
If (FindText(x, y, 'You have run out of', smallchars, MCX1, MCY1, MCX2,+
MCY2)) then Writeln('Found Text')
end;

Procedure FindFurnace;
begin
antirandoms;
Status('Finding furnace...');
if (invfull=false) then
begin
writeln('Can''t Find Ores');
end
else
begin
Antirandoms;
repeat
if not LoggedIn then Exit;
FindMSColorTol(x,y,furnace,5);
wait(50+random(10));
MMouse(x,y,0,0);
wait(20+random(10));
until IsUpTextMulti('melt','me','lt');
begin
Mouse(x,y,0,0,true);
writeln('Found Furnace');
FTWait(2+random(1));
AntiRandoms;
end;
end;
end;

procedure whereami;
begin
quest := BitmapFromString(15, 5, 'z78DA9D90510A80201005AFB4' +
'A6D6FAB9E6DEFF4A060FEAC5524408F3213A3C46921CC7BC4B37E' +
'696347B5535DBBDF85A8781B85F4A1EE71B6FD26E7F255D273A41' +
'D8D8CF4EE6BB99B7FDE3F7CDB1093673196E023E9963672E139BB' +
'093374F7355666D');
Color:= 14312782;
if(FindMMSymbol(quest)=true) then
Players[currentplayer].Loc:='bank'
else
Players[currentplayer].Loc:='furn'
end;

procedure BankOrFurn;
begin
if ((Players[currentplayer].Loc)='bank') then
writeln('In Bank')
else
writeln('In Furnace')
end;

Procedure Bankbars;
begin
BankOrFurn;
antirandoms2;
invCount;
if (not (invcount=28)) then
begin
Status('Banking...');
MyOpenBank;
depositall;
fixbank;
Withdrawores;
end;
Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
end;

Procedure ToFurn1;
begin
Mouse(686, 110, 2, 2, true);
FFlag(2);
FindSymbol(x, y, 'furnace');
Mouse(x, y + 10, 1, 1, true);
end;

Procedure ToFurn2;
begin
Mouse(674, 112, 2, 2, true);
FFlag(2);
Mouse(695, 99, 2 , 2, true);
FFlag(2);
FindSymbol(x, y, 'furnace');
Mouse(x, y + 10, 1, 1, true);
end;

Procedure ToFurnace;
begin
Status('Going to furnace...');
HighestAngle;
begin
case random(2) of
0: tofurn1;
1: tofurn2;
end;
antirandoms2;
FFlag(3);
writeln('In Furnace');
Players[currentplayer].Loc:='furn'
end;
end;

Procedure Rand;
begin
if (FindNormalRandoms=true) then
begin
findfurnace;
Status('Smelting...');
Furn;
begin
MakeCompass('w');
opendoor;
end;
end;
end;

Procedure Report;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : ReportVars[10]:= ReportVars[10]+ 14;
'iron' : ReportVars[11]:= ReportVars[11]+ CountItemBmpTol(Bar,10);
'silver' : ReportVars[12]:= ReportVars[12]+ 28;
'steel' : ReportVars[13]:= ReportVars[13]+ 9;
'gold' : ReportVars[14]:= ReportVars[14]+ 28;
'mith' : ReportVars[15]:= ReportVars[15]+ 5;
'addy' : ReportVars[16]:= ReportVars[16]+ 4;
'rune' : ReportVars[17]:= ReportVars[17]+ 3;
End;
End;

Function Exp:integer;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : xp:=91;
'iron' : xp:=12 * CountItemBmpTol(Bar,10);
'steel' : xp:=157;
'silver' : xp:=387;
'gold' : xp:=630;
'mith' : xp:=150;
'addy' : xp:=280;
'rune' : xp:=255;
End;
Begin
Result := xp;
Players[CurrentPlayer].Integer3:=Players[CurrentPlayer].Integer3 + xp;
Begin
ReportVars[3]:= ReportVars[3] + xp;
End;
End;
End;

procedure InFurnace;
begin
if (invfull=false) then
begin
Status('going to bank...');
opendoor;
end
else
begin
Status('Smelting...');
wait(200 + random (200));
Furn;
Rand;
Exp;
Report;
end;
MakeCompass('w');
Opendoor;
end;

procedure PlayerStats;
var Active: string;
var i: Integer;
begin
for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active=True then Active:='True' else Active:='False';
writeln( (inttostr(i+1))+' : '+Players[i].name+ '= '+Active+
'- Lvl: '+inttostr(Players[i].level[16])+' Loads done: '+
inttostr(Players[i].integer1)+ ' Loc: '+Players[i].loc);
end
end;

Function totalbars:integer;
begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'bronze' : barsmade:=14;
'iron' : barsmade:=CountItemBmpTol(Bar,10);
'steel' : barsmade:=9;
'silver' : barsmade:=28;
'gold' : barsmade:=28;
'mith' : barsmade:=5;
'addy' : barsmade:=4
'rune' : barsmade:=3;
End;
Begin
Result := barsmade;
end;
begin
ReportVars[1] := ReportVars[1] + CountItemBmpTol(Bar,10);
BarMade:= Players[CurrentPlayer].Integer1 * BarsMade;
end;
end;

procedure ProgressReport;
begin
ClearDebug;
begin
WriteLn('<=========Progress for Smelter-'+VersionNumber+'-=========>');
Writeln(' ');
writeln('**********************************************');
writeln('Name : '+ Players[CurrentPlayer].Name);
writeln('Number : '+ inttostr(CurrentPlayer+1));
writeln('Smithing Level : '+ inttostr(Players[CurrentPlayer].Level[16]));
writeln('Done : ' + inttostr(Players[CurrentPlayer].Integer1)+' loads');
writeln('Made : ' +inttostr(barmade)+' '+(Players[CurrentPlayer].String1)+' bars');
writeln('Worked for : '+ TimeRunning);
writeln('Banked : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
writeln('Gained Approx : '+inttostr(Players[CurrentPlayer].Integer3)+ ' exp.')
writeln('Location : '+ Players[CurrentPlayer].loc);
writeln('**********************************************');
end;
PlayerStats;
SRLRandomsReport;
end;

Procedure ClearVars;
Var
I : Integer;
Begin
For I := 1 To 19 Do
ReportVars[I] := 0;
End;

Procedure Intro;
begin
WriteLn(' __ ');
WriteLn(' __ __ (_ \');
WriteLn(' \ \/ /___ __ _ _ __ \/ ___ ');
WriteLn(' \ // __/ _` | `_ \ / __| ');
WriteLn(' / \ (_| (_| | | | | \__ \');
WriteLn(' /_/\_\___\__,_|_| |_| |___/');
Wait(1000);
WriteLn(' __ _ _ ');
WriteLn(' / _\ ___ _ __(_)_ __ | |_ ___ ');
WriteLn(' \ \ / __| ''__| | ''_ \| __/ __|');
WriteLn(' _\ \ (__| | | | |_) | |_\__ \ ');
WriteLn(' \__/\___|_| |_| .__/ \__|___/');
WriteLn(' |_| ');
Wait(1000);
WriteLn(' Brings You:');
Wait(1000);
WriteLn(' AK Smelter '+versionnumber+'');
WriteLn('')
Wait(1000);
WriteLn('Please post all Progress reports at');
WriteLn('http://www.villu-reborn.com/showthread.php?t=4915')
end;

Procedure EndReport;
begin
cleardebug;
begin
WriteLn('<=====End Progress for Smelter '+VersionNumber+'=====>');
WriteLn('Ran For: '+ timerunning)
WriteLn('Finished: '+inttostr(Loads)+' loads')
WriteLn('Made a total of: '+inttostr(barsmade)+' '+Players[CurrentPlayer].String1+' bars')
WriteLn(inttostr(HowManyPlayers)+' players played')
end;
PlayerStats;
end;


procedure Setup;
begin
SetupSRL;
ScriptID := '30';
SRLID := MySRLID;
SRLPassword := MySRLPassword;
SetUpSRLReport;
ClearDebug;
Intro;
LoadSmithingBitMaps;
ClearVars;
ReportVars[2] := 1;
MouseSpeed := (MSpeed);
BenMouse := (BMouse);
Time;
DeclarePlayers;
LoginPlayer;
Bitmaps;
SetColor;
BarAmount;
AfterLogin;
WhereAmI;
end;

////////////////////////////////Main Loop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

begin
Setup;
repeat
if Players[CurrentPlayer].loc='furn' then
begin
MakeCompass('w')
FindFurnace;
If AutoColor Then AutoGetBarColors;
InFurnace;
ToBank;
TotalBars;
ProgressReport;
end;
if Players[CurrentPlayer].Loc='bank' then
begin
MakeCompass('w')
BankBars;
ToFurnace;
GetSkillLevel('smithing');
Players[CurrentPlayer].Level[16] :=GetSkillLevel('smithing');
TotalBars;
ProgressReport;
end;
if ((LoggedIn) and (Players[CurrentPlayer].Integer1=(Players[CurrentPlayer].Integer2))) then
begin
repeat
Wait(1000);
until(not(LoggedIn));
NextPlayer(False);
Players[CurrentPlayer].Integer1:=0
MakeCompass('w')
Whereami;
end;
If Not LoggedIn Then
Begin
NextPlayer(False);
MakeCompass('w');
SetColor;
BarAmount;
End;
until(False);
TotalBars;
EndReport;
end.



If that doesn't work for you (no smelters ever worked for me), you can use an old smelter that I edited-

//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>) Bentrims (<>)//
//(<>) Al-Kharid (<>)//
//(<>) Smelter (<>)//
//(<>) V2 (<>)//
//(<>)(with additions by (<>)//
//(<>) yesiammanu) (<>)//
//(<>)Version Log (<>)//
//(<>)V1.0-Working Well (<>)//
//(<>)V1.5-Lots of Bugs Fixed (<>)//
//(<>)V2-Just a Few Updates (<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>) Setup (<>)//
//(<>) 1.Start in Bank (<>)//
//(<>) 2.Iron in 1st Bank Slot(<>)//
//(<>) 3.Coal in Second Slot (<>)//
//(<>) 4.Have ores in inv. (<>)//
//(<>) 5.Map facing near West (<>)//
//(<>) 6.Go Make a Sandwich (<>)//
//(<>) 7.Hit Play (<>)//
//(<>) 8.Go Watch Tv. :) (<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
program AlKararidSmelter;
{.include Si.scar}

var x,y:integer;barcount:integer;cx,cy:Integer;

const
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
// (<>)(<>)Setup(<>)(<>) //
// All colors are minimap //
primeore=500; //All Your Iron in Bank
agilityicon=2854145; //Agility Icon (green arrow)
banksymbol=4507112; //Bank Symbol....
furnacesymbol=1468156; //Furnace Symbol (orange)...

// (<>)(<>)End(<>)(<>) //
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)//

Procedure ToTheFurnace;
begin
Status('Going to Furnace')
FindColorSpiral(x,y,agilityicon,566,5,717,122)
MouseFlag(x+ random(10),y+70+ random(15),1,1)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
FindColorSpiral(x,y,furnacesymbol,564,9,719,156)
MouseFlag(x,y+2+ random(8),1,1)
wait(500+ random(1500));
end;

Procedure Smelting;
begin
status('Smelting...');
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
findobj(cx,cy,'Smelt Furnace',2368550,5)
mouseflag(cx,cy,2,2);
mouse(268,401,2,2,false);
mouse(240,414,1,1,true);
repeat
wait(3000);
until(IsChatMessage('You don'))or(BeingAttacked)or (IsChatMessage ('You have run out'));
end;

Procedure Back2Bank;
begin
Status('Walking back to Bank');
FindColorSpiral(x,y,agilityicon,560,5,724,158)
MouseFlag(x- random(10),y+70+ random(15),1,1)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
FindColorSpiral(x,y,banksymbol,560,5,724,158)
MouseFlag(x,y,1,1);
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
end;

Procedure Banking;
begin
status('Banking...');
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
OpenBank;
FixBank;
DepositAll;
Withdraw(1,1,9);
Withdraw(1,2,18);
closewindow;
end;

Procedure ProgessReport;
Begin
Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
Writeln(' BentRims Al-Kharid Smelter ');
Writeln(' Smelted '+inttostr(barcount)+'Steel Bars');
Writeln(' Have Fun Lazy Kids... ');
Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
end;

begin
LoadInclude('Mozilla FireFox',False)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
repeat
gametab(2);
ToTheFurnace;
gametab(4);
Smelting;
Back2Bank;
Banking;
barcount:=barcount+9;
until(primeore=barcount)or(barcount>primeore);
end.

It's not great, but (for me) its the only thing I can use.

~~~~Yesiammanu

nut$y

2007-02-01 08:01:27

is there a miner/banker that isnt for guild mine but for somwhere else?

surfdiver2005

2007-02-01 21:35:06

Wow thank you. those look like some good acripts. i tried the first smelter once but it diddnt work whatsoever. But i tried the Guild miner and it worked perfectly! thank you allot. this one must be edited because i have tried that same one before and the script was full of errors. im going to go and try the script you edited to see if that could help me out. thanx allot. i cant wait to finaly learn how to create and alter scripts. i read over all the ones i use to see what i cal learn. thank you allot yesiammanu!!!!

surfdiver2005

2007-02-01 21:38:52

From: nut$y
is there a miner/banker that isnt for guild mine but for somwhere else?


I dont know about a different miner/banker but heres a script that is a miner dropper (anywhere) you could use this till you can get into the miners guild : )

keep in mind its not the best script. its somewhat buggy. in mines perfectly fine, you just have to monitor it because it dosnt run from attackers or Randoms. it tries to solve the mysterious guys boxes…. but it always gets it wrong lol.

{.Script Info:
# Author:Rencuz,creds Nashi whos box and fight procedures i used,
ty for bullzeye95 who fixed my nooby mistake
#Ver.01.//My 1st script ready :%)
#Ver.0.2.//Added pick head color finder and run set true and chats off!
# Ver 0.4//Added antirandoms but dont know r they work,.
#ver 0.5 //Mad Cow made script nicer tyvm :P
Start anywhere!
/Script Info}
program Minerl33t;
{.include SRL\SRL.scar}
{.include SRL/SRL/Skill/Mining.Scar}

const LoadsToDo =354; //How many loads do you want it to do?
rockwait= 3400; //How many miliseconds do you want it to wait before clicking another rock?
rockcolor=21745392174539; //The color of the rock.Atm Tin

procedure FFight; forward;

procedure DeclarePlayers;
begin
HowManyPlayers :=2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :=''
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=False;
end;



var
Loads:Integer;

//Mining procedure

procedure miner;
begin
repeat
findcolorspiral(x,y,rockcolor,3,3,515,336)
mmouse(x,y,3,3)
istextat2(9,9,'Mine',20)
mouse(x,y,2,2,true)
wait(rockwait+random(300))
until(invfull)
if (invfull = true) then
loads := loads + 1;
end;

procedure LogIn;
begin
if (FindColor(x, y, 8353396, 262, 208, 262, 208)) then
begin
LogInPlayer;
end;
end;

//Randoms

procedure FFight;
begin
if (FindFight) then
begin
Writeln('Found Fight');
RunAwayDirection('N');
Wait(8000 + random(3000));
RunBack;
end;
if (FindNewBox) then
begin
OpenBox;
SolveBox;
wait(1000);
end;
if (FindNewBox) then
begin
GambleNewBox;
end;
if (FindNewBox) then
begin
LogOut;
Writeln('Unable To Solve Box….Terminating');
TerminateScript;
end;
end;

//Droping

procedure DropOre;
begin
MouseSpeed:= 13+random(7);
DropTo(2, 14);
DropTo(15, 28);
end;

//ProgressReport

procedure ProgressReport;
begin
WriteLn(' ………………………………………..');
WriteLn('Mined and Dropped ' + inttostr(loads) + ' loads.');
WriteLn(' ………………………………………..');
end;

begin
SetupSRL;
SetupSrlMining;
DeclarePlayers;
FindNormalRandoms;
LogIn;
SRLRandomsReport;
FindPickHeadColor;
FindPick;
ChatsOff;
SetRun(true);
repeat
FindNormalRandoms;
FFight;
Miner;
DropOre;
until(loads=loadstodo)
end.

Boreas

2007-02-01 22:19:40

I'll say it again.

Using 1 player (your p2p main) for more than 2 hours is suicide.

Use at least 5 players for ANY overnight script, no matter how good.

With all the auto fighters and powerminers in the free scripts section, getting 5 players ready is not that hard.

syberium

2007-02-01 22:52:56

yo man ur guys pw's are posted! delete them ASAP!

surfdiver2005

2007-02-02 01:00:01

woops thank you man. there both lvl 3's and all they have done is gone through toutorial Island but still lol. thank you.

yesiammanu

2007-02-02 14:33:44

From: surfdiver2005
Wow thank you. those look like some good acripts. i tried the first smelter once but it diddnt work whatsoever. But i tried the Guild miner and it worked perfectly! thank you allot. this one must be edited because i have tried that same one before and the script was full of errors. im going to go and try the script you edited to see if that could help me out. thanx allot. i cant wait to finaly learn how to create and alter scripts. i read over all the ones i use to see what i cal learn. thank you allot yesiammanu!!!!


Acually you don't really need any training for the editing I did. I just changed a few things around and whatnot and just made it work (for myself, atleast)

Heres the old script-

//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>) Bentrims (<>)//
//(<>) Al-Kharid (<>)//
//(<>) Smelter (<>)//
//(<>) V2 (<>)//
//(<>) (<>)//
//(<>)Version Log (<>)//
//(<>)V1.0-Working Well (<>)//
//(<>)V1.5-Lots of Bugs Fixed (<>)//
//(<>)V2-Just a Few Updates (<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
//(<>) Setup (<>)//
//(<>) 1.Start in Bank (<>)//
//(<>) 2.Iron in 1st Bank Slot(<>)//
//(<>) 3.Coal in Second Slot (<>)//
//(<>) 4.Go Make a Sandwich (<>)//
//(<>) 5.Hit Play (<>)//
//(<>) 6.Go Watch Tv. :) (<>)//
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
program AlKararidSmelter;
{.include Si.scar}

var x,y:integer;barcount:integer;cx,cy:Integer;

const
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
// (<>)(<>)Setup(<>)(<>) //
primeore=583; //All Your Iron in Bank
rockcolor=2705526; //rock outside of Bank
banksymbol=4310235; //Bank Symbol....
furnacesymbol=1271279; //Furnace Symbol...
// (<>)(<>)End(<>)(<>) //
//(<>)(<>)(<>)(<>)(<>)(<>)(<>)//

Procedure ToTheFurnace;
begin
Status('Going to Furnace')
FindColorSpiral(x,y,RockColor,566,5,717,122)
MouseFlag(x,y,1,1)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
FindColorSpiral(x,y,furnacesymbol,564,9,719,156)
MouseFlag(x,y+10,1,1)
wait(1500);
end;

Procedure Smelting;
begin
status('Smelting...');
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
findobj(cx,cy,'Smelt Furnace',2368550,5)
mouseflag(cx,cy,2,2);
mouse(228,401,2,2,false);
mouse(210,414,1,1,true);
repeat
wait(3000);
until(IsChatMessage('You have run out of'))or(BeingAttacked);
end;

Procedure Back2Bank;
begin
Status('Walking back to Bank');
FindColorSpiral(x,y,RockColor,560,5,724,158)
MouseFlag(x,y+10,1,1)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
FindColorSpiral(x,y,banksymbol,560,5,724,158)
MouseFlag(x,y,1,1);
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
end;

Procedure Banking;
begin
status('Banking...');
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
OpenBank;
FixBank;
DepositAll;
Withdraw(1,1,9);
Withdraw(1,2,18);
closewindow;
end;

Procedure ProgessReport;
Begin
Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
Writeln(' BentRims Al-Kharid Smelter ');
Writeln(' Smelted '+inttostr(barcount)+'Steel Bars');
Writeln(' Have Fun Lazy Kids... ');
Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
end;

begin
LoadInclude('Mozilla FireFox',False)
Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
repeat
gametab(2);
ToTheFurnace;
gametab(4);
Smelting;
Back2Bank;
Banking;
barcount:=barcount+9;
until(primeore=barcount)or(barcount>primeore);
end.

The only big edit I did was change the rock to the agility icon becuase occasionally it got confnused with the rocks at the fishing spot. Also was outdated with the chat message for running out of ore.

~~~~Yesiammanu

XcanadamanX

2007-02-02 16:39:08

ok you say my smelter does not work whatsoever
i tried the first smelter once but it diddnt work whatsoever.
can you post in my thread(in my sig) what it does…or doesnt do…so i can fix it thanks. and look around in the free scripts there are lots of miner bankers there.

yesiammanu

2007-02-02 17:39:09

From: xcanadamanx
ok you say my smelter does not work whatsoever can you post in my thread(in my sig) what it does…or doesnt do…so i can fix it thanks. and look around in the free scripts there are lots of miner bankers there.


For me, everything went well but it tried to click the "Steel bar" and missed by an inch. All smelters I have ever used do this, so I think it's a problem with my resolution or something.

~~~~Yesiammanu :spot:

twobac

2007-02-03 04:55:59

From: yesiammanu
For me, everything went well but it tried to click the "Steel bar" and missed by an inch. All smelters I have ever used do this, so I think it's a problem with my resolution or something.

~~~~Yesiammanu :spot:


Hope you posted your reply in Xcans thread as he asked. Give as much detail as you can. If you think it is your pc, state the highest res. you have (32 bit has been the standard for about 10years or more) If you cannot set to this res. I suggest you buy a new graphics card, you can pick up old cards for about $10.


p.s. Look at the sticky in the free script section to see a list of all free scripts.
pps There are no free non guild miner banker scripts - I know I want one :)

Leaf_15_JC

2007-02-20 13:08:24

From: Boreas
I'll say it again.

Using 1 player (your p2p main) for more than 2 hours is suicide.

Use at least 5 players for ANY overnight script, no matter how good.

With all the auto fighters and powerminers in the free scripts section, getting 5 players ready is not that hard.


Why is using any powerminer for more then two hours suicide dont the anti-bans work?

Boreas

2007-02-20 16:55:26

When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

(* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)

marksteele

2007-02-20 18:26:56

From: Boreas
When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

(* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)



This is a little off topic but i once played all night:)

Leaf_15_JC

2007-02-21 10:40:16

From: Boreas
When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

(* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)


Nice thanx for that i was just about to put my autominer on all night tonight but i guess its a good idea i shouldn't

Boreas

2007-02-21 16:36:53

For all night, figure 12 hours. And the average human plays maybe 2 hours. So that makes 6 players. Add a couple because a couple may go false, and the others will pick up the slack, playing for longer each. So 8-10 players for overniters is good, definitely over 5.

A G E N T

2007-03-02 13:31:09

Lol, once I autoed Rune essence for 7 hours with two players…oops!
I also autoed coal for 4 hours with 1 guy. Thanks for the tips, I'll be sure to avoid doing THAT again.