SRL Archive - RS3 Outdated / Broken Scripts

SRL Alcher


marpis

2010-06-23 13:10:43

SRL Alcher

Currently F2P only, but feel free to try on a member account.


  • Tested with Simba only.
  • Supports both low and high alchemy.
  • Works with both runes and staff.
  • No custom functions, 100% SRL.
  • Randomsolving and multiplayer.

Frement

2010-06-23 13:13:20

Simple, but looks good :)

marpis

2010-06-23 13:18:57

From: Frement
Simple, but looks good :)


Yea, the idea is to keep it as simple as possible :)

Blumblebee

2010-06-23 18:25:00

could you add multiplayer and randoms support? I mean it's just a tad primitive for my liking, keeping it simple does not mean negating proper functions.

I will use if you do this :)

marpis

2010-06-24 02:13:28

From: Blumblebee
could you add multiplayer and randoms support? I mean it's just a tad primitive for my liking, keeping it simple does not mean negating proper functions.

I will use if you do this :)


Omg FindNormalRandoms! :D How could I forget that!
And yea I guess I could add multiplayer too ^^ just made that in like 5 minutes.

Frement

2010-06-24 13:15:27

From: marpis
Omg FindNormalRandoms! :D How could I forget that!
And yea I guess I could add multiplayer too ^^ just made that in like 5 minutes.


Make sure it checks them when it has clicked the item in inventory :) Otherwise it will go to inventory.

Cstrike

2010-06-28 20:48:47

I put the items in the position defined, and it doesn't alch anything, rather it logs out– or hovers going back between the magic book and the def tab. I'm using simba. The magic symbol comes up normally so it can high alch, I have both noted and non-noted items (I tried both)

:(

marpis

2010-06-29 07:29:34

From: cstrike
I put the items in the position defined, and it doesn't alch anything, rather it logs out– or hovers going back between the magic book and the def tab. I'm using simba. The magic symbol comes up normally so it can high alch, I have both noted and non-noted items (I tried both)

:(


Hmm I'll test it again today after work, remember to have the latest SRL.

Cstrike

2010-07-01 12:10:38

Update: It works, but for some reason I cannot get it to work when I have the high alch near the bottom right (eq to around slot 19). The high alch needs to be near the top of the magic menu or else it logs out, and I have to put my alching item around spot 23 for it to work.

Besides all the fun movement, works like a charm

jakobr

2010-07-04 20:24:01

Boom thank you so freaking much!!!!!!

jakobr

2010-07-04 20:25:02

I just realized you're giving me the permission to use junior members scripts for this post, I love you so much! :)

NCDS

2010-07-04 20:30:33

From: jakobr
I just realized you're giving me the permission to use junior members scripts for this post, I love you so much! :)


Juniors and registered users have the same forum privileges now as far as I know ;)

p.s. start editing your posts instead of double posting. Just a small warning for now.

slackeru

2010-07-06 12:37:19

It logs in and out. Sometimes it also clicks the magic tab before it logs out. I use the newest version of Simba etc etc.

Thanks :)

i luffs yeww

2010-07-11 15:16:30

Marpis, Cast() isn't working.

Made a few changes. Progress report is right now (you had the experience flip flopped), changed the wait as it gave false reports, and made a simple function to replace Cast().


program Alcher;
{$Define SMART}
{$i SRL/SRL.scar}
{$i SRL/SRL/skill/Magic.scar}

{
INSTRUCTIONS
o Works with both runes and staff
o Set up asked information below
o Don't leave the script alone before seeing it works
o Inventory slot numbering below

1 2 3 4
5 6 7 8
9 .......
..........
........28

o To avoid useless mouse movements, please have your alched items in
the bottom half of the inventory, for example in the slot 23.

}

const
CastsBeforeChange = 250; // Casts before changing players?

procedure DeclarePlayers;
begin
NumberOfPlayers(1); // Number of players?

SMART_Server := 64; // World number?
SMART_Signed := True; // Signed? False will cause lag.
SMART_Members := True;
SMART_SuperDetail := False;

with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;
{
with Players[1] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;

with Players[2] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;

}
end;

// Do not change anything below.

function MyCast(Spell: String): Boolean;
begin
Result := False;
case Spell of
'high level alchemy': begin
if(GetColor(698, 351) = 5561068)then
begin
MouseBox(684, 339, 705, 356, 1);
Result := True;
Exit;
end;
end;
'low level alchemy': begin
if(GetColor(617, 279) = 5561068)then
begin
MouseBox(616, 270, 631, 285, 1);
Result := True;
Exit;
end;
end;
end;
end;

function CastAlch: Boolean;
var
AlchLevel: string;
begin
FindNonInventoryRandoms;

if (Players[CurrentPlayer].Booleans[0]) then
AlchLevel := 'high level alchemy'
else
AlchLevel := 'low level alchemy';

if MyCast(AlchLevel) then
begin
Inc(Players[CurrentPlayer].Integers[0]);

if (not ExistsItem(Players[CurrentPlayer].Integers[1])) then
Exit;

MouseItem(Players[CurrentPlayer].Integers[1], True);
Wait(1500 + Random(250));
Result := True;
end;
end;

procedure ProgressReport;
var
xph: integer;
begin
ClearDebug;
WriteLn('~ SRL - Alcher 1.0 ~');
with Players[CurrentPlayer] do
begin
WriteLn(' Exp per cast : '+FloatToStr(Extendeds[0]));
WriteLn(' Casted : '+IntToStr(Integers[0]));
WriteLn(' Total xp : '+FloatToStr(Extendeds[0] * Integers[0]));
xph := Round((Extendeds[0] * Integers[0]) / (GetTimeRunning / 3600000.0));
WriteLn(' XP per hour : '+IntToStr(xph));
WriteLn(' Time running : '+TimeRunning);
end;
WriteLn('~ by: marpis ~');
end;


begin
DeclarePlayers;
SetupSRL;
SetSpellMode(True, True, True, True);
SortBook(BookSort_Level);
if Players[CurrentPlayer].Booleans[0] then // Experience points
Players[CurrentPlayer].Extendeds[0] := 65.0
else
Players[CurrentPlayer].Extendeds[0] := 31.0;

if not LoggedIn then LoginPlayer;
SetAngle(True);

repeat
if not CastAlch then
begin
WriteLn('Player '+IntToStr(CurrentPlayer)+'Worked for '+TimeRunning);
if (HowManyPlayers > 1) then
NextPlayer(False)
else
begin
LogOut;
TerminateScript;
end;
end;
if (HowManyPlayers > 1) and (Players[CurrentPlayer].Integers[0] mod CastsBeforeChange = 0) then
NextPlayer(True);
ProgressReport;
until Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[2];
end.

Short proggy.


~ SRL - Alcher 1.0 ~
Exp per cast : 65
Casted : 8
Total xp : 520
XP per hour : 66409
Time running : 28 Seconds
~ by: marpis ~
Successfully executed.

And the xp per hour is wrong because I had the waits a lot longer. Changed them to be shorter. :)

marpis

2010-07-12 14:59:18

From: i luffs yeww
Marpis, Cast() isn't working.

Made a few changes. Progress report is right now (you had the experience flip flopped), changed the wait as it gave false reports, and made a simple function to replace Cast().


program Alcher;
{$Define SMART}
{$i SRL/SRL.scar}
{$i SRL/SRL/skill/Magic.scar}

{
INSTRUCTIONS
o Works with both runes and staff
o Set up asked information below
o Don't leave the script alone before seeing it works
o Inventory slot numbering below

1 2 3 4
5 6 7 8
9 .......
..........
........28

o To avoid useless mouse movements, please have your alched items in
the bottom half of the inventory, for example in the slot 23.

}

const
CastsBeforeChange = 250; // Casts before changing players?

procedure DeclarePlayers;
begin
NumberOfPlayers(1); // Number of players?

SMART_Server := 64; // World number?
SMART_Signed := True; // Signed? False will cause lag.
SMART_Members := True;
SMART_SuperDetail := False;

with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;
{
with Players[1] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;

with Players[2] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Booleans[0] := True; // True = High-alch, False = Low-alch
Integers[1] := 1; // Inventory item to alch
Integers[2] := 5000; //Casts to do
end;

}
end;

// Do not change anything below.

function MyCast(Spell: String): Boolean;
begin
Result := False;
case Spell of
'high level alchemy': begin
if(GetColor(698, 351) = 5561068)then
begin
MouseBox(684, 339, 705, 356, 1);
Result := True;
Exit;
end;
end;
'low level alchemy': begin
if(GetColor(617, 279) = 5561068)then
begin
MouseBox(616, 270, 631, 285, 1);
Result := True;
Exit;
end;
end;
end;
end;

function CastAlch: Boolean;
var
AlchLevel: string;
begin
FindNonInventoryRandoms;

