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.
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.
Last edited by marpis; 07-17-2010 at 05:59 AM.
Simple, but looks good![]()
There used to be something meaningful here.
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![]()
“Ignorance, the root and the stem of every evil.”
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)
![]()
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
My scripts:
_( Runite Miner [R] )--( Infinity: Guild Miner [R] )--( Worldwalker [R] )--( TPA woodcutter [Color/probably outdated] )_![]()
http://pastebin.com/pLzndmMq
Boom thank you so freaking much!!!!!!
I just realized you're giving me the permission to use junior members scripts for this post, I love you so much!![]()
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![]()
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().
Pascal Code: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.
Pascal Code:~ 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.![]()
Last edited by i luffs yeww; 07-11-2010 at 07:51 PM.
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.
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
still running atmCode:~ 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 ~
EDIT: sorry, didn't notice the fixed one. i'll do a 1k burst and edit this for a proggy![]()
Last edited by Mclarenvj; 07-14-2010 at 05:46 PM.
...
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
Last edited by RAM; 07-16-2010 at 05:29 AM.
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...
Code: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.
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....
Code: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 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 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.
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
Last edited by marksteele; 07-31-2010 at 12:10 PM.
Marpis, if you wanna borrow an account (p2p) for cast, I can let you borrow one.
There are currently 1 users browsing this thread. (0 members and 1 guests)