Scarf4ce
2007-06-06 19:46:51
<!– BEGIN TEMPLATE: formanswers –>
Scarf4ce - SRL Member Application Form
Scarf4ce
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
No
Other Communitys
Sythe
How Long have You Played Runescape
1.5 Years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I've been playing runescape since December '06 and discovered my first cheating site Sythe last June. At first it was just visiting and reading the forums and then I saw the Scar section and got interested in that. After trying out some scripts I became interested in scripting with Scar but failed to learn how to script last summer and gave up. I recently found out that you don't need to be a member to access these forums (Srl-Fourms) and this got me wanting to learn again since I saw all the information available on this site. I started writing my script a few weeks ago and with the help of this community I have learned the basics of scripting and feel I have made a decent power chopper which is attached below. I hope to make more complex scripts as time goes along and will be with this community for a while. Thanks for considering my application.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
For this script, you will need Scar v3.01 and SRL 3.6 for the script to compile and function correctly.
Features:
Anti-Ban
Anti-Randoms
Failsafes
Ent Finder - Thanks to Yohojo for this, works great!
My Power Chopper:
——————————————————
<!– END TEMPLATE: formanswers –>
Scarf4ce - SRL Member Application Form
Scarf4ce
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
No
Other Communitys
Sythe
How Long have You Played Runescape
1.5 Years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I've been playing runescape since December '06 and discovered my first cheating site Sythe last June. At first it was just visiting and reading the forums and then I saw the Scar section and got interested in that. After trying out some scripts I became interested in scripting with Scar but failed to learn how to script last summer and gave up. I recently found out that you don't need to be a member to access these forums (Srl-Fourms) and this got me wanting to learn again since I saw all the information available on this site. I started writing my script a few weeks ago and with the help of this community I have learned the basics of scripting and feel I have made a decent power chopper which is attached below. I hope to make more complex scripts as time goes along and will be with this community for a while. Thanks for considering my application.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
For this script, you will need Scar v3.01 and SRL 3.6 for the script to compile and function correctly.
Features:
Anti-Ban
Anti-Randoms
Failsafes
Ent Finder - Thanks to Yohojo for this, works great!
My Power Chopper:
{
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// \\
|| Scarf4ce's Power Willow Chopper ||
||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||
||1) Declare your players. ||
||2) Drag the cross hairs onto the RS screen ||
||3) Select your Tree color and Tree type ||
||4)Keep your axe in the first inv slot ||
||4) Hit the play button and watch your lvl ||
|| climb :P. ||
||5) Post your progress report =]. ||
|| ||
||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||
|| Thanks to ||
||~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~||
|| - Yohojo for letting me use his Ent ||
|| finding procedure ||
|| - SRL community for helping me fix bugs ||
\\ & errors //
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
program Scarf4cePWC;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\Skill\Woodcutting.SCAR}
const
RunDirec = 'W'; //Run away direction from fights, ents, etc.
AmountofLoads = 5; //How many loads per player
Treecolor = 1982520; // Color of the tree you're chopping
Treename = 'Willow'; // Name of the tree you're chopping
var
Loads, LogsCut: Integer;
Log, BrokenAxe, AxeHandle, RegularAxe: Integer;
procedure DeclarePlayers;
begin
Status('Loading Players')
HowManyPlayers := 6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Example'; // Runescape username
Players[0].Pass := 'Password'; // Runescape password
Players[0].Nick := 'xam'; // 2-4 letters of your Runescape username (No capitals or spaces)
Players[0].Active := True; //Are you using this player?
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := False;
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := False;
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active := False;
Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := '';
Players[4].Active := False;
Players[5].Name := '';
Players[5].Pass := '';
Players[5].Nick := '';
Players[5].Active := False;
Players[6].Name := '';
Players[6].Pass := '';
Players[6].Nick := '';
Players[6].Active := False;
Players[7].Name := '';
Players[7].Pass := '';
Players[7].Nick := '';
Players[7].Active := False;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
==============================
// \\
|| DTM'S ||
\\ //
===============================
}
procedure LoadDTMs;
begin
Log := DTMFromString('78DA632C666260E0646440067921460CFF813' +
'448F43F103066314179C880118904D2354035FF19F0AB2905AA11' +
'22604E23500D0F0135C94035DCF8D50000507909F5');
BrokenAxe := DTMFromString('78DA633CCAC4C090C1C8800C9A127919FE036' +
'990E87F2060BC0C54938CAA06220B2381F445A09A04026A8E01D5' +
'C41050B31FA8A698809AB384CD0100CBBD0D20');
AxeHandle := DTMFromString('78DA637CCFC4C0E0C6C8800CCA227819FE036' +
'990E87F2060FC06546389AA06220B2381F473A09A00026ADE00D5' +
'F81350F316A8C685809A97403541F8D50000D0090D3C');
RegularAxe := DTMFromString('78DA637461626060676440060DF1BC0CFF813' +
'448F43F10300601D5FC6740038C482490F604AAF94D408D13500D' +
'2B237E35F640358204D4F813618E1F50CD1F02EE0906AA61C26F0' +
'E0099720B7E');
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ =============================
// \\
|| Anti Ban ||
\\ //
============================= }
procedure MyAntiBan;
begin
LeaveScreenEvery(6 + Random(4));
RotateEvery(10 + Random(10));
RandomRClickEvery(2 + Random(5))
if (not (LoggedIn)) then
Exit;
case Random(11) of
0: AntiBan;
1: begin
HoverSkill('Woodcutting', false);
Wait(992 + random(213));
GameTab(4);
end;
2: begin
HoverSkill('Attack', false);
Wait(892 + random(113));
GameTab(4);
end;
3: begin
GameTab(5)
Wait(889 + random(852));
GameTab(4)
end;
4: PickUpMouse;
5: RandomChatEvery(5 + Random(4));
6: begin
case random(5) of
0: begin
TypeSend('Woodcutting lvls ppl?')
Wait(2458 + random(1438));
TypeSend('Mines 48');
end;
1: TypeSend('Yay only 200k more exp to go... -.-');
2: TypeSend('Omg Woodcutting is so lame and boring..');
3: TypeSend('Boredd..');
4: TypeSend('Well only 20 more levels to go..');
5: begin
TypeSend('Cant wait till im lvl 70 wc');
Wait(2438 + random(1589));
TypeSend('Cutting yews is so much faster =]');
end;
6: TypeSend('These guys are autoers.. Or are they? X[)');
7: begin
TypeSend('Well you ppl are lame..');
Wait(1135 + random(895));
TypeSend('Jk =P');
end;
8: TypeSend('Hmm.. am i bored, or am i bored? =[]');
9: begin
TypeSend('Anyone see family guy last night?')
Wait(1184 + random(854));
TypeSend('Well i didnt X[) lol');
end;
end;
end;
7: begin
HoverSkill('Mining', false);
Wait(792 + random(121));
GameTab(4);
end;
8: begin
GameTab(1);
Wait(500 + random(98))
GameTab(2);
Wait(698 + random(87))
GameTab(3);
Wait(410 + random(110))
GameTab(4);
Wait(619 + random(54))
GameTab(5);
Wait(742 + random(67))
GameTab(6);
Wait(355 + random(69))
GameTab(4);
end;
9: MMouse(Random(MSX2), Random(MSY2), 0, 0);
10: HoverSkill('random', false);
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ ==================================
// \\
|| Ent ||
|| ||
|| Thanks to Yohojo for this Procedure ||
\\ //
================================== }
procedure EntFinder;
var
EX, EY: integer;
FX, FY: integer;
SafeEntWait: LongInt;
begin
Status('Checking For Ent')
if (FindObjMultiText(EX, EY, Treename, Treename, Treename, Treecolor, 2)) then
begin
MMouse(EX, EY, 0, 0)
if FindColorTolerance(FX, FY, 55769, 85, 15, 115, 15, 20) then
begin
Status('Ent Found');
MouseFindFlag(645, 83, 2, 2);
MarkTime(SafeEntWait)
repeat
FTWait(5)
FindNormalRandoms;
if not (LoggedIn) then
NextPlayer(False);
until TimeFromMark(SafeEntWait) > 29000 + Random(10000)
EntsAvoided := EntsAvoided + 1
end;
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
==============================
// \\
|| Anti-Randoms ||
\\ //
==============================
}
function FindFastRandoms: Boolean; //Function by WT-Fakawi
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:
begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7:
begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;
procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
Wait(20)
FindTalk;
Wait(20)
EntFinder;
if (FindFight) then
begin
RunAwayDirection(RunDirec);
Wait(8000 + Random(2000));
RunBack;
end;
Wait(20)
FindTalk;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ =============================
// \\
|| Axe Stuff ||
\\ //
============================= }
procedure AxeHeadColors;
begin
Wait(300)
HighestAngle;
MakeCompass('N');
GameTab(4)
FindAxeHeadColor;
end;
procedure IsAxeBroken;
var
FX, FY, TX, TY: Integer;
begin
GameTab(4)
Wait(450 + random(130))
if (FindDTM(RegularAxe, FX, FY, MIX1, MIY1, MIX2, MIY2)) and
(not(FindDTM(BrokenAxe, TX, TY, MIX1, MIY1, MIX2, MIY2))) then
begin
Exit;
end;
begin
if (FindDTM(BrokenAxe, TX, TY, MIX1, MIY1, MIX2, MIY2)) and
(not(FindDTM(RegularAxe, FX, FY, MIX1, MIY1, MIX2, MIY2))) then
begin
Writeln('Axe Broken, Switiching Players.')
NextPlayer(False)
end;
end;
end;
procedure FindAxeHead;
begin
Status('Attempting to find the Axe Head')
Findhead;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FindObjMultiText2(var cx, cy: Integer; Ut1, UT2, UT3: string; color,
tolerance: Integer): Boolean;
var
x, y, a, c, i, x1, y1, x2, y2: Integer;
begin
Color := Color;
if (FindColorTolerance(x, y, color, msx1, msy1, msx2, msy2, tolerance)) then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if (not (Loggedin)) then
Break;
a := a + 1;
if (a = 1) or (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end
else if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end
else if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end
else if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
if (FindColorTolerance(x, y, Color, x1, y1, x2, y2, tolerance)) then
begin
MMouse(x, y, 0, 0)
cx := x;
cy := y;
if (IsUpTextMulti(UT1, UT2, UT3)) then
begin
Result := True;
Break;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ =============================
// \\
|| Tree Chopping ||
\\ //
============================= }
Procedure ChopTree;
var
TimeMarker: Integer;
TriesToFindTree: Integer;
TreeFound: Boolean;
Result1 : Boolean;
begin
If InvFull then
Exit;
If not LoggedIn then
Exit;
AxeHeadColors;
Repeat
Result1 := False;
Wait(53+Random(47));
IsAxeBroken;
Wait(89+Random(24));
EntFinder;
Wait(48+Random(23));
if FindObjMultiText2(X, Y, Treename, Treename, Treename, TreeColor, 12) then
begin
Wait(20 + Random(20))
Mouse(x, y, 2, 2, True);
Wait(21+Random(23))
FindRandoms;
Wait(24+Random(24))
FindAxeHead;
Wait(32+Random(21))
MyAntiBan;
Wait(22+Random(27))
TreeFound := True;
end Else writeln (' Did not find tree color ')
Wait(123+random(109));
if treefound then
begin
TriesToFindTree := 0;
MarkTime (TimeMarker);
Repeat
Wait(232+random(100))
FindRandoms;
EntFinder;
Until (InvFull) or (TimeFromMark (TimeMarker) > 10000) // Add here time to wait till clicking tree again
end Else
begin
Wait(100+random(100)); // Waits for tree to come back
TriesToFindTree := TriesToFindTree + 1;
end;
until (InvFull) or (TriesToFindTree > 8);
if(TriesToFindTree > 8)then
begin
Writeln('Took too long to find tree! Logging out');
Logout;
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ ==============================
// \\
|| Log Dropping ||
\\ //
============================== }
procedure DroppingLogs;
var
bx, by: Integer;
begin
if (InvFull) then
begin
GameTab(4);
repeat
if (FindDTM(Log, bx, by, MIX1, MIY1, MIX2, MIY2)) then
Mouse(bx, by, 4, 4, false)
ChooseOption(bx, by, 'Drop')
Wait(450+Random(120))
LogsCut := LogsCut + 1;
until (not (FindDTM(Log, bx, by, MIX1, MIY1, MIX2, MIY2)))
Loads := Loads + 1;
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ ==============================
// \\
|| Progress Report ||
\\ //
============================== }
procedure ProgressReport;
begin
ClearDebug;
Writeln('<<_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_>>')
Writeln('<< Scarf4ce Place/Tree Power Cutter ')
Writeln('<< Worked For: ' + TimeRunning)
Writeln('<< Chopped: ' + IntToStr(LogsCut) + ' Logs ')
Writeln('<< Did: ' + IntToStr(Loads) + ' Loads ')
Writeln('<< Thanks for using my script ')
Writeln('<<_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_>>')
SRLRandomsReport;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ ==============================
// \\
|| Main Setup ||
\\ //
============================== }
procedure Setup;
begin
SetupSRL;
DeclarePlayers;
LoadDTMs;
ActivateClient;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin
Wait(2000)
Setup;
begin
if (not (LoggedIn)) then Loginplayer;
HighestAngle;
MakeCompass('N')
repeat
Wait(2000 + Random(1000))
DisguiseScar('[' + IntToStr(Loads) + '/' +IntToStr(AmountofLoads) + '] ' +(Players[CurrentPlayer].name) + '')
ChopTree;
DroppingLogs;
ProgressReport;
if (Loads = AmountofLoads) then
begin
HighestAngle;
MakeCompass('N');
LogOut;
NextPlayer(True);
Loads := 0
end;
until (false)
end;
end.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
——————————————————
<!– END TEMPLATE: formanswers –>