if (Players[CurrentPlayer].Booleans[0]) then
AlchLevel := 'high level alchemy'
else
AlchLevel := 'low level alchemy';

if MyCast(AlchLevel) then
begin
Inc(Players[CurrentPlayer].Integers[0]);

if (not ExistsItem(Players[CurrentPlayer].Integers[1])) then
Exit;

MouseItem(Players[CurrentPlayer].Integers[1], True);
Wait(1500 + Random(250));
Result := True;
end;
end;

procedure ProgressReport;
var
xph: integer;
begin
ClearDebug;
WriteLn('~ SRL - Alcher 1.0 ~');
with Players[CurrentPlayer] do
begin
WriteLn(' Exp per cast : '+FloatToStr(Extendeds[0]));
WriteLn(' Casted : '+IntToStr(Integers[0]));
WriteLn(' Total xp : '+FloatToStr(Extendeds[0] * Integers[0]));
xph := Round((Extendeds[0] * Integers[0]) / (GetTimeRunning / 3600000.0));
WriteLn(' XP per hour : '+IntToStr(xph));
WriteLn(' Time running : '+TimeRunning);
end;
WriteLn('~ by: marpis ~');
end;


begin
DeclarePlayers;
SetupSRL;
SetSpellMode(True, True, True, True);
SortBook(BookSort_Level);
if Players[CurrentPlayer].Booleans[0] then // Experience points
Players[CurrentPlayer].Extendeds[0] := 65.0
else
Players[CurrentPlayer].Extendeds[0] := 31.0;

if not LoggedIn then LoginPlayer;
SetAngle(True);

repeat
if not CastAlch then
begin
WriteLn('Player '+IntToStr(CurrentPlayer)+'Worked for '+TimeRunning);
if (HowManyPlayers > 1) then
NextPlayer(False)
else
begin
LogOut;
TerminateScript;
end;
end;
if (HowManyPlayers > 1) and (Players[CurrentPlayer].Integers[0] mod CastsBeforeChange = 0) then
NextPlayer(True);
ProgressReport;
until Players[CurrentPlayer].Integers[0] >= Players[CurrentPlayer].Integers[2];
end.

Short proggy.


~ SRL - Alcher 1.0 ~
Exp per cast : 65
Casted : 8
Total xp : 520
XP per hour : 66409
Time running : 28 Seconds
~ by: marpis ~
Successfully executed.

And the xp per hour is wrong because I had the waits a lot longer. Changed them to be shorter. :)


—

I just tried it and it worked well, except that the wait between casts is too short. I updated Cast to work better before I released this script.
Now uploading the new version with increased wait.

i luffs yeww

2010-07-12 16:02:30

The problem with Cast() is that it's different for f2p and p2p, apparently.

So that's why it wasn't working for me or bi a op, I think.

Mclarenvj

2010-07-14 13:22:14

thanks, this is actually really efficient <3

one thing to point out.

I'm high alching, but in the progress report, it's reporting the Exp as 31 still :s


~ SRL - Alcher 1.0 ~
Exp per cast : 31
Casted : 126
Total xp : 3906
XP per hour : 32184
Time running : 7 Minutes and 16 Seconds
~ by: marpis ~

still running atm

EDIT: sorry, didn't notice the fixed one. i'll do a 1k burst and edit this for a proggy :)

RAM

2010-07-15 23:01:33

Took a little fiddling, but I finally got this to work, post back with a proggy later….

Thanks, ~RAM

Didn't last as long as hoped…..

Edit:
SRL - Alcher 1.0 ~
Exp per cast : 0
Casted : 0
Total xp : 0
XP per hour : 0
Time running : 14 Minutes and 21 Seconds
~ by: marpis ~
Player 1Worked for 14 Minutes and 25 Seconds
NextPlayer
The following DTMs were not freed: [SRL - Lamp bitmap]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL\Logs\SRL Log 15-07-10 19.txt] has not been freed in the script, freeing it now.



and this one until I gained a mage level….
SMART Initialized.
Loaded: Server 131, Members: True, Signed: True, Super Detail: False.
Welcome to Runescape.
Telmomarques
Player 0Worked for 58 Minutes and 57 Seconds
Successfully executed.
Compiled succesfully in 1

marpis

2010-07-16 05:00:39

From: RAM
Took a little fiddling, but I finally got this to work, post back with a proggy later….

Thanks, ~RAM

Didn't last as long as hoped…..

Edit:



and this one until I gained a mage level….


