SCAR Code:
program Mech_Quest_Fighter;
{.Include SRL/SRL.Scar}
////////////////////////////////////////////////////////////////////////////////
{Instructions}
{1. Start Logged In (In MechQuest), At Soluna City. }
{2. Set Up Const. }
{3. Drag The Cross-Hair Into The MechQuest Window. }
{4. Hit Run. }
{5. Enjoy. }
{Instructions}
////////////////////////////////////////////////////////////////////////////////
{ F E A T U R E S }
{1. Perfect Fighting, Uses Most Combat Weapons (Arms + Back Shoulder + Head) }
{2. Perect Repairing When Needed. }
{3. Clicks All Buttons (Level Up, Ok, And Done Buttons). }
{4. Does Not Get Stuck. }
{5. Earns Credits & Exp. }
{ F E A T U R E S }
////////////////////////////////////////////////////////////////////////////////
{PROGGYS} {
FIRST VERSION.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mech Quest Fighter ~ By U L T R A.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran For: 10 Hours, 54 Minutes and 18 Seconds.
Fights: 1146.
Wins: 1008.
Loses: 138.
Level Ups: 2.
Repairs: 626.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I Got 90k Credits From That Proggy!
////////////////////////////////////////////////////////////////////////////////
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mech Quest Fighter ~ Version 1.5 ~ By U L T R A.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ran For: 8 Hours, 39 Minutes and 52 Seconds.
Fights: 946.
Wins: 936.
Loses: 10.
Level Ups: 2.
Repairs: 846.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100k Credits!!! }
{PROGGYS}
////////////////////////////////////////////////////////////////////////////////
{ U L T R A Presents To You...
_____ .__ ________ __
/ \ ____ ____ | |__ \_____ \ __ __ ____ _______/ |_
/ \ / \_/ __ \_/ ___\| | \ / / \ \| | \_/ __ \ / ___/\ __\
/ Y \ ___/\ \___| Y \/ \_/. \ | /\ ___/ \___ \ | |
\____|__ /\___ >\___ >___| /\_____\ \_/____/ \___ >____ > |__|
\/ \/ \/ \/ \__> \/ \/
___________.__ .__ __
\_ _____/|__| ____ | |___/ |_ ___________
| __) | |/ ___\| | \ __\/ __ \_ __ \
| \ | / /_/ > Y \ | \ ___/| | \/
\___ / |__\___ /|___| /__| \___ >__|
\/ /_____/ \/ \/
}
const
DoFights = 2000;//How Many Times To Battle.
var
TotalFights, Repairs, TotalWins, TotalLoses, TotalLevelUps : Integer;
VN : String;
function FindMQColor(MQColor, MQX, MQY : Integer) : Boolean;
var
MQFoundColor : Integer;
begin
MQFoundColor := GetColor(MQX, MQY);
if(MQColor = MQFoundCOlor)then
begin
Result:=True;
end else
Result:=False;
end;
function WLLUScreen : Boolean;
begin
if(FindMQColor(8311789, 363, 263))and(FindMQColor(16777215, 468, 226))or(FindMQColor(255, 370, 199))or(FindMQColor(13421772, 248, 98))then
begin
Result:=True;
end else
Result:=False;
end;
function Win : Boolean;
begin
if(FindMQColor(8311789, 363, 263))and(FindMQColor(16777215, 468, 226))then
begin
TotalWins := TotalWins + 1;
ReportVars[2] := ReportVars[2] + 1;
Result:=True;
end else
Result:=False;
end;
function Lose : Boolean;
begin
if(FindMQColor(255, 370, 199))then
begin
TotalLoses := TotalLoses + 1;
ReportVars[3] := ReportVars[3] + 1;
Result:=True;
end else
Result:=False;
end;
function LevelUp : Boolean;
begin
if(FindMQColor(13421772, 248, 98))then
begin
Result:=True;
end else
Result:=False;
end;
procedure WaitUntilFindMQColor(MQColor, MQX, MQY : Integer);
begin
repeat
Wait(100);
until(FindMQColor(MQColor, MQX, MQY))or(WLLUScreen);
end;
function InCity : Boolean;
begin
Result:=(FindMQColor(255, 115, 241));
end;
procedure Heal;
begin
if(not(FindMQColor(255, 220, 497)))then
begin
Mouse(352, 433, 0, 0, True);
Repairs := Repairs + 1;
ReportVars[1] := ReportVars[1] + 1;
end;
end;
procedure Battle;
begin
if(InCity)then
begin
Mouse(75, 432, 0, 0, True);
repeat
Wait(100);
until(FindMQColor(921207, 360, 429));
end;
end;
function AK1 : Boolean;
begin
if(FindMQColor(1184311, 316, 263))then
begin
Mouse(316, 263, 0, 0, True);
Wait(100);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1777065, 360, 421);
Result:=True;
end else
Result:=False;
end;
function AK2 : Boolean;
begin
if(FindMQColor(921225, 440, 290))then
begin
Mouse(440, 290, 0, 0, True);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1777065, 360, 421);
Result:=True;
end else
Result:=False;
end;
function AK3 : Boolean;
begin
if(FindMQColor(1711278, 434, 337))then
begin
Mouse(434, 337, 0, 0, True);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1777065, 360, 421);
Result:=True;
end else
Result:=False;
end;
function AK4 : Boolean;
begin
if(FindMQColor(1711283, 436, 392))then
begin
Mouse(436, 392, 0, 0, True);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1777065, 360, 421);
Result:=True;
end else
Result:=False;
end;
function AK5 : Boolean;
begin
if(FindMQColor(2106018, 411, 307))then
begin
Mouse(411, 307, 0, 0, True);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1777065, 360, 421);
Result:=True;
end else
Result:=False;
end;
procedure Attack;
begin
if(AK1)or(AK2)or(AK3)or(AK4)or(AK5)then
begin
Wait(1);
end else
if(not(AK1))and(not(AK2))and(not(AK3))and(not(AK4))and(not(AK5))then
begin
Mouse(360, 429, 0, 0, True);
Wait(100);
MMouse(578, 145, 0, 0);
WaitUntilFindMQColor(1842596, 359, 422);
end;
end;
procedure Fight;
begin
Battle;
begin
repeat
Attack;
until(Win)or(Lose)or(LevelUp);
Mouse(410, 340, 0, 0, True);
Wait(4000);
if(LevelUp)then
begin
TotalLevelUps := TotalLevelUps + 1;
ReportVars[4] := ReportVars[4]+ 1;
end;
Mouse(375, 419, 0, 0, True);
Wait(2000);
Mouse(416, 400, 0, 0, True);
repeat
Wait(100);
until(InCity);
Heal;
TotalFights := TotalFights + 1;
ReportVars[0] := ReportVars[0] + 1;
end;
end;
procedure Report;
begin
ClearDebug;
begin
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('Mech Quest Fighter ~ Version ' + VN + ' ~ By U L T R A.');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('Ran For: ' + TimeRunning + '.');
WriteLn('Fights: ' + IntToStr(TotalFights) + '.');
WriteLn('Wins: ' + IntToStr(TotalWins) + '.');
WriteLn('Loses: ' + IntToStr(TotalLoses) + '.');
WriteLn('Level Ups: ' + IntToStr(TotalLevelUps) + '.');
WriteLn('Repairs: ' + IntToStr(Repairs) + '.');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
Disguise('Total Fights: ' + IntToStr(TotalFights) + ' | Loses: ' + IntToStr(TotalLoses) + ' | Wins: ' + IntToStr(TotalWins) + ' | Level Ups: ' + IntToStr(TotalLevelUps) + ' | Repairs: ' + IntToStr(Repairs));
end;
end;
begin
SetUpSRL;
TotalFights := 0;
Repairs := 0;
TotalWins := 0;
TotalLoses := 0;
TotalLevelUps := 0;
VN := '1.7';
MouseSpeed := 50 + random(50);
Heal;
repeat
MouseSpeed := 20 + random(30);
Fight;
Report;
until(TotalFights >= DoFights);
end.
{Version Log}
{Version 1.0}
{First version of the script, alot of bugs are still not found.}
{Version 1.1}
{Some bugs found and fixed, added more features, now clicks most of the buttons
to prevent getting stuck. Some bugs are still not found.}
{Version 1.2}
{Clicks all of the buttons, now barely gets stuck at all. Very few bugs left,
some co-ordinates are wrong yet that is not fixed.}
{Version 1.3}
{All co-ordinates are perfect, now it repairs your mecha when your HP is low.}
{Version 1.4}
{Now, if all of the weapons are still recharging it will skip the turn.}
{Version 1.5}
{It will now tell you how many level-ups you got, how many times you lost/won
and how many fights in total, also some bugs fixed. Very-very important
release.}
{Version 1.6}
{Some colors were changed due to the new update at mechquest, some co-ordinates
were off, fixed everything.}
{Version 1.7}
{Found a tiny bug, fixed it. Added a signature thing at the top of the script. }