OK, good script, especially for a first. Works pretty well.
A bit of a problem: Standards.
I know it's your first script, so it doesn't matter too much, but if you get into good habits with your standards now, then you won't find you have too much trouble later on.
I've gone through your script and sorted it out. There might be a few errors that I missed, but this should mostly be right:
//===============================//
//Thanks fer Downloading My first Script//
// If you like, please rep//
// and post proggies =)//
// I also need help with antiban, mouse , tree colors, and maybe even banking
//--------------//
// KNOWN ISSUES//
//-------------//
//^^none at the moment^^//
//====================================//
{SETUP=
go to some where with the trees u wanna cut (can be anywhere)
go on low detail
DO NOT HAVE LVL3, DEFAULT CLOTHES, CRAPPY NAME! i will report u if i see you.
enter tree colors
declare players
press play ;-)
}
program Putnam11sPowercutter;
{.include SRL/SRL.scar}
var
Tree : String;
TreeColor : Array[0..2] of Integer;
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;
Players[0].Name :='YOUR username'; //username
Players[0].Pass :='Your Passwerd'; //password
Players[0].Nick :='NickName'; //3-4 letters in middle of name
Players[0].Active := True; // used or not, false if not//
Players[0].Integers[0] := 10; //How many loads total to do on this player.
Players[0].Strings[0] := 'Tree'; //Type of tree. Tree,(more to come)
Players[0].Strings[1] := 'N'; //Direction to run when find ent. (N, NE, E, SE, S, SW, W, NW)
end;
Begin
Tree := Capitalize(Players[CurrentPlayer].Strings[0]);
Case Lowercase(Tree) of
'tree' : Begin
TreeColor[0] := 1059370;
TreeColor[1] := 3693652;
TreeColor[2] := 531484;
end;
end;
procedure ChopTree; //Cuts Tree.
begin
until(IsUpText('down ' + Tree))then
begin
wait(1+random(5));
Mouse(x,y,2,2,true);
wait(5000+random(5)); //Time Before Clicks New Tree.
i:= i + 1
end;
if(not(FindColor(x,y,TreeColour,0,0,600,600)))then
Writeln('Tree not found, retrying. If u get this fer a long time u better check ur player')
wait(2000+random(5));
end;
Procedure ChopTree;
var
ClickedTree : Integer;
Begin
repeat
GameTab(4);
if InvFull then exit;
repeat
FindFastRandoms;
if FindObjCustom(x, y, ['down ' + Tree], [TreeColor[0], TreeColor[1], TreeColor[2]], GameColorTolerance) then
Begin
Mouse(x, y, 1, 1, true);
end else
MainLoop;
end else
Begin
Tries := Tries + 1;
if (tries >= 10) then
end;
until(IsUpText('down ' + Tree));
repeat
CheckForRandoms;
if (TimeFromMark(ClickedTree) >= 30000 + random(5000)) then
Begin
Mouse(x, y ,0, 0, true);
MarkTime(ClickedTree);
end;
until InvFull or Not(IsUpText('down ' + Tree));
until(InvFull);
end;
Function FindFastRandoms: Boolean;
Var
i: Integer;
Begin
For i:=1 To 8 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 : If RC Then Result := True;
8: If FindTalk Then Result := True;
End;
Wait(1);
End;
End;
procedure Setup;
begin
ClearDebug;
Writeln('Putnams First Script ')
Writeln('Its a Powercutter ')
Writeln('Enjoy ;-) ')
Writeln('Post Proggresses and FeedBack')
end;
procedure Report;
begin
ClearDebug;
Writeln('Putnams Powercutter ');
Writeln('Progress Report');
Writeln('Cut' +IntToStr(i)+' Logs.');
Writeln('Please post on SRL =)');
end;
begin Setup;
SetupSRL;
DeclarePlayers;
LoginPlayer;
repeat
ChopTree;
findFastRandoms;
if InvFull then
begin
DropToPosition(2, 28);
Inc(Players[CurrentPlayer].Banked);
if Players[CurrentPlayer].Banked mod LoadsPerPlayer = 0 then
begin
NextPlayer(True);
begin Report;
end;
end;
end;
until(false)
end.
Well there's the revised version, and I've also attached a SCAR file, if any one finds that easier.
Hope I could help. Anyway, here's the file: