SRL Archive - First Scripts

Varrock East Mine PowerMiner


Blender

2008-10-14 19:02:15

Well, this is my absolutely FIRST SRL script. It works pretty good, but I added my own custom include file.

Sorry, but I don't know how to make a proggy. If you can, please help me!
ANY COMMENTS I WILL APPRECIATE!

Also, to run the script you have to use my custom include file. First, make a folder called "cust" alongside "core", "misc", and "skill". Put "AutoTalk.scar" INTO the folder and you have the include file done.

PLEASE LEAVE ANY SUGGESTIONS!

:fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery:
:fiery: AutoTalk.scar
:fiery: Powerminer Version 1.00
:fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery: :fiery:

program GrapeAndBank;
{.Include SRL\SRL\misc\SMART.SCAR}
{.Include SRL\SRL.scar}
{.Include SRL\SRL\skill\Mining.scar}
{.Include SRL\SRL\cust\AutoTalk.scar}

var GasX, GasY, IronX, IronY, TheRock: Integer;

const
RockType = 'Iron';
Level = 99;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
end;



procedure AntiRandom;
begin
FindNormalRandoms;
SolveBox;
NoGameTabLocs;
HandlePlayerChat;
SolveNonTalkingRandoms;
FindInventoryRandoms;
FindTalk;
DwarfItem;

if FindFight then
begin
AntiRandom;
RunAway('n', True, 2, 6745);
end;
FindPick;
end;

procedure MineIron;
begin
AntiRandom;
FindObjRock(IronX, IronY, TheRock);
Mouse(IronX, IronY, 3, 3, True);
Sleep(6000 + Random(1000));
AntiRandom;
end;

var
a: Integer;
Procedure DropOres;
Begin
For a:= 1 to 28 do
Begin
MMouseItem(a);
If (LowerCase(GetUpText)= LowerCase('Use ' + RockType + ' ore / 2 more options')) Then
begin
DropItem(a);
end;
End;
End;

begin
SMARTSetUp('world57', True, True, False);
SetTargetDC(SMARTGetDC);
ClearDebug;
DeclarePlayers;
ActivateClient;
SetupSRL;
SetupMining;
LoadRockRecords;
case LowerCase(RockType) of
'iron': TheRock := Varrock_Iron;
'tin': TheRock := Varrock_Tin;
'copper': TheRock := Varrock_Copper;
'clay': TheRock := Varrock_Clay;
end;
LoginPlayer;
sleep(10000);

FindPickHeadColor;

repeat
LoginPlayer;
AntiRandom;
HandlePlayerChat;

if FindGas(GasX, GasY) then
begin
AntiRandom;
RunAway('e', True, 2, 3000);
end;
if InvFull then
begin
DropOres;
end;

AntiRandom;
MineIron;
AntiRandom;
HandlePlayerChat;
AntiRandom;
MineIron;
SRLRandomsReport;
HandlePlayerChat;
until(false);
end.

AutoTalk.scar
procedure HandlePlayerChat;
begin

if InChat('hi!') then
begin
case Random(7) of
0: TypeSend('wattup');
1: TypeSend('hey');
2: TypeSend('wats up?');
3: TypeSend('whats up?');
4: TypeSend('yo');
5: TypeSend('wats up');
6: TypeSend('whats up');
end;
Sleep(2000 + Random(1000));
end;

if InChat('hel') then
begin
case Random(7) of
0: TypeSend('hi');
1: TypeSend('hey');
2: TypeSend('wats up?');
3: TypeSend('whats up?');
4: TypeSend('wattup');
5: TypeSend('wats up');
6: TypeSend('whats up');
end;
Sleep(2000 + Random(1000));
end;

if InChat('aut') then
begin
case Random(7) of
0: TypeSend('no');
1: TypeSend('nope');
2: TypeSend('does it look like i am?');
3: TypeSend('yep');
4: TypeSend('i obviously am');
5: TypeSend('ya');
6: TypeSend('yep. I sure am!');
end;
Sleep(2000 + Random(1000));
end;

if InChat('macr') then
begin
case Random(7) of
0: TypeSend('no');
1: TypeSend('nope');
2: TypeSend('does it look like i am?');
3: TypeSend('yep');
4: TypeSend('i obviously am');
5: TypeSend('ya');
6: TypeSend('yep. I sure am!');
end;
Sleep(2000 + Random(1000));
end;

