• Log in or sign up for an account here: https://www.sythe.org/login

West Varrock Smither

sluuuder410

Active Member
Joined
Apr 28, 2007
Sythe Gold
3
Messages
176
Location
USA, NC
I got this script from my friend which he didnt make it. It works pretty well. just folo instructions and youll be fine. But there is one problem it sayd theres a problem with string1 or somthing so that will be the only problem if there is any. so happy cheating! copy everything how it is and paste for you slow ppl.

Program Smither;
{.Include Srl/Srl.Scar}
{.Include Srl/Srl/Skill/Smithing.Scar}

{ 1. Use Runescape with Low Detail. ]
[ 2. Set your Screen to 32 bit TRUE color. ]
[ 3. Set Playernames and Passwords in DeclarePlayers. ]
[ 4. Set HowManyPlayers inside DeclarePlayers ]
[ 5. Have Your hammer in your first inventory slot ]
[ 6. Start script. }

// Note: Works best on anything that takes 3 or more bars //
// Credits go to Inferno whom i used and modified 2 procedures from //


Const
StartPlayer = 0; // Player to start with
TimeForAGo = 5; // Number of banks to switch players after.
switchtheppl=true; // Switch out players after round?
MMBankColor = 4507358; // Yellow/gold on the bank color
AnvilColourC = 0; // Set only if asked to
MainAnvilColor= 5131861; // Color Of anvil on main screen
MainBankColor=7575207; // Lightest color of tan on bank booth
UseBenMouse = False; // False is good


// list of names just copy and paste so it will be exactly right //
///////////////////////////
// Dagger //
// Axe //
// Sword //
// Mace //
// Scimmy //
// Warhammer //
// Long Sword //
// Battle //
// 2H Sword //
// Chain //
// Med Helm //
// Legs //
// Full Helm //
// Skirt //
// Square //
// Plate //
// Kite //
// Nails //
// Darts //
// Bolts //
// Arrow tips //
// Limbs //
// Throwing Knives //
///////////////////////////


Procedure DeclarePlayers;
Begin;
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);

Players[1].Name :='sluder4';
Players[1].Pass :='die';
Players[1].Nick :='yo';
Players[1].String1 := 'Iron'; //Type of bar : Bronze, Iron, Steel, Mithril, Adamant, Runite.
Players[1].string2 :='Arrow tips'; //Type of item, list is available above.
Players[1].Active:=True;

End;


Var
R, R1,a,WithdrawX, BarTotal, MithrilBarbmp, AdamantBarbmp, RuniteBarbmp,
BronzeBarbmp, IronBarbmp, SteelBarbmp, AnvilColour, BarBmp, Make10,
UseIte : Integer;

Procedure SwitchChars;
Begin;
If(Players[CurrentPlayer].Banked >= TimeForAGo)Then
NextPlayer(True);
End;

Procedure FindRandoms;
Begin
CloseWindow;
FindNormalRandoms;
If(Not(Loggedin))Then
Begin
Logout;
Exit;
End;
Wait(1);
If(wearedead)Then
NextPlayer(False);
End;


Procedure Bitmaps;
Begin;
Make10 := BitmapFromString(15, 11, 'z78DA333040003724608017' +
'B86100EAAAC4EF1E371C8018338977D5E031999830193C26E30F9' +
'3C16332B5521D25EEA7350000E986DE3D');
WithdrawX := BitmapFromString(6, 10, 'z78DA737343000324E086' +
'03E052439E2E5C6A70994F890BF1BB96BA2663AA01005AD75719');
UseIte := BitmapFromString(15, 9, 'z78DA333000013724608001F' +
'0CBE207A32653CB64371C80129389F1CB6073337E77E23701974B' +
'88311900606BB125');
BronzeBarbmp := BitmapFromString(6, 6, 'z78DA33713576363231C1' +
'419ABA98581A39E397C5A5065916421A1B1899199A2193B453030' +
'023F82F14');

IronBarbmp := BitmapFromString(6, 6, 'z78DA33353671317131C541' +
'9A999ABA9A1290C5A5065916421A9B1B1B012112493B35004B252' +
'F77');

SteelBarbmp := BitmapFromString(6, 6, 'z78DA33B73437343730C74' +
'15A1A59585A58E297C5A5065916429A1A9A3899382293B4530300' +
'70A32E51');

