droibiotch
2013-05-12 20:46:18
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
C, C++, Java, Python, MIPS, Visual Basic
Are you a member of any other communities?
No I am not.
Tell us about yourself…
Please show us one (or multiple) of your scripts.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
C, C++, Java, Python, MIPS, Visual Basic
Are you a member of any other communities?
No I am not.
Tell us about yourself…
From: droibiotch
I am a 20 year old Computer Science Major at the University of Pittsburgh. I've been playing Runescape on and off since about 2002. Aside from programming, I am a Gemini who enjoys long walks on the beach; all jokes aside, I also enjoy sports, most specifically volleyball and soccer. I just found this site not too long back and thought I'd give learning a shot. I've been looking through tutorials and if nothing else, maybe I could get some tips on how to further my knowledge, considering I've only been learning for a few days now. Let me know what you think/any tips!
Please show us one (or multiple) of your scripts.
{not entirely finished yet, looting hasnt been added yet, and not sure what qualifications I actually need for this, but i thought it was worth a shot}
program new;
{$DEFINE SMART8}
{$I SRL-OSR/SRL.Simba}
{$i SRL-OSR\SRL\misc\debug.simba}
{$I SRL-OSR\SRL\skill\fighting.simba}
//{$i SRL-OSR\SRL\misc\SmartGraphics.simba}
type TForm1_1 = record
Form1_1: TForm;
Username: TLabel;
Password: TLabel;
nickname: TLabel;
FoodType: TLabel;
MonsterType: TLabel;
Background: TImage;
Pick: TLabel;
InTheUser: TEdit;
InThePass: TEdit;
InTheNick: TEdit;
Start: TButton;
FoodSelected: TComboBox;
MonsterChosen: TComboBox;
PickSupport: TComboBox;
end;
type MonsterInfo = record
MonsterName, MonsterNickname: String;
MonsterHP, MonsterColor, MonTol: Integer;
MonHue, MonSat: Extended;
end;
type FoodInfo = record
FoodName: String;
HealAmt, FoodColor: Integer;
FoodDTM: Integer;
end;
var
monsterKind: MonsterInfo;
foodKind: FoodInfo;
Form1_1: TForm1_1;
TimeStamp, StartTime, FoodTime: Integer;
AttackTime, X, Y, StartXP, XPTime: Integer;
MonsterTPA: TPointArray;
MonsterATPA: T2DPointArray;
Looting: Boolean;
{==============================User Configuration==============================
===============================================================================}
const
monster = 'hillgiant';
//can be either hillgiants, ..., or ...
food = 'lobster';
//can be either lobster, salmon, trout, or ...
HealAt = 52;
{========================Credit for form goes to abu_jwka======================}
{=====================used his free form service as a template=================}
Procedure ButtonClick(Sender: TObject);
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ToStr(Form1_1.InTheUser.Text);
Pass := ToStr(Form1_1.InThePass.Text);
nick := ToStr(Form1_1.InTheNick.Text);
Strings[0] := ToStr(Form1_1.MonsterChosen.Text);
Strings[1] := ToStr(Form1_1.FoodSelected.Text);
Strings[2] := ToStr(Form1_1.PickSupport.Text);
Active := True;
end;
Form1_1.Form1_1.ModalResult:= mrOk;
End;
procedure Form1_1_Init;
var
b, w, h: Integer;
begin
with Form1_1 do
begin
Form1_1 := CreateForm;
Username := TLabel.Create(Form1_1);
Password := TLabel.Create(Form1_1);
nickname := TLabel.Create(Form1_1);
FoodType := TLabel.Create(Form1_1);
MonsterType := TLabel.Create(Form1_1);
Background := TImage.Create(Form1_1);
Pick := TLabel.Create(Form1_1);
InTheUser := TEdit.Create(Form1_1);
InThePass := TEdit.Create(Form1_1);
InTheNick := TEdit.Create(Form1_1);
Start := TButton.Create(Form1_1);
FoodSelected := TComboBox.Create(Form1_1);
MonsterChosen := TComboBox.Create(Form1_1);
PickSupport := TComboBox.Create(Form1_1);
with Form1_1 do
begin
Left := 325;
Top := 298;
Caption := 'Fighter';
ClientHeight := 285;
ClientWidth := 577;
Color := clBtnFace;
Font.Color := clWindowText;
Font.Height := -11;
Font.Name := 'Tahoma';
Font.Style := [];
PixelsPerInch := 96;
end;
with Background do
begin
Parent := Form1_1;
Left := 0;
Top := 0;
Width := 577;
Height := 285;
b := BitmapFromString(577, 285, 'meJztnfmvfVdZh/8tIxqNEKdo' +
'wGgcolGDQzRgNEajiUbQGAEZBFpkFkHoRAuFlg5QoLZfCi2lLXQES' +
'mlLW0pHKC2UQfDcu+/dPWefvdZ599rrXe+71nqSzw/3LzifvHs99/' +
'm84vs/egUhp3nl9374yu/9YJNXPfv9If/+7LNjXv3d7w55zXeeGfL' +
'a7zw95HXPPDXmP57+5nZe//STr//2E5u84duPD3njU48d59Gznnrk' +
'KN/6xiZnf+vhIW/65kND/nPIkw+++ckHjvLE/UPe8sR9Y976+L1vf' +
'fyrm7ztsXuGvP2xu4e849Evj3nnI18c8l+P3HWcO9/1jdu3898P3z' +
'bm3Q/f+u6vf2GT93z9liH/89CQm9/70E1HefBz73vwxjHnPHDDkHM' +
'fuP4oX/vMkPPuv27I+fd/aswF95254L5rN3n/vdcMufDeq4dc9NVP' +
'jvnAPR8f8sF7rjrKVz425OK7rxzyobuvOM7lH/7yZWMu+dKlQy49y' +
'SUf+eKHhlx218VjLr/rAye586JNrrjzwiFX3nHBkI/ecf5Rbj//Y7' +
'efd5xzN7nqtnOGfPy29x3l1vd+4tb3DPnkF969nas//64x/3vLO4d' +
'cc8s7jvP2a29+25AzN71lzKduevOQ6z73piGfvvHsrZz1mRvfeJTP' +
'vuH6z75+zA03vG7IZ2947VGuf+2N17/mOK/+3GdeNeamTT79yk1uv' +
'u7ftnPLdf865POf+pchXzjzz2NuPfPyW8+8bJPbrv2nIbdf849j7r' +
'jmH4bcefXfb+euq/9uyBc/+bdDvvSJvxny5U/89Zi7P/5XQ74y5Kq' +
'/vOeqvxjz1Y+99DQvufejfz7mvk2u/LNN7r/yT8d87Yo/GfLAFX/8' +
'wOV/tMmDl794yEOX/eGQr1/2B0f5yO8PefjS3xvyjUt/d8wjl/zOk' +
'Ecv+e2jfPi3Nnnsw7855PEP/caQJza5+Nc3efLiX3suH3zRN0/ywk' +
'2+9YFfHfLUJhf9yibfvuiXhzx94S+NeebCX3zm/b+wyXfe//NDvnv' +
'BC07z/E2ePf/nhnzvvJ8d8/3zfmbID8796U3MfzOJnxz31w8T+mu7' +
'wuT9dVJhh/rrpMJO+2u7wiL9tV1hs/21+SO5v7Yr7GB/bVdYpL+2K' +
'0zeX9sVFumv7QqT99dphR3or0iFRfpru8Lk/bVdYZH+2q6wm04r7G' +
'B/bVfYcX+9PGN/bVfYfn9tV9h2f21X2H2nFbZfXvH+Oqmwvf7arrA' +
'F/bVfYVv9NZbXbH9tV1i0v14g7C8qjIzZ76/tCtvvr9kTbKa/jits' +
'aX+9Sdpf92731+wJtt9fx1ncXycVlrW/Zk+wg/11WmEH+mv2BDvYX' +
'ycVdqi/JCfYfn/NnmD7/bVbYWedVNih/jqtsGX9NXuC7ffXdoXJ+2' +
'v2BMvVX9P767jCDvbX7Am2tL+k99dxhS2/vxb0FxVGhoz9NXuC5eq' +
'v0wp7dPsT4uH+mvuEuLS/TivszsgnxKP+Oq6wpf11UmGH++vM+v6K' +
'31+XCPvruMKW9tdJhS3sr9MKO9BfgRPsQH+dVNih/lr0CXHsr9kT7' +
'GB/xT8hjv11d1J/zZ5g+/216BPi2F8nFbbw/npS1l/T++u4wg7213' +
'aF7ffXD8/9qU3MfzyJh0j6K/4EFuqv+BPY2F+LnsDG/oo/gYX6a/Y' +
'E2++v0wq7WfQEdtpfs09gS/vrpMIW3l+5+2vuBMvaX4c+IZ4legK7' +
'vtwT2NhfeZ7Agv11+Alsv7/yPIEF+mv+CexQf82eYPv9JXkCm72/j' +
'irsnOeZ/3gS83SFcMT7SwPhGPsrjnCE+iuOcAj7a/IJceyvOMKhen' +
'+lIRzh+2vuBCuCcMTvr/gnxDSEQ/gEFuqv+CfEsb8OIBzP9dfhJ7D' +
'9/lqEcIz9NT3BznkeFUb2+yv+CRGEAwRRH0GU3V8FEcS0+yvtCWza' +
'X24QjtATmLC/ciGI4yfETX/93zk/af4TSgyzFEGUfkLc7a/pE9hCh' +
'GPv/sqAcExPsIIIBwgiCGLk/lqGIGZFOIL3VxRBLI9wjP1FhXUeDw' +
'ji9ATLiiCGEI7p/RV/AnOAcIAggiAuRhBlCEfa/SVEOKb9FX0CW4R' +
'wjP1FhXWbVhHEscK27690BFGGcMT7a6yw+P1VEuGYnmC3l3sCA0F0' +
'hyDunmAmCOJShGPsLyqs24AgLkUQQ/dXEQRxHuGI318VIhzzT2Bxh' +
'MPkCUzYXyCI6xHE0BPYkB+97yfMf0tJ+YAgNoQgziMck/tLiHBM+y' +
'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' +
'QSXsBQVyLcDBkiUWqdQSRCiNu8/9t2j9G');
GetBitmapSize(b, w, h);
DrawBitmap(b,Background.CANVAS,0,0);
FreeBitmap(b);
end;
with Username do
begin
Parent := Form1_1;
Left := 35;
Top := 56;
Width := 48;
Height := 13;
Caption := 'Username:';
Font.Style := [fsBold];
end;
with Password do
begin
Parent := Form1_1;
Left := 35;
Top := 96;
Width := 46;
Height := 13;
Caption := 'Password:';
Font.Style := [fsBold];
end;
with nickname do
begin
Parent := Form1_1;
Left := 35;
Top := 136;
Width := 14;
Height := 13;
Caption := 'nickname:';
Font.Style := [fsBold];
end;
with FoodType do
begin
Parent := Form1_1;
Left := 336;
Top := 56;
Width := 22;
Height := 13;
Caption := 'Food:';
Font.Style := [fsBold];
end;
with MonsterType do
begin
Parent := Form1_1;
Left := 336;
Top := 96;
Width := 40;
Height := 13;
Caption := 'Monster:';
Font.Style := [fsBold];
end;
with Pick do
begin
Parent := Form1_1;
Left := 336;
Top := 136;
Width := 63;
Height := 13;
Caption := 'Pick Support:';
Font.Style := [fsBold];
end;
with InTheUser do
begin
Parent := Form1_1;
Left := 103;
Top := 52;
Width := 121;
Height := 21;
TabOrder := 0;
end;
with InThePass do
begin
Parent := Form1_1;
Left := 103;
Top := 92;
Width := 121;
Height := 21;
TabOrder := 1;
PasswordChar := '*';
end;
with InTheNick do
begin
Parent := Form1_1;
Left := 103;
Top := 132;
Width := 121;
Height := 21;
TabOrder := 2;
MaxLength := 4;
end;
with Start do
begin
Parent := Form1_1;
Left := 239;
Top := 247;
Width := 125;
Height := 33;
Caption := 'Start Script!';
TabOrder := 3;
OnClick := @ButtonClick;
end;
with FoodSelected do
begin
Parent := Form1_1;
Left := 422;
Top := 52;
Width := 110;
Height := 21;
DropDownCount := 4;
TabOrder := 4;
Text := 'Select Food';
Items.Add('Lobster');
Items.Add('Salmon');
Items.Add('Trout');
end;
with MonsterChosen do
begin
Parent := Form1_1;
Left := 422;
Top := 92;
Width := 110;
Height := 21;
TabOrder := 5;
Text := 'Select a Monster';
Items.Add('HillGiant');
end;
with PickSupport do
begin
Parent := Form1_1;
Left := 422;
Top := 132;
Width := 110;
Height := 21;
TabOrder := 6;
Text := 'Pick Up Loot?';
Items.Add('Yes');
Items.Add('No');
end;
end;
end;
procedure Form1_1_SafeInit;
var
v: TVariantArray;
begin
SetLength(v, 0);
ThreadSafeCall('Form1_1_Init', v);
end;
function Form1_1_ShowModal: Boolean;
begin
Result := Form1_1.Form1_1.ShowModal = mrOk;
end;
function Form1_1_SafeShowModal: Boolean;
var
v: TVariantArray;
begin
SetLength(v, 0);
Result := ThreadSafeCall('Form1_1_ShowModal', v);
end;
{=========================================================================}
{*******************************************************************************
All of these mouse movements are credited to benland100 and flight
*******************************************************************************}
//By Bandland100, modified by ashaman to shift mouse speeds after every step
Procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
Var
veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,step: extended;
lastX,lastY,MSP,W: integer;
sqrt2,sqrt3,sqrt5: extended;
Begin
MSP := MouseSpeed;
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
While hypot(xs - xe, ys - ye) > 1 Do
Begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
If dist >= targetArea Then
Begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
End Else
Begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
If (maxStep < 3) Then
Begin
maxStep:= random(3) + 3.0;
End Else
Begin
maxStep:= maxStep / sqrt5;
End;
End;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
Begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
End;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
Case Random(50) Of
1..25: W := (MSP + (Random((MSP/4))));
26..50: W := (MSP - (RandomRange((MSP/2), MSP-1)));
End;
If (W < 1) Then
W := 1;
If (lastX <> Round(xs)) Or (lastY <> Round(ys)) Then
MoveMouse(Round(xs), Round(ys));
step:= hypot(xs - lastX, ys - lastY);
//W := round((maxWait - minWait) * (step / maxStep) + minWait);
wait(W);
lastdist:= dist;
End;
If (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) Then
MoveMouse(Round(xe), Round(ye));
MouseSpeed := MSP;
End;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
Var
randSpeed: extended;
X,Y,X2,Y2,j,Dist,MP: integer;
Begin
j := MouseSpeed;
GetMousePos(X, Y);
Y:=Y-50;
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
If MP < 0 Then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(j*MP), eX+(j*MP));
Y2 := RandomRange(eY-(j*MP), eY+(j*MP));
SuperWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
Y:=Y-50;
MMouse(eX, eY, ranX, ranY);
MouseSpeed := j;
End;
{===============================================================================}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := '';
Pass := '';
nick := '';
Active := True;
Strings[0] := monster;
Strings[1] := food;
end;
end;
procedure LoadMonsterInfo;
begin
writeln('load monster');
case lowercase(Players[CurrentPlayer].Strings[0]) of
'hillgiant': begin
monsterKind.MonsterColor := 7576256;
monsterKind.MonTol := 19;
monsterKind.MonHue := 0.06;
monsterKind.MonSat := 0.63;
monsterKind.MonsterHP := 35;
monsterKind.MonsterName := 'Hill Giants';
monsterKind.MonsterNickname := 'iant';
end;
end;
end;
procedure LoadFoodInfo;
begin
writeln('load food');
case lowercase(Players[CurrentPlayer].Strings[1]) of
'lobster': begin
foodKind.FoodColor := 1866473;
foodKind.FoodDTM := DTMFromString('mlwAAAHicY2dgYPjJxMDwH4hZmYEcIP4LZL+DYnlGBgYhIBYHYhUg1gViNSCWBeIdyWJADYw4MG6ASweSLgBjiAcP');
foodKind.HealAmt := 12;
end;
'salmon': begin
foodKind.FoodColor := 1855461; //your own color;
foodKind.FoodDTM := DTMFromString('mggAAAHicY2NgYJjFxMDQA8STgHg2EC+B4iYg7oOKg+SbgbgKiBkYGHFg7AC/agDUoAbx');
foodKind.HealAmt := 9;
end;
'trout': begin
foodKind.FoodColor := 7238282; //your own color;
foodKind.FoodDTM := DTMFromString('mggAAAHicY2NgYNjHxMCwFYj3APFxIL4AxGeBuBWI+4F4EhB3AXETEFcDMQMDIw6MHeBXDQBFowfr');
foodKind.HealAmt := 7;
end;
end;
end;
procedure LoadLootInfo;
begin
writeln('load loot');
case lowercase(Players[CurrentPlayer].Strings[1]) of
'yes': begin
Looting := true;
end;
'no': begin
Looting := false;
end;
end;
end;
function FindMonster : Boolean;
var
tmpCTS, i, l,r:integer;
MonsterBox :TBox;
counter: integer;
spot: TPoint;
begin
writeln('find monster');
tmpCTS := GetColorToleranceSpeed;
result := false;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(monsterKind.MonHue, monsterKind.MonSat);
FindColorsSpiralTolerance(MSCx, MSCy, MonsterTPA, monsterKind.MonsterColor, MSX1, MSY1, MSX2, MSY2, monsterKind.MonTol);
ColorToleranceSpeed(tmpCTS);
MonsterATPA := SplitTPAEx(MonsterTPA, 6, 6);
SortATPASize(monsterATPA, true);
L := High(MonsterATPA)
writeln('count: ' + inttostr(L));
if L > 0 then begin
for i := 0 to (L/2) do
begin
writeln('i: ' + inttostr(i));
MonsterBox := GetTPABounds(MonsterATPA[i])
spot := MiddleBox(MonsterBox);
wait(randomrange(60, 140));
HumanMMouse(spot.X, spot.Y, 1, 1);
if waituptext(monsterKind.MonsterNickname, 300) then
begin
GetMousePos(X,Y);
result := true;
Break;
end;
end;
end;
end;
procedure AttackMonster;
var
monsterPoints: TPointArray;
begin
writeln('attacking monster');
if FindMonster then begin
case random(3) of
0..1: begin
writeln('leftclick monster');
HumanMMouse(RandomRange(X - 2, X + 3), RandomRange(y - 3, y + 2), 1, 1)
clickmouse2(mouse_left);
MarkTime(AttackTime)
sleep(400 + random (250))
end;
2: begin
writeln('rightclick monster');
HumanMMouse(RandomRange(X - 2, X + 3), RandomRange(y - 3, y + 2), 1, 1)
clickmouse2(mouse_right);
wait(200+random(100));
ChooseOptionMulti(['tta']);
MarkTime(AttackTime)
sleep(400 + random (250))
end;
end
end
else begin
markTime(TimeStamp);
makecompass(randomrange(0, 360));
wait(400+random(250));
while not FindMonster do begin
if TimeFromMark(TimeStamp) > 15000 then begin
writeln('Couldnt find ' + MonsterKind.monsterName);
logout;
terminatescript;
end
else begin
makecompass(randomrange(0, 360));
wait(400+random(250));
end;
end;
begin
case random(3) of
0..1: begin
writeln('leftclick monster');
HumanMMouse(RandomRange(X - 2, X + 3), RandomRange(y - 3, y + 2), 1, 1)
clickmouse2(mouse_left);
MarkTime(AttackTime)
sleep(400 + random (250))
end;
2: begin
writeln('rightclick monster');
HumanMMouse(RandomRange(X - 2, X + 3), RandomRange(y - 3, y + 2), 1, 1)
clickmouse2(mouse_right);
wait(200+random(100));
ChooseOptionMulti(['tta']);
MarkTime(AttackTime)
sleep(400 + random (250))
end;
end
end;
end;
end;
function InCombat : Boolean;
var
redBar: Integer;
begin
//writeln('checking cb status');
redBar := DTMFromString('mQwAAAHicY2ZgYGhnhOAuIFZjYmDQBGJ1IGb4j4SRACMSBgIA3CsFGw==');
sleep(1000 + random(500));
if findDTM(redbar, x, y, MSX1, MSY1, MSX2, MSY2) then begin
result := false;
freeDTM(redBar);
end
else begin
result := true;
freeDTM(redBar);
end;
end;
procedure EatFood;
var
health, maxHealth, HPMissing, numFood, i: Integer;
begin
writeln('eating food');
health := GetSkillInfo('hitpoints', true);
maxHealth := GetSkillInfo('hitpoints', false);
HPMissing := maxHealth - health;
writeln(inttostr(health) + ' ' + inttostr(maxHealth) + ' ' + inttostr(HPMissing));
numFood := (HPMissing/FoodKind.HealAmt) - 1;
gametab(tab_inv)
wait(120+ random (200))
if gametab(tab_inv) then begin
for I := 0 to numFood do begin
if FindDTM(FoodKind.FoodDTM, X, Y, MIX1, MIY1, MIX2, MIY2) then begin
HumanMMouse(RandomRange(X - 2, X + 3), RandomRange(y - 3, y + 2), 2, 3)
MouseBox(X+1, Y+1, X+1, Y+1, mouse_left);
sleep(1500 + random(500))
end
else begin
writeln('Couldnt find foodDTM');
if I = 0 then begin
sleep(15000 + random(500))
logout;
terminateScript;
end;
end;
end;
end;
end;
procedure CheckHealth;
begin
//writeln('checking health');
if TimeFromMark(FoodTime) > (50000 + random(40000)) then begin
writeln('longer than foodtime');
gametab(tab_stats);
wait(120 + random(200));
if GetSkillInfo('hitpoints', true) < HealAt then begin
writeln('less than heal at');
EatFood;
MarkTime(FoodTime);
end
else begin
MarkTime(FoodTime);
end;
end
else begin
if TimeFromMark(AttackTime) > 27000 then begin
gametab(tab_stats);
writeln('been a while since attack..');
if HPPercent(false) < 35 then begin
makecompass('n');
Runaway('e', true, 1, (4500 + random(1500)));
eatfood;
end;
end;
end;
end;
function CheckXP : Integer;
var
XP: Integer;
begin
if TimeFromMark(XPTime) > 125000 + random(65000) then begin
MarkTime(XPTime);
gametab(tab_stats);
wait(140 + random(150));
result := GetXP('strength');
end
else begin
result := -1;
end;
end;
procedure Progress;
var
CombatXP, CombatXPGained, CombatXPH:Integer;
begin
//ClearDebug;
CombatXP := CheckXP;
if CombatXP > 0 then begin
CombatXPGained := CombatXP - StartXP;
CombatXPH := Round(CombatXPGained * (3600.0 / (GetTimeRunning / 1000.0)));
Writeln('========Combat Bot=========');
Writeln('Time Running : ' + TimeRunning);
Writeln('Fighting : ' + MonsterKind.MonsterName);
Writeln('Combat XP Earned: ' + IntToStr(CombatXPGained));
Writeln('Combat XP/Hour : ' + ToStr(CombatXPH));
Writeln('=======================================');
end;
end;
procedure AntiBan;
begin
case random(750) of
0..5: begin
writeln('antiban pickup mouse')
PickUpMouse();
sleep(400+random(250));
end;
6..8: begin
writeln('antiban random mousebox movement')
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
sleep(400+random(250));
end;
9..11: begin
writeln('antiban moving camera')
MakeCompass(randomrange(0,360));
sleep(400+random(250));
end;
12..15: begin
writeln('antiban bored human')
BoredHuman;
sleep(400 + random(200));
end;
16..17: begin
writeln('antiban random movement')
RandomMovement;
sleep(350 + random(150));
end;
18..19: begin
writeln('antiban random rightclick')
RandomRClick;
sleep(350 + random(200));
end;
20..21: begin
writeln('antiban hover skill')
hoverskill(skill_hitpoints, false);
sleep(350 + random(150));
end;
25: begin
writeln('antiban afk')
wait(23000 + random(8000));
end;
30: begin
if TimeFromMark(startTime) > 1300000 then begin
repeat
wait(1500);
until(InCombat)
writeln('antiban random break')
logout;
sleep(145000 + random(600000));
loginplayer;
MarkTime(startTime);
end;
end;
end
end;
procedure FreeMyDTMs;
begin
FreeDTM(FoodKind.FoodDTM);
end;
begin
ClearDebug;
Form1_1_SafeInit;
if Form1_1_SafeShowModal then
WriteLn('Form loaded successfully');
FreeForm(Form1_1.Form1_1);
//DeclarePlayers;
SetUpSRL;
disguise('Fighter v1');
ActivateClient;
ClearDebug;
LogInPlayer;
setangle(0);
SRL_COMBATRANDOMS := False;
//SetScreenName('');
MarkTime(StartTime);
MarkTime(FoodTime);
MarkTime(XPTime);
LoadMonsterInfo;
LoadFoodInfo;
LoadLootInfo;
StartXP := GetXP('strength');
writeln('startxp = ' +inttostr(startxp));
writeln('nick ' + Players[CurrentPlayer].nick);
repeat
AttackMonster;
//sleep(300 + random(250));
repeat
FindNormalRandoms;
sleep(250 + random(150));
CheckHealth;
AntiBan;
until(InCombat)
Progress;
//if loot then
//loot
//if bone bury then
//bones
//bury
until(false)
AddOnTerminate('FreeMyDTMs');
end.