SCAR Code:
program MindCrafter;
{.include srl/srl.scar}
var
RuneEss, TheRoadcolor, MindAltarRoad, MaxTolerance, I, PortalSmall, FallyRoad : integer;
FallyModderRoad, Altar, DTMArea, DTMTol, BergColor, Braun, Dx, Dy : integer;
Active: string;
var AltarMP: TDTMPointDef;
var AltarSP: array[0..2] of TDTMPointDef;
var AltarDTMSkel: TDTM;
//---------------
const
AltarColorr= 1782323; {<------ NVM!}
//---------------
Procedure DeclarePlayers;
Begin;
HowManyPlayers := 2;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;
Players[0].Loc := 'Bank';
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=True;
Players[1].Loc := 'Bank';
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
function FindFastRandoms: Boolean; //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 Welcome;
begin
WriteLn(' || || [] ');
WriteLn(' || || ');
WriteLn(' ||---|| || Enjoy it! ');
WriteLn(' ||---|| || Script Name: Mind Crafter! ');
WriteLn(' || || || // Made By: Rikjess ');
end;
procedure FindRandoms;
begin
FindFastRandoms;
FindNormalRandoms;
end;
procedure LoadDDTM; //dont work atm
begin;
Begin
AltarMP.x:=645;
AltarMP.y:=84;
AltarMP.areasize:=1;
AltarMP.areashape:=0;
AltarMP.color:=0;
AltarMP.tolerance:=255;
AltarSP[0].x:=664;
AltarSP[0].y:=47;
AltarSP[0].areasize:=DTMArea;
AltarSP[0].areashape:=0;
AltarSP[0].color:=0;
AltarSP[0].tolerance:=DTMTol;
AltarSP[1].x:=598;
AltarSP[1].y:=44;
AltarSP[1].areasize:=DTMArea;
AltarSP[1].areashape:=0;
AltarSP[1].color:=0;
AltarSP[1].tolerance:=DTMTol;
AltarSP[2].x:=650;
AltarSP[2].y:=46;
AltarSP[2].areasize:=DTMArea;
AltarSP[2].areashape:=0;
AltarSP[2].color:=0;
AltarSP[2].tolerance:=DTMTol;
AltarDTMSkel.MainPoint:=AltarMP;
AltarDTMSkel.SubPoints:=AltarSP;
Altar:=AddDTM(AltarDTMSkel);
End;
end;
procedure Proggy;
begin;
Writeln('[]-------------------------------------------[]');
Writeln('Worked For : ' + ScriptTime2(2))
Writeln('');
WriteLn('Please post the proggy and the bugs you found ^^');
Writeln('[]--------------------------------------------[]');
begin
for I := 0 To HowManyPlayers - 1 do
begin
if Players[i].Active = True then
Active := 'True'
else
Active := 'False';
WriteLn((IntToStr(I)) + ' : ' + Players[I].Name + ' = ' +
Active + ' |Loc: ' + Players[I].Loc + ' |');
end;
end;
WriteLn('[]--------------------------------------------[]');
SRLRandomsReport;
end;
procedure AntiBansz;
begin;
case Random(14) of
0: MakeCompass('S');
1: MakeCompass('E');
2: MakeCompass('W');
3: MakeCompass('N');
4: begin
HoverSkill('magic', false);
wait(1000+random(2000));
GameTab(4);
end;
5: RandomRClick;
6: GameTab(1+random(10));
7: AlmostLogout;
8: begin
GameTab(1 + Random(10));
wait(2000+random(2000));
GameTab(4);
end;
9: begin
HoverSkill('mining', false);
wait(1000+random(2000));
GameTab(4);
end;
10: begin
HoverSkill('smithing', False);
wait(1000+random(1000));
GameTab(4);
end;
11: begin;
if(FindObj(x, y, 'Furnace', 4144964, 40))then
begin;
Mouse(x,y,0,0,false);
ChooseOption(x, y, 'Examine');
end;
end;
12: HoverSkill('attack', False);
13: PickUpMouse;
end;
GameTab(4);
end;
procedure TakeEss;
begin;
RuneEss := BitmapFromString(22, 6, 'z78DA9D92410EC3200C04BF' +
'54F02E21C73890FF3F292EE64015A9B5CA4A7344A35D43A44B47C' +
'3868D4447E7C66471EE148BF364B1383BAB65B0642A75126C3C27' +
'0B2FF6C95A92C5A9452CCEF6FE0C2F5151ECB0C70C854EBA4FC42' +
'AEEF334190E720804F0362E1C6633F8C327DECFF766868934A952' +
'B12C321931597DFE5BEAE93016799A7CF8C4378A3433DAC82D6BD' +
'6791505C9E226AB4F7CA378334B1B3759B9ACC0');
OpenBankQuiet('feb');
Flag;
Wait(500);
FixBank;
if FindBitmapToleranceIn(RuneEss, x, y, MSX1, MSY1, MSX2, MSY2, 10) then
begin;
mouse(x,y,2,2,False);
PopUp('Withdraw All');
end else
begin;
WriteLn('Not found ess');
Players[currentplayer].Loc:='No Ess';
Logout;
end;
CloseBank;
Wait(3000);
GameTAb(4);
end;
procedure TakeAltarColor;
begin;
MindAltarRoad := BitmapFromString(11, 6, 'z78DAB33030B73437' +
'B71825070109002E57540D');
MaxTolerance := 50;
TheRoadColor := AutoColorThis(MindAltarRoad, MaxTolerance, MIX1, MIY1, MIX2, MIY2);
FreeBitmap(MindAltarRoad);
GameTAb(4);
end;
procedure Craft;
begin;
PortalSmall := BitmapFromString(10, 3, 'z78DA73747234B57071' +
'1C52240077012BB7');
if FindObj(x, y, 'Enter', 5066840, 30) then
begin;
Mouse(x, y, 0, 0, True);
end else
begin;
WriteLn('No Altar..');
Players[currentplayer].Loc:='No Altar';
NextPlayer(False);
end;
Wait(3000);
TakeAltarcolor;
RadialRoadWalk(TheRoadColor, 312, 322, 52, 0, 0);
Wait(500);
if FindObj(x, y, 'Craft', 6514800, 30) then
begin;
Mouse(x, y, 1, 1, True);
Wait(4000+random(1000));
end;
Mouse(680, 128, 2, 2, True);
Flag;
if FindObjectDeformed(x, y, 'ortal', 'Use Portal', PortalSmall, MSX1, MSY1, MSX2, MSY2) then
Mouse(x, y, 1, 1, True);
end;
procedure Vars;
begin;
Dx:= 657;
Dy:=42;
if I > 4 then
begin;
Dx:=666;
Dy:=32;
end;
end;
function RCAltar: Boolean;
begin;
I:=0;
repeat;
I:= I+1;
if (FindMSColorTol(x, y, 5265516, 20)) then
begin;
MMouse(x, y, 2, 2);
if (IsUpText('Enter')) then
begin;
Result:=True;
Exit;
end;
end;
until(I > 30);
end;
procedure WalkClif;
begin;
SetRun(True);
repeat;
I:= I+1;
Vars;
bergcolor := BitmapFromString(12, 1, 'z78DAB33033773671B2A0' +
'98040055EA1069');
MaxTolerance := 60;
Braun := AutoColorThis(BergColor, MaxTolerance, MMX1, MMY1, MMX2, MMY2);
FreeBitmap(BergColor);
{Begin
for I:=1 To 2 Do
Begin
DTMTol:=DTMTol+5;
DTMArea:=DTMArea+2
if (FindDTM(Altar,x, y, MMX1, MMY1, MMX2, MMY2)) Then
begin
Players[CurrentPlayer].Loc := 'Altar';
Exit;
end;
end;
end;}
if RCAltar then Exit;
X:= Dx;
Y:= Dy;
if(FindColorSpiral(x, y, Braun, MMX1, MMY1, MMX2, MMY2))then
begin;
Mouse(x-(25), y, 1, 1, true);
FFlag(1);
end;
until(I > 30);
Flag;
end;
procedure FallyRoadColorz0r;
begin;
FallyRoad := BitmapFromString(4, 10, 'z78DAB33030773133B118' +
'3124007F403409');
MaxTolerance := 60;
TheRoadColor := AutoColorThis(FallyRoad, MaxTolerance, MMX1, MMY1, MMX2, MMY2);
FreeBitmap(FallyRoad);
end;
procedure FallyModderRoadz0r;
begin;
FallyModderRoad := BitmapFromString(6, 1, 'z78DA33733633317' +
'631C34B020095EE081D');
MaxTolerance := 50;
TheRoadColor := AutoColorThis(FallyModderRoad, MaxTolerance, MMX1, MMY1, MMX2, MMY2);
FreeBitmap(FallyModderRoad);
end;
procedure ToAltar;
begin;
I:=0;
FallyRoadColorz0r;
RadialRoadWalk(TheRoadColor, 35, 53, 37, 0, 0);
RadialRoadWalk(TheRoadColor, 57, 41, 56, 0, 0);
RadialRoadWalk(TheRoadColor, 0, 60, 68, 0, 0);
RadialRoadWalk(TheRoadColor, 20, 0, 65, 0, 0);
Wait(500);
Flag;
Wait(1000);
FallyModderRoadz0r;
RadialRoadWalk(TheRoadColor, 27, 67, 63, 0, 0);
if (not (RadialRoadWalk(TheRoadColor, 30, 75, 63, 0, 0))) then
begin;
FallyModderRoadz0r;
RadialRoadWalk(TheRoadColor, 30, 75, 63, 0, 0);
end;
RadialRoadWalk(TheRoadColor, 359, 311, 70, 0, 0);
MakeCompass('N');
WalkClif;
Begin //Yea DDtm rulez!
Flag;
for I:=1 To 4 Do
Begin
DTMTol:=5;
DTMArea:=DTMArea+1
if (FindDTM(Altar,x, y,MMX1,MMY1,MMX2,MMY2)) Then
begin
Mouse(x,y,1,1,True);
Players[CurrentPlayer].Loc := 'Altar';
Exit; //otherways it will click 8 times....
end else
Writeln('DTM Not Found')
end;
end;
Players[CurrentPlayer].Loc := 'Altar';
end;
procedure WalkBack;
begin;
end;
procedure Bank;
begin;
end;
procedure LogNext;
begin;
SetChat('Off',1);
repeat
Wait(1000);
until(not(LoggedIn));
NextPlayer(true);
end;
procedure StartPlayer;
begin;
MakeCompass('N');
HighestAngle;
SetChat('On', 1);
SetChat('Friends', 2);
SetChat('On', 3);
end;
procedure StartScript;
begin;
ClearDebug;
Welcome;
Wait(1000);
DeclarePlayers;
Proggy;
SRLRandomsReport;
Activateclient;
SetupSRL;
BenMouse:= True;
DeclarePlayers;
CurrentPlayer := Currentplayer;
LoginPlayer;
GameTab(4);
GetAllLevels;
Wait(500);
end;
begin
StartScript;
repeat;
StartPlayer;
Proggy;
SRLRandomsReport;
//TakeEss;
LoadDDTM;
ToAltar;
Craft;
WalkBack;
Bank;
LogNext;
Until(false);
end.
Maby Some idees for a Mind Crafter. Like the walk on the wall part.