macromacro123
2008-01-07 23:32:44
<!– BEGIN TEMPLATE: formanswers –>
macromacro123 - SRL Member Application Form
macromacro123
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
basics of Java
Other Communitys
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi I tried about 3 times to become a member of this community but I didn't get to. I worked on some more scripts here and I am posting them. I'd like to contribute more in this community by being a member of it. I have used SCAR since 2 years now and I learned alot about scripting. I posted some scripts in WC section and in Fishing section of SRL forums. I worked on a simple power chopper which got my army of 10 to 60 in 1 week. It works pretty well. I also will be posting my Varrok yew cutter(s). Thanks alot.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Here is my Power Chopper(very simple but works great and uses SRL coding):
Instructions:
- Have axe in first inv slot.
- Start logged out.
Thanks again.:)
——————————————————
<!– END TEMPLATE: formanswers –>
macromacro123 - SRL Member Application Form
macromacro123
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
basics of Java
Other Communitys
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi I tried about 3 times to become a member of this community but I didn't get to. I worked on some more scripts here and I am posting them. I'd like to contribute more in this community by being a member of it. I have used SCAR since 2 years now and I learned alot about scripting. I posted some scripts in WC section and in Fishing section of SRL forums. I worked on a simple power chopper which got my army of 10 to 60 in 1 week. It works pretty well. I also will be posting my Varrok yew cutter(s). Thanks alot.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Here is my Power Chopper(very simple but works great and uses SRL coding):
Instructions:
- Have axe in first inv slot.
- Start logged out.
program PowerChopper;
{.include SRL/SRL.scar}
{******************************************************************************}
var
c, t, x, y: Integer;
{******************************************************************************}
const
j = 'Willow'; // Name of the tree to cut.
q = 'N'; // Direction to run if fight found.
{******************************************************************************}
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0] := 3; // Loads to do.
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
{******************************************************************************}
procedure SetUpScript;
begin
SetUpSRL;
DeclarePlayers;
MouseSpeed := 15;
FindRS;
LogInPlayer;
end;
{******************************************************************************}
procedure macromacro123;
begin
ClearDebug;
WriteLn('******** ******* ******* ****** *****');
WriteLn('** ** ** ****** ** ** ** **');
WriteLn('** ** ** ** ** ** ** ** **');
WriteLn('** ** ** ******* ******* ** *****');
Wait(500);
WriteLn('******** ******* ******* ****** *****');
WriteLn('** ** ** ****** ** ** ** **');
WriteLn('** ** ** ** ** ** ** ** **');
WriteLn('** ** ** ******* ******* ** *****');
Wait(500);
WriteLn(' ** *** ****');
WriteLn('*** * ** **');
WriteLn(' ** ** *');
WriteLn(' ** **** ***');
Wait(500);
WriteLn(' __________________');
WriteLn('| macromacro123''s |');
WriteLn('| Power Chopper |');
WriteLn('| v0.1 |');
WriteLn('|__________________|');
Wait(500);
end;
{******************************************************************************}
function FindBrokenAxe: Boolean;
var
BrokenAxe: Integer;
begin
BrokenAxe := DTMFromString('78DA63F4656260B8C580021C1CE218FE03694' +
'620FE0F048C7E40353718D000231209A48330CDC1501300547387' +
'08350F09A8F106AAB94B408D2B50CD4D026ADC816AAEE3570300B' +
'6A30F3B');
if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Result := True;
WriteLn('******** FOUND BROKEN AXE ********');
WriteFileString(TheFile, '******** FOUND BROKEN AXE ********' + Chr(13));
Players[CurrentPlayer].Loc := 'Broken Axe';
LogOut;
Exit;
end;
FreeDTM(BrokenAxe);
end;
{******************************************************************************}
procedure RunBack123;
var
a, p, w: Integer;
begin
a := 643;
p := 83;
w := 50;
if q = 'N' then
begin
Mouse(a, p + w, 4, 4, True);
Flag;
end else
if q = 'S' then
begin
Mouse(a, p - w, 4, 4, True);
Flag;
end else
if q = 'W' then
begin
Mouse(a + w, p, 4, 4, True);
Flag;
end else
if q = 'E' then
begin
Mouse(a - w, p, 4, 4, True);
Flag;
end;
end;
{******************************************************************************}
function HandleFight: Boolean;
begin
if FindFight then
begin
Result := True;
RunAwayDirection(q);
RunBack123;
end;
end;
{******************************************************************************}
procedure EntWait(Time: Integer);
var
t: Integer;
begin
for t := 1 to Time do
begin
Wait(375 + Random(125));
FindTalk;
HandleFight;
end;
end;
{******************************************************************************}
procedure SolveEnt;
begin
MouseFindNoFlag(MMCX, MMCY, -1, 1);
EntWait(35);
EntsAvoided := EntsAvoided + 1;
end;
{******************************************************************************}
function FindEnt123: Boolean;
begin
if FindColorTolerance(x, y, 55769, 85, 15, 115, 15, 20) then
begin
Result := True;
WriteLn('******** FOUND ENT ********');
WriteFileString(TheFile, '******** FOUND ENT ********' + Chr(13));
SolveEnt;
WriteLn('******** ENT AVOIDED ********');
WriteFileString(TheFile, '******** ENT AVOIDED ********' + Chr(13));
end;
end;
{******************************************************************************}
function Prsnt: Boolean;
begin
if IsUpText(j)then
begin
Result := True;
end;
end;
{******************************************************************************}
function Present: Boolean;
begin
if FindObjCustom(x, y, [j], [4690821], 5) then
begin
Result := True;
end;
end;
{******************************************************************************}
function FindFRandoms: Boolean;
var
i: Integer;
begin
for i := 1 to 3 do
begin
case i of
1: Result := FindEnt123;
2: Result := HandleFight;
3: Result := FindBrokenAxe;
end;
if Result then
Break;
end;
end;
{******************************************************************************}
function FindRandoms123: Boolean;
var
i: Integer;
begin
for i := 1 to 2 do
begin
case i of
1: Result := FindNormalRandoms;
2: Result := FindFRandoms;
end;
end;
end;
{******************************************************************************}
procedure Wait123(Time: Integer);
var
t: integer;
begin
for t := 1 to Time do
begin
Wait(375 + Random(125));
if not LoggedIn then Exit;
FindRandoms123;
if InvFull then Exit;
if not Prsnt then Exit;
end;
end;
{******************************************************************************}
procedure Chop;
begin
GetMousePos(x, y);
FindEnt123;
Mouse(x, y, 0, 0, True);
Wait123(15 + Random(15));
end;
{******************************************************************************}
procedure xy;
var
tt: Integer;
begin
if not LoggedIn then Exit;
if InvFull then Exit;
if Prsnt then Chop;
if Present then Chop;
MarkTime(tt);
repeat
if not LoggedIn then Exit;
if InvFull then Exit;
FindRandoms123;
MouseBox(5, 5, 513, 336, False);
until Present or
(TimeFromMark(tt) >= 300000);
if TimeFromMark(tt) >= 300000 then
begin
Players[CurrentPlayer].Loc := 'Lost';
LogOut;
Exit;
end else
if Present then Chop;
end;
{******************************************************************************}
procedure ChopDown;
begin
repeat
if not LoggedIn then Exit;
xy;
until InvFull;
end;
{******************************************************************************}
procedure DropLog;
begin
if InvFull then
begin
DropToPosition(2, 28);
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
c := c + 1;
t := t + 1;
end;
end;
{******************************************************************************}
procedure PlayerStats;
var
Active: string;
i: Integer;
begin
WriteLn('**************************************');
WriteLn('Name: ' + Players[CurrentPlayer].Name);
WriteLn('Number: ' + IntToStr(CurrentPlayer));
WriteLn('Worked: ' + IntToStr(Players[CurrentPlayer].Worked) + ' Minute[s]');
WriteLn('Loaded: ' + IntToStr(Players[CurrentPlayer].Banked) + ' Time[s]');
WriteLn('Droped: ' + IntToStr(Players[CurrentPlayer].Banked * 27) + ' ' + j + ' log[s]');
if Players[CurrentPlayer].Active = True then Active := 'True' else Active := 'False';
WriteLn('Active: ' + Active);
WriteLn('Location: ' + Players[CurrentPlayer].Loc);
WriteLn('Random: ' + Players[CurrentPlayer].Rand);
WriteLn('**************************************');
for i := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active = True then Active := 'True' else Active := 'False';
WriteLn((IntToStr(i)) + ': ' + Players[i].Name + ' = ' + Active + ' - Loaded: ' + IntToStr(Players[i].Banked) + ' Time[s]' +
' - Droped: ' + IntToStr(Players[i].Banked * 27) + ' ' + j + ' log[s]' + ' - Worked: ' + IntToStr(Players[i].Worked) + ' Minutes[s].' +
' - Loc: ' + Players[i].Loc + ' - Rand: ' + Players[i].Rand);
end;
WriteLn('**************************************');
end;
{******************************************************************************}
procedure ProgressReport;
begin
SRLRandomsReport;
WriteLn(' __________________');
WriteLn('| macromacro123''s |');
WriteLn('| Power Chopper |');
WriteLn('| v0.1 |');
WriteLn('|__________________|');
WriteLn('|Worked: ' + TimeRunning);
WriteLn('|Loaded: ' + IntToStr(t) + ' Time[s]');
WriteLn('|Droped: ' + IntToStr(t * 27) + ' ' + j + ' log[s]');
WriteLn('|__________________|');
end;
{******************************************************************************}
begin
macromacro123;
GetApplication.MINIMIZE;
SetUpScript;
repeat
repeat
HighestAngle;
ChopDown;
DropLog;
PlayerStats;
ProgressReport;
until (Players[CurrentPlayer].Integers[0] = c) or (not(LoggedIn));
if Players[CurrentPlayer].Integers[0] = c then
begin
LogOut;
NextPlayer(True);
c := 0;
end else
if not LoggedIn then
begin
NextPlayer(False);
c := 0;
end;
until False;
end.
Thanks again.:)
——————————————————
<!– END TEMPLATE: formanswers –>