maglor
2007-05-26 10:31:34
<!– BEGIN TEMPLATE: formanswers –>
maglor - SRL Member Application Form
maglor
What is the meaning to life?
SCAR
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Visual Basic, HTML
Other Communitys
Runescapology, RSUnlocked
How Long have You Played Runescape
3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I'm learning to use SCAR, and I've become quite good at it (I think). I've been playing runescape for a long time now, and it was always me that needed everything, and I forgot about the others. Now my new mission is to help people, by making their Runescape-lives easier… That why I've written this script. Try it, it works smooth.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
maglor - SRL Member Application Form
maglor
What is the meaning to life?
SCAR
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Visual Basic, HTML
Other Communitys
Runescapology, RSUnlocked
How Long have You Played Runescape
3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I'm learning to use SCAR, and I've become quite good at it (I think). I've been playing runescape for a long time now, and it was always me that needed everything, and I forgot about the others. Now my new mission is to help people, by making their Runescape-lives easier… That why I've written this script. Try it, it works smooth.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program PowerCutter;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\Skill\Woodcutting.SCAR}
{
___ ___ _
| \/ | | |
| | __ _ __ _| | ___ _ __
| |\/| |/ _' |/ _' | | / _ \| '_ )
| | | | (_| | (_| | |_| (_) | |
|__| |__|\__,_|\__, |____\___/|_|
(____|
}
//////////////////////////////
// //
// MAGLOR's POWERCUTTER //
// //
// Can be modified for //
// personal use. Do not //
// distribute my script //
// and claiming it is //
// yours! //
// //
// Thank you //
// //
//////////////////////////////
Var
LoadNumber, MaxLogsPerLoad, : Integer;
TotalXP, CurrentXP, Axes, DropStartPlace : Integer;
Tol, TotalLogs, Cutting, FindTreeTries, StartXP : Integer;
EndXP, NoAxezzz : Integer;
TreeNameX : String;
Const
//////////////////////////////
// Setup //
//////////////////////////////
//--------------------------//
//--Loads before switching--//
//--------------------------//
Loads = 10;
//--------------------------//
//Time To Wait Between Trees//
//--------------------------//
WaitTime = 10; // In seconds
//--------------------------//
//---------Treecolor--------//
//--------------------------//
TreeColor1 = 1863784;
TreeColor2 = 2908240;
TreeColor3 = 798760;
TreeColor4 = 1464392;
//--------------------------//
//----------Players---------//
//--------------------------//
Procedure DeclarePlayers;
Begin
Status('Loading Players')
HowManyPlayers := 5;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;
Players[0].Name := '' ; // Password
Players[0].Pass := '' ; //Username
Players[0].Nick := ''; // 2-4 letters of username
Players[0].String1 := ''; // Tree name.
Players[0].String2 := '0' ; // How many axes in inventory (Not more than 8)
Players[0].Active := True;
Players[1].Name := '' ; // Password
Players[1].Pass := '' ; //Username
Players[1].Nick := ''; // 2-4 letters of username
Players[1].String1 := ''; // Tree name. Tree, Oak, or Willow
Players[1].String2 := '0' ; // How many axes in inventory (Not more than 8)
Players[1].Active := True;
Players[2].Name := '' ; // Password
Players[2].Pass := '' ; //Username
Players[2].Nick := ''; // 2-4 letters of username
Players[2].String1 := ''; // Tree name. Tree, Oak, or Willow
Players[2].String2 := '0' ; // How many axes in inventory (Not more than 8)
Players[2].Active := True;
Players[3].Name := '' ; // Password
Players[3].Pass := '' ; //Username
Players[3].Nick := ''; // 2-4 letters of username
Players[3].String1 := ''; // Tree name. Tree, Oak, or Willow
Players[3].String2 := '0' ; // How many axes in inventory (Not more than 8)
Players[3].Active := True;
Players[4].Name := '' ; // Password
Players[4].Pass := '' ; //Username
Players[4].Nick := ''; // 2-4 letters of username
Players[4].String1 := ''; // Tree name. Tree, Oak, or Willow
Players[4].String2 := '0' ; // How many axes in inventory (Not more than 8)
Players[4].Active := True;
//////////////////////////////
// End Setup //
//////////////////////////////
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
End;
Procedure SetUpVariables;
Begin
Case (LowerCase(Players[CurrentPlayer].String1)) of
'tree' : TreeNameX := 'Tree';
'oak' : TreeNameX := 'Oak';
'willow' : TreeNameX := 'Willow';
'maple' : TreeNameX := 'Maple';
'mahogany' : TreeNameX := 'Mahogany';
'yew' : TreeNameX := 'Yew';
'magic' : TreeNameX := 'Magic';
End;
Case (LowerCase(Players[CurrentPlayer].String2)) of
'0' : Axes := 0;
'1' : Axes := 1;
'2' : Axes := 2;
'3' : Axes := 3;
'4' : Axes := 4;
'5' : Axes := 5;
'6' : Axes := 6;
'7' : Axes := 7;
'8' : Axes := 8;
End;
TotalLogs := 0
TotalXP := 0
MaxLogsPerLoad := 28 - Axes
NoAxezzz := 0
End;
Procedure BoredToDeath;
Begin
x := 587
y := 228;
MMouse(x, y, 1, 1);
Wait(300+Random(200));
Mouse(x, y, 1, 1, False);
Wait(300+Random(200));
ChooseOption(x, y, 'Examine');
Wait(800+Random(200));
End;
Procedure DoNotBanMe;
Begin
Case Random(5) Of
0: Begin
HoverSkill('Woodcutting', false);
wait(2000+random(1000));
GameTab(4);
End;
1: Begin
GameTab(1 + Random(12));
wait(1000+random(1000));
GameTab(4);
End;
2: PickUpMouse;
3: MouseBox(MSX1,MMY1,MMX2,MMY2,3);
4: BoredToDeath;
End;
End;
Procedure LoginFirstPlayer;
Begin
Status('Switching Players')
WriteLn('');
WriteLn('Logging in player:');
LoginPLayer;
Gametab(5);
GameTab(4);
Makecompass('n');
HighestAngle;
GetAllLevels;
StartXP := GetXp('Woodcutting')
DropStartPlace := Axes + 1
LoadNumber := 1
CurrentXP := 0
NoAxezzz := 0;
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Off', 3);
End;
Procedure LoginNextPlayerFalse;
Begin
Status('Switching Players')
WriteLn('');
WriteLn('Logging in player:');
NextPlayer(False);
Gametab(5);
GameTab(4);
Makecompass('n');
HighestAngle;
GetAllLevels;
StartXP := GetXp('Woodcutting')
DropStartPlace := Axes + 1
LoadNumber := 1
CurrentXP := 0
NoAxezzz := 0;
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Off', 3);
End;
Procedure LoginNextPlayerTrue;
Begin
Status('Switching Players')
WriteLn('');
WriteLn('Logging in player:');
NextPlayer(True);
Gametab(5);
GameTab(4);
Makecompass('n');
HighestAngle;
GetAllLevels;
StartXP := GetXp('Woodcutting');
DropStartPlace := Axes + 1;
LoadNumber := 1;
CurrentXP := 0;
NoAxezzz := 0;
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Off', 3);
End;
Procedure PlayersLoc;
Var
I : Integer;
Begin
For I := 0 To HowManyPlayers - 1 Do
Begin
Players[I].Loc := 'Tree''s'
End;
End;
Procedure PlayerReport; // By Wizzup, but edited
Var
Active: String;
I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'T' Else Active := 'F';
WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
Active+ +'; Loc = '+Players[I].Loc+'; Loads: '+IntToStr(Players[I].Integer2)
+'; WC lvl:'+IntToStr(Players[i].Level[20]));
End;
End;
Procedure ProgressReport;
Begin
Status('')
WriteLn('');
WriteLn('[ Maglor''s Powercutter Progress ]');
WriteLn('');
WriteLn('-- Has been running for '+TimeRunning);
WriteLn('-- Logs Cut: '+IntToStr(TotalLogs));
WriteLn('-- Total XP gained: '+IntToStr(TotalXP));
WriteLn('');
PlayerReport;
WriteLn('');
WriteLn('[ Current Player Report ]');
WriteLn('');
WriteLn('-- Current level: ' + IntToStr(Players[CurrentPlayer].Level[20]));
WriteLn('-- XP gained: '+IntToStr(Players[CurrentPlayer].Integer1));
WriteLn('');
End;
Function FindFastRandoms: Boolean; //By WT-Fakawi.
Var
i: Integer;
Begin
For i := 1 To 9 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;
9: If FindFight Then
Begin
RunAwayDirection('n');
Wait(10000+random(2000));
RunBack;
End;
End;
wait(1);
End;
End;
Procedure FindAllRandoms;
Begin
FindFastRandoms;
FindNormalRandoms;
End;
Procedure FindTreeX;
Var
iX, iY, AntiBan : Integer;
FullTreeName1, FullTreeName2 : String;
Begin
Status('Finding Tree');
iX := Random(515);
iY := Random(300);
MMouse (iX, iY, 0, 0);
Tol := 5
FullTreeName1 := 'down '+TreeNameX
FullTreeName2 := 'hop down '+TreeNameX
FindTreeTries := 0
Repeat
Status('Finding Tree''s')
FindAllRandoms;
If (FindColorSpiralTolerance(iX, iY, TreeColor1, msx1, msy1, msx2, msy2, Tol)) Or
(FindColorSpiralTolerance(iX, iY, TreeColor2, msx1, msy1, msx2, msy2, Tol)) Or
(FindColorSpiralTolerance(iX, iY, TreeColor3, msx1, msy1, msx2, msy2, Tol)) Or
(FindColorSpiralTolerance(iX, iY, TreeColor4, msx1, msy1, msx2, msy2, Tol)) Then
MMouse(iX, iY, 1, 1);
Wait(100+Random(200));
If (Not (IsUpText(FullTreeName1))) Or (Not (IsUpText(FullTreeName2))) Then
Begin
FindTreeTries := FindTreeTries + 1
Wait(100+Random(200));
iX := Random(515);
iY := Random(300);
MMouse(iX, iY, 1, 1);
End;
If (FindTreeTries = 2) Then
Begin
WriteLn('Couldn''t Find Tree... Increasing Tolerance');
Tol := Tol + 1;
iX := Random(515);
iY := Random(300);
MMouse(iX, iY, 1, 1);
End;
FindAllRandoms;
Until (IsUpText(FullTreeName1)) Or (IsUpText(FullTreeName2)) Or (Tol = 20)
Begin
If (Tol = 20) Then
Begin
WriteLn('Didn''t find tree... Switching players')
Players[CurrentPlayer].Loc := 'No Tree';
LoginNextPlayerFalse;
End;
If (IsUpText(FullTreeName1)) Or (IsUpText(FullTreeName2)) Then
Begin
WriteLn('Found Tree! Started Cutting')
Status('Cutting')
Mouse(iX, iY, 0, 0, true);
Wait (200+Random(100));
AntiBan := 0;
Cutting := 0;
Repeat
AntiBan := AntiBan + 1
Wait (1000+Random(200));
FindAllRandoms;
If (FindBlackChatMessage('ou do not have an ax') = True) Then
Begin
NoAxezzz := 1;
End;
If (AntiBan = (2+Random(5))) Then DoNotBanMe;
Cutting := Cutting + 1
Until (Cutting = WaitTime)
End;
End;
End;
Procedure SetupMacro;
Begin
Status('Setting up script')
ClearDebug;
WriteLn('Setting up SRL');
SetupSRL;
WriteLn('Setting Up Script');
DeclarePLayers;
PlayersLoc;
SetUpVariables;
End;
Begin
ActivateClient;
SetupMacro;
LoginFirstPlayer;
Repeat
Repeat
FindTreeX;
If (NoAxezzz = 1) Then
Begin
WriteLn('No more useable axes left, switching players')
LoginNextPlayerFalse;
End;
If InventoryFull = True Then
Begin
DropTo (DropStartPlace, 28);
GetAllLevels;
EndXP := GetXp('Woodcutting');
TotalLogs := TotalLogs + MaxLogsPerLoad;
TotalXP := TotalXP + (EndXP - StartXP);
Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + (StartXP - EndXP);
GameTab(4);
ProgressReport;
LoadNumber := LoadNumber + 1;
Players[CurrentPlayer].Integer2 := Players[CurrentPlayer].Integer2 + 1
StartXP := GetXP('Woodcutting');
GameTab(4);
End;
Until (LoadNumber = Loads)
If (LoadNumber = Loads) Then
Begin
ProgressReport;
LoginNextPlayerTrue;
End;
Until (False);
End.——————————————————
<!– END TEMPLATE: formanswers –>