SCAR Code:
program New;
{.include srl/srl.scar}
{.include srl/srl/skill/magic.scar}
var
x, y, SpellX, SpellY: integer;
Ran, Casted: integer;
WaterRune, EarthRune, BodyRune: integer;
OutOfrunes: boolean;
ToCast: string;
const
////////////////////////////
CompassDirection = 'E'; // If your at the monk of zamorak then let this, else change!
Color0 = 8103122; // If your at the monk of zamorak then let this, else change!
Color1 = 3883688; // If your at the monk of zamorak then let this, else change!
UpText1 = 'onk'; // If your at the monk of zamorak then let this, else change!
UpText2 = 'of'; // If your at the monk of zamorak then let this, else change!
Tolerance = 25; // Let this!
////////////////////////////
function FindRune(DTM: string): boolean;
begin
GameTab(4);
if (DTM = 'Water Rune') then
begin
WaterRune := DTMFromString('78DA63CC656660E8636440062252CB1924813' +
'448F43F1030C603D5B4A3AA81C8C248209D0A54339D809A02A09A' +
'9904D45402D54C26A0A61AA8A69B0873DAF0AB01001E4B0C12');
if (FindDTM(WaterRune, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
writeln('Found Water Rune');
end else
begin
writeln('Did NOT Found Water Rune');
OutOfrunes:=true;
LogOut;
end;
end else
if (DTM = 'Earth Rune') then
begin
EarthRune := DTMFromString('78DA639CCECCC0D0C5C8800C723C781924813' +
'448F43F10307601D54C405503918591407A2250CD0C026AE611A1' +
'6629504D3701354B806A261250D30954D3895F0D00B54F0D18');
if (FindDTM(EarthRune, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
writeln('Found Earth Rune');
end else
begin
writeln('Did NOT Found Earth Rune');
OutOfrunes:=true;
LogOut;
end;
end else
if (DTM = 'Body Rune') then
begin
BodyRune := DTMFromString('78DA637461666098C8C8800C4404051924813' +
'448F43F10309A02D5F4A0AA81C8C248206D0E543389801A5BA09A' +
'1904D4B803D5CC24A0C61FA8663201358144B819644E1B0135664' +
'035ADF8D5000022460BED');
if (FindDTM(BodyRune, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
writeln('Found Body Rune');
end else
begin
writeln('Did NOT Found Body Rune');
OutOfrunes:=true;
LogOut;
end;
end;
end;
function GetLevel(Skill: string; Option: boolean):integer;
begin
if not LoggedIn then Exit;
if (Option = True) then
begin
GameTab(2);
Players[CurrentPlayer].Integers[1] :=0;
Players[CurrentPlayer].Integers[1] :=GetSkillLevel(Skill);
end else
begin
GameTab(2);
Players[CurrentPlayer].Integers[1] :=0;
Players[CurrentPlayer].Integers[2] := GetSkillLevel(Skill);
end;
end;
Function NPCFindNClick( NPCColor1, NPCColor2,HMTolerance:integer; UpText1,
UpText2, COption:string;
HMTries, HowLong:integer; RepeatUntil, RightOrLeft:boolean):boolean;
var
TMT :Integer;
Coord123X :Integer;
Coord123Y :Integer;
begin
TMT:=0;
repeat
FindTalk;
TMT:=TMT + 1
Wait(50+random(10));
if FindObjCustom(Coord123X, Coord123Y, [Uptext1, Uptext2], [NPCColor1, NPCColor2],HMTolerance) then//Thanks killerDou!:)
begin
Wait(50+random(10));
Mouse(Coord123X, Coord123Y, 1, 1, RightOrLeft);
Wait(50+random(10));
if (RightOrLeft=False) then
begin
if ChooseOption(COption) then
begin
Result:=True;
WriteLn('Found Npc');
Wait(HowLong+Random(500));
Break;
end;
end;
end;
until (RepeatUntil) or (TMT>HMTries)
if RepeatUntil then Result:=true;
end;
Procedure CheckRunes;
begin
GameTab(4);
if (Players[CurrentPlayer].Booleans[0] = true) then
begin
if (Players[CurrentPlayer].Strings[0] = 'Earth') then
begin
FindRune('Body Rune');
FindRune('Water Rune');
end else
if (Players[CurrentPlayer].Strings[0] = 'Water') then
begin
FindRune('Body Rune');
FindRune('Earth Rune');
end;
end else
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
FindRune('Body Rune');
FindRune('Earth Rune');
FindRune('Water Rune');
end;
end;
procedure Proggy;
begin
WriteLn('//////////////////////////////////////////////////////');
WriteLn('// Thanks for using my Auto-Curser. //');
WriteLn('// post Proggy,s and bugs. //');
WriteLn('//////////////////////////////////////////////////////');
WriteLn('// Ran for ' + (timerunning) + '//');
WriteLn('// You started with Magic level : ' + inttostr(Players[CurrentPlayer].Integers[1]) + '');
WriteLn('// You Magic level is now : ' + inttostr(Players[CurrentPlayer].Integers[2]) + '');
WriteLn('//////////////////////////////////////////////////////////////');
end;
Procedure Anti;
begin
FindNormalRandoms;
If FindFight then
begin
RunAwayDirection('s');
wait(5000+random(2500));
RunBack;
end;
end;
Procedure spell;
begin
GameTab(7);
case lowercase(ToCast) of
'curse':begin
SpellX:=666;
SpellY:=262;
end;
'weaken':begin
SpellX:=570;
SpellY:=262;
end;
'confuse':begin
SpellX:=618;
SpellY:=238;
end;
end;
MMouse(SpellX,SpellY,5,5);
Mouse(SpellX,SpellY,5,5,true);
end;
procedure Choose;
begin
Ran:=0;
if (Players[CurrentPlayer].Integers[2])>18 then ToCast:='curse' else
if (Players[CurrentPlayer].Integers[2])>10 then ToCast:='weaken' else
if (Players[CurrentPlayer].Integers[2])> 2 then ToCast:='confuse';
end;
procedure left;
begin
Gametab(7);
spell;
NPCFindNClick(Color0,Color1,tolerance,uptext1,uptext2,'ttack',0,2000,false,True);
Anti;
end;
Procedure AntiBan;
begin
Proggy;
Choose;
case Random(20)+1 of
1: PickUpMouse;
2: left;
3: PickUpMouse;
4: left;
5: AlmostLogout;
6: left;
7: left;
8: HoverSkill('Magic', False);
9: left;
10: HoverSkill('Magic', False);
11: left;
12: HoverSkill('Magic', False);
13: left;
14: left;
15: left;
16: HoverSkill('Magic', False);
17: left;
18: AlmostLogout;
19: left;
20: HoverSkill('Magic', False);
end;
GameTab(4);
CheckRunes;
GetLevel('magic', False);
end;
Procedure Curse;
begin
GameTab(7);
choose;
repeat
GameTab(7);
Ran:=Ran + 1
Casted:=Casted + 1
if (Ran>10)then AntiBan;
spell;
NPCFindNClick(Color0,Color1,tolerance,uptext1,uptext2,'alk',0,2000,false,True);
Anti;
until (Outofrunes)or (casted=Players[CurrentPlayer].Integers[0]);
end;
procedure SetUpClient;
begin
SRLPlayerForm(True, ['Use staff?'], ['How many casts?','S Level','E level'], ['earth/water staff? (when using one)'], []); // Thanks! Summilion
Wait(100);
ActivateClient;
Wait(1000);
LoginPLayer;
Wait(1000+random(500));
MakeCompass('E');
HighestAngle;
gametab(2);
GetLevel('magic', True);
GetLevel('magic', False);
GameTab(4);
end;
{===================]
MainLoop
[===================}
begin
SetUpSrl;
SetUpClient;
CheckRunes;
GetLevel('magic', False);
Curse;
end.