F2P or P2P? What changes did you do?

RAM

2010-07-16 12:05:08

P2P….hacked and slashed and added a few waits…..internet was kinda laggy, so I gave it a few seconds to load…I commented out a few things trying to figure out where it was having problems…this is stable now, will start UN-commenting later…

program Alcher;
{$DEFINE SIMBA}
{.include SRL/SRL/Misc/SMART.scar} //<- Comment this to disable SMART!
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Magic.scar}

{
INSTRUCTIONS
o Works with both runes and staff
o Set up asked information below
o Don't leave the script alone before seeing it works
o Inventory slot numbering below

1 2 3 4
5 6 7 8
9 .......
..........
........28

o To avoid useless mouse movements, please have your alched items in
the bottom half of the inventory, for example in the slot 23.

}

const
CastsBeforeChange = 500; // Casts before changing players?

procedure DeclarePlayers;
begin
NumberOfPlayers(1); // Number of players?

SMART_Server := 131; // World number?
SMART_Signed := True; // Signed? False will cause lag.
SMART_Members := True;
SMART_SuperDetail := False;

with Players[0] do

}
end;

// Do not change anything below.

function CastAlch: Boolean;
var
AlchLevel: string;
begin
FindNonInventoryRandoms;
Wait(100);
if (Players[CurrentPlayer].Booleans[0]) then
AlchLevel := 'high level alchemy';
Wait(100);
//else
// AlchLevel := 'low level alchemy';

if Cast(AlchLevel, False) then
begin
Wait(100);
Inc(Players[CurrentPlayer].Integers[0]);
Wait(100);
if (not ExistsItem(Players[CurrentPlayer].Integers[1])) then
Exit;
Wait(100);
MouseItem(Players[CurrentPlayer].Integers[1], True);
Wait(3000 + Random(500));
Result := True;
end;
end;

procedure ProgressReport;
var
xph: integer;
begin
ClearDebug;
WriteLn('~ SRL - Alcher 1.0 ~');
with Players[CurrentPlayer] do
begin
WriteLn(' Exp per cast : '+FloatToStr(Extendeds[0]));
WriteLn(' Casted : '+IntToStr(Integers[0]));
WriteLn(' Total xp : '+FloatToStr(Extendeds[0] * Integers[0]));
xph := Round((Extendeds[0] * Integers[0]) / (GetTimeRunning / 3600000.0));
WriteLn(' XP per hour : '+IntToStr(xph));
WriteLn(' Time running : '+TimeRunning);
end;
WriteLn('~ by: marpis ~');
end;


begin
DeclarePlayers;
Wait(100);
SetupSRL;
Wait(100);
SetupSpells;
Wait(100);
// if Players[CurrentPlayer].Booleans[0] then // Experience points
// Players[CurrentPlayer].Extendeds[0] := 31.0
// else
// Players[CurrentPlayer].Extendeds[0] := 65.0;

if not LoggedIn then LoginPlayer;
SetAngle(True);
Wait(10000 + Random(500));

repeat
if not CastAlch then
begin
Wait(100);
WriteLn('Player '+IntToStr(CurrentPlayer)+'Worked for '+TimeRunning);
if (HowManyPlayers > 1) then
NextPlayer(False)
else
begin
LogOut;
TerminateScript;
end;
end;
if (HowManyPlayers > 1) and (Players[CurrentPlayer].Integers[0] mod CastsBeforeChange = 0) then
NextPlayer(True);
//ProgressReport;
until false;
end.

NCDS

2010-07-16 12:15:55


with Players[0] do

}
end;

Syntax error?

RAM

2010-07-16 18:27:04

From: NCDS
Code:
[LEFT]with Players[0] do

}
end;
[/LEFT]

Syntax error?


Jah, I just deleted my player info for posting purposes….

I'm gonna mess around with "writeIn"s and see if I can pinpoint what is making it stop….I just commented out to get to the minimum, yet it still ends randomly from 2 to 15 minutes….

program Alcher;
{$DEFINE SIMBA}
{.include SRL/SRL/Misc/SMART.scar} //<- Comment this to disable SMART!
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Magic.scar}

{
INSTRUCTIONS
o Works with both runes and staff
o Set up asked information below
o Don't leave the script alone before seeing it works
o Inventory slot numbering below

1 2 3 4
5 6 7 8
9 .......
..........
........28

o To avoid useless mouse movements, please have your alched items in
the bottom half of the inventory, for example in the slot 23.

}

