to shorten drop logs you can simply do…
procedure DropTheLogs;
var
I : Integer;
int : Integer;
begin
if(not(LoggedIn)) or (not(invFull))then
Exit;
WriteLn('Dropping Logs Engaged');
if(Players[CurrentPlayer].Booleans[0])then
int := 2 else int := 1; // the slot that the script will drop
for I := int to 28 do // now we drop from the slot provided to 28
begin
DropItem(i);
Inc(Drops);
Inc(Players[CurrentPlayer].Integers[0]);
end;
end;
just to simplify things for you. I hope you kind of get the idea.
You must have past programming/scripting knowledge of some sort to be implementing types and records so soon (that or you copied someone haha).
this:
case Random(2) of
0 :
begin
Mouse(x, y, 0, 0, False);
Wait(100 + Random(200));
ChooseOption('hop');
WriteLn('Chopping Tree Using Right Click Engaged');
GetMousePos(x, y);
end;
1 :
begin
Mouse(x, y, 0, 0, True);
WriteLn('Chopping Tree Using Left Click Engaged');
GetMousePos(x, y);
end;
end
can be
Mouse(x, y, 0, 0, Random(2) <> 1);
chooseoption('hop');
although it kind of reduces readability i enjoy it for times sakes and I would assume its faster.
random(2) <> 1 = conditional. if random(2) = 1 then it left clicks, else it right clicks. ChooseOption only occurs if the menu is open so it doesn't slow anything down when its not present.
I'm too lazy to pick your script apart anymore, its quite well done and the only way i could be of help is to nit-pick (like i've already done haha).with that said some of your script reminds me of someone else's, or maybe you posted this previously. Some parts just seem, really, really familiar. That or I'm going crazy. Anyways, looks good, congratulations on your first script :) now work on adding some walking ;)
oh and you should think about using SCAR tags instead of CODE tags, simply put
(without the spaces) instead of