mariofan12
2008-09-15 19:29:58
<!– BEGIN TEMPLATE: formanswers –>
mariofan12 - SRL Member Application Form
mariofan12
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Visual Basic and C#
Other Communitys
Gamefaqs
How Long have You Played Runescape
about 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
If yo vote no, PLEASE explain why.
Well I am 15, and very interested about computer programming in general.
I love this community much more then others and I am hoping to become a full-fledged member. I have donated to this site (haven't been recognized for it yet though) and I love to write scripts.
At first, I leeched… alot, but as I was looking through the scripts, I realized that I could make one, so I viewed the tutorial from i pro leechin' (who should be a mem by the way) and now I can script!
Here is my Firemaker that originally started as a willow burner, but now it is an awesome script (At least I think so). Hope you guys like it.
What it includes:
-dtms
-ddtms for walking
-radial walking for back-up
-Color finding for the bank symbol
-Good Anti-ban
-Progress Report
-Many failsafes
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
mariofan12 - SRL Member Application Form
mariofan12
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Visual Basic and C#
Other Communitys
Gamefaqs
How Long have You Played Runescape
about 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
If yo vote no, PLEASE explain why.
Well I am 15, and very interested about computer programming in general.
I love this community much more then others and I am hoping to become a full-fledged member. I have donated to this site (haven't been recognized for it yet though) and I love to write scripts.
At first, I leeched… alot, but as I was looking through the scripts, I realized that I could make one, so I viewed the tutorial from i pro leechin' (who should be a mem by the way) and now I can script!
Here is my Firemaker that originally started as a willow burner, but now it is an awesome script (At least I think so). Hope you guys like it.
What it includes:
-dtms
-ddtms for walking
-radial walking for back-up
-Color finding for the bank symbol
-Good Anti-ban
-Progress Report
-Many failsafes
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
//////////////////////////////My First Script\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/////////////////////////A FireMaker by MarioFan12\\\\\\\\\\\\\\\\\\\\\\\\\\
/////////////////////////Now Supports Multiplayer!!\\\\\\\\\\\\\\\\\\\\\\\\\
{Setup:
1. Start at Varrok bank
2. Have a tinder box in your inventory
3. Start with nothing else in your inventory
4. Make sure your log is visible in your bank when opened
5. Start in a uncrowded world
6. Declare Players
7. Run script}
program Mariofan12s_FireMaker; var x, y : Integer;
{.include SRL/SRL.Scar}
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;
Players[0].Name := ''; //username
Players[0].Pass := ''; //passwsord
Players[0].nick := ''; // 3-4 letters of your username that does
//NOT include a space or a capital
Players[0].Pin := '0000'; //leave blank if none
Players[0].Strings[0] := ''; //the type of log you want to burn
//valid points are 'normal' , 'oak' , and 'willow'
Players[0].Active := true; //set to true
end;
///////Don't Edit below these lines\\\\\\
var
tindy, willow, oak, normal, normalbank, oakbank, abc, def: integer;
Burntloads, Burntlogs, TBurntlogs, TBurntloads: integer;
safetytest, walktest, banktest: boolean;
Colorthisme: TPointArray;
ColorP: TPoint;
function sWait(number: integer): boolean; //Thanks to "i pro leechin'" for this function
var
i, d, g, b: integer;
begin
d := (number + 10);
g := random(3) + 1;
b := random(4) + 1;
for i := 1 to g do
d := d + (d / b);
wait(d);
end;
Procedure Antiban;
begin
if not LoggedIn then Exit;
case 6+random(10) of
0 : HoverSkill('firemaking', false);
1: PickUpMouse;
2,3: BoredHuman;
4,5: begin
MakeCompass('N');
wait(10+random(5));
MakeCompass('S');
wait(10+random(5));
MakeCompass('N');
end;
end;
sWait(100);
end;
Procedure MyRandoms; forward;
procedure dtms;
begin
tindy := DTMFromString('78DA637462626078CE80025C6C3819F881342' +
'310FF0702467BA09A8F0C6880118904D2A640352F08A87104AAB9' +
'49408D2F50CD63026ABC816ADEE2570300A5500BAA');
willow := DTMFromString('78DA63CC65626078C20006BC108A21C84B0E4' +
'C3302F17F20604C01AA79CF8006189148205D0254F396809A72A0' +
'9A4704D4E403D5DC22A02615A8E60E7E35004C970CC9');
oak := DTMFromString('78DA633CC2C8C030970105F4E63A32700169A' +
'00CC37F2060DC09642D6240038C4824903E0F64CD23A00664D742' +
'026A4E035953F1AB0100F19A0C43');
normal := DTMFromString('78DA63CC63626078C98002EA93AC19B880342' +
'310FF0702C66AA09A170C6880118904D22073DE1150930254F39E' +
'809A12A09A9BF8D50000C95B0BF1');
end;
Function ddtms(walkorlog: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case walkorlog of
1: begin
dtmMainPoint.x := 573;
dtmMainPoint.y := 110;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindVarrockRoadColor;
dtmMainPoint.Tolerance := 7;
dtmSubPoints[0].x := 573;
dtmSubPoints[0].y := 110;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindVarrockRoadColor;
dtmSubPoints[0].Tolerance := 7;
dtmSubPoints[1].x := 555;
dtmSubPoints[1].y := 91;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindVarrockRoadColor;
dtmSubPoints[1].Tolerance := 7;
dtmSubPoints[2].x := 574;
dtmSubPoints[2].y := 53;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6392462;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 586;
dtmSubPoints[3].y := 126;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 4486771;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 562;
dtmSubPoints[4].y := 107;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindVarrockRoadColor;
dtmSubPoints[4].Tolerance := 7;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2: begin
dtmMainPoint.x := 602;
dtmMainPoint.y := 95;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5271947;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 602;
dtmSubPoints[0].y := 95;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5271947;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 602;
dtmSubPoints[1].y := 114;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindVarrockRoadColor;
dtmSubPoints[1].Tolerance := 7;
dtmSubPoints[2].x := 602;
dtmSubPoints[2].y := 118;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindVarrockRoadColor;
dtmSubPoints[2].Tolerance := 7;
dtmSubPoints[3].x := 622;
dtmSubPoints[3].y := 116;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindVarrockRoadColor;
dtmSubPoints[3].Tolerance := 7;
dtmSubPoints[4].x := 607;
dtmSubPoints[4].y := 87;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5271947;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
3: begin
dtmMainPoint.x := 630;
dtmMainPoint.y := 106;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindVarrockRoadColor;
dtmMainPoint.Tolerance := 7;
dtmSubPoints[0].x := 630;
dtmSubPoints[0].y := 106;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindVarrockRoadColor;
dtmSubPoints[0].Tolerance := 7;
dtmSubPoints[1].x := 612;
dtmSubPoints[1].y := 79;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4947074;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 625;
dtmSubPoints[2].y := 48;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 4947074;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 632;
dtmSubPoints[3].y := 109;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindVarrockRoadColor;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 617;
dtmSubPoints[4].y := 34;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 6392462;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
procedure freeAllDtms;
begin
freedtm(normal);
freedtm(tindy);
freedtm(oak);
freedtm(willow);
end;
procedure walktoroad;
var
walkhere, walkhelp: integer;
begin
if not LoggedIn then exit;
walkhere := ddtms(1);
walkhelp := ddtms(3);
if FindDTM(walkhere, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 8, 8, true);
FFlag(0);
Writeln('Walk out of bank Complete');
end;
if not FindDTM(walkhere, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
if FindDTM(walkhelp, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 8, 8, true);
FFlag(0);
Writeln('Walk out of bank Complete');
end;
end;
if not FindDTM(walkhere, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
if not FindDTM(walkhelp, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Makecompass('n');
if (RadialRoadWalk(FindVarrockRoadColor, 135, 225, 50 + random(22), -2, 1)) then
begin
Writeln('Walked out using radial walk, hope it works!');
end else
begin
Writeln('Where are you?');
Logout;
end;
end;
end;
freedtm(walkhelp);
freedtm(walkhere);
end;
procedure walktobank;
var
walkhere, walkhelp, b: integer;
begin
if not LoggedIn then exit;
walkhelp:= ddtms(1);
walkhere:= ddtms(2);
if FindDTM(walkhere, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 8, 8, true);
FFlag(0);
walktest := True;
swait(100);
if FindSymbol(x, y, 'bank') then
begin
mouse(x, y, 6, 6, True);
FFlag(0);
Writeln('Found Symbol!');
end;
if not FindSymbol(x, y, 'bank') then
begin
Writeln('Finding Colors');
FindColorsSpiralTolerance(MMCx, MMCy, Colorthisme, 2871018, MMX1, MMY1, MMX2, MMY2, 10);
if Length(Colorthisme) = 0 then
begin
Writeln('Where are you? Logging out');
logout;
end;
For b := 0 to High(Colorthisme) do
begin
ColorP := Colorthisme[b];
mouse(ColorP.x, ColorP.y, 6, 6, True);
FFlag(0);
Writeln('Using Color Finder');
end;
end;
end else if FindDTM(walkhelp, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Writeln('using backup walk');
mouse(x, y, 8, 8, true);
FFlag(0);
walktest := True;
swait(100);
if FindSymbol(x, y, 'bank') then
begin
mouse(x, y, 6, 6, True);
FFlag(0);
end;
if not FindSymbol(x, y, 'bank') then
begin
Writeln('Finding Color');
FindColorsSpiralTolerance(MMCx, MMCy, Colorthisme, 2871018, MMX1, MMY1, MMX2, MMY2, 10)
if Length(Colorthisme) = 0 then
begin
Writeln('Where are you? Logging out');
logout;
end;
For b := 0 to High(Colorthisme) do
begin
ColorP := Colorthisme[b];
mouse(ColorP.x, ColorP.y, 6, 6, True);
FFlag(0);
Writeln('Using Color Finder');
end;
end;
end else if (RadialRoadWalk(FindVarrockRoadColor, 45, 135, 50 + random(22), -2, 1)) then
begin
Writeln('Walking to the Bank using radial walk, Hope it works!');
swait(100);
walktest := true;
if FindSymbol(x, y, 'bank') then
begin
mouse(x, y, 6, 6, True);
FFlag(0);
end;
if not FindSymbol(x, y, 'bank') then
begin
Writeln('Finding Color');
FindColorsSpiralTolerance(MMCx, MMCy, Colorthisme, 2871018, MMX1, MMY1, MMX2, MMY2, 10)
if Length(Colorthisme) = 0 then
begin
Writeln('Where are you? Logging out');
logout;
end;
For b := 0 to High(Colorthisme) do
begin
ColorP := Colorthisme[b];
mouse(ColorP.x, ColorP.y, 6, 6, True);
FFlag(0);
Writeln('Using Color Finder');
end;
end;
end else
begin
walktest := False;
Writeln('um where are you? logging out');
end;
if not (walktest) then
begin
Logout;
end;
FreeDTM(walkhere);
FreeDtm(walkhelp);
end;
Procedure cantLightStuck;
begin
makecompass('n');
if RadialRoadWalk(FindVarrockRoadColor, 45, 135, 20 + random(10), -2, 1)then
begin
Writeln('Fixing my position');
end;
if not RadialRoadWalk(FindVarrockRoadColor, 45, 135, 20 + random(10), -2, 1) then
begin
if RadialRoadWalk(FindVarrockRoadColor, 225, 315, 20 + random(10), -2, 1) then
begin
Writeln('Fixing my position');
end else
begin
Writeln('Cant Find Path, Logging out');
logout;
end;
end;
end;
procedure bankwillows;
begin
dtms;
if FindDtm(willow, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mouse(x, y, 8, 8, false);
swait(400);
chooseoption('All');
closebank;
abc := 0;
banktest := true;
end else
begin
closebank;
Writeln('No More logs!');
banktest := false;
end;
freeAllDtms;
end;
procedure banknormals;
begin
dtms;
if FindDtm(normal, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mouse(x, y, 8, 8, false);
swait(400);
chooseoption('All');
closebank;
abc := 0;
banktest := true;
end else
begin
closebank;
Writeln('No More logs!');
banktest := false;
end;
freeallDtms;
end;
procedure bankoaks;
begin
dtms;
if FindDtm(oak, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mouse(x, y, 8, 8, false);
swait(400);
chooseoption('All');
closebank;
abc := 0;
banktest := true;
end else
begin
closebank;
Writeln('No More logs!');
banktest := false;
end;
freeAllDtms;
end;
procedure banking;
begin
if not (LoggedIn) then exit;
MyRandoms;
Writeln('Banking');
repeat
OpenBankFast('vwb');
inc(abc);
FFlag(0);
swait(750);
until ((BankScreen) or (PinScreen) or (abc = 3));
if abc = 3 then
begin
Writeln('couldnt find bank 3 times, logging out.');
logout;
end;
if (PinScreen) then
begin
InPin((Players[CurrentPlayer].Pin));
swait(80);
end;
if (BankScreen) then
begin
Writeln('found da bank! withdrawing logs');
case Lowercase(players[currentplayer].strings[0]) of
'normal': banknormals;
'oak': bankoaks;
'willow': bankwillows;
end;
if not (banktest) then logout;
end;
inc(Burntloads);
inc(TBurntloads);
end;
procedure Burn;
var
s :string;
firehelp, itemburn: integer;
begin
if Not LoggedIn then exit;
wait(1000 + Random(300));
dtms;
itemburn := 2;
If(FindDtm(tindy, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
repeat
if(FindDtm(tindy, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
mouse(x, y, 5, 5, true);
wait(250 + random(100));
lastchatter(s);
If(FindDtm(willow, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
if (Pos('can', s) > 0) or (Pos('ere', s) > 0) then
begin
Wait(250 + Random(250));
Writeln('cant light fire, moving back to main spot');
cantLightStuck;
if(FindDtm(tindy, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
mouse(x, y, 5, 5, true);
wait(250 + random(100));
end;
dec(itemburn);
dec(Burntlogs);
dec(TBurntlogs);
end;
mouseitem(itemburn, true);
safetytest := True;
wait(500 + Random(500));
inc(itemburn);
wait(5000 + random(1000));
end else if (FindDtm(normal, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
if (Pos('can', s) > 0) or (Pos('ere', s) > 0) then
begin
Wait(250 + Random(250));
Writeln('cant light fire, moving back to main spot');
cantLightStuck;
if(FindDtm(tindy, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
mouse(x, y, 5, 5, true);
wait(250 + random(100));
end;
dec(itemburn);
dec(BurntLogs);
dec(TBurntlogs);
end;
mouseitem(itemburn, true);
safetytest := True;
inc(itemburn);
wait(5000 + random(1000));
end else if(FindDtm(oak, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
lastchatter(s);
if (Pos('can', s) > 0) or (Pos('ere', s) > 0) then
begin
Wait(250 + Random(250));
Writeln('cant light fire, moving back to main spot');
cantLightStuck;
if(FindDtm(tindy, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
mouse(x, y, 5, 5, true);
wait(250 + random(100));
end;
dec(itemburn);
dec(Burntlogs);
dec(TBurntlogs);
end;
mouseitem(itemburn, true);
safetytest := True;
inc(itemburn);
wait(5000 + random(1000));
end else
begin
safetytest := False;
end;
end else
begin
safetytest := False;
end;
lastchatter(s);
firehelp := 0;
if (Pos('ttempt', s) > 0) then
begin
repeat
wait(5000 + random(500));
inc(firehelp);
until (Pos('urn', s) > 0) or (firehelp = 4) or not (loggedin);
end;
Antiban;
MyRandoms;
inc(Burntlogs);
inc(TBurntlogs);
until not (safetytest);
end else
begin
Logout;
Writeln('You didnt have a tinderbox...');
end;
freeallDtms;
end;
procedure theburning;
begin
If not (loggedin) then exit;
setangle(true);
SetChat('friends', 1);
makecompass('n');
Banking;
repeat
walktoroad;
Burn;
walktobank;
banking;
until not (LoggedIn);
end;
Procedure MyRandoms;
begin
FindNormalRandoms;
FindInventoryRandoms;
FindnonInventoryRandoms;
Findtalk;
if Pos('tch sp', lowercase(GetTalkingNPCName)) > 0 then ClickContinue(true, true);
end;
Procedure myProgressReport;
begin
Writeln('-------------------Progress Report-------------------');
Writeln('This Player has burnt ' + inttostr(Burntloads) + ' loads');
Writeln('And Has Burnt ' + inttostr(Burntlogs)+ ' ' + Players[CurrentPlayer].Strings[0] + 's');
Writeln('--------------------Total Progress-------------------');
Writeln('You have burnt a total of ' + inttostr(TBurntLoads) + ' loads');
Writeln('And you have burnt a total of ' + inttostr(TBurntlogs) + ' logs');
Writeln('-----------------------------------------------------');
Burntloads := 0;
BurntLogs := 0;
end;
begin
cleardebug;
setupsrl;
ActivateClient;
DeclarePlayers;
logout;
Repeat
Repeat
LoginPlayer;
theburning;
Players[CurrentPlayer].Active := false;
until (not LoggedIn);
myProgressreport;
NextPlayer(Players[CurrentPlayer].Active);
until false;
end.——————————————————
<!– END TEMPLATE: formanswers –>