SRL Archive - RS3 Outdated / Broken Scripts

Skills Humidifier


SkillsUnknown

2012-08-29 23:16:24


BEFORE YOU USE KNOW THIS IS MY SECOND SCRIPT. IT'S NOWHERE NEAR PERFECT!!

What you NEED is:
Lunar Spellbook
Dream Mentor complete
68 Magic to cast
Recommended Steam Staff (Runes are untested)
Astral Runes (if using runes you need water and fire runes)
Something to humidify (vials, clay, etc.)

Stand here

Put your runes here

Put the item you would like to cast here

Then run the script

Change log:
v0.3 - Increased speed of the script, and can enter your pin without help.

v0.2 - Changed casting completely by changing use of bitmaps to use of DTMs, and adjusts camera to where it needs to be. Still needs help with your pin.

v0.1 - Initial release, needs help with your pin.

Progress Reports:
None yet :(
Post some!

BGXD

2012-08-29 23:51:48

Congratulations soon I'll give it a try.

Enslaved

2012-08-30 13:52:41

since you are starting to script its always nice to use standards
before:


begin
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
PositionCompass;
repeat
repeat
OpeningBank;
until(BankScreen)
DepositingVials;
ProgressReport;
Withdrawing;
Casting;
until(AllPlayersInactive);
end.


After
begin
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
PositionCompass;
repeat
repeat
OpeningBank;
until (BankScreen) DepositingVials;
ProgressReport;
Withdrawing;
Casting;
until (AllPlayersInactive);
end.

as for coding wise, have a look at mine ( it may not be the very good) but there are a few differences
When banking
use a wait untill thing to check up bankscreen instead of waiting
so

Before
procedure OpeningBank;
begin
If FindObj(x, y, 'se', 10329508, 10) then
begin
Mouse(x, y, 5, 5, false);
ChooseOption('ank');
Wait(1000 + Random(1000)); //im guessing your waiting for bank to open
end;
end;

after:
Function OpeningBank:boolean; //changing it into a function so it returns a positive if sucessful.
var
t:integer;
begin
If FindObj(x, y, 'se', 10329508, 10) then
begin
Mouse(x, y, 5, 5, false);
ChooseOption('ank');
MarkTime(t); // marks time as a failsafe
Repeat // constantly here checks for if bankscreen is open also checking time from clicking as a failsafe
If (TimeFromMark(t) > 5000) then // if it takes longer than 5 seconds it exits the function returning a 'zero/False' value
Begin
Writeln('Failed To Open Bank'); //For debug purposes
Exit; // breaks out of function
End;
Until (BankScreen); // checks for if bankscreen is open
Result := True; // returns true if found-no if statement required as if it takes longer than failsafe time, it skips this part of the code
end;
end;

SkillsUnknown

2012-08-30 14:09:11

From: Enslaved
since you are starting to script its always nice to use standards
before:


begin
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
PositionCompass;
repeat
repeat
OpeningBank;
until(BankScreen)
DepositingVials;
ProgressReport;
Withdrawing;
Casting;
until(AllPlayersInactive);
end.


After
begin
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
PositionCompass;
repeat
repeat
OpeningBank;
until (BankScreen) DepositingVials;
ProgressReport;
Withdrawing;
Casting;
until (AllPlayersInactive);
end.


Thanks for the advice, I always try to use standards but I'm not the best with them yet. I'll fix it now :)

Enslaved

2012-08-30 14:13:04

keep reading the edit, btw i should give some credits to you in mine for giving me the idea, knocked it up after i saw your thread about 1-2 hours ago

SkillsUnknown

2012-08-30 14:27:16

Ha it's all good, there's no need to credit me. I'm sure yours is much better than mine anyway :P And it's not like I helped you with the script, you just wanted to make one after you saw mine. It was all on you to make it, so I don't really deserve any credit.

Enslaved

2012-08-30 14:27:51

more tips on your casting area

procedure Casting;
var MagicTab, Inventory, Spell: Integer;
begin
{MagicTab := BitmapFromString(6, 8, 'meJzTiyzQSWzUye4GIovCqUAEYYME' +
'YeIQroJVuJpnJhBBREDsotVAJOVVAxJMbIRwVWNnQ0SACMiAICRdG' +
'RCkk9CIsAtmNRABADgEMkI=');
Inventory := BitmapFromString(5, 5, 'meJzjV3ETNk7iV3EDIimvGlZeGSBD' +
'a/5lIBKzTxFTVAUyGBkYgKSASRCEa1E4FcgGCnILiQEZEmZOQDZQF' +
'wC1VBFX');
Spell := BitmapFromString(2, 2, 'meJzbOVFw50TB1XmyQAQAJLMFIw==');} // why use bitmaps here? correct me if i am wrong (ppl who disagree) but surely its simpler and a lot more effiecient to use DTMs, also with bitmaps, they can be slightly unreliable as it looks for a perfect matching bitmap
If(FindBitmap(MagicTab, x, y)) then // why are you using this? Gametab(tab_magic); works fine
ClickMouse(x, y, 1);
Wait(1000 + Random(500));
If(FindBitmap(Spell, x, y)) then
ClickMouse(x, y, 1);
Wait(1000 + Random(1000));
If(FindBitmap(Inventory, x, y)) then// no need to go back to invy
ClickMouse(x, y, 1);
Wait(1000 + Random(500));
Casts := Casts + 1
end;
E: try to make the most of Srl Commands
This will help

SkillsUnknown

2012-08-30 14:32:50

Thanks for the advice, really. I searched for hours trying to find out how to do
GameTab(tab_magic)
but I couldn't find anything so that's why I used bitmaps. Also I made it go back to the inventory because the way I had it written it would always click on the spellbook before casting, so it looked even more like a bot. Wanted to stay away from that as much as possible with what I knew.

EDIT: Forgot about the Spell thing. I hadn't really searched about DTMs much, but I am still reading through tutorials and will change that later when I do know how to do it. I saw the tutorial on bitmaps and thought I should try it, which is why I used bitmaps.

EDIT2: I know how to use the search bar and stuff, I just wasn't sure what to put after GameTab, but I think I figured out how to find the different parameters of commands. Where it had me confused was where it displays the parameters it displays (after you type in GameTab) is

Gametab(Tab: Integer): Boolean
and I wan't sure what to put in the Tab place. Since I know how to find what to put there now, it should make scripting a little easier for me.

HolyWord

2012-09-09 02:24:44

Add to the requirements Dream Mentor and The Lunar Spell book. (Seems obvious but its nice to have all the reqs there) :)