okokokok
2013-01-20 13:42:12
Hello guys,
So it's been a while since i've released a script. Well here is my first rsps public script release.
This script is a fighter script. It kills the chaosdwarfs in the taverly dungeon on the server soulsplit.
Features to know before using the script:
- The script is made for legend and extreme accounts. This means there is no prayer support.
- The script also has no potion support. (Might add that later).
- The script loots charm, well at least sometimes. Going to try and fix this in a later version.
Features that might be added in future version:
- Better charm looting (Will be added for sure).
- Area Check (walk back if you are too far from the chaos dwarfs).
- Potion Support.
- Bank walk (If out of potions, the script will go to the bank and return).
Features that will not be added for sure:
- Sir and Lord support. These modes are so fast, don't be lazy and just do it yourself :D
My experience:
So i have tested the script and it ran pretty good for me. I originally used this script at an other location (still do :P).
But since there are only a few servers, i'm not going to give that location up haha. The charm looting system works perfect there, so that's why i have to adjust the charm looting.
Also i enjoyed making this script a lot and it brought back some good old memories :D
Anyway i hope you guys enjoy the script!
PS:
If you are playing on the client, make sure to enlarge the window. Without the black spaces next to the game, the script will think you are always in combat and won't work! Also i couldn't attach this script as a .simba file, because i didn't have enough upload space :S
~okokokok
So it's been a while since i've released a script. Well here is my first rsps public script release.
This script is a fighter script. It kills the chaosdwarfs in the taverly dungeon on the server soulsplit.
Features to know before using the script:
- The script is made for legend and extreme accounts. This means there is no prayer support.
- The script also has no potion support. (Might add that later).
- The script loots charm, well at least sometimes. Going to try and fix this in a later version.
Features that might be added in future version:
- Better charm looting (Will be added for sure).
- Area Check (walk back if you are too far from the chaos dwarfs).
- Potion Support.
- Bank walk (If out of potions, the script will go to the bank and return).
Features that will not be added for sure:
- Sir and Lord support. These modes are so fast, don't be lazy and just do it yourself :D
My experience:
So i have tested the script and it ran pretty good for me. I originally used this script at an other location (still do :P).
But since there are only a few servers, i'm not going to give that location up haha. The charm looting system works perfect there, so that's why i have to adjust the charm looting.
Also i enjoyed making this script a lot and it brought back some good old memories :D
Anyway i hope you guys enjoy the script!
PS:
If you are playing on the client, make sure to enlarge the window. Without the black spaces next to the game, the script will think you are always in combat and won't work! Also i couldn't attach this script as a .simba file, because i didn't have enough upload space :S
program ChaosDwarfKillerPublicReleaseV1;
{$include srl/srl.simba}
procedure AntiBan;
begin
if (not(LoggedIn)) then
Exit;
Case Random (500) of
0..15: BoredHuman;
50..65: PickUpMouse;
90..105: RandomRClick;
115..120: RandomMovement;
160..180: ExamineInv;
230..250:
begin
HoverSkill('random', false);
sleepandmovemouse(276 + Random(100));
PickUpMouse;
ChooseOption('Cancel');
SetAngle(SRL_ANGLE_HIGH);
end;
300..320: BoredHuman;
350..390: PickUpMouse;
420..450: RandomRClick;
280..299: RandomMovement;
460..480: SleepAndMoveMouse(3000 + Random(500));
end;
end;
function MonsterColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.07, 0.22);
if not (FindColorsTolerance(arP, 11389410, MSX1, MSY1, MSX2, MSY2, 5)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 219) and (R <= 232) and (G >= 191) and (G <= 212) and (B >= 157) and (B <= 190) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 54.52) and (X <= 65.45) and (Y >= 55.37) and (Y <= 67.27) and (Z >= 40.14) and (Z <= 57.68) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function MithSqColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 6242625, MSX1, MSY1, MSX2, MSY2, 23);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 66.65) and (H <= 66.69) and (S >= 18.78) and (S <= 19.37) and (L >= 26.06) and (L <= 36.49) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 4.23) and (X <= 8.31) and (Y >= 3.97) and (Y <= 7.70) and (Z >= 7.92) and (Z <= 16.10) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function WaterRuneColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 11016981, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 65.97) and (H <= 66.01) and (S >= 77.76) and (S <= 77.80) and (L >= 37.04) and (L <= 37.08) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 7.75) and (X <= 7.79) and (Y >= 3.75) and (Y <= 3.79) and (Z >= 37.33) and (Z <= 37.37) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function GoldCharmColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 4878211, MSX1, MSY1, MSX2, MSY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 10.80) and (H <= 10.84) and (S >= 27.78) and (S <= 27.82) and (L >= 40.18) and (L <= 40.22) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 16.26) and (X <= 16.30) and (Y >= 16.67) and (Y <= 16.71) and (Z >= 8.82) and (Z <= 8.86) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function CrimsonCharmColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 3158886, MSX1, MSY1, MSX2, MSY2, 13);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.81) and (H <= 1.00) and (S >= 26.65) and (S <= 45.97) and (L >= 29.00) and (L <= 29.43) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 6.85) and (X <= 7.49) and (Y >= 5.12) and (Y <= 5.66) and (Z >= 2.59) and (Z <= 4.36) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function Click(): boolean;
var
x, y, w, h: integer;
B: TBox;
begin
GetMousePos(x, y);
w := 525;
h := 338;
GetClientDimensions(w, h);
B := IntToBox(x - 15, y - 15, x + 15, y + 15);
if B.x1 < 0 then B.x1 := 0;
if B.y1 < 0 then B.y1 := 0;
if B.x2 > w then B.x2 := w;
if B.y2 > h then B.y2 := h;
begin
if findColorTolerance(x, y, 62713, B.x1, B.y1, B.x2, B.y2, 20) then
begin
Result := True
Exit;
end;
end;
end;
Function YellowClick: Boolean;
begin
Result := Click;
end;
Function RedClick: Boolean;
begin
Result := Not Click;
end;
function FindRedBar : Boolean; //returns True if a full red hp bar is found
var
RedBarDTM1, RedBarDTM2,x,y : Integer;
begin
Result := False;
RedBarDTM1 := DTMFromString('mVAEAAHicE2BgYGBkZGCQhmJOIP4BFHsFxM+A+CUDhM8CFOdlhKj9AuT/Z4CoBbFdgLQTELsBsTsShonDMLKcIxSDxHewcjN4A80JZmZg8OJgYPBjZ2CwBNJxQH4ekyBDE5Dfys/NEMDDwODLy8DgycbAEMTEwOANxA1AOUoBI4UYHQAAHuAS8A=='); //two DTMs just in case
RedBarDTM2 := DTMFromString('mwQAAAHic42RgYGBnZGB4B6SVgLQ0EH8Csn8DMTeQzQLEnED8jQmCvwLxDyj+AsUg9k8g3sTKyNAA1FcvJszQzMDKkMPKwNDExcnQxsfL0AqU92EgDjASgeEAAOCeEO4=');
if FindDTM(RedBarDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(RedBarDTM2,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Result := True;
end;
FreeDTM(RedBarDTM1);
FreeDTM(RedBarDTM2);
end;
Function Moving: Boolean;
var
MovingBox: Tbox;
begin
MovingBox := IntToBox(259, 133, 272, 151);
Result := (AveragePixelShift(MovingBox, 500, 300) > 80);
end;
Function InFight: Boolean;
var
InFightBox: Tbox;
begin
InFightBox := IntToBox(260, 137, 277, 185);
Result := (AveragePixelShift(InFightBox, 500, 300) > 100);
end;
procedure MarkTimer;
var TimeMarker: Integer;
begin
TimeMarker := GetSystemTime;
end;
function TimeFromMarker(TimeMarker: Integer): Integer;
begin
Result := GetSystemTime - TimeMarker;
end;
procedure TimeFailsafe;
var i: Integer;
begin
MarkTime(i);
wait(100);
end;
Procedure Looting;
var x,y,GoldCharmDTM1,GoldCharmDTM2,GoldCharmDTM3: Integer;
begin
GoldCharmDTM1 := DTMFromString('m5wEAAHicE2dgYFjDyMCwAogXAPE8IJ4IxH1APAHKngGVWwbEK4F4HRBvAeJdQLwXiA8D8QkkfACItwLxBiBeAsSLgHgh1GwYXgw1bzkUL0OikfEKqPgSJPfBsLa6DAo+tmMqHIMAMhum5v8EBzAfRMP4yBimjpaAkYYYBwAAcqY3kA==');
GoldCharmDTM2 := DTMFromString('m/AEAAHictcw9CoNAEAXg2VtY2KfwEt7QCNEum5gf3dLCQizEIgTJpeIbeMpiSLkPPnbhzUwkIoMR6aAFB3e4goUznCCjHEp2NXd0f4QXzPDxTPDgvLpRxduXXffkXdXsOKo5a7mv+R5TSQ7xj3dfbK/ys3a6q9G/H78LGRPYvyxb1DFs');
GoldCharmDTM3 := DTMFromString('muQIAAHiczc4tCwJBEMbx2e9hMRn8En5C8QWTcr6gdxcNCgaDXDjEZhGLBpPBIGLX/547sCwcRh34wcyy8+xWRWRtRJaYI8EUEQbooOm00UUfI6RYmM9+hi32OOCEC66444kHbjjjiB1ybLw3rYkTBezZDLH7Z1oiKRF72WOXOfTyX62G1GuVQr7qFfxeZ1t6T+ewNEv7kO7aXvO0/3WZP/C13kmfTV4=');
If FindColor(x,y,GoldCharmColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,MithSqColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,WaterRuneColor,MSX1,MSY1,MSX2,MSY2) or
FindColor(x,y,CrimsonCharmColor,MSX1,MSY1,MSX2,MSY2) then
begin
Writeln('Found Charm');
MMouse(x,y,5,5)
Wait(50 + Random(50));
Mouse(x,y,5,5,false);
If FindDTM(GoldCharmDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(GoldCharmDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(GoldCharmDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(100 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(100 + Random(50));
end;
end;
FreeDTM(GoldCharmDTM1);
FreeDTM(GoldCharmDTM2);
FreeDTM(GoldCharmDTM3);
end;
procedure FailsafeFight;
var x,y,i,r,ChaosDwarfOptionDTM1,ChaosDwarfOptionDTM2,ChaosDwarfOptionDTM3: Integer;
ChaosDwarf: Array [0..8] of Integer;
aFound: Extended;
begin
SetAngle(SRL_ANGLE_HIGH);
ClearDebug;
AntiBan;
ChaosDwarf[0] := DTMFromString('mQwAAAHicY2ZgYPgExF+A+CsQFwBxDhDnA3FhVhZDV2MDmEYGjEgYCABxVAhC');
ChaosDwarf[1] := DTMFromString('mQwAAAHicY2ZgYPgGxF+A+DsQlwBxERAXALGvvjJDRUE+Q0d9HQMyYETCQAAAXOgHuQ==');
ChaosDwarf[2] := DTMFromString('mQwAAAHicY2ZgYHgDxe+AOBuIM4E4B4jDAwMZkqKjGYK8vRmQASMSBgIARPwHBg==');
ChaosDwarf[3] := DTMFromString('mQwAAAHicY2ZgYPgCxB+gdCIUpwBxa3U1Q0N5OUNuaioDMmBEwkAAAGxdCCU=');
ChaosDwarf[4] := DTMFromString('mQwAAAHicY2ZgYLjGyMBwhRFCbwbytwDxNiDOTk5myExMZEhLiGNABoxIGAgAb/0IJw==');
ChaosDwarf[5] := DTMFromString('mQwAAAHicY2ZgYGBiAhEMDCxAbAFkWgKxFRDXqMuBcb26AgMyYETCQAAAcdcDBg==');
ChaosDwarf[6] := DTMFromString('mQwAAAHicY2ZgYFjIyMAwD4gXAXEOAwTnAXFHfR1DT3MTw5TOTgZkwIiEgQAATSYH7Q==');
ChaosDwarf[7] := DTMFromString('mQwAAAHicY2ZgYPjACMGfgVgLyFdjgNCBVqoM/l6eDDHO2gzIgBEJAwEADxgFsw==');
ChaosDwarf[8] := DTMFromString('mQwAAAHicY2ZgYPjCyMDwCYqlGCBYBojbNJUZ6tUVGJo1FRiQASMSBgIACucFlg==');
ChaosDwarfOptionDTM1 := DTMFromString('mFQEAAHic42VgYGBjZGBgAuI/QPZXIP4ExF+AmAEoxgrEXEAsDMRSQCwNxBJAXALEBUgYxC8H4gosGCSXD8Ta6jIMx3ZMBWMQgNEgcWQ5ZHFyACMZGAUAAAjEGJM=');
ChaosDwarfOptionDTM2 := DTMFromString('mUAIAAHicvcwxCsJAEIXhCUoqsUihQdJFCEQ7GysLCTlP1Jh4Ee/iCTyQaKfEf3Ajg4WkyoOPXd7sTiQiU08kRIARfAzwZPbADXfnhSGzMSaYYY4lVlhjgy1yZK7TeYoYJQocjMLY44jaOHWgeyv3f2f2XS9n0ei5SKIv29vYuWqaT9eeGr3/vtfO9n3F69m/vAHyYTBF');
ChaosDwarfOptionDTM3 := DTMFromString('mYQMAAHic1c09CsJAEIbhDYiNIIKNiJWFv4WNhYVYeAPFRhArsdPIGkQP4l08gQcSC8EivqOzuISAtvngYchkZ6ZtjOkHHz100EIdVVRQRhEF5JGDwZPywF3dlLwp6XxD9w4wwhhTzLHEGhtsscICM0z07VBnD4hUiJ2KvCr2ynpvHKt7TimOP7j71hMmbrp0mzUTx9/qR3rXy/ldHfctVZL8L/x5iex1N9ydZC+tn4UEGfB3XvjURAY=');
If not InFight then
begin
for r:= 0 to 8 do
If FindDTMRotated(ChaosDwarf[r],x,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound) then
Writeln('Found Monster');
MMouse(x,y,0,0);
case Random(2) of
0:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
1:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
end;
end;
FreeDTM(ChaosDwarf[1]);
FreeDTM(ChaosDwarf[2]);
FreeDTM(ChaosDwarf[3]);
FreeDTM(ChaosDwarf[4]);
FreeDTM(ChaosDwarf[5]);
FreeDTM(ChaosDwarf[6]);
FreeDTM(ChaosDwarf[7]);
FreeDTM(ChaosDwarf[8]);
FreeDTM(ChaosDwarf[0]);
FreeDTM(ChaosDwarfOptionDTM1);
FreeDTM(ChaosDwarfOptionDTM2);
FreeDTM(ChaosDwarfOptionDTM3);
end;
procedure Fight;
var x,y,i,r,ChaosDwarfOptionDTM1,ChaosDwarfOptionDTM2,ChaosDwarfOptionDTM3: Integer;
ChaosDwarf: Array [0..8] of Integer;
aFound: Extended;
begin
SetAngle(SRL_ANGLE_HIGH);
ClearDebug;
AntiBan;
ChaosDwarf[0] := DTMFromString('mQwAAAHicY2ZgYPgExF+A+CsQFwBxDhDnA3FhVhZDV2MDmEYGjEgYCABxVAhC');
ChaosDwarf[1] := DTMFromString('mQwAAAHicY2ZgYPgGxF+A+DsQlwBxERAXALGvvjJDRUE+Q0d9HQMyYETCQAAAXOgHuQ==');
ChaosDwarf[2] := DTMFromString('mQwAAAHicY2ZgYHgDxe+AOBuIM4E4B4jDAwMZkqKjGYK8vRmQASMSBgIARPwHBg==');
ChaosDwarf[3] := DTMFromString('mQwAAAHicY2ZgYPgCxB+gdCIUpwBxa3U1Q0N5OUNuaioDMmBEwkAAAGxdCCU=');
ChaosDwarf[4] := DTMFromString('mQwAAAHicY2ZgYLjGyMBwhRFCbwbytwDxNiDOTk5myExMZEhLiGNABoxIGAgAb/0IJw==');
ChaosDwarf[5] := DTMFromString('mQwAAAHicY2ZgYGBiAhEMDCxAbAFkWgKxFRDXqMuBcb26AgMyYETCQAAAcdcDBg==');
ChaosDwarf[6] := DTMFromString('mQwAAAHicY2ZgYFjIyMAwD4gXAXEOAwTnAXFHfR1DT3MTw5TOTgZkwIiEgQAATSYH7Q==');
ChaosDwarf[7] := DTMFromString('mQwAAAHicY2ZgYPjACMGfgVgLyFdjgNCBVqoM/l6eDDHO2gzIgBEJAwEADxgFsw==');
ChaosDwarf[8] := DTMFromString('mQwAAAHicY2ZgYPjCyMDwCYqlGCBYBojbNJUZ6tUVGJo1FRiQASMSBgIACucFlg==');
ChaosDwarfOptionDTM1 := DTMFromString('mFQEAAHic42VgYGBjZGBgAuI/QPZXIP4ExF+AmAEoxgrEXEAsDMRSQCwNxBJAXALEBUgYxC8H4gosGCSXD8Ta6jIMx3ZMBWMQgNEgcWQ5ZHFyACMZGAUAAAjEGJM=');
ChaosDwarfOptionDTM2 := DTMFromString('mUAIAAHicvcwxCsJAEIXhCUoqsUihQdJFCEQ7GysLCTlP1Jh4Ee/iCTyQaKfEf3Ajg4WkyoOPXd7sTiQiU08kRIARfAzwZPbADXfnhSGzMSaYYY4lVlhjgy1yZK7TeYoYJQocjMLY44jaOHWgeyv3f2f2XS9n0ei5SKIv29vYuWqaT9eeGr3/vtfO9n3F69m/vAHyYTBF');
ChaosDwarfOptionDTM3 := DTMFromString('mYQMAAHic1c09CsJAEIbhDYiNIIKNiJWFv4WNhYVYeAPFRhArsdPIGkQP4l08gQcSC8EivqOzuISAtvngYchkZ6ZtjOkHHz100EIdVVRQRhEF5JGDwZPywF3dlLwp6XxD9w4wwhhTzLHEGhtsscICM0z07VBnD4hUiJ2KvCr2ynpvHKt7TimOP7j71hMmbrp0mzUTx9/qR3rXy/ldHfctVZL8L/x5iex1N9ydZC+tn4UEGfB3XvjURAY=');
If not InFight then
begin
Looting;
Wait(1900 + Random(100));
for r:= 0 to 8 do
If FindDTMRotated(ChaosDwarf[r],x,y,MSX1,MSY1,MSX2,MSY2, -Pi/4, Pi/4, Pi/60, aFound) then
Writeln('Found Monster');
MMouse(x,y,0,0);
case Random(10) of
0..4:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
5..9:
begin
Mouse(x,y,0,0,false);
Wait(100 + Random(50));
If FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2) or
FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(50 + Random(50));
MMouse(x,y,5,5);
Mouse(x,y,5,5,true);
Wait(50 + Random(50));
Writeln('Fucking it hard');
end;
If not(FindDTM(ChaosDwarfOptionDTM1,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM2,x,y,MSX1,MSY1,MSX2,MSY2)) or
not(FindDTM(ChaosDwarfOptionDTM3,x,y,MSX1,MSY1,MSX2,MSY2)) then
begin
FailsafeFight;
end;
end;
10:
begin
Looting;
end;
end;
end;
If InFight then
begin
MarkTime(i);
Writeln('Already derpin');
repeat
Wait (2000 + Random(500));
until (not(InFight)) or (TimeFromMarker(i) >= 7000)
end;
If RedClick then
begin
Writeln('Clicked Attack');
Wait(1500 + Random(200));
end;
FreeDTM(ChaosDwarf[1]);
FreeDTM(ChaosDwarf[2]);
FreeDTM(ChaosDwarf[3]);
FreeDTM(ChaosDwarf[4]);
FreeDTM(ChaosDwarf[5]);
FreeDTM(ChaosDwarf[6]);
FreeDTM(ChaosDwarf[7]);
FreeDTM(ChaosDwarf[8]);
FreeDTM(ChaosDwarf[0]);
FreeDTM(ChaosDwarfOptionDTM1);
FreeDTM(ChaosDwarfOptionDTM2);
FreeDTM(ChaosDwarfOptionDTM3);
end;
procedure OneRun;
begin
AntiBan;
repeat
Fight;
until (InFight);
end;
begin
SetupSRL;
ClearDebug;
begin
repeat
OneRun;
until(false);
end;
end.~okokokok