View Full Version : P1nky's PestController
connor1003
03-25-2012, 11:26 PM
thanks, works great away to use over night
TheWord
03-26-2012, 01:37 AM
Guys I really need help!
I'm confused on the "What boat" thing
Can anyone show me what to put in there? I tried putting Novice in put it wouldnt work
P1nky
03-26-2012, 05:55 AM
Guys I really need help!
I'm confused on the "What boat" thing
Can anyone show me what to put in there? I tried putting Novice in put it wouldnt work
Make sure it is between the
' '
Here you go:
WhatBoat = 'Novice';
iHustle TreeZ
03-26-2012, 07:05 PM
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
keep getting this, mouse keeps going form one end of the board that goes to the boat from the dock to the other, it's only done 4 games in 40 minutes so somethings wrong, any clue?
CrysisMK2
03-26-2012, 07:18 PM
I modified p1nky's script in some small areas, I have no problems with now. Always finds the gangplank, even if people put clan vexilums in the way. Sped up the clicks, because it is still slower than humans even with faster500 enabled. /shrug
It's here if anyone wants it.
http://dl.dropbox.com/u/65811322/P1nkys%20PestController%5BG.1%5D.simba
If OP wants me to remove the link I will.
feyaerts
03-26-2012, 07:30 PM
Had a 6hr proggie but forgot to copy it :S now already 2h proggie, i'm trying to get 10hr =D
Using it now. Works great. You did really well on this P1nky. Good job man.
Will post proggy in morning!
P.s
I got confused by all the versions on the main post. Why so many versions? What do the letters stand for? Which one should be used? Right now I'm using Beta(B) and it's working like a charm.. so eh..! Just curious.
Thanks again p1nky.
Cheers
Luke
weequ
03-26-2012, 10:20 PM
Using it now. Works great. You did really well on this P1nky. Good job man.
Will post proggy in morning!
P.s
I got confused by all the versions on the main post. Why so many versions? What do the letters stand for? Which one should be used? Right now I'm using Beta(B) and it's working like a charm.. so eh..! Just curious.
Thanks again p1nky.
Cheers
LukeI guess the higher the number the newer version. But that doesn't necessary always mean it's most stable.
Yep, I'd think that too... but unfortunately he's using alphabetical version naming.
it goes:
pestControlBeta
pestControlBeta(B)
pestControl(C)
pestControl(D)
pestControl(G)
Why isn't there an E version haha? or A ? or ... looking at it now maybe the first one counts as A?
so A (B) C D G??
So... *realising I'm using beta B* Oh woah. I'm 3 versions out of date... Yet it's still working perfectly fine? Great! I'll stick with (B)! Unless persuaded otherwise.
So P1nky, which version is newest? G?
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
||===========================||
|| P1nkys PestController ||
||===========================||
|| March 26th, 2012 ||
||===========================||
Worked For 4 Hours, 21 Minutes and 2 Seconds
Games Played 88
Won 72 Games
Lose 14 Games
Reward 7
||===========================||
||===========================||
||===========================||
Edit:
Realised it goes in order from upload. First file = First upload. Last file = Last upload (latest).
Wasn't exactly rocket science.. Moving on swiftly!
P1nky
03-27-2012, 07:01 AM
Yes, G is the newest;
Here is a fix for [G], will release it officially soon!
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
spot2;
until (false);
end;
end.
kingsleyeng
03-27-2012, 07:21 AM
been using it for a couple days now like 200 commendations
thanks man
I noticed I only get 356 exp for commendation? What happened to that? I used to get 1000 per commendation... Jagex nerfed it? So pestcontrol isn't such a great EXP p/h minigame anymore.
Great script nonetheless.
Luke
P1nky
03-27-2012, 08:39 AM
I noticed I only get 356 exp for commendation? What happened to that? I used to get 1000 per commendation... Jagex nerfed it? So pestcontrol isn't such a great EXP p/h minigame anymore.
Great script nonetheless.
Luke
because they now give 2 points per game.
coolmanyou1
03-27-2012, 05:44 PM
I modified p1nky's script in some small areas, I have no problems with now. Always finds the gangplank, even if people put clan vexilums in the way. Sped up the clicks, because it is still slower than humans even with faster500 enabled. /shrug
It's here if anyone wants it.
http://dl.dropbox.com/u/65811322/P1nkys%20PestController%5BG.1%5D.simba
If OP wants me to remove the link I will.
sadly , your modification is better then his script
teamemb99
03-27-2012, 09:33 PM
====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
||===========================||
|| P1nkys PestController ||
||===========================||
|| March 27th, 2012 ||
||===========================||
Worked For 8 Minutes and 14 Seconds
Games Played 1
||===========================||
NPC Message Detected!
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
help pls
US Marine
03-27-2012, 10:20 PM
Hey pinky, quick question :)
I have been using your script for a long time now and i enjoy it alot.
I was just wondering if you were ever thinking about making another script.. maybe a Cannon script?
Been wanting to get my pures range up with cannon but its so time consuming.
Any thoughts on it?
:)
kunzy
03-28-2012, 12:22 AM
use range guild, very good xp and a few scripts here
Hey pinky, quick question :)
I have been using your script for a long time now and i enjoy it alot.
I was just wondering if you were ever thinking about making another script.. maybe a Cannon script?
Been wanting to get my pures range up with cannon but its so time consuming.
Any thoughts on it?
:)
US Marine
03-28-2012, 12:50 AM
use range guild, very good xp and a few scripts here
True. And its cheaper.
Only problem is the ban rate is still kind of high there.
duwell
03-28-2012, 05:54 AM
the fix for g that you posted works like a charm. i love it. old pc(g) was a little buggy, going off of the pyramid, but this one works amazingly.
Edit: it actually walks away from the plank, and so far thats the only problem that i've seen so far.
teamemb99
03-28-2012, 05:45 PM
this doesnt work for me, it just goes to a random spot and stands there the whole time.
i get this message "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now."
Can some1 help me pls???
thanks
kirbyn
03-28-2012, 08:39 PM
Currently trying this, will post proggy when done.. so far it keeps running off the boats though all the way round the island near the general store, any ideas?
duwell
03-28-2012, 10:31 PM
i would of posted a proggy, but my girlfriend closed it, last i saw it was on 7 hours, with like 140 games played 90 won. something like that.
jordyn123
03-28-2012, 10:42 PM
it misses the pyramid goes off to the side and looks for monsters it doesnt hit 1 thing
elvenom
03-29-2012, 02:07 AM
Im getting this error "[Error] (35:5): Unknown identifier 'FindLamp' at line 34
Compiling failed." How do i fix?
P1nky
03-29-2012, 05:08 AM
Use this:
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
spot2;
until (false);
end;
end.
I did quick fix on Advance and Novice, idk about Intermediate!
mtolympian
03-29-2012, 07:49 AM
Hey p1nky, been using your script for about 2 weeks now and it has done me wonders. Easily got me 3k+ commendation points. But a problem has occured...
My guy just walk to the top right of the pyramid, so i started using your updated [G] pestcontroller, now that problem is fixed, but another one has occured. After winning/losing a game, my guy goes like near the bank area and just sits there. what do i need to change to fix it? cheers bro.
kirbyn
03-29-2012, 10:17 AM
http://i42.tinypic.com/2llhqf4.png
That happens, but also my guy randomly moves away from all the boats on the side of the island, getting really annoying now.. im not complaining it's a great script but yeah, annoying to babysit.
http://i41.tinypic.com/29xukk6.png
Just seen pinkys update, trying it now.
Tried it, still happening :S
P1nky
03-29-2012, 12:37 PM
Hey p1nky, been using your script for about 2 weeks now and it has done me wonders. Easily got me 3k+ commendation points. But a problem has occured...
My guy just walk to the top right of the pyramid, so i started using your updated [G] pestcontroller, now that problem is fixed, but another one has occured. After winning/losing a game, my guy goes like near the bank area and just sits there. what do i need to change to fix it? cheers bro.
http://i42.tinypic.com/2llhqf4.png
That happens, but also my guy randomly moves away from all the boats on the side of the island, getting really annoying now.. im not complaining it's a great script but yeah, annoying to babysit.
http://i41.tinypic.com/29xukk6.png
Just seen pinkys update, trying it now.
Tried it, still happening :S
Both of yall please tell me what boat?
duwell
03-29-2012, 01:36 PM
i have the same problems with both of them. i've been using the novice boat, ill get a proggy later tonight, but right now im doin a little babysitting and making sure it doesnt do anything dumb
kirbyn
03-29-2012, 02:00 PM
It's happening in the advance boat, sometimes it keeps running to the intermediate then novice then off onto to the island too like:
advance x5>inter x1>novice x1> random place on island, it's totally random.
Just to point out. It happens to all the boats it seems.
I'm on novice and it'll somehow get to the bank/inter boat/adva boat.
Maybe it's lag clicking away?
Luke
kirbyn
03-29-2012, 06:04 PM
I don't think it's lag, my laptop doesn't lag at all it moves the mouse there itself and does it, i suppose we'll just have to stick with a few games at a time with it. :)
elvenom
03-29-2012, 06:18 PM
Yes, G is the newest;
Here is a fix for [G], will release it officially soon!
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
spot2;
until (false);
end;
end.
Thanks alot dude for your work. Its working properly now.
kirbyn
03-29-2012, 06:34 PM
Thanks alot dude for your work. Its working properly now.
that update still does the errors i mentioned above :/
Kirbyn. Try Beta(B)
That one worked flawlessly for me on novice boat. You could try it on intermediate. It's only a fraction slower but I ran it for like 10 hours!
Luke
elvenom
03-29-2012, 06:42 PM
that update still does the errors i mentioned above :/
Actually im getting problems too. When its at the middle it goes down the stair and doesnt find any monster to click so it gets stuck. Also whenever its done doing a PC game it always clicks where the bank is.
elvenom
03-29-2012, 06:44 PM
Also is there a way we can choose the world the bot goes in?
kirbyn
03-29-2012, 06:48 PM
@Elvenom, just disable the bot after it loads up, choose world yourself and your sorted.
@Zota alright i'll try it tonight see how it goes, thank's.
bLOOOO
03-29-2012, 06:51 PM
Script works great one of the best fighting scripts their are, greatjob.
elvenom
03-29-2012, 06:59 PM
Kirbyn BETAB is working flawlessly if you put "procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end; "
In where you get the woodcutting error
elvenom
03-29-2012, 07:02 PM
But its kinda slow sometimes.
Also is there a way we can choose the world the bot goes in?
Yes.
You're going to need to edit the script a tiny bit (VERY simple. Copy paste job)
Follow this guide EXACTLY and you'll have no problems.
1. Open his script in SIMBA.
2. Press CTRL+F
3. Type: loginplayer;
4. Highlight loginplayer; (including the semi-colon)
5. Delete it. (Now you should have an empty line
6. Paste this piece of code into that gap:
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Exactly like that. Job done. Save the file (CTRL+S) and run it.
Cheers,
Luke
kirbyn
03-29-2012, 08:51 PM
Kirbyn BETAB is working flawlessly if you put "procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end; "
In where you get the woodcutting error
I don't get woodcutting errors, my guy runs onto the island away from all the boats as i posted in screenshot, varies on which part of the island.
elvenom
03-29-2012, 09:14 PM
I don't get woodcutting errors, my guy runs onto the island away from all the boats as i posted in screenshot, varies on which part of the island.
Have you tried using BETAB?
kirbyn
03-29-2012, 09:18 PM
No, i'll be using it overnight currently trying out another script.
bobo188
03-29-2012, 09:38 PM
idk if i have to set something special, but for me the bot only stays in the middle and attacks the monsters there o: otherwise great bot tyvm :D
kirbyn
03-29-2012, 09:51 PM
idk if i have to set something special, but for me the bot only stays in the middle and attacks the monsters there o: otherwise great bot tyvm :D
That's what the bot does. :)
duwell
03-30-2012, 02:10 AM
i've been using the updated G, novice boat, and it runs twords the bank, and sometimes if the camera angle isnt low enough, it doesnt click on the plank. most of the time it does switch the angle and it'll get the plank eventually, but sometimes i catch it not doing anything.
Craimforce
03-30-2012, 05:33 PM
I think this is the wrong thread for this.
This should be in Minigames section.
Gestapo
03-30-2012, 05:36 PM
this is great script <3
kirbyn
03-30-2012, 08:49 PM
Kirbyn BETAB is working flawlessly if you put "procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end; "
In where you get the woodcutting error
I didn't have that error but used this anyway.. so far its been running 2 hours flawless... im almost done with pc now though.. going to range/armoured zombies soon. thank's for the tip bud. :)
P1nky
03-30-2012, 09:56 PM
Yes.
You're going to need to edit the script a tiny bit (VERY simple. Copy paste job)
Follow this guide EXACTLY and you'll have no problems.
1. Open his script in SIMBA.
2. Press CTRL+F
3. Type: loginplayer;
4. Highlight loginplayer; (including the semi-colon)
5. Delete it. (Now you should have an empty line
6. Paste this piece of code into that gap:
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Exactly like that. Job done. Save the file (CTRL+S) and run it.
Cheers,
Luke
Lol, forgot about Selectworld! thanks, will add in next update! (I had to make one myself for choosing quick world when found in login screen lol, but this will work just fine).
begginer
03-30-2012, 09:57 PM
(23,935 views, 551 replies)
I think well done with it. BTW got all versions saved on my pc
bLOOOO
03-30-2012, 10:37 PM
The update for [G] doesn't work to great just stands around near the Magic shop.
The original [G] works great for me, been using for a few weeks on and off great script and thank you very much.
TemporaryUsername
03-31-2012, 10:18 PM
When i run it it goes to the southwest tower thingy. Can you fix this? I just sits there and moves camera around and clicks on my character?
P1nky, any updates coming soon? all versions are pretty buggy nowaday. Can't run it for more than an hour without it loggingout.
Main problems:
finishes a game, stands at plank then just logs out.
Getting lost.
Walking away from middle and not attacking.
Cheers,
Luke
Imanoobbot
04-01-2012, 08:43 AM
Hey, first off i got interested in your scripts. They seems to be very nice. Is it okey for you, when i look into your scripts and learn from them? So putting procedures etc together. See how the lines are working. Don´t worry i am not leeching. Not playing Runescape anymore, I am just interested in Scripting.
I think it is always better to ask.
-Imanoobbot
wayiyi
04-01-2012, 08:50 AM
it worked 6 hours and played 121 games but points was only 74 -.-
it worked 6 hours and played 121 games but points was only 74 -.-
Which version of the script are you using? Post the script here. I've never had problems with losing games..
Luke
P1nky
04-01-2012, 09:25 AM
it worked 6 hours and played 121 games but points was only 74 -.-
Post your stats, mainly it's due to you not getting the 500+ exp per game.
boyb69
04-01-2012, 04:59 PM
working great!! you made my day!! ( got hacked yesterday by epicbot but only minor loses 25m) and now i have got back my voids!!!
I really don't understand how it's working for 50% but bugging out for the other 50% of users.
Luke
P1nky
04-01-2012, 06:04 PM
I really don't understand how it's working for 50% but bugging out for the other 50% of users.
Luke
Your graphic settings is it set to like the lowest?
Of course, as always.
It's not the graphics settings.
Here are the problems:
When leaving Pestcontrol game, it might still be clicking a mob. This means when it arrives at the dock, it missclicks and walks away from gangplank.
Fix: Make it check that it's position is correct - otherwise walk back to plank.
When in pest control game it sometimes walks away from center and doesn't walk back.
Fix: same style as above.
Sometimes doesn't get enough points. I'm 84 str so it isn't that. Attacking and colour just needs to be sped up somehow.
Cheers,
Luke
feyaerts
04-01-2012, 09:28 PM
Of course, as always.
It's not the graphics settings.
Here are the problems:
When leaving Pestcontrol game, it might still be clicking a mob. This means when it arrives at the dock, it missclicks and walks away from gangplank.
Fix: Make it check that it's position is correct - otherwise walk back to plank.
When in pest control game it sometimes walks away from center and doesn't walk back.
Fix: same style as above.
Sometimes doesn't get enough points. I'm 84 str so it isn't that. Attacking and colour just needs to be sped up somehow.
Cheers,
Luke
I think there are ALOT of people using this bot, maybe that' why you don't get 500 because you could stand there with like 8 people :S
P1nky
04-01-2012, 09:29 PM
Temp Fix:
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
until (false);
end;
end.
Thank You.
Onemind
04-01-2012, 09:35 PM
Hi P1nky,
been trying to contact you through PM, but no response so far.
Can you check your inbox, please?
P1nky
04-02-2012, 12:02 AM
Proggie Test:
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 1st, 2012 ||
||===========================||
Worked For 5 Hours, 45 Minutes and 2 Seconds
Games Played 116
||===========================||
Hi P1nky,
been trying to contact you through PM, but no response so far.
Can you check your inbox, please?
I don't respond to most PMs due to my inbox keeps on getting filled, please post the question.
-Thanks
melee
04-02-2012, 09:10 PM
Script is amazing thankyou so much!!! was able to get 500 points flawlessly yesterday! Today with F and others it runs to below tower and stands there clicking. I can take a vid of it and show
d0pe b0i
04-02-2012, 11:29 PM
Running it now. Will post proggy later. Thanks P1nky
bobo188
04-02-2012, 11:49 PM
script is kinda broken atm, always goes into the right corner near the guard tower instead of the middle plateau. and no its not because im doing anything wrong, like auto retalitate on or anything, the script will just go to the tower straight from the beginning :s
d0pe b0i
04-03-2012, 02:44 AM
script is kinda broken atm, always goes into the right corner near the guard tower instead of the middle plateau. and no its not because im doing anything wrong, like auto retalitate on or anything, the script will just go to the tower straight from the beginning :s
http://screensnapr.com/e/GHOEFW.png
its working just fine, brotein.
Regicidal
04-03-2012, 06:07 AM
This just got me Elite Void and all helms! Thanks!
P1nky
04-03-2012, 06:12 AM
[F] is the one giving problems?
within 2-3 days I have received 1000 points with [F]?
Sim Kai Long
04-03-2012, 12:49 PM
http://i42.tinypic.com/nnju6x.png
Still running currently. Nice script P1nky, really love it. :)
timed002
04-03-2012, 04:37 PM
Curious as to how the xp compares to, say, Laake's Ghouler? Better or worse in the long run?
pigggy
04-03-2012, 08:24 PM
Curious as to how the xp compares to, say, Laake's Ghouler? Better or worse in the long run?
laakes ghouler is oblivously more xp, unless u are trying to get void..
Cerylin
04-03-2012, 09:33 PM
how long about will i have to use this to get full void (assuming i start from 0 points)
P1nky
04-03-2012, 09:52 PM
how long about will i have to use this to get full void (assuming i start from 0 points)
3 days?
Cerylin
04-03-2012, 09:59 PM
3 days?
If I was botting it continuously for those 3 days?
P1nky
04-03-2012, 10:10 PM
If I was botting it continuously for those 3 days?
Use the scriptmanager, you should be good within a day or 2. Check it out :D
BrothaLynchHung
04-04-2012, 12:26 AM
Version F Always runs to the top right
kinkose
04-04-2012, 03:59 AM
I have version G and it was working really well for the past couple days (going to the middle and killing shifters and stuff). i used it today and it just runs to random places... I keep getting no points and I'm not tryin to complain, but its getting really annoying. I thought I would just redownload version G, but when I came here to do it, it's not here...? Are you fixing things?
kunzy
04-04-2012, 04:11 AM
pinky i think your script has taken over pest control no joke :o
Nemesis3X
04-04-2012, 04:25 AM
pinky i think your script has taken over pest control no joke :o
After testing the Script, it is easier to guess who are real player and who aren't :-P
Jagex Mod
04-04-2012, 04:55 AM
I'm using that temp fix you uploaded on page 23.
I must say, brilliant script. Only one suggestion:
Sometimes when a defiler teleports; your character goes chasing after it and it doesn't go back to the void knight. It would be nice if it would click back there and continue on fighting.
Half of the time that's what prevented me from getting enough zeal.
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 4th, 2012 ||
||===========================||
Worked For 5 Hours, 24 Minutes and 11 Seconds
Games Played 109
||===========================||
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 4th, 2012 ||
||===========================||
Worked For 55 Minutes and 32 Seconds
Games Played 19
||===========================||
Good work so far. Would love to see you to continue improving in the future. Can definitely notice other PC'ers using it :)
P1nky
04-04-2012, 02:43 PM
I have version G and it was working really well for the past couple days (going to the middle and killing shifters and stuff). i used it today and it just runs to random places... I keep getting no points and I'm not tryin to complain, but its getting really annoying. I thought I would just redownload version G, but when I came here to do it, it's not here...? Are you fixing things?
Use [F] mate.
Version F Always runs to the top right
I'll test/update tonight.
pinky i think your script has taken over pest control no joke :o
Next update will add randomness in the walking :)
BrothaLynchHung
04-04-2012, 03:40 PM
buggy but still works. its a good script! got me ranger helm and top so far! bottom and gloves to go
prostaker
04-05-2012, 11:56 PM
It got me 95 prayer
Thanx for that.
Your friend Chuck :norris:
burni
04-06-2012, 01:16 AM
Keep getting there error below, not sure what it means. Wont get onto the gangplank (vex in the way). This is on version F. Ive used this script before, so ill dig up whatever version i was using and try it.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
bLOOOO
04-07-2012, 01:17 AM
Bot has been and is working great keep up the work!
P1nky
04-07-2012, 08:11 AM
Glad to announce that, "P1nky's PestController has total running time of 805 days"
Thank You Mates, will keep managing this script :) Keep posting bugs/proggies!
justiceouest
04-07-2012, 05:34 PM
i ear that's your are maybe doing a sw bot ? sound good bro
HamzaAbbasi
04-08-2012, 01:33 AM
Getting this infont of the Novice lander.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Using F but what's the difference?
melee
04-08-2012, 03:39 PM
Thankyou so much! 90-95 Strength so far and its only been a week or so.
HamzaAbbasi
04-08-2012, 08:08 PM
Dude PLEASE HELP!!!
When I start (F) infront of the Novice boat (not in it infront of the squire) and it justs clicks randomly to the sea.
young richard
04-08-2012, 11:16 PM
So this runs fine but then doesnt fight any monsters in pc? What do i fix? I have runescape settings set correctly and everything?
EDIT: So it runs to the middle at first and if it doesnt find a shifter within 5 seconds it just runs through one of the fences and then never clicks any other monster or ever tries to run again...Not sure what to do, why would I be the only one having this problem?
bLOOOO
04-09-2012, 02:39 AM
So this runs fine but then doesnt fight any monsters in pc? What do i fix? I have runescape settings set correctly and everything?
EDIT: So it runs to the middle at first and if it doesnt find a shifter within 5 seconds it just runs through one of the fences and then never clicks any other monster or ever tries to run again...Not sure what to do, why would I be the only one having this problem?
Restart the script happens to me a few times but when I restart the script it works fine again.
xGatmann
04-09-2012, 03:23 AM
[Hint] C:\Simba\Includes\SRL/SRL/core/mapwalk.simba(1353:3): Variable 'BOX' never used at line 1352
[Error] (38:5): Unknown identifier 'FindLamp' at line 37
Compiling failed.
Help please?
xGatmann
04-09-2012, 03:24 AM
Thankyou so much! 90-95 Strength so far and its only been a week or so.
What version are you using?
P1nky
04-09-2012, 05:17 AM
What version are you using?
Is [F] giving you problems?
siuman101
04-09-2012, 11:07 AM
The [F] always misclick the monster. Also it has a slow reaction. In addition, when it is attacking one npc, i don't know why it will try to attack the other, why don't let it kill that monster first without any click, cause it always mis-click, so i think it should reduce the frequency of clicking. I just found out that it is not mis-click, after hitting the swifter once, it will click "walk here". probably want the bot to stay in the area.
Edit: sometimes the mouse will hover and without doing anything.
young richard
04-09-2012, 04:49 PM
^ this
My bot runs and its very slow and when it dies it doesnt go back and fight
xGatmann
04-09-2012, 09:23 PM
Is [F] giving you problems?
I tried all of them and i still can't run any of the scripts :/ and yes i believe its F
xGatmann
04-09-2012, 09:25 PM
Which is the best version to use P1nky? ill try it out and give you the problems if i cant start it lol
siuman101
04-09-2012, 10:50 PM
Which is the best version to use P1nky? ill try it out and give you the problems if i cant start it lol
The writer has highly recommended to use version[F], and the more better one will be release later.
MarcoCampo
04-10-2012, 04:54 AM
I am currently using the F version, and it's working. Except it only runs to the middle where the knight is, and attacks the creatures there. How do i get it to run to the gates and attack, it just stands at the gate and does nothing. I'm knew to this.
Also what is the best world to do this on.. I can't find a world with people on it!
also getting this error... Is it because I'm starting IN the boat instead of beside it?
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
P1nky
04-10-2012, 07:50 AM
The [F] always misclick the monster. Also it has a slow reaction. In addition, when it is attacking one npc, i don't know why it will try to attack the other, why don't let it kill that monster first without any click, cause it always mis-click, so i think it should reduce the frequency of clicking. I just found out that it is not mis-click, after hitting the swifter once, it will click "walk here". probably want the bot to stay in the area.
Edit: sometimes the mouse will hover and without doing anything.
Turn off 'Fast500', and I will redo a whole function for finding/attacking the Pests on next Update. Also I made it fast cause the games are really fast in novice, and alot of competition due to so many others using this script.
My bot runs and its very slow and when it dies it doesnt go back and fight
I never died in a PC game so I was never able to make a procedure for it :/ wear better gear.
I tried all of them and i still can't run any of the scripts :/ and yes i believe its F
I will test it out sometime this week and make a update, sorry about the inconvenience.
I am currently using the F version, and it's working. Except it only runs to the middle where the knight is, and attacks the creatures there. How do i get it to run to the gates and attack, it just stands at the gate and does nothing. I'm knew to this.
Also what is the best world to do this on.. I can't find a world with people on it!
also getting this error... Is it because I'm starting IN the boat instead of beside it?
World 53 is made for PestControl and best for me and many other users. And this script is made for going to center and killing pests only, check out the vid Mate.
-Cheers and thanks for the feedbacks!
nathan lad
04-10-2012, 09:35 AM
great script was workin pefrectly for like 700 zeals tuther day using version F but now it misclicks when running to the void knight at the centre and instead goes a bit infront of it too the right where it cant see the shifters that spawn and hence forth doesnt gettin the required zeal
i got this to work i had to take some of the parts from version [F] and added them to version [D] have been running it for a couple of days now.
just ran it here is proggy.
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 10th, 2012 ||
||===========================||
Worked For 6 Hours, 1 Minutes and 11 Seconds
Games Played 125
imtoxic
04-10-2012, 02:03 PM
not working for me somthing with line37
G00die
04-10-2012, 09:25 PM
Is [F] giving you problems?
for me is [F] working perfectly if I dont minimize to much . but thats logic.
So thumbs up for you :) ive did like 3-4k tickets with runs of 5-6h a prog.
US Marine
04-11-2012, 12:10 AM
I'v gotten from 70-90 strength on one account, and 82-95 strength on another!
Working perfectly, update your simba guys and constantly update msi and whatnot. When my script starts messing up I restart my simba, check everything for an update and start over. Sometimes you just gotta give the script a boost by already being in the boat, or re-correcting it if it runs somewhere random.
I'v had 1 or 2 problems with this script and i'v been using it for a good amount of time.
Thanks for keeping this script awesome, looking forward to updates possibly?
young richard
04-11-2012, 04:46 PM
The major problem with this is if it attack a shifter that teleports away, which is only what ive seen it attack, it never goes back to the middle, therefore once its away from the middle, automatic waste of a game and time.
P1nky
04-11-2012, 08:10 PM
Quick Fix:
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
wait(1000);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
wait(500);
KeyDown(VK_left);
wait(Random(100) + 500);
KeyUp(VK_left);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
until (false);
end;
end.
Imanoobbot
04-11-2012, 08:24 PM
Quick Fix:
program PestControllerBETA;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//BETA Version
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
wait(1000);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
wait(500);
KeyDown(VK_left);
wait(Random(100) + 500);
KeyUp(VK_left);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
SetupSRLStats(654, 'Anonymous', 'anon1337')
else
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
until (false);
end;
end.
Seems to be very very nice! Will try this out tomorrow i think. Great job!
melee
04-11-2012, 10:17 PM
Version [F] has been working well for me My account never dies and gets 500 hits very quickly.
"The only provlem is it tends to follow shifters that move away from the center and gets stuck but overall I've probably only lost 2 games out of every 100."
I turned off quickprayer and special attacks (that might help someone else)
xGatmann
04-11-2012, 10:31 PM
Im getting a "MSVCR100.dll bad image" or a not valid one or something its an error message and wont let me launch the bot....can anyone help me please? :/ pm me please
P1nky
04-11-2012, 10:32 PM
Im getting a "MSVCR100.dll bad image" or a not valid one or something its an error message and wont let me launch the bot....can anyone help me please? :/ pm me please
Have you downloaded SRL?
siuman101
04-11-2012, 11:03 PM
Once a game has done, the bot should get into the boat immediately but not trying to talk. I have missed many game because of this.
secondly, i think the bot should keep on staying beside the void knight but not the fence, because no monster will be appear at the fence, and the bot will just sit there :P
thirdly, when the bot trying to go into the bot, it always mis-click, and sometimes it even clicking on the sky.
fourthly, the mouse always move randomly but it seems hardly detect the monster.
fifthly, which is the same problem, once the bot is attacking the NPC, the mouse should not click anything including the NPC.
Hope my report can make your bot develop in a more better way :P
xGatmann
04-11-2012, 11:15 PM
Have you downloaded SRL?
I got it working lol i guess something was wrong with my computer it took me 5 hrs lol to fix it but its good now :) thanks p1nky sorry for posting too much..i tried [F] and like how everyone is saying it misclicks lol thats pretty much it....does anyone know how much xp/hr this gives?
young richard
04-12-2012, 01:00 AM
Is "DeclarePlayerz" supposed to be with a z in the code you just posted? Also, why does it have to click through the chat? To read game text? the first two games i played with this quick fix code you recently posted i didnt zeal
melee
04-12-2012, 02:34 AM
Version [F] has been working well for me My account never dies and gets 500 hits very quickly.
"The only provlem is it tends to follow shifters that move away from the center and gets stuck but overall I've probably only lost 2 games out of every 100."
I turned off quickprayer and special attacks (that might help someone else)
Hehehehe Your script is so popular there is like 10 people using it in each game I'm in and hard to get 500 hits because we all fight over a few shifters lol. Amazing script though! A great way to improve it is to fight other spots besides center because it is very crowded now.
My bot keeps moving north east corner-.-........... Just set it 2 automatically go 2 center and not to straggle away.......
Elitezer0
04-12-2012, 09:24 AM
Working good. Dunno why people are complaining it's better then doing it legit lolz.
Windz
04-12-2012, 11:53 AM
Epic script!
One minor thing - when it gets to the island, it clicks the NPC message (continue) then it spins the camera for like 5 seconds then it goes. You should make it so that it just runs to the middle and attacks.
You should make it attack portals too.
Thanks for the script!
P1nky
04-12-2012, 04:33 PM
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 11th, 2012 ||
||===========================||
Worked For 5 Hours, 44 Minutes and 48 Seconds
Games Played 113
||===========================||
Updated to [H]! Make sure to post proggies! More attack spots will be added soon!
-Cheers
Skywalk
04-12-2012, 08:23 PM
After a few games it is getting stuck here at the gates
url]http://imgur.com/kb81W[/url]
at the gates
Version H
|====================================|
| ~ SRL ~ |
| Randoms Report |
|────────────────────────────────────|
| |
| |
|────────────────────────────────────|
|====================================|
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 12th, 2012 ||
||===========================||
Worked For 17 Minutes and 58 Seconds
Games Played 7
||===========================||
nice proggy for the start
I will post a new one tommorow I will leave it running over night
Skywalk,
qeeked
04-12-2012, 09:24 PM
Just tried (H) out it just kept hovering over the plank and then keeps walking to intermediate boat, ill keep playing with it.
P1nky
04-12-2012, 10:46 PM
Just tried (H) out it just kept hovering over the plank and then keeps walking to intermediate boat, ill keep playing with it.
I got a fix for this, will paste in a bit.
DDEVIL6
04-12-2012, 11:46 PM
On H it logged out in the middle of the seventh game, it also had "warning! you passed wrong values to a finder function ys > ye <30,29)"?
Windz
04-13-2012, 01:21 AM
Here's a proggy using version F.
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 12th, 2012 ||
||===========================||
Worked For 3 Hours, 37 Minutes and 7 Seconds
Games Played 80
||===========================||
Works great! Also another thing.. it gets to the middle and then when an NPC appears, it walks off the middle then waits 5 seconds then goes back up onto the middle.
skillkiller1
04-13-2012, 02:19 AM
great job man! after like 23 games on version H. i got this message though:( just keeps clicking on the water beyond the boat. other than that great job
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
orca1337
04-13-2012, 03:11 AM
When i reach 8 games played. The npc will ask me to exchange my commendation on the 3rd dialog when it comes up, the mouse keep moving in a pattern not stop like a triangle pattern.
Untill i disable SMART and i went into the boat and enable it. It's working again. Could you script it that it will click the small bridge to the boat instead of pressing next till the messege dialog is gone then you click on the bridge. It will make it miss the group that you're in.
I'm not complaining dude, i love your script it's free plus it's working. Kudos to you.
quazzymodem
04-13-2012, 03:41 AM
Will test this out, I have been using a modified version of F and it was pretty solid until the other day when it broke :(
Loving the script though pinky, expect a proggy soon
MarcoCampo
04-13-2012, 06:55 AM
been running [F] for a while andi t was working great, then it started to mouse over the plank and just move up and down it, [H] is doing this as well.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.
just not stop spamming this..
siuman101
04-13-2012, 10:31 AM
When i reach 8 games played. The npc will ask me to exchange my commendation on the 3rd dialog when it comes up, the mouse keep moving in a pattern not stop like a triangle pattern.
Untill i disable SMART and i went into the boat and enable it. It's working again. Could you script it that it will click the small bridge to the boat instead of pressing next till the messege dialog is gone then you click on the bridge. It will make it miss the group that you're in.
I'm not complaining dude, i love your script it's free plus it's working. Kudos to you.
I think the same thing as you do. You should really let the bot to click on the bridge after finished the game. If not it will miss the group.
Elitezer0
04-13-2012, 08:41 PM
It's started walking south of the platform and standing there every game:0 I don't know why It was working fine yesterday:/
illester
04-13-2012, 09:51 PM
Its always moves to another boat. I ran it for 12 hours a got 108 commendations.
P1nky
04-13-2012, 10:53 PM
FIX:
program PestController;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
wait(1000);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
wait(500);
KeyDown(VK_left);
wait(Random(50) + 50);
KeyUp(VK_left);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
{ SetupSRLStats(654, 'Anonymous', 'anon1337')
else }
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
until (false);
end;
end.
sarmetto
04-13-2012, 10:55 PM
FIX:
program PestController;
{$DEFINE SMART}
{$i srl\srl.simba}
{.include SRL/SRL/Skill/Fighting.simba}
//P1nky's PestController
//Make sure to have Auto Retiable off.
//Set Character Outside the Boat.
const
SpecialAttacks = True;
QuickPrayer = True; //Make sure to have Quick Prayer Set!
Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
SRLStats_Username = ''; // Your SRL Stats Username (Optional) Register here: http://stats.villavu.com/
SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: http://stats.villavu.com/
WhatBoat = 'N';{
Intermediate
Advance
Novice }
procedure DeclarePlayerz;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //Your Runescape username
Players[0].Pass := ''; //Your Runescape password
Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
end;
var
Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;
procedure FindRandoms;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
// FindNormalRandoms;
wait(Random(100) + 20);
exit;
end;
function Step1: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 933;
dtmMainPoint.y := 115;
dtmMainPoint.AreaSize := 3;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1452869;
dtmMainPoint.Tolerance := 20;
dtmSubPoints[0].x := 933;
dtmSubPoints[0].y := 115;
dtmSubPoints[0].AreaSize := 3;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1452869;
dtmSubPoints[0].Tolerance := 20;
dtmSubPoints[1].x := 933;
dtmSubPoints[1].y := 121;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 4357778;
dtmSubPoints[1].Tolerance := 20;
dtmSubPoints[2].x := 923;
dtmSubPoints[2].y := 114;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2844546;
dtmSubPoints[2].Tolerance := 20;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 104;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2513523;
dtmSubPoints[3].Tolerance := 20;
dtmSubPoints[4].x := 941;
dtmSubPoints[4].y := 114;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 5218735;
dtmSubPoints[4].Tolerance := 20;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function step2: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 629;
dtmMainPoint.y := 164;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 125670;
dtmMainPoint.Tolerance := 21;
dtmSubPoints[0].x := 629;
dtmSubPoints[0].y := 164;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 125670;
dtmSubPoints[0].Tolerance := 21;
dtmSubPoints[1].x := 627;
dtmSubPoints[1].y := 156;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 3042439;
dtmSubPoints[1].Tolerance := 21;
dtmSubPoints[2].x := 635;
dtmSubPoints[2].y := 165;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 3042439;
dtmSubPoints[2].Tolerance := 21;
dtmSubPoints[3].x := 630;
dtmSubPoints[3].y := 171;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 3042439;
dtmSubPoints[3].Tolerance := 21;
dtmSubPoints[4].x := 622;
dtmSubPoints[4].y := 165;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3042439;
dtmSubPoints[4].Tolerance := 21;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function Step3: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 741;
dtmMainPoint.y := 175;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 863541;
dtmMainPoint.Tolerance := 15;
dtmSubPoints[0].x := 741;
dtmSubPoints[0].y := 175;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 863541;
dtmSubPoints[0].Tolerance := 15;
dtmSubPoints[1].x := 739;
dtmSubPoints[1].y := 173;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 16249839;
dtmSubPoints[1].Tolerance := 15;
dtmSubPoints[2].x := 744;
dtmSubPoints[2].y := 169;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 2976616;
dtmSubPoints[2].Tolerance := 15;
dtmSubPoints[3].x := 737;
dtmSubPoints[3].y := 169;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 2841950;
dtmSubPoints[3].Tolerance := 15;
dtmSubPoints[4].x := 734;
dtmSubPoints[4].y := 173;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 16249839;
dtmSubPoints[4].Tolerance := 15;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;
procedure ReportSmart;
begin
ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
end;
procedure SPOT1;
begin
Status('Spot 1');
SetRun(True);
MakeCompass('S');
DTMSPOT := Step1;
if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
FFlag(0);
wait(Random(1000) + 500);
end;
procedure SPOT2;
begin
Status('Spot 2');
MakeCompass('S');
DTMSPOT2 := Step2;
if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, True);
wait(1000);
FFlag(0);
wait(1300);
end;
function AwayFromVoid: boolean;
var
C: Integer;
begin
C := 42342;
if not (C > 4) then
begin
result := false;
exit;
TerminateScript;
end
else
result := true;
Spot1;
end;
function Clan: boolean;
var
X, Y: Integer;
begin
Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
end;
function RewardBox: Boolean;
begin
if (Clan) then
begin
Mouse(475, 29, 1, 1, True);
end;
if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
begin
Result := True;
Mouse(392, 60, 0, 0, true);
Reward := Reward + 1;
end
else
Result := False;
end;
procedure WinOrLose;
begin
Status('Checking if Win Game Or Lose');
RewardBox;
MakeCompass('S');
ReportSmart;
if FindNPCChatText('Congratulations!', True) then
begin
win := win + 1;
stats_IncVariable('PC Points Earned', 2);
exit;
end
else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
begin
lost := lost + 1;
exit;
end
else
begin
exit;
end;
end;
function InBoat: Boolean;
begin
result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
end;
function NPC: Boolean;
begin
FindRandoms;
if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
begin
Result := True;
Writeln('NPC Message Detected!');
if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
Status('NPC Message');
MMouse(x, y, 0, 0);
wait(Random(200) + 20);
Mouse(x, y, 0, 0, true);
WinOrLose;
end
else
Result := False;
end;
procedure RandomButton;
begin
if not (Faster500) then
case Random(3) of
0:
begin
KeyDown(VK_Left);
wait(Random(600) + 500);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(600) + 500);
KeyUp(VK_Right);
end;
2:
begin
KeyDown(VK_Up);
wait(Random(200) + 500);
KeyUp(VK_Up);
end;
end;
if (Faster500) then
case Random(5) of
0:
begin
KeyDown(VK_Left);
wait(Random(200) + 20);
KeyUp(VK_Left);
end;
1:
begin
KeyDown(VK_Right);
wait(Random(200) + 20);
KeyUp(VK_Right);
end;
2:
begin
wait(Random(100) + 20);
end;
3:
begin
wait(Random(100) + 20);
end;
4:
begin
wait(Random(100) + 20);
end;
end;
end;
procedure Report;
var
Answer, WC: Integer;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
cleardebug;
SRLRandomsReport;
Writeln('||===========================||');
Writeln('|| P1nkys PestController ||');
Writeln('||===========================||');
Writeln('|| ' + TheDate(Date_Formal) + ' ||');
Writeln('||===========================||');
Writeln(' Worked For ' + TimeRunning);
Writeln(' Games Played ' + IntToStr(Games));
Writeln('||===========================||');
ReportSmart;
Stats_Commit;
end;
procedure AntiBan;
var
NoBan: Integer;
begin
Noban := Random(18);
case Move of
0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
5: RandomRclick;
6: RandomButton;
10: setangle(1)
end;
end;
function InGame: Boolean;
begin
result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
end;
procedure BoatWait;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
repeat
Status('Waiting In Boat');
ReportSmart;
RandomButton;
FindRandoms;
Report;
wait(Random(100) + 20);
until (NPC) or (Ingame);
Games := Games + 1;
exit;
end;
function FindBoard(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(1, 3);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
for I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 1, 1);
if (IsUpTextMultiCustom(['Gangplank'])) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;
procedure Plank;
begin
if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
NextPlayer(True);
Status('Searching For Plank');
WinOrLose;
FindRandoms;
case WhatBoat of
'N','n','novice','Novice','I','inter','i','Interme diate','intermediate' :
begin
MakeCompass('S');
KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down);
wait(500);
KeyDown(VK_left);
wait(Random(50) + 50);
KeyUp(VK_left);
end;
'A','a','adv','advance','Advance' :
begin
MakeCompass('W');
Setangle(0);
{ KeyDown(VK_Down);
wait(Random(650) + 500);
KeyUp(VK_Down); }
end;
end;
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
FindRandoms;
Report;
NPC;
exit;
end;
function Range: Boolean;
begin
if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
begin
Result := True;
Writeln('TRUE');
end
else
Result := False;
Writeln('False');
end;
var
qp: integer;
procedure QPrayer;
begin
if QuickPrayer then
QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4k uBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8= ');
if FindDTM(QP, x, y, 701, 52, 733, 79) then
begin
MMouse(x, y, 0, 0);
Mouse(x, y, 0, 0, true);
end
else
exit;
end;
procedure SpecAttack;
begin
if SpecialAttacks then
begin
Writeln('Toggling Special');
Status('Special Attack ON');
MouseBox(528, 179, 545, 195, 1);
begin
if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
Status('Special');
MMouse(x, y, 0, 0);
wait(Random(100) + 20);
Mouse(x, y, 0, 0, true);
end;
end;
end;
function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
begin
Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
end;
procedure FightPests;
var
Z, R, CTS: Integer;
begin
Status('Fighting Pests');
if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
begin
if (counter > 1000) then
begin
Report;
counter := 0;
end;
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
Exit;
end
else
Mmouse(x, y, 0, 0);
wait(Random(100) + 20);
if isuptext('ttac') then
begin
if not Faster500 then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('ttack');
end
else
begin
Mouse(x, y, 0, 0, true);
wait(random(500) + 100);
end;
if Faster500 then
begin
wait(Random(100) + 20);
Report;
end
else
wait(2000);
Report;
end;
end;
function Portal(Name: string): Boolean;
begin
case Name of
'red':
if (FindBlackChatMessage('south-western')) then
begin
Result := True;
Writeln('Red Portal Shield Down!');
Exit;
end
else
Result := False;
'yellow':
if (FindBlackChatMessage('south-eastern')) then
begin
Result := True;
Writeln('Yellow Portal Shield Down!');
Exit;
end
else
Result := False;
end;
end;
procedure FreeMem;
begin
FreeDTM(step1);
FreeDTM(step2);
FreeDTM(step3);
end;
begin
Disguise('P1nky PestController');
ClearDebug;
ClearReport;
Smart_Server := 17;
Smart_Members := false;
Smart_Signed := true;
Smart_SuperDetail := false;
begin
if (SRLStats_Username = '') then
{ SetupSRLStats(654, 'Anonymous', 'anon1337')
else }
SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
SetUpSRL;
declareplayerz;
ActivateClient;
counter := 0;
ClearDebug;
LoginPlayerToLob;
OpenWorldScreen;
SelectWorld(53);
LoginPlayer;
Inc(counter);
repeat
begin
FreeMem;
NPC;
Report;
Plank;
BoatWait;
begin
Spot1;
Spot2;
begin
SpecAttack;
QPrayer;
end;
repeat
FightPests
until not (Ingame);
end;
end;
until (false);
end;
end.
Thanks a lot bro! Awesome script !! Appreciate the quick fix !
edit: running it now, will post any bugs i find, so far so good !
edit2: For the first 5 games played, it took about 5-10 minutes to click the plank. after 10 minutes i just clicked it myself. after that it seems to be clicking the plank right away after leaving a game !
edit 3:
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 13th, 2012 ||
||===========================||
Worked For 3 Hours, 13 Minutes and 3 Seconds
Games Played 75
||===========================||
Pretty damn nice considering it spent about 25 minutes on the first 5 games trying to click the plank !
junsain2012
04-14-2012, 06:42 AM
SRL Compiled in 16 msec
SMART Initialized.
Loaded: Server 17, Members: False, Signed: True, Super Detail: False.
Error: Exception: Access violation at line 142
The following DTMs were not freed: [SRL - Lamp bitmap, 1]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap, SRL - Flag bitmap]
Help????
Elitezer0
04-14-2012, 03:04 PM
Still runs south:/
Edit: sometimes it catches itself and runs to the middle midway into running south
P1nky
04-14-2012, 11:05 PM
Updated to [I]; Let me know how it goes for y'all!
Gucci
04-14-2012, 11:20 PM
Updated to [I]; Let me know how it goes for y'all!
Nice, can't wait to give it a go, love this script awesome job P1nky
melee
04-15-2012, 03:09 AM
I'll test I overnight. Watched it do 2 games and only problem is it moves mouse rapidly after winning a game on the void knight lady's face before entering the boat.
junsain2012
04-15-2012, 03:42 AM
the beta version was pretty good
Makavelle
04-15-2012, 03:56 AM
hello the bot doesn't go to the middle, it goes near the right door next to the ladder for towers.
melee
04-15-2012, 12:34 PM
[Update] Ran I overnight and only got 46 points and when I logged in account was not in a random but by the intermediate boat?
nathan lad
04-15-2012, 02:37 PM
just wanna say thanks for maintaining and bettering ure script so regularly
P1nky
04-15-2012, 04:48 PM
[I] is working like a charm for me:
Worked For 5 Hours, 53 Minutes and 24 Seconds
Games Played 131
mads4856
04-16-2012, 02:43 PM
Super AWESOME script dude keep up the gooooooood work :D
superbuster4
04-17-2012, 12:50 PM
current bugs: runs to inter boat and gets stuck before gangplank, only picks trickster boots.
G00die
04-17-2012, 09:00 PM
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 17th, 2012 ||
||===========================||
Worked For 4 Hours, 50 Minutes and 49 Seconds
Games Played 108
||===========================||
stopped it because i needed to change tickets in :p
Oxygen
04-17-2012, 09:10 PM
Nice!
Laffytaffy
04-17-2012, 11:04 PM
Downloaded this script going to test it out and post progress reports.
nikolas
04-18-2012, 12:01 AM
How are ya'll getting yours to work? Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now. That's what i keep getting. Like it wont click the plank. Its turns the camera then keeps clicking and then says the above ^
superbuster4
04-18-2012, 01:34 PM
for some reason it ran well for 12hs but then i restated it manualy and now it runs to intermediate and advance boat, also please add boots support, i currently have 4 pairs of trickster boots and i don't even use trickster.
P1nky
04-18-2012, 09:29 PM
for some reason it ran well for 12hs but then i restated it manualy and now it runs to intermediate and advance boat, also please add boots support, i currently have 4 pairs of trickster boots and i don't even use trickster.
How are ya'll getting yours to work? Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now. That's what i keep getting. Like it wont click the plank. Its turns the camera then keeps clicking and then says the above ^
Give me few days Mates.
superbuster4
04-19-2012, 02:56 AM
Give me few days Mates.''
its cool i know we cant rush genius, anyways hows your Soul Wars script coming?
Onemind
04-19-2012, 03:09 AM
P1nky, will your Soul Wars script be released to the public or will it be sold?
P1nky
04-19-2012, 04:38 PM
''
its cool i know we cant rush genius, anyways hows your Soul Wars script coming?
P1nky, will your Soul Wars script be released to the public or will it be sold?
You'll see in couple days :), change of plans on the release as well;
superbuster4
04-19-2012, 07:57 PM
You'll see in couple days :), change of plans on the release as well;
i hope the change is for the better i do not want to result to using powerbot for soul wars i just dont trust them, and paris.
Onemind
04-19-2012, 08:16 PM
i hope the change is for the better i do not want to result to using powerbot for soul wars i just dont trust them, and paris.
Same here, I don't want to use EpicBot nor Powerbot's Soul Wars, I would love to use P1nky's script :)
polska94
04-20-2012, 03:32 AM
can you make the bot spam click so that it can get into boats quickly right after the end of a round?
superbuster4
04-20-2012, 12:41 PM
can you make the bot spam click so that it can get into boats quickly right after the end of a round?
that's not good see people put vex out now so spamming might lead it to hitting vex and stopping the client keep it steady and nothing sudden, i would love if he added portal support but that's so much walking to add... a boy can dream...
Gotmurked
04-20-2012, 04:22 PM
I keep trying to run but im getting this
Exception in Script: Unable to find file 'srl\srl.simba' used from ''
I would love some help if anyone knows why its doing this?
superbuster4
04-20-2012, 04:24 PM
I keep trying to run but im getting this
Exception in Script: Unable to find file 'srl\srl.simba' used from ''
I would love some help if anyone knows why its doing this?
now your going to get chewed out. lol you got 1 post its ok, but do some more reading before you post.
did you follow the instructions on how to instal simba? did you update all your shiz?
Gotmurked
04-20-2012, 05:01 PM
Yea i am fairly new here :p I have installed and updated simba with no effect, im not sure what else i can do?
Gotmurked
04-20-2012, 05:09 PM
Okay i think ive made a little progress. now im getting this lol
Exception in Script: Plugin(libsmart32) has not been found
Gotmurked
04-20-2012, 08:19 PM
Nevermind i got things working after trial and error!! The only bug so far is when im going to high level boats and while in pest control the cursor gets hung on fire capes. Just letting you know and thank you!
superbuster4
04-20-2012, 09:21 PM
Yea i am fairly new here :p I have installed and updated simba with no effect, im not sure what else i can do?
strange ask kyle or go to discussion they would know what to do.
vkillerv
04-21-2012, 09:24 PM
awesome script, a little botlike but free nonetheless
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 21st, 2012 ||
||===========================||
Worked For 3 Hours, 18 Minutes and 21 Seconds
Games Played 75
||===========================||
evanw25
04-21-2012, 09:35 PM
I'm gonna try this. Cant wait!
It hovers over the ladder for like 5min until it clicks it....
Also it drags over the map
kibbles18
04-22-2012, 10:29 PM
bad script
HolyWord
04-23-2012, 04:10 AM
I've used your script before and it worked really well. But this has been happening lately.
http://i868.photobucket.com/albums/ab245/DaveyAdler/PC.jpg
It just runs to this spot and just sits there and looks for shifters.
P1nky
04-23-2012, 07:37 AM
Tomorrow I will fix, please be patient.
P1nky
04-23-2012, 02:35 PM
Updated to [J], let me know how it goes.
Thanks
I will test for you right now, will upload a proggy asap if it runs, or a report if I run into any problems :)
EDIT: tested:
firstly very nice paint ;), but it keeps flashing?
theres no failsafe if we get off the platform, so I replaced lines 2737-2743:
R := Random(4);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: wait(Random(25) + 20);
3: wait(Random(25) + 20);
end;
with:
R := Random(100);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: if (ingame) then Spots('Spot1');
3: wait(Random(25) + 20);
end;
R := Random(10);
case R of
0: RandomButton;
1: wait(Random(25) + 20);
2: if (ingame) then Spots('Spot2');
3: wait(Random(25) + 20);
end;
This helps make sure I get back every now and again, and will only happen if no shifters are around anyway (due to line 2730)
EDIT2: win/lost games dont seem to be showing up? ill have a look through it and see if I can find a fix, still looking into the flashing thing, but im sure i sure a fix for that somewhere
EDIT3: Some personal fixes I did to ensure I dont miss a boat:
1. Commented out all occurrences of randombutton
2. Comment out the
MakeCompas('S');
in spot2 and placed
MakeCompas('E');
instead of the
wait(1300);
on line 2358
3. Commented out lines 2633 to 2653 in Plank (this only really helps for veteran, not sure about others)
4. replaced this from lines 2655-2665:
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
screen;
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
with:
repeat
RewardBox;
ReportSmart;
if not RewardBox then
if FindBoard(x, y) then
screen;
Status('Looking for Plank');
wait(200 + random(232));
if Isuptext('angplank') then
repeat
wait(50+random(50));
ClickMouse2(true);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
5. If the above is done we can comment out the NPC call on line 2847, because no legit player ever really clicks that right?
Ill add more as I go along
Explicit1
04-23-2012, 04:28 PM
Testing [j] out now! will update with a proggy later
AverageWafer
04-23-2012, 04:32 PM
Testing [J] now, I'll give you a 6 hour proggie when I get back home later :)
AverageWafer
04-23-2012, 04:46 PM
The proggie is extremely glitchy, where do I turn that off?
Is that GameReport = True;?
The proggie is extremely glitchy, where do I turn that off?
Is that GameReport = True;?
Yes..
EDIT: next time try it and check first? (you may learn something)
bad script
This is a pathetic comment, no feedback or proggy or evenan explanation...
And if it is so bad try fixing it yourself and let us know how you did it?
In addition to my previous post:
I also added a few more:
if not (ingame) then Exit;
or
else if not (ingame) then Exit //this is usually in the middle of one of the existing if's before the else
throughout FightPests to exit the loop quickly when a new game starts, (as you can tell I dont like missing a boat lol, usually means you miss 2/3 if that happens :s)
proggy:
||===========================||
|| P1nkys PestController ||
||===========================||
|| April 23rd, 2012 ||
||===========================||
Worked For 1 Hours, 9 Minutes and 17 Seconds
Games Played 29
||===========================||
just to show that its quicker and doesnt miss many rounds, and still running ;)
ahlie1990
04-23-2012, 08:51 PM
Got this error
[Error] C:\Simba\Includes\SRL/SRL/misc/paintsmart.simba(560:12): Unknown identifier 'TPAFromEllipse' at line 559
Compiling failed.
any tips?
P1nky
04-23-2012, 09:20 PM
Thank you Sham, I am going to give you some rep+ as well. Really great feedback, will use your suggestions and advice in the next update. Yeah i'll fix the flashy annoying proggie as well, I did this update before going to school (so was in a hurry lol).
-Cheers.
Thank you Sham, I am going to give you some rep+ as well. Really great feedback, will use your suggestions and advice in the next update. Yeah i'll fix the flashy annoying proggie as well, I did this update before going to school (so was in a hurry lol).
-Cheers.
No, thank you for making the script I am just trying as much as I can to help and not be a leecher.
Ps I will pm you the code i'm using, you can have a look as I may have forgot to mention a few other changes?
nikolas
04-24-2012, 04:32 PM
I dont know if im doing something wrong or setting this up wrong but when i run the script it just clicks in some random spot and keeps clicking there then it says this "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now."
unbreakable
04-25-2012, 11:47 AM
thats fucked up.... idk if it is the script or this community, but the bot runs around and goes to the middle and say we're villavu.vom
wtf? i dont want my account being banned.
superbuster4
04-25-2012, 06:32 PM
this works for me set the paint flash delayed to every time it sees the npc message that the game is over, i think the reason its flashing is because its updating itself.
P1nky
04-27-2012, 03:49 PM
I will update this script by today, check back soon!
xtrapsp
04-27-2012, 07:02 PM
thats fucked up.... idk if it is the script or this community, but the bot runs around and goes to the middle and say we're villavu.vom
wtf? i dont want my account being banned.
This is a complete lie.
As for the script. I'm running on Version [D] Because it works better atm :p
edit: This one gets stuck to now :/ 2 hours 4 commedations
Momentum561
04-27-2012, 08:35 PM
I am using the current script. I disabled the GameReport and now it works fine. Before it used to randomly close out after an hour or two. I just went on almost 5 hours and could have gone longer, but decided to level another skill up. Thank you for the script!
||===========================||
|| April 27th, 2012 ||
||===========================||
Worked For 4 Hours, 32 Minutes and 15 Seconds
Games Played 90
xtrapsp
04-27-2012, 10:14 PM
Ok P1nky, got some news. I started editing it for my own personal use so it does the other pests... not the center ones (Not enough exp there) I will send it over :) + I might have Portals added too but it's a bit buggy
unbreakable
04-28-2012, 03:24 AM
This is a complete lie.
As for the script. I'm running on Version [D] Because it works better atm :p
edit: This one gets stuck to now :/ 2 hours 4 commedations
hmm so i lied? okay. Fine to whoever gets banned. gl.
I ran this script for awhile. Watched it to see if i "acted" like a bot.
It walked over by the doors. Ran to the middle and said " We're www.villavu.com "
now why the fuck would i lie?
P1nky
04-28-2012, 05:19 AM
Ok P1nky, got some news. I started editing it for my own personal use so it does the other pests... not the center ones (Not enough exp there) I will send it over :) + I might have Portals added too but it's a bit buggy
I made a private version that runs around as well and kills, but please send yours to me; It be fun to see what you have done and I'd credit you and prolly edit/upload it. I been working on the SW script with a Mate lately, and have my testing account at SW 24/7 lol.
xtrapsp
04-28-2012, 06:04 AM
I made a private version that runs around as well and kills, but please send yours to me; It be fun to see what you have done and I'd credit you and prolly edit/upload it. I been working on the SW script with a Mate lately, and have my testing account at SW 24/7 lol.
When I have it working a bit cleaner I will :P But if your keeping it private then I'l do that same if thats ok? Cause we don't want PC being ruined ;)
Decision
04-28-2012, 07:46 AM
I've gotten full void elite and all the masks with this script gotta say I love it for the fact that its so stable! I recommand it to anyone who wants to get exp or the set!
erde0
04-28-2012, 02:04 PM
I got my range level from 60 to 65 in no time, and my magic from 60 to 70 :D
Thank you alot Pinky!
danhughesx3
04-28-2012, 06:08 PM
Hey P1nky, could you update this so it can attack portals and everything, not just the npcs in middle? Thanks.
ShadowsTM
04-28-2012, 06:35 PM
Well just read the script and take out the code that makes it do that, Havn't ran it myself but I highly doubt it does that, Why would it... Pointless.
Gestapo
04-28-2012, 07:18 PM
wtf i got random in pest control
bricks
04-28-2012, 09:32 PM
hey P1nky can you please add code to allow the character to attack the portals. :D
Rezozo
04-29-2012, 02:55 AM
wtf i got random in pest control
That sucks...
Anyway, P1NKY, Its supposed to always go to the middle right? Mines doesn't... It wanders, and gets reletively no kills... Script problem or something else?
Ashihtaka
04-29-2012, 05:10 AM
The earlier versions of this script has gotten me many PC points,
for those of you who have it running smoothly now, which version are you running?
P1nky
04-29-2012, 05:42 AM
That sucks...
Anyway, P1NKY, Its supposed to always go to the middle right? Mines doesn't... It wanders, and gets reletively no kills... Script problem or something else?
It's the script, I will update it soon! (hopefully tomorrow)!
tonypham49
04-29-2012, 06:58 AM
Why do we need both parts of that download isnt there only 1
GOod news . I GOT IT WORKING
I had to log in manually. but it chose world automatically.
Thanks alot will report back with a proggy by tommorow
Rezozo
04-29-2012, 11:08 AM
It's the script, I will update it soon! (hopefully tomorrow)!
Okey Dokey!
Edit: Working for me again! I just added some old fashion waits, though I don't know why it worked...
kingbrown
04-29-2012, 08:56 PM
Works like a charm.
Thank you very much.
nikolas
04-29-2012, 10:37 PM
How do all you get this to work? im still having the same problem. it just spam clicks some random spot. then is says "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now."
BFed123
04-30-2012, 12:25 AM
The bot is like glitching on the bottom where it says time played, and its not really attacking anything. It joins games and everything. What is causing the weird lag?
Jokester
04-30-2012, 03:40 AM
Im gonna run this non stop for a month with a crap account and see how far I get! Did you add something to your sig?
Ejjman
04-30-2012, 10:43 PM
Hey P1inky, this is a great script start. I can't wait till all these features are implemented.
Just a few notes, though, that would be easy to add and help lots (may/may not have been suggested):
-Relocate to center. If an enemy ports out, it follows and gets stuck. There's 5 towers while in center, and those could be used to relocate back to center or find position.
-Less clicking of things in chat. As someone suggested, legit players don't hit green arrow often in chat box.
-Drop requirement to lower screen or go north to cross onto plank. It would be faster to just find the plank while the screen is all the way up or so map isn't required to be north.
The script is great so far, and once all portals are added, it will be great.
Thx
neo arrow pk
05-01-2012, 06:38 AM
It still tends to go to the intermediate boat after an hour.
Other then that, great script.
BFed123
05-01-2012, 07:18 AM
I used the first version and its working flawlessly, almost at 6 hours played straight, 127 games. Theres a few games where not enough zeal but its not the bots fault.
carla_jacoe
05-01-2012, 11:27 AM
It still tends to go to the intermediate boat after an hour.
Other then that, great script.
Im experiencing the same thing.
superbuster4
05-01-2012, 05:28 PM
is it just me or do you guys think pinky is out to get us?
my reason for concern:
"we are villavu hear us roar"
it is quite humorous but also dangerous
P1nky
05-01-2012, 10:02 PM
Uploaded [K], tell me how it goes added a extra random route and such; Credits to Shams for some add-ons. :)
fslashthroat
05-01-2012, 11:32 PM
Uploaded [K], tell me how it goes added a extra random route and such; Credits to Shams for some add-ons. :)
fixed my issue with it not clicking the gangplank after perfectly, thanks dude! +repped
fslashthroat
05-02-2012, 12:10 AM
would be excellent if you could add dbaxe spec with weapon switch like the old school scar pest control script I used to use
rjk1990
05-02-2012, 12:20 AM
Script looked awesome, I tried it out and my guy just runs to the middle and attacks nothing unless auto retaliating xD
not sure whats wrong, tried each script and not sure of the differences
Jokester
05-02-2012, 12:22 AM
Script looked awesome, I tried it out and my guy just runs to the middle and attacks nothing unless auto retaliating xD
not sure whats wrong, tried each script and not sure of the differences
That is exactly what it is supposed to do if I'm not mistaken.
rjk1990
05-02-2012, 12:26 AM
That is exactly what it is supposed to do if I'm not mistaken.
Ah i think it was my bad, seems i over looked the special option and that stalls the script. shall test now
edit: Nope, most of the time just stand in the corner of the middle away from any pests and not getting in combat at all :( Script says to turn auto retaliate off so i doubt this is intended, but so far is the only way i /might/ get zeal
P1nky
05-02-2012, 03:52 AM
It's suppose to attack the pests, use the updated version?
BFed123
05-02-2012, 06:17 AM
Hey Pinky, for some reason the 2 more recent scripts cause extreme lag and don't function properly, do you know what could be the cause? Thanks.
rjk1990
05-02-2012, 10:38 AM
It's suppose to attack the pests, use the updated version?
There are three version on the OP, none of them function correctly as i've said. If there is a newer version not linked there that works please enlighten me. For now each script just wonders to a different part of the map and hovers over pests without clicking
As for right now, i'm using the fixed script someone posted 5 or so pages back. It attacks but is slow to click the bridge, i'm gonna try merging his with you're newest one, so i have attacking and boarding the boat
P1nky
05-02-2012, 03:21 PM
Hey Pinky, for some reason the 2 more recent scripts cause extreme lag and don't function properly, do you know what could be the cause? Thanks.
Hmmm, try turning off the debug and 'fast500' try that.
There are three version on the OP, none of them function correctly as i've said. If there is a newer version not linked there that works please enlighten me. For now each script just wonders to a different part of the map and hovers over pests without clicking
As for right now, i'm using the fixed script someone posted 5 or so pages back. It attacks but is slow to click the bridge, i'm gonna try merging his with you're newest one, so i have attacking and boarding the boat
Well worked fine for me:
||===========================||
Worked For 4 Hours, 54 Minutes and 8 Seconds
Games Played 106
||===========================||
your graphic settings is it on your lowest?
Also go to Line 2816: if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2767754, 2108184, 1526335{ 3689865,5993091,724004, 4942983, 4903920, 2108184, 5051472, 3228504, 3355445, 3162776,}], 3)) then
update the colors (of the green and red pests).
Let me know how it goes.
neo arrow pk
05-02-2012, 05:44 PM
How can i prevent my character from walking or even entering intermediate boat instead of my selected novice boat?
fslashthroat
05-02-2012, 10:39 PM
version k , fails if someone drops a clan vexilum
P1nky
05-03-2012, 05:07 AM
version k , fails if someone drops a clan vexilum
What you mean?
orbero
05-03-2012, 06:55 AM
What you mean?
If someone puts one where you enter the boat the clan thing gets in the way so it wont click the plank to enter.
If someone puts one where you enter the boat the clan thing gets in the way so it wont click the plank to enter.
ya i am having the same issues if some one puts a clan vex. at the starting of the gangplank it has a very hard time to enter the boat, i did some tinkering with the compass direction and i got it to work a little better but it doest run as fast as it did.
i also have like 48 pairs of trickster boots if you can, can you make that randomized pinky?
ajhockey88
05-03-2012, 08:40 PM
doesnt attack anything and im on Version K. If it does attack stuff its cuz i have auto retal on because with it off i would just stand in one place the whole game
Rezozo
05-03-2012, 09:39 PM
The new one does not work... What is the difference? Could I take out parts from [K] and put it in [J]?
Still doesn't go to center.
Edit: Using the previous one, working nicely!
ajhockey88
05-03-2012, 09:49 PM
The new one does not work... What is the difference? Could I take out parts from [K] and put it in [J]?
Still doesn't go to center.
Edit: Using the previous one, working nicely!
which one? I,J, or K?
Having a problem with all of them :/
All go to the center, but sometimes it wont attack the red shifters. However, it will always attack the green ones.
I faced the clan vex issue as well, its kind of annoying, very annoying, because the bot cant enter the boat.
http://i.imgur.com/t9Zrj.jpg
Bots got stuck here
http://i.imgur.com/DdhDq.jpg
Uploaded [K], tell me how it goes added a extra random route and such; Credits to Shams for some add-ons. :)
Great update!!! Cant wait till this script is fully complete.
I will have a better look through later and actually run it after ive done a bit more runespanning :P
+rep
EDIT: ps if you guys struggle to get your 500, try using a bgs or d claws, bgs because it has great strength bonus and is relativly cheap, and claws because of the crazy spec, should be a great first hit :) (I have hit 475+ (not max hit) in first hit with bgs spec with only 85 str and no other strength bonus). If they are stilltoo expensive, borrow one for 6 or 24h hours ata a time and run the script fort he entire time ;)
HolyWord
05-04-2012, 06:17 AM
||===========================||
|| P1nkys PestController ||
||===========================||
|| May 3rd, 2012 ||
||===========================||
Worked For 4 Hours, 37 Minutes and 14 Seconds
Games Played 101
Thanks Pinky! Great script :)
P1nky
05-04-2012, 07:05 AM
Re-Uploaded [K] with the boarding plank fix!
Check it out!
Deadshot
05-04-2012, 07:46 AM
sadly isnt working that great for me but none of the other scripts are either so maybe its just me
Re-Uploaded [K] with the boarding plank fix!
Check it out!
awesome pinky thank you, going run this now let you know how it runs im gunna babysit it for like 1/2 an hr or so.
so i ran it for 40 mins it played around 12 games, it is flawless so far other than, the only thing that could need some fine tuning now is that it really doesn't like to attack the red shifters, I'm going to see if i am able to add that in, my scripting lvl is way under 9000 so i dunno if i will be able to lol.
ya tbh i haven't a clue how to make it attack another creature lol.
mickeymouse
05-04-2012, 04:06 PM
is it just me or the script doesnt attack the crickets in the center for intermediate and advance boat?
nikolas
05-04-2012, 05:04 PM
Is it just me or does the script when started just rotates the screen then spam clicks a spot? because thats all that happens when i start the script. then is says "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now." but other then that you have to click the plank yourself and then the script works great until you have to click the plank again. someone please help me out.
P1nky
05-04-2012, 06:15 PM
Is it just me or does the script when started just rotates the screen then spam clicks a spot? because thats all that happens when i start the script. then is says "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now." but other then that you have to click the plank yourself and then the script works great until you have to click the plank again. someone please help me out.
your graphic setting is it set right?
is it just me or the script doesnt attack the crickets in the center for intermediate and advance boat?
colors must have gone bad, ima have to update.
awesome pinky thank you, going run this now let you know how it runs im gunna babysit it for like 1/2 an hr or so.
so i ran it for 40 mins it played around 12 games, it is flawless so far other than, the only thing that could need some fine tuning now is that it really doesn't like to attack the red shifters, I'm going to see if i am able to add that in, my scripting lvl is way under 9000 so i dunno if i will be able to lol.
ya tbh i haven't a clue how to make it attack another creature lol.
Well the colors may be bad for you, you can change that by going into 'FightPest' and update the colors :).
Rezozo
05-04-2012, 07:07 PM
which one? I,J, or K?
Im using J, Added some stuff in b/w and it works moderately well.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.