const
CastsBeforeChange = 500; // Casts before changing players?

procedure DeclarePlayers;
begin
NumberOfPlayers(1); // Number of players?

SMART_Server := 131; // World number?
SMART_Signed := True; // Signed? False will cause lag.
SMART_Members := True;
SMART_SuperDetail := False;


with Players[[COLOR=#cc66cc]0[/COLOR]] [COLOR=#b1b100]do[/COLOR]
[COLOR=#b1b100]begin[/COLOR]
[COLOR=#b1b100]Name[/COLOR] := [COLOR=#ff0000]''[/COLOR];
Pass := [COLOR=#ff0000]''[/COLOR];
Nick := [COLOR=#ff0000]''[/COLOR];
Active := [COLOR=#000000][B]True[/B][/COLOR];
Booleans[[COLOR=#cc66cc]0[/COLOR]] := [COLOR=#000000][B]True[/B][/COLOR]; [COLOR=#808080][I]// True = High-alch, False = Low-alch[/I][/COLOR]
Integers[[COLOR=#cc66cc]1[/COLOR]] := [COLOR=#cc66cc]1[/COLOR]; [COLOR=#808080][I]// Inventory item to alch[/I][/COLOR]
Integers[[COLOR=#cc66cc]2[/COLOR]] := [COLOR=#cc66cc]5000[/COLOR]; [COLOR=#808080][I]//Casts to do[/I][/COLOR]
[COLOR=#b1b100]end[/COLOR];

end;

// Do not change anything below.

function CastAlch: Boolean;
var
AlchLevel: string;
begin
FindNonInventoryRandoms;
Wait(100);
if (Players[CurrentPlayer].Booleans[0]) then
AlchLevel := 'high level alchemy';
Wait(100);
//else
// AlchLevel := 'low level alchemy';

if Cast(AlchLevel, False) then
begin
Wait(100);
Inc(Players[CurrentPlayer].Integers[0]);
Wait(100);
if (not ExistsItem(Players[CurrentPlayer].Integers[1])) then
Exit;
Wait(100);
MouseItem(Players[CurrentPlayer].Integers[1], True);
Wait(3000 + Random(500));
Result := True;
end;
end;

procedure ProgressReport;
var
xph: integer;
begin
ClearDebug;
WriteLn('~ SRL - Alcher 1.0 ~');
with Players[CurrentPlayer] do
begin
WriteLn(' Exp per cast : '+FloatToStr(Extendeds[0]));
WriteLn(' Casted : '+IntToStr(Integers[0]));
WriteLn(' Total xp : '+FloatToStr(Extendeds[0] * Integers[0]));
xph := Round((Extendeds[0] * Integers[0]) / (GetTimeRunning / 3600000.0));
WriteLn(' XP per hour : '+IntToStr(xph));
WriteLn(' Time running : '+TimeRunning);
end;
WriteLn('~ by: marpis ~');
end;


begin
DeclarePlayers;
Wait(100);
SetupSRL;
Wait(100);
SetupSpells;
Wait(100);
// if Players[CurrentPlayer].Booleans[0] then // Experience points
// Players[CurrentPlayer].Extendeds[0] := 31.0
// else
// Players[CurrentPlayer].Extendeds[0] := 65.0;

if not LoggedIn then LoginPlayer;
SetAngle(True);
Wait(10000 + Random(500));

repeat
if not CastAlch then
begin
Wait(100);
WriteLn('Player '+IntToStr(CurrentPlayer)+'Worked for '+TimeRunning);
if (HowManyPlayers > 1) then
NextPlayer(False)
else
begin
LogOut;
TerminateScript;
end;
end;
if (HowManyPlayers > 1) and (Players[CurrentPlayer].Integers[0] mod CastsBeforeChange = 0) then
NextPlayer(True);
//ProgressReport;
until false;
end.

marpis

2010-07-17 01:59:08

From: RAM
P2P….


Oh, it seems like Cast() doesn't work well on P2P. I don't have an P2P account so I can't fix it. :(

marksteele

2010-07-31 08:04:54

also, for a members account, you have to start the script (so it launches smart), pause the script, disable smart in the client, log in using members, then re-enable smart, then unpause the script.

Will post a proggy in a bit

theres probably an easy way to fix this but i don't know much about simba yet.


O_O yah i also get that random logout

i luffs yeww

2010-07-31 15:42:00

Marpis, if you wanna borrow an account (p2p) for cast, I can let you borrow one.