what does this mean?
Exception in Script: Unable to find file 'SRL/SRL/Misc/stats.simba' used from ''
Printable View
what does this mean?
Exception in Script: Unable to find file 'SRL/SRL/Misc/stats.simba' used from ''
This script fucks up...
Exception in Script: Unable to find file 'SRL/SRL/Misc/stats.simba' used from ''
[Error] (62:5): Unknown identifier 'ClearRSCanvas' at line 61
Compiling failed.
I have edited it slightly and it works now. It will eat if HP % is <30. It will eat lobsters and is build for 10 hp so a lobster heals me to full hp at all times. So this will not work efficiently if you are >10 hp.
Simba Code:program R4_ManThief;
{$DEFINE SMART}
{$i SRL/SRL/misc/smart.simba}
{$i SRL/SRL.simba}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.simba}
//{$i VVForm.simba}
{Welcome to R4nd0m's Man Thief, this script steals from men/women giving
you coins and XP!.
Features:
Death Walk
Anti-Ban/Anti-Random
Eating (30%-) Any food (Just keep in inventory)
SRL Stats
An Interesting Paint/Painted Mouse
Human like Mouse moments (Thanks Flight)
Progress Reports}
Var
man, Location, TimeLast, x, y :Integer;
Lumbridge, Stairs: TPoint;
WalkHome: TPointArray;
CStatus: String;
Const
Version = 3; //Please do not change.
//SRL info HERE!
SRLStats_Username = '';
SRLStats_Password = '';
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // This is the player to start with
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username;
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];
end;
Procedure CheckStats;
begin
if ((SRLStats_Username = '') And (SRLStats_Password = '')) then
begin
SetupSRLStats(201,'Anonymous','anon1337');
Exit;
end;
end;
procedure ClearSmartCanvas;
{$IFDEF SMART}
var
drawing : TBitmap;
begin
drawing := TBitmap.Create;
drawing.canvas.handle := SmartGetDebugDC;
try
FreeBitmap(drawing);
except
end;
{$ELSE}
begin
{$ENDIF}
end;
Procedure PrintOnSmart(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 Painting;
begin
PrintOnSmart(['R4_ManThief','-----------', 'Status:', CStatus],
Point(40, 50),60928);
end;
procedure ProgressReport;
begin
ClearDebug;
WriteLn('[R4nd0m] ManThief');
WriteLn('===================================================');
WriteLn('===================================================');
WriteLn('Running for: ' + TimeRunning);
WriteLn('Times PickPocketed: ' + IntToStr(man));
Writeln('XP gained:'+ IntToStr(man*8));
WriteLn('===================================================');
WriteLn('===================================================');
end;
//By Benland100, modified to paint mouse movements
procedure WindMouse2(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
var
veloX, veloY, windX, windY, veloMag, dist, randomDist, lastDist, step: extended;
lastX, lastY: integer;
sqrt2, sqrt3, sqrt5: extended;
begin
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
while hypot(xs - xe, ys - ye) > 1 do
begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
if (maxStep < 3) then
begin
maxStep:= random(3) + 3.0;
end else
begin
maxStep:= maxStep / sqrt5;
end;
end;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));
step:= hypot(xs - lastX, ys - lastY);
wait(round((maxWait - minWait) * (step / maxStep) + minWait));
lastdist:= dist;
SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
end;
if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MoveMouse(Round(xe), Round(ye));
end;
{*******************************************************************************
Procedure HumanMMouse(eX, eY: Integer);
By: Flight
Description: Human-like miss-and-correct mouse movement
*******************************************************************************}
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse2(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
ClearSmartCanvas;
end;
procedure Antiban;
begin
CStatus := 'AntiBan working'
Painting;
case Random(60) of
20: HoverSkill('Thieving', False);
30: PickUpMouse;
40: RandomMovement;
50: BoredHuman;
59: ExamineInv;
end;
Writeln('Antiban in action!');
end;
procedure AntiRandom;
begin
CStatus := 'Checking for randoms'
Painting;
FindNormalRandoms;
LampSkill := 'thieving';
LevelUp;
Writeln('Checking for randoms');
end;
procedure HpCheck; //Thanks Narcle, used your script to learn how to do this
var
a, t, b, x, y:Integer;
begin
CStatus := 'Checking Health/Eating'
Painting;
if (HPPercent < 30) then
begin
for a := 0 to 2 do
for b := 1 to 28 do
if ExistsItem(b) then
begin
MMouseItem(b);
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
ChooseOption('Eat');
Wait(RandomRange(323, 1278));
if (HPPercent > 70) then
Exit;
end;
end;
if (not LoggedIn) or (HPPercent > 50) then
Exit;
end;
Procedure Climb;
begin
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['tairs'], [4083549, 4215135, 4017499], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('limb');
end;
Procedure Door;
begin
WriteLn('Upstairs!');
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['oor'], [3555142, 3291713, 3686729], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('pen');
end;
Procedure WalkToHouse;
begin
CStatus := 'Walking...'
Painting;
Antirandom;
HumanMMouse(X, Y, 5, 5);
WalkHome := [Point(4725, 3785), Point(4755, 3740),
Point(4705, 3710), Point(4645, 3675)];
If(SPS_WalkPath(WalkHome)) then
WriteLn('At Stairs');
Climb;
Door;
end;
function Steal(): Boolean;
begin
repeat
Antiban;
HpCheck;
Antirandom;
CStatus := 'Stealing'
Painting;
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['man'], [532535, 400175, 399144, 466225], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('ocket');
until false;
end;
//reminder: Switch to TPA or DMT (Need to figure this out...)
function FindMan(): Boolean;
begin
repeat
HpCheck;
Steal;
HpCheck;
ProgressReport;
HumanMMouse(X, Y, 5, 5);
{if(StrInArr('our gravestone', ChatBoxTextArray(clMessage)))
then
begin
HumanMMouse(X, Y, 5, 5);
WalkToHouse;
end;}
{(Use for Master Farmers/Ham members)
if InvFull then
begin
HumanMMouse(X, Y, 5, 5);
Wait(RandomRange(100, 200));
DropAll;
Writeln('Dropping inventory')
end;}
until false;
end;
begin
CStatus := 'Logging in...'
Lumbridge := Point(4720, 3785)
SPS_Areas := ['11_9'];
SPS_Setup(RUNESCAPE_SURFACE, SPS_Areas);
Smart_Server := 77;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
ClearDebug;
ClearSmartCanvas;
Painting;
DeclarePlayers;
CheckStats;
LoginPlayer;
Findman;
HpCheck;
ProgressReport;
end.
I don't think everything works correctly. But if you start it upstairs it will work. Better then nothing I guess, got me 1-20 so far. Enjoy.
Exception in Script: Unable to find file 'SRL/SRL/Misc/stats.simba' used from ''
What do I have to do with this^?
Thanks for reading
Here's a few edits I made to this script to make it a little nicer. Two things mainly: only report about an antiban action if it's actually doing one (less debug clutter), and proggy/stats on the screen to show approx. XP/hr, etc. :-)
Code:program R4_ManThief;
{$DEFINE SMART}
{$i SRL/SRL/misc/smart.simba}
{$i SRL/SRL.simba}
{$i sps/sps.simba}
{$I SRL/SRL/misc/paintsmart.simba}
//{$i VVForm.simba}
{Welcome to R4nd0m's Man Thief, this script steals from men/women giving
you coins and XP!.
Features:
Death Walk
Anti-Ban/Anti-Random
Eating (30%-) Any food (Just keep in inventory)
SRL Stats
An Interesting Paint/Painted Mouse
Human like Mouse moments (Thanks Flight)
Progress Reports}
Var
man, Location, TimeLast, x, y :Integer;
Lumbridge, Stairs: TPoint;
WalkHome: TPointArray;
CStatus: String;
XPperHour:Integer;
Const
Version = 3; //Please do not change.
//SRL info HERE!
SRLStats_Username = '';
SRLStats_Password = '';
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // This is the player to start with
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username;
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins', 'aphire', 'ssence'];
end;
Procedure CheckStats;
begin
if ((SRLStats_Username = '') And (SRLStats_Password = '')) then
begin
SetupSRLStats(201,'Anonymous','anon1337');
Exit;
end;
end;
procedure ClearSmartCanvas;
{$IFDEF SMART}
var
drawing : TBitmap;
begin
drawing := TBitmap.Create;
drawing.canvas.handle := SmartGetDebugDC;
try
FreeBitmap(drawing);
except
end;
{$ELSE}
begin
{$ENDIF}
end;
Procedure PrintOnSmart(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 Painting;
begin
if ((GetTimeRunning/1000) > 0) then
XPperHour := round((((man*8.0*1000.0) / (GetTimeRunning))) * 3600.0) //XP Per hour
else
XPperHour := -1;
PrintOnSmart(['R4_ManThief','-----------', 'Status:', CStatus,'Running for: ' + TimeRunning,'Times PickPocketed: ' + IntToStr(man),'XP gained:'+ IntToStr(man*8),'XP/hr:'+IntToStr(XPperHour)],
Point(40, 50),60928);
end;
procedure ProgressReport;
begin
ClearDebug;
WriteLn('[R4nd0m] ManThief');
WriteLn('===================================================');
WriteLn('===================================================');
WriteLn('Running for: ' + TimeRunning);
WriteLn('Times PickPocketed: ' + IntToStr(man));
Writeln('XP gained:'+ IntToStr(man*8));
WriteLn('===================================================');
WriteLn('===================================================');
end;
//By Benland100, modified to paint mouse movements
procedure WindMouse2(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
var
veloX, veloY, windX, windY, veloMag, dist, randomDist, lastDist, step: extended;
lastX, lastY: integer;
sqrt2, sqrt3, sqrt5: extended;
begin
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
while hypot(xs - xe, ys - ye) > 1 do
begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
if (maxStep < 3) then
begin
maxStep:= random(3) + 3.0;
end else
begin
maxStep:= maxStep / sqrt5;
end;
end;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
MoveMouse(Round(xs), Round(ys));
step:= hypot(xs - lastX, ys - lastY);
wait(round((maxWait - minWait) * (step / maxStep) + minWait));
lastdist:= dist;
SMART_DrawDotsEx(False, [Point(lastX, lastY)], 65280);
end;
if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
MoveMouse(Round(xe), Round(ye));
end;
{*******************************************************************************
Procedure HumanMMouse(eX, eY: Integer);
By: Flight
Description: Human-like miss-and-correct mouse movement
*******************************************************************************}
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
A := MouseSpeed;
GetMousePos(X, Y);
Dist := Distance(X, Y, eX, eY);
MP := Round(Dist/150);
if MP < 0 then
MP := 1;
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
X2 := RandomRange(eX-(A*MP), eX+(A*MP));
Y2 := RandomRange(eY-(A*MP), eY+(A*MP));
WindMouse2(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
GetMousePos(X, Y);
MMouse(eX, eY, ranX, ranY);
MouseSpeed := A;
ClearSmartCanvas;
end;
procedure Antiban;
begin
CStatus := 'AntiBan working'
Painting;
case Random(60) of
20: begin Writeln('Antiban in action!'); HoverSkill('Thieving', False); end;
30: begin Writeln('Antiban in action!'); PickUpMouse; end;
40: begin Writeln('Antiban in action!'); RandomMovement; end;
50: begin Writeln('Antiban in action!'); BoredHuman; end;
59: begin Writeln('Antiban in action!'); ExamineInv; end;
end;
end;
procedure AntiRandom;
begin
CStatus := 'Checking for randoms'
Painting;
FindNormalRandoms;
LampSkill := 'prayer';
LevelUp;
Writeln('Checking for randoms');
end;
procedure HpCheck; //Thanks Narcle, used your script to learn how to do this
var
a, b, x, y:Integer;
begin
CStatus := 'Checking Health/Eating'
Painting;
if (HPPercent < 30) then
begin
for a := 0 to 2 do
for b := 1 to 28 do
if ExistsItem(b) then
begin
MMouseItem(b);
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
ChooseOption('Eat');
Wait(RandomRange(323, 1278));
if (HPPercent > 70) then
Exit;
end;
end;
if (not LoggedIn) or (HPPercent > 50) then
Exit;
end;
Procedure Climb;
begin
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['tairs'], [4083549, 4215135, 4017499], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('limb');
end;
Procedure Door;
begin
WriteLn('Upstairs!');
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['oor'], [3555142, 3291713, 3686729], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('pen');
end;
Procedure WalkToHouse;
begin
CStatus := 'Walking...'
Painting;
Antirandom;
HumanMMouse(X, Y, 5, 5);
WalkHome := [Point(4725, 3785), Point(4755, 3740),
Point(4705, 3710), Point(4645, 3675)];
If(SPS_WalkPath(WalkHome)) then
WriteLn('At Stairs');
Climb;
Door;
end;
function Steal(): Boolean;
begin
repeat
Antiban;
HpCheck;
Antirandom;
CStatus := 'Stealing'
Painting;
Wait(RandomRange(200, 700));
FindObjCustom(x, y, ['man'], [532535, 400175, 399144, 466225], 10);
Mouse(x, y, 5, 5, false);
ChooseOption('ocket');
if(StrInArr('coins have', ChatBoxTextArray(clMessage))) then
man:=man+1;
until false;
end;
//reminder: Switch to TPA or DMT (Need to figure this out...)
function FindMan(): Boolean;
begin
repeat
HpCheck;
Steal;
HpCheck;
ProgressReport;
HumanMMouse(X, Y, 5, 5);
{if(StrInArr('our gravestone', ChatBoxTextArray(clMessage)))
then
begin
HumanMMouse(X, Y, 5, 5);
WalkToHouse;
end;}
{(Use for Master Farmers/Ham members)
if InvFull then
begin
HumanMMouse(X, Y, 5, 5);
Wait(RandomRange(100, 200));
DropAll;
Writeln('Dropping inventory')
end;}
until false;
end;
begin
man:=0;
CStatus := 'Logging in...'
Lumbridge := Point(4720, 3785)
SPS_Areas := ['11_9'];
SPS_Setup(RUNESCAPE_SURFACE, SPS_Areas);
Smart_Server := 77;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
ClearDebug;
ClearSmartCanvas;
Painting;
DeclarePlayers;
CheckStats;
LoginPlayer;
Findman;
HpCheck;
ProgressReport;
end.
great thanks need 25 thiev on my pure but im to lazy
Ill try this now r4ndom :) will let u know how it goes with a proggy hopfully
Remember it is only half updated, I did it to stop "basic, who refuse to learn anything" people from using it. Simply need to change two small small things.
Good luck, if it proves too difficult tell me. I can update it fully and put a different "break" in it.
Hey Random, I've been trying to figure out how to fix this script all day :S Any chance I can grab some hints?
I already took out the SRL/SRL/misc/stats.simba part. And the unknown command in the write on script section. But there is a bunch of type mismatches, and other things that pop up when I try and compile it :(
There is a error with the SRL/SRL/misc/stats.simba part. Stops the script from running.
Hey When I try to run I got a compiling error at line 88 :L to fix I deleted the line above it and it worked :o
won't work for me..
Thanks mate Great Script :P