MithrilBarbmp := BitmapFromString(6, 6, 'z78DA33313031347535C145' +
'02A1B91101595C6A9065C1A491A391A3B12B32493B3500F0EC2FC' +
'8');

AdamantBarbmp := BitmapFromString(6, 6, 'z78DA33313635360142ECA4' +
'A99199B9A9117E595C6A906521A491B3B1B9913332493B3500D6B' +
'62CF2');

RuniteBarbmp := BitmapFromString(6, 6, 'z78DA33313175323331C141' +
'9A1A9BB9993BE297C5A5065916421A391B3B9B182393B45303000' +
'BD72FB3');
End;

Procedure WithdrawBars;
Begin;
Case Players[CurrentPlayer].string1 Of
'Bronze' : Withdraw(1,1,27);
'Iron' : Withdraw(1,1,27);
'Steel' : Withdraw(1,1,27);
'Mithril' : Withdraw(1,1,27);
'Adamant' : Withdraw(1,1,27);
'Runite' : Withdraw(1,1,27);
End;
End;

Procedure Bank;
Begin
If(Not(LoggedIn))Then
Exit;
FindRandoms;
MarkTime(Mark);
Repeat
If(Not(LoggedIn))Then
Break;
OpenBankColor(Mainbankcolor);
Until((BankScreen)Or(TimeFromMark(Mark)>60000));
If(BankScreen)Then
Begin
Deposit(2, 27, 2);
WithdrawBars;
End;
CloseWindow;
Banks:=Banks+1;
Players[CurrentPlayer].Banked:= Players[CurrentPlayer].Banked+1;
End;

Procedure WalkTo;
Begin;
If(AnvilColour = 0)Then
AnvilColour := GetSymbolColor(X, Y, 'anvil');
If(FindColorSpiral(X, Y, AnvilColour, 552, 10, 737, 164))Then
Begin
Mouse(X, Y + 5, 4, 4, True);
Wait(200);
Flag;
Wait(100+Random(400));
End
End;

Procedure WalkFrom;
Begin;
If(FindColorSpiral(X, Y, MMBankColor, 552, 10, 675, 164))Then
Begin
Mouse(X, Y, 4, 4, True);
Wait(200);
Flag;
Wait(100+Random(400));
End Else
If(FindColorSpiral(X, Y, AnvilColour, 552, 10, 737, 164))Then
Begin
Mouse(X - 50, Y + 22, 5, 5, True);
Wait(200);
Flag;
Wait(100+Random(400));
Walkfrom;
End;
End;

Procedure Bitmap;
Begin
Case Players[CurrentPlayer].String2 Of
'Bronze' : BarBmp := BronzeBar;
'Iron' : BarBmp := IronBar;
'Steel' : BarBmp := SteelBar;
'Mithril' : BarBmp := MithrilBar;
'Adamant' : BarBmp := AdamantBar;
'Runite' : BarBmp := RuniteBar;
End;
End;

Procedure ClickAnvil;
Begin;
Bitmaps;
Wait(300+Random(300));
Mouse(628, 229, 3, 3, True);
Wait(400+random(500));
Repeat
If(FindObjFast(X, Y, 'Anvil', Mainanvilcolor, 20))Then
Begin
Mouse(X, Y, 2, 2, False);
MarkTime(Mark);
End;
Repeat
Wait(250);
Until(FindBitmapIn(UseIte, X, Y, 5, 5, 747, 468))Or(TimeFromMark(Mark) > 10000);
If(ClickOption('Use', 1))Then
Begin
Flag;
Repeat
Wait(100);
R := R+1;
Until(R >= 50)Or(GetColor(262, 26) = 2070783)
End;
R1 := R1+1;
Wait(400+Random(300));
Until(R1 >= 3)Or(GetColor(262, 26) = 2070783)
If(R1 >= 3)Then
Begin
WalkTo;
ClickAnvil;
End;
End;

Function NoBars : Boolean;
Begin;
Result := False;
If(Not(FindBitmapIn(BarBmp, X, Y, 547, 201, 747, 468)))Then
Result := True;
End;

