PDA

View Full Version : GerauchertPowerChopper



gerauchert
06-22-2007, 06:28 PM
My FIRST script =)

i dont know how to put the script so you can just download it into scar form so here it is....

{////////////////////////GERAUCHERT'S POWERCHOPPER///////////////////////
THIS IS MY FIRST SCRIPT WOOT!
*Has FindFastRandoms - CREDITS TO WT-Fakawi
*Has my own anitban creation
*Has multiplayer
*No axehead finder
SETUP:
1) Put your character by the trees you want to chop
2) Pick your colors
3) Fill in constants and declare players
4) Hit play (logged in or out) and enjoy =p
5) Post progress reports and errors =D
/////////////////////////////////////////////////////////////////////////}

program Powerchopper;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/WoodCutting.scar}

var LoadsA: Integer; LoadsB: Integer;

//SETUP HERE//
const

TreeColor1= 1718320 ; //Set tree colors here
TreeColor2= 2572344;
TreeColor3= 1853504;

TreeType='illow'; //What tree you want to chop (minus first letter)

ChopTime= 6000; //Time before it clicks tree again (milliseconds)

Loads= 10; //How many loads you want before you switch

procedure DeclarePlayers;
begin
HowManyPlayers := 5;//Dont touch (just state whether active or not)
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := 'UserName';
Players[0].Pass := 'Password';
Players[0].Nick := 'Nick'; //3 - 4 letters of YOUR username
Players[0].Active :=True; //Auto with this account?

Players[1].Name := 'UserName';
Players[1].Pass := 'Password';
Players[1].Nick := 'Nick'; //3 - 4 letters of YOUR username
Players[1].Active :=False; //Auto with this account?

Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := 'Nick'; //3 - 4 letters of YOUR username
Players[2].Active :=False; //Auto with this account?

Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := 'Nick'; //3 - 4 letters of YOUR username
Players[3].Active :=False; //Auto with this account?

NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

//STARTING UP//
procedure ScriptSetup;
begin
ClearDebug;
SetupSRL;
DeclarePlayers;
ActivateClient;
end;

procedure Setup;
begin
Wait(500 + random(250));
SetRun(True);
Wait(500 + random(150));
GameTab(4);
end;

//ANTIBAN//

procedure DontGetBanned;
begin
if(not(LoggedIn))then
Exit;
case Random(15) of
0: begin
GameTab(5);
Wait(2000 + random(1200));
GameTab(4);
end;
1: begin
HoverSkill('Random', False);
Wait(500+ random (250));
HoverSkill('Woodcutting', False);
end;
2: begin
GameTab(5);
MMouse(590,304,3,3);
Wait(500 + random(300));
Mouse(590,304,3,3,False);
ChooseOption(x,y,'xamine');
Wait(1500 + random(1300));
MMouse(610,261,3,3);
Mouse(610,261,3,3,False);
ChooseOption(x,y,'xamine');
Wait(700 + random(200));
GameTab(4);
end;
3: begin
GameTab(6);
Wait(400 + random(200));
MouseBox(566,209,734,455,3);
Sleep(2000 + random(500));
HoverSkill('random',False);
Wait(500 + random(150));
GameTab(4);
end;
4: begin
GameTab(7);
Wait(500 + random(100));
MouseBox(566,209,734,455,3);
Sleep(3000 + random(1000));
Wait(300 + random(125));
GameTab(4);
end;
5: begin
GameTab(8);
MouseBox(566,209,734,455,3);
Sleep(2000 + random(700));
Wait(500 + random(230));
GameTab(9);
Wait(1000 + random(800));
GameTab(1);
Wait(3000 + random(750));
GameTab(3);
Wait(2500 + random(1200));
GameTab(11);
Wait(1000 + random(250));
GameTab(4);
end;
6: PickUpMouse;
7: MouseBox(MSX1,MSY1,MSX2,MSY2,3);
8: MouseBox(MMX1,MMY1,MMX2,MMY2,3);
9: RandomRClick;
10: BoredEvery(2 + random(1));
11: SleepAndMoveMouse(5000 + random(1500));
12: RotateEvery(2 + random(1));
13: BoredHuman;
end;
end;




//PROGRESS REPORT//
procedure Proggy;
begin
ClearDebug;
SRLRandomsReport;
Writeln('*************************************');
Writeln('=========== PROGRESS REPORT =========');
Writeln('Chopped: ' + IntToStr(LoadsA) + ' Loads');
Writeln('Ran For: ' + TimeRunning);
Writeln('Ents Avoided: ' + IntToStr(EntsAvoided) + ' Ents');
Writeln('REMEMBER TO POST PROGRESS REPORTS!!!');
Writeln('=========== HAPPY AUTOING!! =========');
Writeln('*************************************');
end;

//ANTIRANDOMZ//

Function FindFastRandoms: Boolean; // By WT-Fakawi.

Var
i: Integer;

Begin
For I := 1 To 11 Do
Begin
Case I Of
1: If FindDead Then
Result := True;

2: If FindMod Then
Result := True;

3: If FindMime Then
Result := True;

4: If FindMaze Then
Result := True;

5: If FindQuiz Then
Result := True;

6: If FindDemon Then
Result := True;

7: Begin
If NoGameTab Then
Begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
End;
End;

8 : If RC Then
Result := True;

9 : If FindFight Then
Begin
Result := True;
RunTo('S', True);
End;

10: If FindTalk Then
Result := True;

11: If FindTrade Then
Result := True;
End;
Wait(1);
End;
End;

