SRL Archive - First Scripts

ASU UberHighAlcher v0.1 by Fabis


Fabis

2008-03-27 14:27:02

///////////////////////////////////////////////////////////////////////////////
/////////-=ASU UberHighAlcher v0.1 by Fabis=-//////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//ASU is "After Spellbook Update". After the update of Normal Spellbook in/////
//RuneScape, High-Alchemy spell is in different place, so there are many///////
//High-Alch scripts that still use the spell place before. That means that/////
//script might crash. So this one won't :)/////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//Instructions: //
//1. Equip your Fire Staff (or have Fire Runes in your inventory), put Nature//
//runes in your inventory and put the noted items you want to alch in the //
//17th inventory spot. //
//2. Stand in the Games room or Duel arena (Duel Arena house, not bank) //
//3. Be LOGGED OUT. //
//4. Run the script //
///////////////////////////////////////////////////////////////////////////////

Everything is written by me except that one function i took from r4z0rlike's script. Oh and 1 question. Is there a function/procedure in SRL 4 that checks if in chetbox someone is saying something (for example:
if chatbox ('Hey') then
TypeSend('Oh hey');

Of course it isnt like that but u get what im thinking)

Well post your reports please :)

——

v2: Updated lots of things in AntiBan

Iron Man

2008-03-27 15:01:47

Use DeclarePlayers instead of making your own logging in thing. To use DeclarePlayers, put this below your consts(Doesn't have to be below consts, just easier to find for users of your script):


procedure DeclarePlayers;
begin
HowManyPlayers := 1; //Number of PLAYERS. active or not.
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Player to start on.

Players[0].Name := ''; //Put your Username here
Players[0].Pass := ''; //Put your Password here
Players[0].Nick := ''; //Nickname here
Players[0].Active := True;
end;
Then make your loop like this:


begin
SetupSRL;
ActivateClient;
DeclarePlayers;
if not LoggedIn then LoginPlayer;
end.

That way its more failsafe, and you add multiplayer. Theres probably a tutorial somewhere on multiplayer.And also now you can use AntiRandoms, use a procedure like this or add this to your alching procedure.


procedure FindTheRandoms;
begin
FindLamp('magic');
FindNormalRandoms;
end;

I also took out Disguise because it is not needed, Jagex doesn't look at your toolbar.

Never use coordinate clicking, especially without randomness in your Mouse. Try to find colors instead of coordinate clicking. Use about 2-4 for your Mouse/MMouse. So like

 
Mouse(x, y, 3, 3, true);

For item finding in your inventory use dtm's. They are a lot more accurate.


You also forgot to put alch in your loop, you should probably add it.

Also you should add standards. (Theres a stickied tutorial in beginners section).


Instead of asking for their mage level you can just get it by doing this


MageLvl := GetSkillInfo('magic', false);

Don't forget to make MageLvl a integer in variables.

iroki_

2008-03-27 15:13:08

Multiplayer toturial http://www.villavu.com/forum/showthread.php?t=12858?t=14246&highlight=multiplayer

insted this:
MageLvl = '55';//Enter your magic level
use this
MageLvl := GetSkillInfo('Magic', False);
in yourloop :)

And to find DTM for ALL noted iteams use this:
Procedure FindNotedDTM;

Var
x, y, NotedDTM: Integer;

Begin
NotedDTM := DTMFromString('78DA6314646060506240038C0CFFC12403C37' +
'F20606403321431D5204820CD02242409A80199234C408D149050' +
'26A0461EBB9B31D44813A14608BF1A00E5CC068D');
FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2);
Wait(RandomRange(400, 500));
Mouse(x, y - 7, 5, 5, True);
End;

Fabis

2008-03-27 15:13:15

Ill do it all except DTM (cuz i dont have any Bitmaps for items in this script) and the "alch" loops itself (look at the procedure).

Ill try to do the other things :)

PriSoner

2008-03-27 15:13:58

You can try:

{*******************************************************************************
function GetLastChatText(var chat: String): Boolean;
By: masquerader / Wizzup?
Description: Returns true if blue chat text was found
*******************************************************************************}

Fabis

2008-03-27 15:30:09

From: PriSoner
You can try:

{*******************************************************************************
function GetLastChatText(var chat: String): Boolean;
By: masquerader / Wizzup?
Description: Returns true if blue chat text was found
*******************************************************************************}


What exactly it does :/

Richard

2008-03-27 15:42:20

Well, to start with you don't need to huge login procedure, just do the same as someone else said.

And this script = Bannable!

You use coord clicking with NO randomness, that will be so obvious to jagex that you are autoing, you might want to add some randomness to those functions.

If you want tips on how to make a safe script, read my tut here (its reverse-psycology :))

http://www.villavu.com/forum/showthread.php?t=27829

Fabis

2008-03-27 15:57:03

Without updating this script:

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
/\~Fabiss Progress Report~
/\Alched 359 Yew Longbows.
/\Worked for 25 Minutes and 28 Seconds
/\Xp gained 23335
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

:)

Pwnt by Pwnt

2008-03-28 02:00:39

From: iroki
Multiplayer toturial http://www.villavu.com/forum/showthread.php?t=12858?t=14246&highlight=multiplayer

insted this:
MageLvl = '55';//Enter your magic level
use this
MageLvl := GetSkillInfo('Magic', False);
in yourloop :)

And to find DTM for ALL noted iteams use this:
Procedure FindNotedDTM;

Var
x, y, NotedDTM: Integer;

Begin
NotedDTM := DTMFromString('78DA6314646060506240038C0CFFC12403C37' +
'F20606403321431D5204820CD02242409A80199234C408D149050' +
'26A0461EBB9B31D44813A14608BF1A00E5CC068D');
FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2);
Wait(RandomRange(400, 500));
Mouse(x, y - 7, 5, 5, True);
End;

it shouldn't just be

FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2);

it should be
if(FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2));

because if it doesn't find the DTM (with yours) it will still keep trying.. then after Mouse and that stuff do

end else
not(FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Writeln('COULDN`T FIND ANYTHING TO ALCH! Stopping');
Wait(1000+(random(500)));
Proggy;
TerminateScript;
end;

:) just some anti-ban :)

iroki_

2008-03-28 15:12:29

You are right, but it was only example. My DTM is 100% working :) so it should be something like this:
Procedure FindNotedDTM;

Var
x, y, NotedDTM: Integer;

Begin
NotedDTM := DTMFromString('78DA6314646060506240038C0CFFC12403C37' +
'F20606403321431D5204820CD02242409A80199234C408D149050' +
'26A0461EBB9B31D44813A14608BF1A00E5CC068D');
If FindDTM(NotedDTM, x, y, MIX1, MIY1, MIX2, MIY2) Then
Begin
Wait(RandomRange(400, 500));
Mouse(x, y - 7, 5, 5, True);
WriteLn('Noted things find!!!');
End Else
Begin
WriteLn('No noted things. LoggingOut');
Wait(RandomRange(500, 600));
LogOut;
YourProgressReport;
TerminateScript;
End;
End;

Tniffoc

2008-03-28 17:16:48

There is a method in SRL 4 that let's you find out if a method is in chat or not…

InChat(something: String);

it returns true if something is in chat and false if it is not… You could use it in the following manner…

if(InChat('hey')) then begin
TypeSend('Oh, hey!');
end;