if InChat('noo') then
begin
case Random(7) of
0: TypeSend('your the nub here');
1: TypeSend('noob');
2: TypeSend('nub');
3: TypeSend('my main is lvl 69');
4: TypeSend('of course i am');
5: TypeSend('n00b');
6: TypeSend('yes i am the noob');
end;
Sleep(2000 + Random(1000));
end;

if InChat('lol') then
begin
case Random(7) of
0: TypeSend('...');
1: TypeSend('rargh');
2: TypeSend('hehehheee!');
3: TypeSend('...');
4: TypeSend('k');
5: TypeSend('?');
6: TypeSend('wtf?');
end;
Sleep(2000 + Random(1000));
end;

if InChat('say') then
begin
case Random(7) of
0: TypeSend('waht');
1: TypeSend('what?');
2: TypeSend('what');
3: TypeSend('???');
4: TypeSend('nub');
5: TypeSend('im too busy atoing...');
6: TypeSend('hehhheeee');
end;
Sleep(2000 + Random(1000));
end;
end;

P1nky

2008-10-14 19:03:06

where is it?

Blender

2008-10-14 19:13:13

Update the page.

joelster134

2008-10-15 02:08:17

Why dosnt Auto talker go in with the actual script as one?? also please uploadas a File download.


Might wanna addin more Anti_ban such as random mousemovement etc..nice script over all

for anti randoms why not just :
Procedure AntiRandoms;
FindNormalRandoms;
if FindFight Run direction('E') //or w/e lol

anyways grats on first script :) very short mining? does it use DTMs/Bitmaps? how does it find rocks?

  
if InChat('say') then
begin
case Random(7) of
5: TypeSend('im too busy atoing...');

[/QUOTE]


bannable much?

in2it

2008-10-15 17:28:40

not to bad but is bandable:fiery:

ByINSOMaNIAC

2008-10-18 06:00:18

ya its a pretty risky script to run

in2it

2008-10-18 17:51:56

i tried it not to bad worked for 20mins or something..

Blender

2008-11-08 23:46:15

Here is updated version:
Plz help me!
It doesn't click on rock when it finds one!
Thanks.
[LEFT]
program D3V1LsPowerMinerReMade;

{ALL credit goes to 666d3vi1666 for his PowerMiner}
{I just re-made it to last and mine a lot longer and better}
{xXxBlender3DxXx}

{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}
const
RockType = lumbridge_Copper;
{lumbridge_Copper, lumbridge_Tin, lumbridge_Mithril, lumbridge_Adament}
{varrock_Clay, varrock_Copper, varrock_Tin, varrock_Iron, varrock_Silver}
{rimmington_Clay, rimmington_Copper, rimmington_Tin, rimmington_Iron}
{falador_Clay, falador_Copper, falador_Tin, falador_Iron, falador_Coal, falador_Mithril, falador_Adament, falador_Rune}

SleepOnHalfInv = True;
{If script logs out for 40 seconds if your inventory is half full.}

RunAwayDirection = 'n';
{Direction to run away if script finds a fight.}
var
NonOres, OresFit, MinedOres, Ores, Loads, XPs, XPe, SLvl, ELvl: Integer;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
end;


procedure ProggyInfo;
begin
MinedOres := 0
Ores := 0
end;


procedure DropAllExcept(a : array of Integer);
var
i: Integer;
begin
for i := 1 to 28 do
if not(InIntArray(a, i)) then
DropItem(i);
end;

function IsCharacterMining: Boolean;
begin
Result := GetBlackChatMessage = 'You swing your pick at the rock.';
end;

procedure ClickOption(TargetX, TargetY:Integer; OptionText:String);
begin
Mouse(TargetX, TargetY, 3, 3, False);
Sleep(75 + Random(75));
ChooseOption(OptionText);
end;


procedure MineOre;
var RockX, RockY: Integer;
begin
FindNormalRandoms;

case Random(16) of
0: MakeCompass('n');
1: MakeCompass('e');
2: MakeCompass('s');
3: MakeCompass('w');
end;