procedure Randoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;

//CHOPPING PROCEDURE//
procedure Chop;
var WaitTime: Integer;

begin
repeat
if(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,MSX 2,MSY2,3))or
(FindColorTolerance(x,y,TreeColor2,MSX1,MSY1,MSX2, MSY2,3))or
(FindColorTolerance(x,y,TreeColor3,MSX1,MSY1,MSX2, MSY2,3))then
begin
case random(2) of
0: begin
MMouse(x,y,3,3);
if IsUpText(TreeType) then
Mouse(x,y,3,3,True);
MarkTime(WaitTime);
if(InvFull)or FindEnt(TreeColor1) or (FindFastRandoms) or (not(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,M SX2,MSY2,3)))then
Break;
while(TimeFromMark(WaitTime) < ChopTime)do
FindEnt(TreeColor2);
Randoms;
FindEnt(TreeColor3);
DontGetBanned;
end;
1: begin
MMouse(x,y,3,3);
if IsUpText(TreeType) then
Mouse(x,y,3,3,False);
ChooseOption(x,y,'own');
MarkTime(WaitTime);
if(InvFull)or FindEnt(TreeColor1) or (FindFastRandoms) or (not(FindColorTolerance(x,y,TreeColor1,MSX1,MSY1,M SX2,MSY2,3)))then
Break;
while(TimeFromMark(WaitTime) < ChopTime)do
FindEnt(TreeColor2);
Randoms;
FindEnt(TreeColor3);
DontGetBanned;
end;
end;
end;
until(InvFull);
end;


//DROPPING PROCEDURE//
procedure Drop;
begin
GameTab(4);
if(InvFull)then
begin
DropTo(2,28)
LoadsA:=LoadsA + 1;
LoadsB:=LoadsB + 1;
TimeRunning;
end;
end;

//MAIN LOOP//
begin
ScriptSetup;
NEWLINE:='';
if (not(LoggedIn)) then
LogInPlayer;
Setup;
repeat
if (not(LoggedIn)) then
LogInPlayer;
Chop;
Drop;
Proggy;
if (LoadsB = Loads) then
begin
NextPlayer(True);
LoadsB:= 0;
Writeln('w00t switched players');
Setup;
end;
until(False);
end.

ZephyrsFury
06-23-2007, 04:29 AM
wow a pretty good first script. i haven't tested it yet but it looks good.
i've got a few suggestions.

first of all... with your drop procedure, i've noticed that DropTo sometimes misses the item. For future versions, you should use DTM's to check for the logs and then right click and 'ChooseOption(x, y, 'rop');'.

secondly, you've told the script to do randoms every time the DontGetBanned procedure is called. this means every 13/15 times will probably be an antiban. I recommend you change your random(15) to something like random(50) which will antiban less.

other than that wicked first script, ill test it when i get home.;)

BobboHobbo
06-23-2007, 09:19 AM
Well done for a first script!

There is about nothing wrong but i suggest:
The drop procedure use:
DropAllLogs;
(This will drop all logs and other stuff i think)

Maybe the Antiban is over done, lol. Because if it keeps doing the same type of this it has a chance of getting banned, but ill doubt that.

And still nice first script. Goodluck with your future scripts.

gerauchert
06-23-2007, 07:13 PM
thanks =D

worked pretty hard on it and i think it turned out decent as well =)

yea ill probably add DTM dropping to it and change that antiban as well

thanks so much im excited i finally finished it lol

crossback7
06-26-2007, 02:34 AM
Much better than my first script :p Gotta love the classic autotyper though. . .I'll test this in a bit, once I get my internet connection to steady out.

I would take their advice about your anti-ban lol. Otherwise it looks pretty good.

gerauchert
06-26-2007, 05:43 PM
i just did a full test on my script last night and the only bug that occured for me is when my player died...it didnt switch to the next player but the proggie was pretty good for lvl 1 wcers that i started =p
both are lvl 17 wc now lol

Chopped: 9 loads

Ran for: 1 hour 12 minutes and 34 seconds

Avoided: 2 ents



/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL Randoms Report |
| www.villu-reborn.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Logged in : 1 |
| Trade[s] Missed : 1 |
| Fight Random[s] : 4 |
| Talking Random[s] : 1 |
| Capn Hand[s] Solved : 1 |
| New Box[es] Solved : 1 |
| Nr of Ents Avoided : 2 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

gerauchert
06-28-2007, 01:18 AM
AHHHH ok i have this new bug and i want to know if any1 else has it...

so when the script starts up it runs fine until it begins the setup where it sets your guy to run....it just sits there and does nothing. I tested just the setup; procedure alone in a new script to make sure it wasnt messed up due to jagex update but it ran my setup; fine grrrr just wont work in my script ffs....

ok if anyone has this problem let me know or if you see something that is causing my guy just to sit there let me know =) thanks

(BTW SRY FOR DOUBLE POST)

ZephyrsFury
06-28-2007, 08:16 AM
Its because of the update. The coords for checking if the player was logged in or not changed so when the script went to check if the player was logged, it returned false. This then stuffs up the main loops cos you have lots of 'if(not(LoggedIn)) then' lines.

To fix this problem you just need to download SRL 3.81 or look at one of the threads in the Runescape Updates forum.

In short, in the Login include in SRL under the LoggedIn function, change this:
Result := (GetColor(422, 480) = 16777215);

To this:
Result := (GetColor(421, 480) = 16777215);

gerauchert
06-28-2007, 04:39 PM
tyvm :D