NexPB
2011-12-30 12:30:57
How Long have You Played Runescape?
5 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Java and a bit php and just learned pascal.
Are you a member of any other communities?
Powerbot made there 3 scripts.
Tell us about yourself…
Please show us one (or multiple) of your scripts.
5 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Java and a bit php and just learned pascal.
Are you a member of any other communities?
Powerbot made there 3 scripts.
Tell us about yourself…
From: NexPB
I am lorenzo, I like to program.
When I script something I always want it perfect or I won't realease it.
I'm also a big movie fan <3
Please show us one (or multiple) of your scripts.
program GlowHerblore;
{$i srl/srl/misc/smart.scar}
{$i SRL\SRL.scar}
{$i SRL/SRL/misc/paintsmart.scar}
{
-=-=-=- INFORMATION THIS IS MADE BY NEXPB aka NEX -=-=-=-
- Fill in the required information.
- Only spec restores supported atm.
}
const
userName = ''; //Username here. (needed to login)
passWord = ''; //Pass here.
nickName = ''; //3-4 lowercase letters from your username.
bankPin = ''; //Bankpin here.
makeAmountPots = 1000;// Amount pots need to be made (Always put an amount)
makePot = 'Recover special'; // your potion here write it same like rs please.
World = 69;//World you want to login.
LampXpIn = 'Farming';//Skill you want exp in from the genie.
var
firstItem, secondItem, finalItem, potsMade, xpPotion, startScript, xpGained: Integer;//Don't touch this.
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := userName;
Players[0].Pass := passWord;
Players[0].Nick := nickName;
Players[0].Active := True;
Players[0].Pin := bankPin;
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];//Random event prices.
end;
procedure AntiRandoms;
begin
FindNormalRandoms;
LampSkill := (LampXpIn);
LevelUp;
end;
procedure StartUpClient;
begin
Smart_Server := World;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
ActivateClient;
if not LoggedIn then
LoginPlayer;
end;
procedure GetInfo(potion: String);
begin
Case (Lowercase(potion)) of
'recover special':
begin
firstItem := DTMFromString('m6wAAAHic42ZgYMgE4hwgzgfiQiAuBuJcIE4H4iQgjofSqUBcyghUD8R5QFwMxOVAXA3ENVC6DIjzgTgDiOe51AF1MBGFWYEksZiRBIwEAOicC0Y=');//super energy
secondItem := DTMFromString('m6wAAAHic42ZgYLAFYkcgdoViZyC2A2JLIDYFYhMobQHEBYwMDOlAnA3ERUBcDsSVUFwKxPlQOZCaztkiQB1MRGFWBuIBIwkYCQAAGGoI3g=='); //Papaya
finalItem := DTMFromString('m1gAAAHic42JgYJgKxDOAeDYQz4PSILFeIO4G4j4gngjEJYwMDBlAXADEpUBcBcQ1UBrEzwfiLCBOa5gFVM1EELMCSWIwI5EYAQDuwQwv'); //Recover special
xpPotion := 200;
end;
'extreme attack':
begin
firstItem := DTMFromString('m6wAAAHic42ZgYAgG4nAgjgTiGCgdAsT+QOwNxF5A7APlfwHi10D8Hoi/AvEvIP4DxL+h7M9QuRdAbGG1BUgyEYVZgSSxmJEEjAQAjIkPiw=='); //super attack
secondItem := DTMFromString('mAAEAAHic42FgYGiE4hYg7gDiXijuBOJWIK4F4nIgLgTiSiB+DcQPgfgpED+D0iCxD0D8GYi/QNlvgPg5EIu6KABJJqIxK5AkBTOSiJEBAMH/Efk='); //clean avantoe
finalItem := DTMFromString('mAAEAAHic42FgYFgNxOuAeAMQbwLirVAaJL4UiBcB8WIgXgbEy4H4CxC/AOK3QPwJiL8D8S8g/gPEv4H4B1T8DVRdwRKQLiaiMSuQJAUzkoiRAQCIahWL'); //extreme att
xpPotion := 220;
end;
'extreme strength':
begin
firstItem := DTMFromString('m1gAAAHic42JgYGgB4g4g7gLiXiDuBuJmIK4D4iogrgXieiDOYWRgSALiDCDOBeIiIC4B4mIgzoeKJwPxuuXLgKqZCGJWIEkMZiQSIwAAg5oLuQ=='); //super str
secondItem := DTMFromString('mAAEAAHic42FgYNgExFuAeAcQ7wHivVB6JxBvBeL1QLwSiJdB6RRGBoZYII4H4hggTgTiNCDOBuJcKJ0FxOlQOXYjDqAuJqIxK5AkBTOSiJEBAEgvDdg='); //clean dwarf weed
finalItem := DTMFromString('mAAEAAHic42FgYLgLxA+A+BEQPwXih1CxG0B8GYqvAvF1KM5lZGBIBuIMIM4D4mIgLoHSBUCcA5VLAeJ4IN6+fj1QFxPRmBVIkoIZScTIAABJjRHW'); //extreme str
xpPotion := 230;
end;
end;
end;
procedure FreeDTMs;
begin
FreeDTM(firstItem);
FreeDTM(secondItem);
FreeDTM(finalItem);
end;
procedure EndScript;
begin
Logout;
FreeDTMs;
Terminatescript;
end;
procedure AntiBan;
begin
case Random(150) of
1..11: PickUpMouse;
21..31: RandomMovement;
61..71: BoredHuman;
81..91: wait(500 + random(1250));
end;
end;
procedure WithDrawFromBank(dtm: Integer; amount: String);
var
x, y: Integer;
begin
if (FindDTM(dtm, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
if (startScript >= 1) then
begin
Mouse(x, y, 4, 4, false);
ChooseOption(amount);
end else
begin
Mouse(x, y, 4, 4, false);
ChooseOption('ithdraw-X');
wait(900 + random(180));
TypeSend(amount);
startScript := (startScript + 1);
end;
end;
end;
procedure OpenBankChest;
var
x, y: Integer;
begin
writeln('Opening chest bank.');
if FindObjCustom(x, y, ['hest', 'ank', 'Che'], [11184818, 5530222], 3) then
MakeCompass(250 + random(30));
Mouse(x, y, 4, 4, false);
ChooseOption('Use');
wait(600 + random(200));
end;
procedure MakePots;
var
x, y, x1, y1: Integer;
begin
if not LoggedIn then Exit;
writeln('Make pots.');
if FindDTM(firstItem, x, y, MIX1, MIY1, MIX2, MIY2) and FindDTM(secondItem, x1, y1, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 4, 4, false);
Wait(450 + random(150));
ChooseOption('Use');
if ItemActivated(1) then
begin
Mouse(x1, y1, 4, 4, true);
Wait(1300 + random(250));
Mouse(256, 442, 4, 4, true);
end;
repeat
AntiBan;
wait(1500 + random(1500));
until not FindDTM(firstItem, x, y, MIX1, MIY1, MIX2, MIY2) or not FindDTM(secondItem, x, y, MIX1, MIY1, MIX2, MIY2);
end;
end;
procedure TakeItems;
var
x, y: Integer;
begin
if not LoggedIn then Exit;
if not BankScreen then
begin
OpenBankChest;
end;
If PinScreen then InPin(Players[CurrentPlayer].Pin);
if BankScreen then
begin
if FindDTM(firstItem, x, y, MIX1, MIY1, MIX2, MIY2) and FindDTM(secondItem, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
writeln('Closing bank, got our ingredients');
CloseBank;
end;
if FindDTM(finalItem, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
writeln('Banking pots');
potsMade := (potsMade + InvCount);
DepositAll;
end;
if not FindDTM(firstItem, x, y, MIX1, MIY1, MIX2, MIY2) and not FindDTM(finalItem, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
writeln('Take first ingredient');
WithDrawFromBank(firstItem, '14');
wait(950 + random(150));
end;
if not FindDTM(secondItem, x, y, MIX1, MIY1, MIX2, MIY2) and not FindDTM(finalItem, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
writeln('Take second ingredient');
WithDrawFromBank(secondItem, '14');
wait(950 + random(150));
end;
end;
end;
Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer); //Creds to flight his tutorial <3
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 Report;
begin
xpGained := (potsMade * xpPotion);
PrintOnSmart(['GlowHerblore by NexPB', '- Time running:' + TimeRunning, '- Xp gained:' + IntToStr(xpGained), '- Pots made:' + IntToStr(potsMade)], Point(10,260), 65386);
end;
procedure Loop;
var
x, y: Integer;
begin
AntiRandoms;
if (FindDTM(firstItem, x, y, MIX1, MIY1, MIX2, MIY2) and FindDTM(secondItem, x, y, MIX1, MIY1, MIX2, MIY2)) and not BankScreen then
begin
MakePots;
end else
TakeItems;
end;
begin
StartUpClient;
if LoggedIn then
repeat
GetInfo(makePot);
Loop;
Report;
FreeDTMs;
until (potsMade >= makeAmountPots) or not LoggedIn;
EndScript;
Addonterminate('freeDTMs');
end.