SCAR Code:
{.Script Info:
# ScriptName = HelperScript
# Author = xxLegitxx
# Description = Helps you out while you train skills.
# Version = 0.11 Alpha
# Date = 19 Jan 07
# Comments = To my knowledge, does not interact with the client AT ALL.
Safe for all accounts. Do not cover up your username. It
checks for NPC chat using your username.
# Updates = 0.11 Alpha - Added DeclarePlayers for randoms and added HP check. Minor bug fixes.
0.10 Alpha - Basic script.
/Script Info}
program HelperScript;
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\fighting.scar}
var
gMinutes, gStartPlayer, gScriptTime, gMark, gMark1, gMark2, gMark3, gMark4, gMark5, gMark6:integer;
const
TellTime = True; //If you want it to tell how long the script has been running.
Fighting = True; //If you are fighting.
HP = True; //If you want to be warned when you have low HP.
HPWarn = 10; //Alert when you have lower than this hp percentage.
Mining = False; //If you are mining.
Woodcutting = False; //If you are wcing.
Fishing = False; //If you are fishing.
Sound = 'C:\WINDOWS\Media\ding.wav'; //Change if you like another sound better.
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := gStartPlayer;
Players[0].Name := 'Zezima';
Players[0].Nick := 'ezi';
end;
procedure IfTellTime;
begin
if(TimeFromMark(gScriptTime) / 60000 > gMinutes) then
begin
gMinutes := gMinutes + 1;
WriteLn(IntToStr(gMinutes) + ' minutes.');
end;
end;
procedure MakeSound;
begin
PlaySound(Sound);
end;
//---------------------
// Based on FawkiDebug
//---------------------
procedure StatusMessage(gStatus:String);
begin
Status(gStatus);
WriteLn(gStatus);
end;
//-----------------
// Based on FTWait
//-----------------
procedure AntiRandomWait(secs:integer);
begin
MarkTime(gMark);
while(Seconds(secs) > TimeFromMark(gMark) + 500) do
begin
if(FindTalk) then MakeSound;
Wait(400 + Random(100));
end;
while(Seconds(secs) > TimeFromMark(gMark)) do Wait(1);
end;
//-----------------------
// Alerts when HP is low
//-----------------------
procedure CheckHP;
begin
if(HP) then
begin
if(GetCurrentTab = 2) then
begin
if(HPPercent <= HPWarn)then
begin
MakeSound;
StatusMessage('WARNING - ' + IntToStr(GetSkillAmount('hitpoints')) + ' HP.');
end;
end;
end;
end;
//--------------------------
// What to do when fighting
//--------------------------
procedure IfFighting;
begin
if(Fighting) then
begin
if(not(FindColorTolerance(x, y, 0, 22, 437, 26, 446, 0))) then
begin
if((TimeFromMark(gMark6) > 10000) or (TimeFromMark(gMark6) = 0)) then
begin
MakeSound;
MarkTime(gMark6);
StatusMessage('Some message.');
end;
end;
if(not(FindColorSpiral(x, y, 65280, 100, 75, 420, 270) or FindColorSpiral(x, y, 255, 100, 75, 420, 270))) then
begin
if((TimeFromMark(gMark1) > 15000) or (TimeFromMark(gMark1) = 0)) then
begin
MakeSound;
MarkTime(gMark1);
StatusMessage('Done fighting.');
end;
end;
end else
if(not(Fighting)) then
begin
if(InFight) then
begin
if((TimeFromMark(gMark2) > 5000) or (TimeFromMark(gMark2) = 0)) then
begin
MakeSound;
MarkTime(gMark2);
StatusMessage('Found a fight.');
end;
end;
end;
end;
//----------------------
// What to do if mining
//----------------------
procedure IfMining;
begin
if(Mining) then
begin
if(not(FindColorTolerance(x, y, 0, 22, 437, 26, 446, 0))) then
begin
if((TimeFromMark(gMark3) > 10000) or (TimeFromMark(gMark3) = 0)) then
begin
MakeSound;
MarkTime(gMark3);
StatusMessage('Some message.');
end;
end;
end;
end;
//----------------------
// What to do if fishing
//----------------------
procedure IfFishing;
begin
if(Fishing) then
begin
if(not(FindColorTolerance(x, y, 0, 22, 437, 26, 446, 0))) then
begin
if((TimeFromMark(gMark4) > 10000) or (TimeFromMark(gMark4) = 0)) then
begin
MakeSound;
MarkTime(gMark4);
StatusMessage('Some message.');
end;
end;
end;
end;
//---------------------------
// What to do if woodcutting
//---------------------------
procedure IfWoodcutting;
begin
if(Woodcutting) then
begin
if(not(FindColorTolerance(x, y, 0, 22, 437, 26, 446, 0))) then
begin
if((TimeFromMark(gMark5) > 10000) or (TimeFromMark(gMark5) = 0)) then
begin
MakeSound;
MarkTime(gMark5);
StatusMessage('Some message.');
end;
end;
end;
end;
begin
MarkTime(gScriptTime);
SetupSRL;
DeclarePlayers;
ActivateClient;
ClearDebug;
while(LoggedIn) do
begin
CheckHP;
IfFighting;
IfMining;
IfWoodcutting;
IfFishing;
IfTellTime;
AntiRandomWait(1);
if(not(LoggedIn)) then AntiRandomWait(10);
end;
MakeSound;
end.