yubinator
2010-01-07 21:38:30
Hey all you developers, I've noticed that fishing has gone quiet! That's a good skill to script, as I would definitely use it alot. I've tried the few that are out there, and they seem outdated unfortunately…THANKS!
2010-01-07 21:38:30
2010-01-07 21:46:32
2010-01-08 00:14:10
2010-01-08 00:43:11
2010-01-08 06:00:47
2010-01-08 08:27:47
2010-01-08 09:40:57
From: yubinator
anywhere would be great! but preferably catherby for lobsters? but i'll use whatever you guys can do!
2010-01-08 11:52:57
{=========================================================================]
[ Ultimate Power Miner ]
[ ]
[ by: DaddyProboot ]
[ ]
[ ]
[ DESCRIPTION AND NOTES : It power mines any rock. ]
[ v2.6 ]
[ ]
[ *Better anti ban and random event handling(DONE) ]
[ *Tested with SRL 3.7 ]
[ Each test was atleast 2 hours and 700ores mined and dropped ]
[ before manual stop. ]
[ ***Brand New Forms ]
[ ***Updated on May 30th 2007 ]
[ **New For Version 2.6 ]
[ * SRL 3.7 Compatible, Better Antiban, Fixed Gas Handling. ]
[ ]
[=========================================================================]
[ Instructions. ]
[=========================================================================]
[ 1. USE Runescape with Low Detail, Very Bright. ]
[ 2. Set Colours(Lines 281-290) and Specifications(Lines 258-265) ]
[ 3. Press Play and enjoy. ]
[=========================================================================]
[ Features ]
[=========================================================================]
[-Antiban. ]
[-Handle's Trades(Will trade ore to any player). ]
[-Fully Updated Randoms. ]
[=========================================================================}
{=====================Important Read Before Using=========================]
[1.This script is copyrighted by law and editing, distributing or ]
[declaring it is yours is illegal. Anyone doing this shall no longer ]
[recieve updates. ]
[2. I have spent a lot of time creating and updating this script. Your ]
[script is my script. Use it in any way you wish apart from distributing, ]
[copying or declaring that it is your own work. ]
[3. This script is not ban proof. No script is 100% safe and with that, ]
[I am not responsible for your account getting banned or affected ]
[in any way. ]
[4.This script does not carry any security whether running or editing it. ]
[For your sake; do not distribute it. You payed the price to recieve ]
[this script thus only you and others who have bought it should ]
[have the privelage to run it. If you distribute it, you have just ]
[wasted 250k on a script that others because of your actions will ]
[get for free. ]
[5. Buy running this script you hereby declare the following: ]
[You understand that this script gets updated regularly. ]
[By buying this script you are offered to get these free updates. ]
[All older versions will not work. If you attempt to distribute ]
[this script without my permission, you shall not be offered ]
[for free updates and soforth will no longer be able to run ]
[the older version. ]
[=========================================================================}
//program New;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}
{.include SRL/SRL/Misc/Trade.scar}
{.include SRL/SRL/Extended/xAntiban.scar}
Var
OreTol,SecondsToWait,MInutesPerLoad,Loads,StartPlayer,EvilChicken,EvilChickens: Integer;
RunDir,DirectionForOres,TraderName,RunDirection: String;
NewOres,DiffOrePlaces,LostPick: Boolean;
Clay,Ores,G,H,J,PickaxeMask,OreMask,North,South,West,East,None,MyMark,gasrun,flee: Integer;
frmDesign : TForm;
Button1 : TButton;
GroupBox1 : TGroupBox;
ComboBox1 : TComboBox;
ComboBox2 : TComboBox;
ComboBox3 : TComboBox;
GroupBox2 : TGroupBox;
CheckBox1 : TCheckBox;
CheckBox2 : TCheckBox;
ComboBox4 : TComboBox;
Edit2:TEdit;
label4:TLabel;
//Keep going down for player setup; lines 300-302
procedure buttonclick(sender: TObject);
begin
frmDesign.ModalResult:= mrOk;
end;
Procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 264;
frmDesign.Top := 148;
frmDesign.Width := 388;
frmDesign.Height := 400;
frmDesign.Caption := 'Daddyprobootminer';
frmDesign.Color := $00FF8000 ;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Button1 := TButton.Create(frmDesign);
Button1.OnClick:= @buttonclick;
Button1.Parent := frmDesign;
Button1.Left := 123;
Button1.Top := 218;
Button1.Width := 104;
Button1.Height := 51;
Button1.Caption := 'Play!';
Button1.TabOrder := 0;
GroupBox1 := TGroupBox.Create(frmDesign);
GroupBox1.Parent := frmDesign;
GroupBox1.Left := 160;
GroupBox1.Top := 39;
GroupBox1.Width := 185;
GroupBox1.Height := 139;
GroupBox1.Caption := 'Ore Type Selector';
GroupBox1.TabOrder := 1;
ComboBox1 := TComboBox.Create(GroupBox1);
ComboBox1.Parent := GroupBox1;
ComboBox1.Left := 9;
ComboBox1.Top := 21;
ComboBox1.Width := 145;
ComboBox1.Height := 21;
ComboBox1.ItemHeight := 13;
ComboBox1.TabOrder := 0;
ComboBox1.Text := 'Primary Ore';
ComboBox1.Items.Add('Copper');
ComboBox1.Items.Add('Tin');
ComboBox1.Items.Add('Clay');
ComboBox1.Items.Add('Iron');
ComboBox1.Items.Add('Silver');
ComboBox1.Items.Add('Coal');
ComboBox1.Items.Add('Gold');
ComboBox1.Items.Add('Mithril');
ComboBox1.Items.Add('Adamant');
ComboBox1.Items.Add('Rune');
ComboBox2 := TComboBox.Create(GroupBox1);
ComboBox2.Parent := GroupBox1;
ComboBox2.Left := 9;
ComboBox2.Top := 56;
ComboBox2.Width := 145;
ComboBox2.Height := 21;
ComboBox2.ItemHeight := 13;
ComboBox2.TabOrder := 1;
ComboBox2.Text := 'Secondary Ore';
ComboBox2.Items.Add('Copper');
ComboBox2.Items.Add('Tin');
ComboBox2.Items.Add('Clay');
ComboBox2.Items.Add('Iron');
ComboBox2.Items.Add('Silver');
ComboBox2.Items.Add('Coal');
ComboBox2.Items.Add('Gold');
ComboBox2.Items.Add('Mithril');
ComboBox2.Items.Add('Adamant');
ComboBox2.Items.Add('Rune');
ComboBox3 := TComboBox.Create(GroupBox1);
ComboBox3.Parent := GroupBox1;
ComboBox3.Left := 9;
ComboBox3.Top := 95;
ComboBox3.Width := 145;
ComboBox3.Height := 21;
ComboBox3.ItemHeight := 13;
ComboBox3.TabOrder := 2;
ComboBox3.Text := 'Third Ore';
ComboBox3.Items.Add('Copper');
ComboBox3.Items.Add('Tin');
ComboBox3.Items.Add('Clay');
ComboBox3.Items.Add('Iron');
ComboBox3.Items.Add('Silver');
ComboBox3.Items.Add('Coal');
ComboBox3.Items.Add('Gold');
ComboBox3.Items.Add('Mithril');
ComboBox3.Items.Add('Adamant');
ComboBox3.Items.Add('Rune');
GroupBox2 := TGroupBox.Create(frmDesign);
GroupBox2.Parent := frmDesign;
GroupBox2.Left := 9;
GroupBox2.Top := 39;
GroupBox2.Width := 139;
GroupBox2.Height := 123;
GroupBox2.Caption := 'AntiBan Options';
GroupBox2.TabOrder := 2;
CheckBox1 := TCheckBox.Create(GroupBox2);
CheckBox1.Parent := GroupBox2;
CheckBox1.Left := 19;
CheckBox1.Top := 24;
CheckBox1.Width := 97;
CheckBox1.Height := 17;
CheckBox1.Caption := 'Use Responder';
CheckBox1.TabOrder := 0;
CheckBox2 := TCheckBox.Create(GroupBox2);
CheckBox2.Parent := GroupBox2;
CheckBox2.Left := 19;
CheckBox2.Top := 58;
CheckBox2.Width := 97;
CheckBox2.Height := 17;
CheckBox2.Caption := 'Use AntiBan';
CheckBox2.TabOrder := 1;
ComboBox4 := TComboBox.Create(GroupBox2);
ComboBox4.Parent := GroupBox2;
ComboBox4.Left := 19;
ComboBox4.Top := 85;
ComboBox4.Width := 112;
ComboBox4.Height := 21;
ComboBox4.ItemHeight := 13;
ComboBox4.TabOrder := 2;
ComboBox4.Text := 'Run Direction';
ComboBox4.Items.Add('North');
ComboBox4.Items.Add('East');
ComboBox4.Items.Add('South');
ComboBox4.Items.Add('West');
Edit2 := TEdit.Create(frmDesign);
Edit2.Parent := frmDesign;
Edit2.Left := 200;
Edit2.Top := 281;
Edit2.Width := 80;
Edit2.Height := 21;
Edit2.TabOrder := 12;
Edit2.PasswordChar:= '*';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 110;
Label4.Top := 283;
Label4.Width := 63;
Label4.Height := 13;
Label4.Caption := 'Auth Code';
Label4.Font.Name := 'papyrus';
Label4.Font.Size := 12;
end;
procedure safeinitform;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
Procedure Variables;
Begin
NewOres := False;
BenMouse := False;
OreTol := 3;
SecondsToWait := 2;
MinutesPerLoad := 12;
Loads := 500; //Change to whatever you want
HowManyPlayers := 11; //Do not change here
StartPlayer := 0; //This should be ok
case ComboBox4.text of //Do not touch here
'Run Direction': RunDir:='N'; //Do not touch here
'North': RunDir:='N'; //Do not touch here
'East': RunDir:='E'; //Do not touch here
'South': RunDir:='S'; //Do not touch here
'West': RunDir:='W'; //Do not touch here
end; //Do not touch here
MouseSpeed := 7;
DirectionForOres := 'N';
End;
Const
RunFar = True;
Const
CopperColor = 3758975;
TinColor = 9277080;
ClayColor = 4553880;
IronColor = 2898528;
SilverColor = 12434885;
CoalColor = 2834753;
GoldColor = 1881051;
MithrilColor = 7359564;
AdamantColor = 6322272;
RuniteColor = 0;
{==========================================================================
Set The Player Array Below Lines 66-163
===========================================================================}
Procedure DeclarePlayers;
Begin
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := StartPlayer;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
Players[0].String1 := ComboBox1.text;// Primairy Ore Color
Players[0].String2 := ComboBox2.text;// Secondairy Ore Color wont be mined as much as 1.
Players[0].String3 := ComboBox3.text;// Third Ore Color, won't be mined as much as 1 and 2.
Players[0].Boolean1 := True; // Is The Pick Equipped?
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=False;
Players[1].String1 := ComboBox1.text; // Primairy Ore Color
Players[1].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[1].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[1].Boolean1 := True; // Is The Pick Equipped?
Players[2].Name :='';
Players[2].Pass :=''
Players[2].Nick :='';
Players[2].Active:=False;
Players[2].String1 := ComboBox1.text; // Primairy Ore Color
Players[2].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[2].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[2].Boolean1 := True; // Is The Pick Equipped?
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=False;
Players[3].String1 := ComboBox1.text; // Primairy Ore Color
Players[3].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[3].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[3].Boolean1 := False; // Is The Pick Equipped?
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active:=False;
Players[4].String1 := ComboBox1.text; // Primairy Ore Color
Players[4].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[4].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[4].Boolean1 := True; // Is The Pick Equipped?
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active:=False;
Players[5].String1 := ComboBox1.text; // Primairy Ore Color
Players[5].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[5].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[5].Boolean1 := True; // Is The Pick Equipped?
Players[6].Name :='';
Players[6].Pass :='';
Players[6].Nick :='';
Players[6].Active:=False;
Players[6].String1 := ComboBox1.text; // Primairy Ore Color
Players[6].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[6].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[6].Boolean1 := True; // Is The Pick Equipped?
Players[7].Name :='';
Players[7].Pass :='';
Players[7].Nick :='';
Players[7].Active:=False;
Players[7].String1 := ComboBox1.text; // Primairy Ore Color
Players[7].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[7].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[7].Boolean1 := True; // Is The Pick Equipped?
Players[8].Name :='';
Players[8].Pass :=''
Players[8].Nick :='';
Players[8].Active:=False;
Players[8].String1 := ComboBox1.text; // Primairy Ore Color
Players[8].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[8].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[8].Boolean1 := True; // Is The Pick Equipped?
Players[9].Name :='';
Players[9].Pass :='';
Players[9].Nick :='';
Players[9].Active:=False;
Players[9].String1 := ComboBox1.text; // Primairy Ore Color
Players[9].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[9].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[9].Boolean1 := True; // Is The Pick Equipped?
Players[10].Name :='';
Players[10].Pass :='';
Players[10].Nick :='';
Players[10].Active:=False;
Players[10].String1 := ComboBox1.text; // Primairy Ore Color
Players[10].String2 := ComboBox2.text; // Secondairy Ore Color wont be mined as much as 1.
Players[10].String3 := ComboBox3.text; // Third Ore Color, won't be mined as much as 1 and 2.
Players[10].Boolean1 := True; // Is The Pick Equipped?
Writeln( IntToStr ( HowManyPlayers ) + ' Players' );
end;
{=========================================================================}
{=========================================================================}
Procedure BitMaps;
Begin
Clay := BitmapFromString(4, 4, '86714C89734D8B7650907A52978' +
'1569781569A8357957E55A1895CA38B5D9F875B9C8559AC9262A8' +
'8F60A58D5FA1895C');
PickaxeMask := BitmapFromString(18, 12, 'z78DA3330400037' +
'3030C001F0CB1203DC3000EDEC22D555F4B48B9E3652622FE5AE2' +
'5DE04EA86097E7B89497B948418252AA99B472889714CBDF42C1F' +
'7099498BBC836C26005E85072C');
OreMask := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0600F' +
'B599CC1');
end;
{=========================================================================}
procedure MouseAntiBan;
begin
if not(LoggedIn)then Exit;
case Random(6) of
0 : IdleTime(1000 + Random(350),500,1.0);
1 : IdleTime(1000 + Random(350),1000,1.0);
2 : IdleTime(1000 + Random(350),750,0.5);
3 : SleepAndMoveMouse(2500 + Random(2500));
4 : SleepAndMoveMouse(1500 + Random(1500));
5 : SleepAndMoveMouse(500 + Random(500));
end
end;
procedure DaddyAntiBan;
var
DItem, DBanMe : Integer;
begin
if (checkbox2.checked=True) then
begin
if not(LoggedIn) then Exit;
DBanMe := Random(50);
case DBanMe of
0 : MMouse(Random(MSX2), Random(MSY2),0,0);
1 : RandomRClickEvery(2 + Random(13));
2 : HoverSkill('mining', False);
3 : RotateEvery(20+random(10));
4 : LeaveScreenEvery(5+random(5));
5 : HoverEvery(15+random(5),'random');
6 : HoverEvery(15+random(5),players[currentplayer].skill);
7 : MouseAntiBan;
8 : begin
DItem:=1+random(14);
if(ExistsItem(DItem))then
DragItem(DItem,15+random(10));
end
9 : begin
GameTab(1+random(12));
wait(1500+random(500));
GameTab(4);
end;
10 : begin
MakeCompass('S');
wait(1500+random(500));
MakeCompass('N');
end;
11 : begin
MakeCompass('W');
wait(1500+random(500));
MakeCompass('N');
end;
12 : begin
LowestAngle;
Wait(random(500));
MakeCompass('E');
Wait(random(250));
HighestAngle;
Wait(random(500));
MakeCompass('N');
Wait(random(250));
end;
13 : begin
BoredHuman;
end;
end;
end;
end;
{=========================================================================}
Function IsMultiPick(Equipped:Boolean):Boolean;
Begin
If Equipped Then
Begin
GameTab(4);
If CountItemBmpMaskTol(PickaxeMask,20,25) = 0 Then
Begin
GameTab(5);
If Not FindBitMapMaskTolerance(PickaxeMask,x,y,MIX1,MIY1,MIX2,MIY2,20,25) Then Result := False
Else Result := True;
End
Else Result := True;
End
Else
Begin
If CountItemBmpMaskTol(PickaxeMask,20,25) = 0 Then Result := True
Else Result := False;
End;
End;
{=========================================================================}
Procedure ExitWindow;
Var
Close: Integer;
Begin
Close := BitmapFromString(10, 11, 'z78DA3330000243033069E66' +
'4EA62628C9F3440528F4912AF0BBF38015913537313430889DF3D' +
'505D48EA3149F274E13201971A533753236367641297BD982A89D' +
'185DF04FC6A70C96211B7347131B6C42409B807872E5C260000D9' +
'5685F1');
If(FindBitmapToleranceIn(Close, x, y, MSX1, MSY1, MSX2, MSY2, 10))then
Begin
MMouse(x, y, 3, 3);
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
end;
FreeBitmap(Close);
end;
{=========================================================================}
Procedure SetOreColor;
Begin
Case LowerCase(Players[CurrentPlayer].String1) Of
'copper' : OreColor1:=CopperColor;
'tin' : OreColor1:=TinColor;
'clay' : OreColor1:=ClayColor;
'iron' : OreColor1:=IronColor;
'silver' : OreColor1:=SilverColor;
'coal' : OreColor1:=CoalColor;
'gold' : OreColor1:=GoldColor;
'mithril' : OreColor1:=MithrilColor;
'adamant' : OreColor1:=AdamantColor;
'runite' : OreColor1:=RuniteColor;
End;
Case Lowercase(Players[CurrentPlayer].String2) Of
'copper' : OreColor2:=CopperColor;
'tin' : OreColor2:=TinColor;
'clay' : OreColor2:=ClayColor;
'iron' : OreColor2:=IronColor;
'silver' : OreColor2:=SilverColor;
'coal' : OreColor2:=CoalColor;
'gold' : OreColor2:=GoldColor;
'mithril' : OreColor2:=MithrilColor;
'adamant' : OreColor2:=AdamantColor;
'runite' : OreColor2:=RuniteColor;
End;
Case LowerCase(Players[CurrentPlayer].String3) Of
'copper' : OreColor3:=CopperColor;
'tin' : OreColor3:=TinColor;
'clay' : OreColor3:=ClayColor;
'iron' : OreColor3:=IronColor;
'silver' : OreColor3:=SilverColor;
'coal' : OreColor3:=CoalColor;
'gold' : OreColor3:=GoldColor;
'mithril' : OreColor3:=MithrilColor;
'adamant' : OreColor3:=AdamantColor;
'runite' : OreColor3:=RuniteColor;
End;
WriteLn('Standard OreColor1 = '+IntToStr(OreColor1)+'; and Standard OreColor2 = '+
IntToStr(OreColor2)+'; and Standard OreColor3 = '+IntToStr(OreColor3)+';');
End;
{=========================================================================}
Procedure FindOreByCamera(MaxTol:Integer);
Var D,Tol:Integer;
Begin
Tol:=1;
While (Not (FindColorTolerance(X, Y, OreColor, MSX1, MSY1, MSX2, MSY2, Tol))
And Not (D>50) And Not (Tol>MaxTol)) Do
Begin
SendArrowSilentWait((Random(2) * 2) +1, 10);
D:=D+1;
Tol:=Tol+1;
End;
D:=0;
Tol:=1;
Wait(400+Random(200));
end;
{=========================================================================}
Function FindOre(MaxTol:Integer):Boolean;
Var Tol,Ex,Ey:Integer;
Begin
H:=H+1;
For G := 1 to H do
Begin
Case G Of
1: OreColor:= OreColor1;
2: OreColor:= OreColor2;
3: OreColor:= OreColor3;
End;
End;
While (Not (FindColorTolerance(Ex, Ey, OreColor, MSX1, MSY1, MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Do
Begin
Tol:=Tol+1;
End;
If ((FindColorTolerance(Ex, Ey, OreColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
And Not (Tol > MaxTol)) Then Result:=True;
Tol:=1;
Wait(10);
END;
{=========================================================================}
procedure DaddyGas;
Var
Rx,Ry: Integer;
begin
if (FindGas(Rx, Ry)) then
begin
PerfectNorth;
MakeCompass('N');
HighestAngle;
RunAwayDirection(RunDir);
Wait(15000);
RunBack;
end;
end;
{=========================================================================}
Function TheMinCount(TheNewRocks:Boolean):Integer;
Begin
If Not NewOres Then Result := 6
Else Result := 3;
End;
{=========================================================================}
Function FindEvilChicken: Boolean; //By Dankness
Var
CX, CY: Integer;
Begin
If(EvilChicken= 0)then
EvilChicken:= CreateBitmapMaskFromText('egone,', UpChars);
If(FindName)then
If(FindBitmapMaskTolerance(EvilChicken, CX, CY, 3, 3, 515, 336, 0, 40))then
Begin
Result:= True;
EvilChickens:= EvilChickens + 1;
WriteLn('******** FOUND EVIL CHICKEN RANDOM ********');
WriteFileString(TheFile, '******** FOUND EVIL CHICKEN RANDOM ********' +Chr(13));
End;
End;
Procedure FindRandoms;
Begin
handletrade;
DwarfItem;
FindPick;
FindNormalRandoms;
If(FindFight) or (FindEvilChicken)then
Begin
RunTo(RunDir, RunFar);
End
End;
{=========================================================================}
Function PowerMine:Boolean;
Var
Rx,Ry,Ex,Ey : Integer;
TempCount : Integer;
Begin
If FindOre(OreTol) Then
Begin
TempCount := InvCOunt;
Result := True;
If FindObjOre(Rx, Ry, 'Mine', OreColor, OreTol, TheMinCount(NewOres)) Then
Begin
H:=0;
If Not GasCheck(Rx, Ry) Then
Begin
If Random (20) < 18 Then
Begin
FTWait(1)
handletrade;
Mouse(Rx, Ry, 0, 0, True);
DaddyGas;
End
Else
Begin
Mouse(Rx, Ry, 0, 0, False);
ChooseOption(Ex, Ey, 'ine');
End;
If (FlagPresent) Then
Begin
Flag;
Wait(500+Random(500));
End;
MarkTime(Mark);
While Not ((TimeFromMark(Mark) > (1000 * SecondsToWait)) Or (TempCount <> InvCOunt)) Do
Begin
If GasCheck(Rx, Ry) Then Begin Mouse(MMCX, MMCY, 2, 2, True); Wait(5001+Random(5001)); End;
Wait(50);
FindRandoms;
End
End
Else Wait(10000+Random(5000));
End;
End
Else If H>2 Then H:=0;
end;
{=========================================================================}
Procedure CountThem;
Begin
Players[CurrentPlayer].Integer2:= Players[CurrentPlayer].Integer2+
CountItemBmpMaskTol(OreMask, 20, 25);
Players[CurrentPlayer].Integer2:= Players[CurrentPlayer].Integer2+
CountItemBmpTol(Clay, 10);
Ores:=Ores+CountItemBmpMaskTol(OreMask, 20, 25);
Ores:=Ores+CountItemBmpTol(Clay, 10);
End;
{=========================================================================}
Procedure DropAllOres;
Begin
CountThem;
ClickAllItemsBmpMaskTolWait('rop', OreMask, 20, 25, 30+Random(30));
ClickAllItemsBmpTolWait('rop', Clay, 10, 30+Random(30));
DwarfItem;
Players[CurrentPlayer].Integer1:=Players[CurrentPlayer].Integer1+1;
End;
{=========================================================================}
Procedure PlayerReport;
Var Active: String;
Var I:Integer;
Begin
For I := 0 to HowManyPlayers - 1 Do
Begin
If Players[i].Active=True Then Active := 'True' Else Active := 'False';
WriteLn( (IntToStr(I))+' : '+Players[I].name+ ' = '+
Active+'; Mined and dropped : '+IntToStr(Players[I].Integer2)+' Ores;')
WriteLn(' Mining Level : '+IntToStr(Players[i].Level[15]));
WriteLn('');
End;
End;
{=========================================================================}
Procedure PowerMinerReport;
Begin
WriteLn('***********************************************')
WriteLn('Thank you for buying')
WriteLn('You are using a Powerminer created by Daddy.')
WriteLn('')
WriteLn('Ores Mined and Dropped : '+IntToStr(Ores));
Writeln('Worked for '+ TimeRunning);
WriteLn('')
WriteLn('***********************************************')
WriteLn('')
PlayerReport;
WriteLn('')
WriteLn('***********************************************')
End;
{=========================================================================}
Function InChat2 ( Text : String ) : Boolean ;
Begin
If ( pos ( Text , TheLine ) <> 0 ) Then
Result := True ;
End ;
Procedure RandomResponder;
Var
TheResponce : String ;
RandomReply : Integer ;
var
OldLine, NewLine, TheLine, TheName: string;
Begin
if(CheckBox1.Checked=True) then
begin
OldLine := TheLine ;
TheName := lowercase ( trim ( GetTextAtEx ( 20 , 415 , 45 , SmallChars , False
, False ,
0 , 2 , 0 , 40 , True , tr_NormalChars ) ) ) ;
TheLine := lowercase ( trim ( GetTextAtEx ( 20 , 415 , 45 , SmallChars , False
, False ,
0 , 2 , 16711680 , 40 , False , tr_NormalChars ) ) ) ;
NewLine := TheLine ;
If ( OldLine <> NewLine ) Then
WriteFileString ( TheFile , TheTime + ' ' + TheName + '' + TheLine + chr ( 13
) ) ;
If ( InChat2 ( 'minin' ) ) Or ( InChat2 ( 'mining' ) ) And ( InChat2 ( 'lvl?' )
) Or
( InChat2 ( 'lev' ) ) Or ( InChat2 ( 'level' ) ) Or ( InChat2 ( 'lvls' ) )
Or
( InChat2 ( 'lvls?' ) ) Then
Begin
TheResponce := IntToStr ( GetSkillLevel ( 'mining' ) ) ;
typesend ( 'lol ' + TheResponce )
wait ( 1000 + Random ( 300 ) )
SendText ( 'you?' + chr ( 13 ) )
GameTab ( 4 ) ;
End ;
If ( InChat2 ( 'what' ) ) Or ( InChat2 ( 'wut' ) ) Or ( InChat2 ( 'wat' ) ) Or
( InChat2 ( 'doin' ) ) Then
Begin
RandomReply := random ( 7 ) + 1 ;
Case RandomReply Of
1 : TheResponce := ( 'lol minin' ) ;
2 : TheResponce := ( 'what do you think.. :P' ) ;
3 : TheResponce := ( 'what does it look like im doing lol' ) ;
4 : TheResponce := ( 'meh, mining some stuff :D' ) ;
End ;
typesend ( TheResponce ) ;
End ;
If ( InChat2 ( 'oi' ) ) Or ( InChat2 ( 'hey' ) ) Or ( InChat2 ( 'sup' ) ) And
( InChat2 ( 'noob' ) ) Or ( InChat2 ( 'n00b' ) ) Or ( InChat2 ( 'n00bs' ) )
Or
( InChat2 ( 'noobs' ) ) Then
Begin
RandomReply := random ( 5 ) ;
Case RandomReply Of
1 : TheResponce := ( 'oi! lol' ) ;
2 : TheResponce := ( 'looll, wassup!' ) ;
3 : TheResponce := ( 'meh, hai' ) ;
4 : TheResponce := ( 'rofl' ) ;
5 : TheResponce := ( 'waazzup' ) ;
End ;
TypeSend ( TheResponce ) ;
End ;
If ( InChat2 ( 'how' ) ) And ( InChat2 ( 'much' ) ) And ( InChat2 ( 'you' ) )
Or
( InChat2 ( 'u' ) ) And ( InChat2 ( 'need' ) ) Then
Begin
RandomReply := random ( 5 ) ;
Case RandomReply Of
1 : TheResponce := ( 'meh, not much now' ) ;
2 : TheResponce := ( 'about 566 more, lol :p' ) ;
3 : TheResponce := ( 'about, 3 more loads' ) ;
4 : TheResponce := ( 'i have 664, i need 5000 lol' ) ;
5 : TheResponce := ( 'not many, what bout you?' ) ;
End ;
TypeSend ( TheResponce + ' ' + TheName ) ;
End ;
If ( InChat2 ( 'lol' ) ) Or ( InChat2 ( 'lmao' ) ) Or ( InChat2 ( 'lol!' ) )
Or
( InChat2 ( 'rofl' ) ) Then
Begin
RandomReply := random ( 7 ) + 1 ;
Case RandomReply Of
1 : TheResponce := ( 'whats funny' ) ;
2 : TheResponce := ( 'whut what you laughing at' ) ;
3 : TheResponce := ( 'hehe' ) ;
4 : TheResponce := ( 'lol' ) ;
5 : TheResponce := ( 'rofl' ) ;
End ;
typesend ( TheResponce + ' ' + TheName ) ;
End ;
If ( InChat2 ( 'hi' ) ) Or ( InChat2 ( 'hello' ) ) Or ( InChat2 ( 'sup' ) ) Or
( InChat2 ( 'hey' ) ) Then
Begin
RandomReply := random ( 7 ) + 1 ;
Case RandomReply Of
1 : TheResponce := ( 'sup' ) ;
2 : TheResponce := ( 'yo' ) ;
3 : TheResponce := ( 'whats upeveryone' ) ;
4 : TheResponce := ( 'whats up' ) ;
5 : TheResponce := ( 'welcome' ) ;
End ;
typesend ( TheResponce ) ;
End ;
end;
End ;
Function GetName : boolean ;
Var
Name : String ;
UpConfirm : integer ;
c , gx , gy : integer ;
Begin
UpConfirm := BitmapFromString ( 4 , 6 , 'z78DA3330000117731753675' +
'75C24588981B319109AB858BA9839BB41D806C87A2D80E2AE4051' +
'53247113671782E240730C2D0C4D0DA0760100699A2142' ) ;
case random(10) of
0: typesend('mining lvls'+chr(13));
1: typesend('so boooring'+chr(13));
2: typesend('man this stinks'+chr(13));
3: typesend('yay almost next lvl'+chr(13));
4: typesend('hi'+chr(13));
5: typesend('grr'+chr(13));
6: typesend('omg'+chr(13));
7: typesend('so slow'+chr(13));
8: typesend('la dee da'+chr(13));
9: typesend('da dee dum'+chr(13));
10:typesend('u like this?'+chr(13));
end;
end;
{=========================================================================}
Procedure SetupScript;
Begin
SetupSRL;
SetupSRLMining;
BitMaps;
DeclarePlayers;
CurrentPlayer := StartPlayer;
LoginPlayer;
Highestangle;
ArrangeInv;
SetOreColor;
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
{=========================================================================}
Function HandleNoPick:Boolean;
Begin
If NoPick Then
Begin
If Not IsMultiPick(Players[CurrentPlayer].Boolean1) Then
Begin
Result := True;
Logout;
end
Else NoPick:=False;
end;
end;
{=========================================================================}
Begin
safeinitform;
SafeShowFormModal;
{Below is the main loop} if (Edit2.Text='1111') then
begin
Variables;
SetupScript;
SetMouseMode(False);
SetRun(True);
Repeat
MarkTime(MyMark)
Repeat
PowerMine;
RandomResponder;
FindRandoms;
DaddyAntiBan;
If HandleNoPick Then Break;
Until (( InventoryCount = 28 )
Or (TimeFromMark( MyMark ) > 1000 * 60 * MinutesPerLoad))
If (Random (5) > 3) Then SetRun(True);
If LoggedIn Then DropAllOres;
PowerMinerReport;
If ( LoggedIn And (Players[CurrentPlayer].Integer1 mod Loads = 0 )) Then
Begin
LogOut;
NextPlayer(True);
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
FindOreByCamera(OreTol);
end;
If Not LoggedIn Then
Begin
NextPlayer(False);
NoPick:=False;
SetOreColor;
Players[CurrentPlayer].Level[15] :=GetSkillLevel('mining');
EquipPick := Players[CurrentPlayer].Boolean1;
FindPickHeadColor;
FindOreByCamera(OreTol);
end;
Until(False);
end else
writeln('Invalid authorization code');
End.
2010-01-09 11:46:40
From: code841
I find that Marpis' cartherby fisher works on lobbies, but I had to fix the banking on it.
Harpooning doesn't seem to work though (it can't seem to detect whether my character is harpooning or not).
2010-01-10 21:09:57
2010-01-10 21:51:39
2010-01-10 23:40:09
2010-01-11 06:35:08
From: YoHoJo
yubinator there is a catherby lobsters fisher/banker in the SRL members section.
Learn how to script well with SRL, make a decent script, apply for members, and you will have access to it.
2010-01-11 16:31:16
2010-01-11 17:09:46
From: YoHoJoYou need to read better "[10th December 2009] Not working correctly?"
There are zillions of tutorials on the forums.
Tutorial Section:
http://www.villavu.com/forum/forumdisplay.php?f=191
Beginner's Tutorials:
http://www.villavu.com/forum/forumdisplay.php?f=95
Try starting out with maybe some 'all in one' tutorials, or pretty much anything in the beginners section will be helpful. And if you get any questions, just make a thread in the scripting help section, and we'll all help you out!
Edit:
Dude, its in the Jr Members section, you need to learn how to search better :p!
http://www.villavu.com/forum/showthread.php?t=52963&highlight=catherby
2010-01-11 17:20:01
2010-01-11 18:33:14
2010-02-07 16:58:43
From: bbri06
Fishing for what and where?