if FindObjRock(RockX, RockY, RockType) then
begin
WriteLn('Found rock!');
if FindGas(RockX, RockY) then
begin
WriteLn('Found gas!');
DropItem(3);
WriteLn('Dropping item in inventory slot 3 to stop mining...');
repeat
Sleep(100);
until not FindGas(RockX, RockY);

if FindPickHeadColor then FindPick;

if FindFight then
begin
WriteLn('Detected fight!');
MakeCompass('n');
WriteLn('Made compass face north...');
Sleep(100 + Random(100));
RunAway('n', false, 1, 3000 + (Random(1000)));
WriteLn('Running away in direction: ' + RunAwayDirection + '...');
end;

if IsCharacterMining then
repeat
WriteLn('Character is still mining ore...');
WriteLn('Waiting 100 milliseconds...');
Sleep(200);
FindNormalRandoms;
until not IsCharacterMining;

Sleep(1500 + Random(50));

WriteLn('Mining ore...')

case Random(2) of
0: Mouse(RockX, RockY, 3, 3, True);
1: ClickOption(RockX, RockY, 'ine');
end;
end;

FindNormalRandoms;
Sleep(400 + Random(100));
MinedOres := InvCount - NonOres;
end;
end;

procedure Proggy;
begin
Writeln('**********************************************************');
Writeln('Running Time : ' + TimeRunning);
Writeln('Non-Ores : ' + IntToStr(NonOres));
Writeln('Space for Ores: ' + IntToStr(OresFit));
Writeln('Ores Mined : ' + IntToStr(MinedOres + Loads * OresFit));
Writeln('Loads Done : ' + IntToStr(Ores));
Writeln('XP Gained : ' + IntToStr(XPe - XPs));
Writeln('Start Level : ' + IntToStr(SLvl));
Writeln('End Level : ' + IntToStr(ELvl));
Writeln('**********************************************************');
end;

begin
SetUpSRL;
LoadRockRecords;
DeclarePlayers;
LoginPlayer;
Sleep(1000 + Random(1000));

XPs := GetXP('Mining');
SLvl:= GetSkillInfo('Mining', False);

repeat
repeat
repeat
FindNormalRandoms;
WriteLn('Attempting to mine an ore...');
MineOre;
if not LoggedIn then LoginPlayer;
FindNormalRandoms;

if SleepOnHalfInv = True then
begin
if InvCount = 14 then
begin
Logout;
Sleep(50000 + Random(10000));
end;
end;
until InvFull;

if InvFull then
begin
FindNormalRandoms;
Logout;
WriteLn('Inventory is full...');
WriteLn('Logging out and waiting for 2 minute and 25 seconds...');
Sleep(140000 + Random(10000));
LoginPlayer;
FindNormalRandoms;
WriteLn('Dropping inventory contents...');
DropAllExcept([1, 2, 3]);
Logout;
Sleep(50000 + Random(5000));
LoginPlayer;
Ores := Ores + OresFit;
Loads := Loads + 1;
end;
until Loads > 5;
XPe := GetXP('Mining');
ELvl := GetSkillInfo('Mining', False);
Proggy;
until false;
end.
[/LEFT]

Sandstorm

2008-11-09 01:08:57

Ok, I looked through and saw my procedure. I'm fine if you use it, I'd just like credits ;).

Anyways, I saw a problem in your FindGas area.

    repeat
Sleep(100);
until not FindGas(RockX, RockY);

Should be:

repeat
Sleep(100);
FindNormalRandoms;
until not FindGas(RockX, RockY);


WriteLn('Dropping inventory contents...');
DropAllExcept([1, 2, 3]);
Logout;
Sleep(50000 + Random(5000));
LoginPlayer;

I suggest you put a const in for Loads to sleep after, and add a random 1-2 packs of ore onto it, since no human will stop and log off for a minute after EVERY single load.

NielsNiels

2009-02-24 11:02:16

Ehhm, when i maked the map cust and try to download your Autotalker, the site says:

The page cannot be found
The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
——————————————————————————–

Please try the following:

Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.
If you reached this page by clicking a link, contact the Web site administrator to alert them that the link is incorrectly formatted.
Click the Back button to try another link.
HTTP Error 404 - File or directory not found