Procedure SmithEm;
Begin;
Repeat
ClickAnvil;
a := 0;
If Players[CurrentPlayer].string2=('Dagger')
then Mouse(35, 63, 7, 7, False);
If Players[CurrentPlayer].string2=('Axe')
then Mouse(117, 56, 7, 7, False);
If Players[CurrentPlayer].string2=('Sword')
then Mouse(33, 121, 7, 7, False);
If Players[CurrentPlayer].string2=('Mace')
then Mouse(117, 112, 7, 7, False);
If Players[CurrentPlayer].string2=('Scimmy')
then Mouse(32, 173, 7, 7, False);
If Players[CurrentPlayer].string2=('Warhammer')
then Mouse(116, 166, 7, 7, False);
If Players[CurrentPlayer].string2=('Long Sword')
then Mouse(30, 228, 7, 7, False);
If Players[CurrentPlayer].string2=('Battle')
then Mouse(114, 218, 7, 7, False);
If Players[CurrentPlayer].string2=('2H Sword')
then Mouse(34, 282, 7, 7, False);
If Players[CurrentPlayer].string2=('Chain')
then Mouse(183, 70, 7, 7, False);
If Players[CurrentPlayer].string2=('Med Helm')
then Mouse(285, 68, 7, 7, False);
If Players[CurrentPlayer].string2=('Legs')
then Mouse(182, 120, 7, 7, False);
If Players[CurrentPlayer].string2=('Full Helm')
then Mouse(286, 123, 7, 7, False);
If Players[CurrentPlayer].string2=('Skirt')
then Mouse(181, 174, 7, 7, False);
If Players[CurrentPlayer].string2=('Square')
then Mouse(288, 175, 7, 7, False);
If Players[CurrentPlayer].string2=('Plate')
then Mouse(183, 229, 7, 7, False);
If Players[CurrentPlayer].string2=('Kite')
then Mouse(287, 227, 7, 7, False);
If Players[CurrentPlayer].string2=('Nails')
then Mouse(289, 279, 7, 7, False);
If Players[CurrentPlayer].string2=('Darts')
then Mouse(366, 71, 7, 7, False);
If Players[CurrentPlayer].string2=('Bolts')
then Mouse(454, 62, 7, 7, False);
If Players[CurrentPlayer].string2=('Arrow tips')
then Mouse(369, 124, 7, 7, False);
If Players[CurrentPlayer].string2=('Limbs')
then Mouse(449, 117, 7, 7, False);
If Players[CurrentPlayer].string2=('Throwing Knives')
then Mouse(364, 172, 7, 7, False);
Repeat
Wait(200);
Until(FindBitmapIn(Make10, X, Y, 2, 2, 744, 465));
Wait(200);
Mouse(X, Y, 4, 4, True);
Wait(300+Random(200));
Repeat
Wait(300);
a := a+1;
FindRandoms;
Until(a=50)Or(GetColor(303,444) = 16711680);
Until(Nobars);
End;

Procedure ProgressReport;
Begin;
Cleardebug;
Writeln('~~~~~~~~~~1337`s West V Smither ~~~~~~~~~');
Writeln('Worked for '+TimeRunning);
Writeln('Smithed '+(Players[CurrentPlayer].String1)+' bars');
Writeln('Made the bars into '+(Players[CurrentPlayer].String2)+'s');
Writeln('Smithed '+IntToStr(BarTotal)+' bars');
Writeln('~~~~~~~~~~1337`s West V Smither ~~~~~~~~~');
End;

(*Main EventLoop*)
Begin
SetUpSrl;
DeclarePlayers;
CurrentPlayer:= StartPlayer; // CurrentPlayer = Array Index
Bitmaps;
ActivateClient;
MouseSpeed := 15; // do not unset unless I tell u to
Wait(1000);
If(LoggedIn)Then
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
If(Not(LoggedIn))Then
LoginPlayer;
SetChat('off', 1);
Brightness('V');
Repeat
Face('E');
Repeat
Bank;
WalkTo;
SmithEm;
WalkFrom;
BarTotal := BarTotal + 27;
ProgressReport;
Until(Players[CurrentPlayer].Banked >= TimeForAGo);
if switchtheppl=true
then SwitchChars
If(Not(LoggedIn))Then
NextPlayer(False);
Until(False);
End.
 
seems like a great script but im getting this error
Line 63: [Error] (15334:12): Unknown identifier 'STRING1' in script

this is line 63
Players[1].String1 := 'Iron'; //Type of bar : Bronze, Iron, Steel, Mithril, Adamant, Runite.

Can someone help me please:confused:
 
has this been updated along with the new runescape smithing screen?(when you use an bar with the anvil, the screen is different.)
 
Back
Top