SRL Archive - Archive

Mr. Doctor - SRL Member Application


Mr. Doctor

2010-02-26 00:24:28

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
NO

Were you Referred to SRL?



What is your general programming knowledge?
SCAR


Are you a member of any other communities?
Moparisthebest, TheHDD(Never works though), PSforums and some others.


Tell us about yourself…
From: Mr. Doctor
14 now. I'm a lot better at SCAR and my attitude changed a lot(Maybe). Want to be a game developer when I grow up.



Please show us one (or multiple) of your scripts.
program WillowDestroyer;
{.Include srl\srl\Misc\Smart.scar}
{.include SRL/SRL.Scar}
//////////////////////////////////////////////////////////////////////////////
//WILLOW DESTROYER BY JUNKJWILLOW DESTROYER BY JUNKJWILLOW DESTROYER BY JUNKJ/
//////////////////////////////////////////////////////////////////////////////
// READ BEFORE RUNNING READ BEFORE RUNNING READ BEFORE RUNNING /
//////////////////////////////////////////////////////////////////////////////
// Chops and banks willows at Draynor Village
//////////////////////////////////////////////////////////////////////////////
// The form is only for player one. if you plan on using multiple players,
// Fill in declare players (Start setup from line 41) with how many players you want to use
//////////////////////////////////////////////////////////////////////////////
// The script gets and uses your average time provided by the time you entered
// in the parameters of the form. (More info in the form) Or use
//////////////////////////////////////////////////////////////////////////////

//Globals
var
Chopped, Loads, ll, LOL, Tot : integer;
Exp : extended;
frmDesign : TForm;
AvgLbl : TLabel;
Blbl : TLabel;
PlUser : TEdit;
PlPass : TEdit;
StBut : TButton;
AvgHelp : TMemo;
AAvg0 : TEdit;
AAvg1 : TEdit;
AAvg2 : TEdit;
AAvg3 : TEdit;
AAvg4 : TEdit;
DfRB : TRadioButton;
PlNick : TEdit;
LoadsTD : TEdit;

/////////////////////////START OF SETUP////////////////////////////////////
/////////////////////////SMART-SETUP///////////////////////////////////////
const
SmartWorld = 152;
Members = False;
SignedClient = True;
HighDetail = False;
////////////////////////PLAYER-SETUP///////////////////////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; // Make the inactive players[#] green
NumberOfPlayers(HowManyPlayers); //So you dont get a runtime error :D
CurrentPlayer := 0;

//////////////////////Players[0] is already set by form////////////////////
Players[0].Name := PlUser.Text; //Username
Players[0].Pass := PlPass.Text; //Password
Players[0].Nick := PlNick.Text; //Nickname 3-4 letters no first or cap
Players[0].Active := true;
Players[0].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?
////////////////////////////Fill in if using multiple players//////////////
{
Players[1].Name := '123'; //Username
Players[1].Pass := '123'; //Password
Players[1].Nick := '123'; //Nickname 3-4 letters no first or cap
Players[1].Active := true;
Players[1].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?
{
Players[2].Name := PlUser.Text; //Username
Players[2].Pass := PlPass.Text; //Password
Players[2].Nick := PlNick.Text; //Nickname 3-4 letters no first or cap
Players[2].Active := true;
Players[2].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?}
end;
///////////////////////////////END OF SETUP/////////////////////////////////

procedure startitup(sender: TObject);
begin
frmDesign.ModalResult:= mrOk
Disguise('Working...');
end;

procedure SetRandomObj;
var RanObj, NoO, x, y, i, T :integer;
begin
NoO := BitmapFromString(23, 12, 'beNqNUQEOwiAQ40Fs2RJdnA4j0' +
'/3/SbO7jnpiNJLLpZT2KCH116G5nZrpEPO5BZ7RjzvDPhc+DYUZjR' +
'lb08TdNbxcxI6JmAmNpuXSMTMbjz5bresKF8vjb5XNwsUhmMwtbwQ' +
'IIfgX6V3EyAANerClS2nklhiW6nZm9vrqFRqiLl6aXCbQ+OcQnirh' +
'jyT4qSX13ugxwP3SiYESXQwm0Eve6z+9BFDC9UhdxQBDLD1IYfHU8' +
'NSXvpgu5qQxW0JiJuc/MnnVQ1mQLdM2GTk3bLcwhq8qxls9AVo+Ey' +
'o=');
RanObj := BitmapFromString(14, 14, 'beNp1kj0Lg2AMhN8fJ52ko6' +
'M4ttS1YJdSKE5O/cX6wMH1CPhyQ3K5fJi4DK/5ui7D7zuB571/TJf' +
'b2AEM3ASMo8lTwQIlpmD/NCH1YujoLmJ4FitkPhP1GFuuBnBoe49U' +
'zsRSJ5XALgVdM5WghLBL4lmRoszu2vlZYn6sD+Rhcg+p9HWssayQ2' +
'GL0A7T2l4mnnfcsV4sFyvI1xawH8tTePw==');
GameTab(tab_Objectives);
if(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Writeln('Setting Objective')
If(FindBitmapToleranceIn(RanObj,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Wait(200+Random(500));
Mouse(x,y,3,3,true);
MarkTime(T);
repeat
Wait(500+Random(250))
Inc(i)
until (GetColor(111, 35) = 3342540) or (TimeFromMark(T) = 5000);
if not(GetColor(111, 35) = 3342540) then Exit;
case Random(6) of
0..1: Mouse(94, 104, 60, 40, true);
2: Mouse(257, 104, 60, 40, true);
3: Mouse(422, 104, 60, 40, true);
4: Mouse(94, 238, 60, 40, true);
5: Mouse(257, 238, 60, 40, true);
6: Mouse(422, 238, 60, 40, true);
end;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end else
if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
begin
srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
Exit;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end;
end;
end;

procedure RandomTabs;
var I :integer;
begin
begin
for I:= 0 to RandomRange(1,3) do
begin
case Random(16) of
0: GameTab(tab_Combat);
1: GameTab(tab_Stats);
2: GameTab(tab_Quest);
3: GameTab(tab_Diary);
4: GameTab(tab_Inv);
5: GameTab(tab_Equip);
6: GameTab(tab_Prayer);
7: GameTab(tab_Magic);
8: GameTab(tab_Friends);
9: GameTab(tab_Ignore);
10: GameTab(tab_Clan);
11: GameTab(tab_Options);
12: GameTab(tab_Emotes);
13: GameTab(tab_Music);
14: GameTab(tab_Notes);
end;
Wait(RandomRange(100,300));
MMouse(RandomRange(MIX1, MIX2), RandomRange(MIY1, MIY2), 0, 0);
Wait(RandomRange(100,300));
end;
Wait(RandomRange(200,400));
end;
end;

procedure LogProg;
begin
Writeln('Terminating script because of no available players');
TerminateScript;
end;

procedure LogCheck;
begin
if(not(Loggedin))then
begin
Writeln('Logged out somehow');
if(AllPlayersInactive)then LogProg;
Writeln('Going on to next player');
NextPlayer(False);
end;
end;

procedure AntiBan; forward;

procedure LvlProof;
begin
SaveScreenshot('LvlProof' + IntToSTR(ll) + '.bmp');
ll := ll +1;
ClickToContinue;
AntiBan;
end;

procedure DProg;
begin
Writeln('No other players to continue with, terminating');
TerminateScript;
end;

procedure DeathCheck;
begin
if(FindDead)then
begin
Writeln('Died somehow');
if(AllPlayersInactive)then DProg;
NextPlayer(False);
end;
end;


procedure AntiBan;
begin
LogCheck;
DeathCheck;
if(ClickContinue(false, true)) then LvlProof;
case random(70) of
0:HoverSkill('mining',false);

1:SleepAndMoveMouse(1000+random(500));

2:randomrclick;

3:pickupmouse;

4:RandomMovement;

5:SetRandomObj;

6:RandomTabs;
end;
if(ClickContinue(false, true)) then LvlProof;
wait(223+random(277))
end;

procedure DepoBox; forward;

procedure WTB;
var
x, y, BTM, R : integer;
SymbolAccuracy, E : extended;
begin
BTM := DTMFromString('78DA637CCAC4C0F0930105181B1B32FC87B2F' +
'F0301E377A09A2F103E3354FCEB5708CD08E583D5FC2042CD7FFC' +
'6A003E5E1317');
if(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E )) then
if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit;
begin
Mouse(x, y, 2, 2, true);
Case Random(2) of
0: R := 180 - RandomRange(1,5);
1: R := 180 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
FreeDTM(BTM);
DepoBox;
end else
if(not(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E ))) then
begin
SymbolAccuracy := 0.6;
if(FindSymbol( x, y, 'bank'))then
begin
SymbolAccuracy := 0.8;
Mouse( x, y, 2, 2, true);
Case Random(2) of
0: R := 180 - RandomRange(1,5);
1: R := 180 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
FreeDTM(BTM);
DepoBox;
end;
end;
end;

procedure DestroyWill; forward;

procedure WTF; //Walk To Fish, yea i know...
var
x, y, R : integer;
SymbolAccuracy : extended;
begin
SymbolAccuracy := 0.6;
if(FindSymbol( x, y, 'fish'))then
begin
SymbolAccuracy := 0.8;
Mouse( x, y, 2, 2, true);
case Random(2) of
0: R := 90 - RandomRange(1,5);
1: R := 90 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
DestroyWill;
end;
end;

procedure DepoBox;
var
WIL, x, y : integer;
begin
WIL := DTMFromString('78DA637CC6C4C0D0CDC8800C4CF50518F8813' +
'448F43F103082D434A3AA61606002933051C6F7407E270135EF80' +
'FC4904D4DC07F2A71350730DC8EFC1AF06007D2E0D52');
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.06);
if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin
MMouse(x, y, 1, 1);
if(WaitUpText('ox', 100+ Random(50)))then
begin
Mouse(x, y, 1, 1, true);
Wait(2357+Random(243));
if(FindDTM(Wil, x, y, MSX1, MSY1, MSX2, MSY2))then
begin
Mouse(x, y, 2, 2, false)
WaitOption('ll', 100+Random(50))
CloseWindow;
FreeDTM(WIL);
Loads := Loads +1;
WTF;
end;
end;
end;
FreeDTM(WIL);
end;

function Experience( Amount : integer; Exp : extended): extended;
begin
Result := Amount*Exp;
end;

function AvgArray( Time : TIntegerArray): Integer;
var
Res, Tot, I : integer;
begin
for I := 0 to High(Time) do IncEx( Tot , Time[I]);
Res := Tot div Length(Time);
Result := Res;
end;

function IncArray(Arr : array of variant; TArr :TVariantArray): TVariantArray;
begin
Arr := Tarr;
Result := Arr;
end;

procedure SetArrayAut;
begin
case random(2) of
0: LOL := 15000 + RandomRange(1,1000);
1: LOL := 15000 - RandomRange(1,1000);
end;
end;

procedure SetArrayMan;
var
A, B, C, D, E : integer;
AArray: array of integer;
begin
A := StrToInt(AAvg0.Text)*1000;
B := StrToInt(AAvg1.Text)*1000;
C := StrToInt(AAvg2.Text)*1000;
D := StrToInt(AAvg3.Text)*1000;
E := StrToInt(AAvg4.Text)*1000;
SetArrayLength(AArray, 4);
AArray := [A, B, C, D, E];
Lol := AvgArray(AArray);
end;

procedure ChooseArraying;
begin
case DfRB.checked of
True : SetArrayAut;
False : SetArrayMan;
end;
end;

procedure IsChopper;
var
OT : integer;
begin
while (not(InvFull)) and (TimeFromMark(Tot) > LOL) do
begin
MarkTime(OT);
while (not(InvFull)) and (TimeFromMark(OT) > LOL) do
begin
AntiBan;
Wait(RandomRange(1,350))
end;
MarkTime(Tot);
ChooseArraying;
end;
end;

procedure DestroyWill;
var
tpa : tpointarray;
X, Y, I, J, K : integer;
EExp : extended;
begin
X := MSCX;
Y := MSCY;
if(not(loggedin)) then exit;
if(InvFull)then WTB;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.27, 0.98);
FindColorsSpiralTolerance(X, Y, TPA, 4024921, msx1, msy1, msx2, msy2, 7);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
MakeCompass('E');
if(GetArrayLength(TPA) > 0)then
begin
mmouse(tpa[0].x, tpa[0].y, 3, 3);
if(waituptext('illow',300+random(200)))then
begin
I := InvCount;
Getmousepos(X,Y);
mouse(tpa[0].x, tpa[0].y, 3, 3, true);
wait(100+random(25))
Flag;
Wait(923+Random(87))
MarkTime(Tot);
ChooseArraying;
IsChopper;
if(TimeFromMark(Tot) > LOL) then exit;
J := InvCount;
K := J-I;
Chopped := Chopped +K;
EExp := Experience( K, 67.5);
Exp := Exp + EExp;
if(InvFull)then WTB;
end;
end;
end;

procedure InItForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 263;
frmDesign.Top := 137;
frmDesign.Width := 348;
frmDesign.Height := 252;
frmDesign.Caption := 'Willow Destroyer by : Junkj';
frmDesign.Color := clAqua;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
AvgLbl := TLabel.Create(frmDesign);
AvgLbl.Parent := frmDesign;
AvgLbl.Left := 176;
AvgLbl.Top := 96;
AvgLbl.Width := 153;
AvgLbl.Height := 13;
AvgLbl.Caption := 'Gets the avg time from each log.';
Blbl := TLabel.Create(frmDesign);
Blbl.Parent := frmDesign;
Blbl.Left := 32;
Blbl.Top := 144;
Blbl.Width := 81;
Blbl.Height := 13;
Blbl.Caption := 'Current Build: 1.0';
PlUser := TEdit.Create(frmDesign);
PlUser.Parent := frmDesign;
PlUser.Left := 24;
PlUser.Top := 16;
PlUser.Width := 129;
PlUser.Height := 21;
PlUser.TabOrder := 8;
PlUser.Text := 'Username';
PlPass := TEdit.Create(frmDesign);
PlPass.Parent := frmDesign;
PlPass.Left := 24;
PlPass.Top := 48;
PlPass.Width := 129;
PlPass.Height := 21;
PlPass.TabOrder := 9;
PlPass.Text := 'Password';
StBut := TButton.Create(frmDesign);
StBut.Parent := frmDesign;
StBut.Left := 24;
StBut.Top := 168;
StBut.Width := 129;
StBut.Height := 40;
StBut.Caption := 'Start';
StBut.TabOrder := 10;
StBut.OnClick := @Startitup;
AvgHelp := TMemo.Create(frmDesign);
AvgHelp.Parent := frmDesign;
AvgHelp.Left := 160;
AvgHelp.Top := 16;
AvgHelp.Width := 177;
AvgHelp.Height := 72;
AvgHelp.Lines.Add('To fill this in, get the time it ');
AvgHelp.Lines.Add('takes you to get a log five times. ');
AvgHelp.Lines.Add('This helps the script adapt to');
AvgHelp.Lines.Add('your chopping specs.');
AvgHelp.TabOrder := 11;
AAvg0 := TEdit.Create(frmDesign);
AAvg0.Parent := frmDesign;
AAvg0.Left := 176;
AAvg0.Top := 120;
AAvg0.Width := 41;
AAvg0.Height := 21;
AAvg0.TabOrder := 12;
AAvg0.Text := '0';
AAvg1 := TEdit.Create(frmDesign);
AAvg1.Parent := frmDesign;
AAvg1.Left := 232;
AAvg1.Top := 120;
AAvg1.Width := 40;
AAvg1.Height := 21;
AAvg1.TabOrder := 13;
AAvg1.Text := '1';
AAvg2 := TEdit.Create(frmDesign);
AAvg2.Parent := frmDesign;
AAvg2.Left := 288;
AAvg2.Top := 120;
AAvg2.Width := 40;
AAvg2.Height := 21;
AAvg2.TabOrder := 14;
AAvg2.Text := '2';
AAvg3 := TEdit.Create(frmDesign);
AAvg3.Parent := frmDesign;
AAvg3.Left := 200;
AAvg3.Top := 152;
AAvg3.Width := 41;
AAvg3.Height := 21;
AAvg3.TabOrder := 15;
AAvg3.Text := '3';
AAvg4 := TEdit.Create(frmDesign);
AAvg4.Parent := frmDesign;
AAvg4.Left := 264;
AAvg4.Top := 152;
AAvg4.Width := 41;
AAvg4.Height := 21;
AAvg4.TabOrder := 16;
AAvg4.Text := '4';
DfRB := TRadioButton.Create(frmDesign);
DfRB.Parent := frmDesign;
DfRB.Left := 176;
DfRB.Top := 184;
DfRB.Width := 153;
DfRB.Height := 24;
DfRB.Caption := 'Use default time? (~15 sec)';
DfRB.TabOrder := 17;
PlNick := TEdit.Create(frmDesign);
PlNick.Parent := frmDesign;
PlNick.Left := 24;
PlNick.Top := 80;
PlNick.Width := 128;
PlNick.Height := 21;
PlNick.TabOrder := 18;
PlNick.Text := 'Nick (3-4 letters of name)';
LoadsTD := TEdit.Create(frmDesign);
LoadsTD.Parent := frmDesign;
LoadsTD.Left := 24;
LoadsTD.Top := 112;
LoadsTD.Width := 41;
LoadsTD.Height := 21;
LoadsTD.TabOrder := 19;
LoadsTD.Text := 'Loads';
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 GProgg;
begin
Writeln('Succesfully finished player['+ IntToStr(CurrentPlayer) + '] run.');
if(AllPlayersInactive)then exit;
Writeln('Moving on to next player');
end;

procedure ScriptTerminate;
begin
Writeln('==================Willow-Destroyer================');
Writeln('|Chopped a total of ' + IntToStr(Chopped) + ' logs');
Writeln('|Did ' + IntToStr(Loads) + ' loads');
Writeln('|Ran for ' + (TimeRunning));
Writeln('|Total amount for all players');
Writeln('========================JUNKJ=====================');
end;

begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
SetUpSRL;
ClearDebug;
SafeInitForm;
SafeShowFormModal;
Wait(1000+Random(500))
DeclarePlayers;
ActivateClient;
GraphicsSet := True;
repeat
SetAngle(True);
MakeCompass('E');
repeat
DestroyWill;
LogCheck;
DeathCheck;
if(ClickContinue(false, true)) then LvlProof;
until(Loads >= Players[CurrentPlayer].Integers[0])
LogOut;
GProgg;
NextPlayer(false);
until(AllPlayersInactive);
end.

mormonman

2010-02-26 00:40:03

procedure DepoBox;
var
WIL, x, y : integer;
begin
WIL := DTMFromString('78DA637CC6C4C0D0CDC8800C4CF50518F8813' +
'448F43F103082D434A3AA61606002933051C6F7407E270135EF80' +
'FC4904D4DC07F2A71350730DC8EFC1AF06007D2E0D52');
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.06);
if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin
MMouse(x, y, 1, 1);
if(WaitUpText('ox', 100+ Random(50)))then
begin
Mouse(x, y, 1, 1, true);
Wait(2357+Random(243));
if(FindDTM(Wil, x, y, MSX1, MSY1, MSX2, MSY2))then
begin
Mouse(x, y, 2, 2, false)
WaitOption('ll', 100+Random(50))
CloseWindow;
FreeDTM(WIL);
Loads := Loads +1;
WTF;
end;
end;
end;
end;

The DTM will not be freed if it is not found.

solution: put freedtm() at end of procedure, right before the last end;

Mr. Doctor

2010-02-26 00:40:38

Argh. Stupid mistakes.

cycrosism

2010-02-26 00:41:06

Yes

Mr. Doctor

2010-02-26 00:53:30

Sorry if I sound like a total dick in the BenLand100 thread, he's acting like a total idiot.

Brain

2010-02-26 01:16:22

total dicks don't cancel out even the biggest of total idiots

Mr. Doctor

2010-02-26 01:18:47

From: Brain
total dicks don't cancel out even the biggest of total idiots


What?

Blumblebee

2010-02-26 01:38:22

your map walking is pathetic I'm not going to lie. Your quite skillful but you seem to be really lazy in the map walking aspect.

with that said, you have some really good stuff in there, some not so good stuff but there are some good moments.

I dislike your form and your isChopping function. There are much better ways to see if your chopping instead of random guessing :/

Your good at scripting, you can see it in all of your scripts. However, you seem to rush your stuff a little bit, instead of taking your time and making a well-made, functioning script.

I'm on the fence for you but I figure I'll take a gamble on you (regardless of your shitty attitude at times). It's a yes from me, don't let me down.

Mr. Doctor

2010-02-26 01:46:37

From: Blumblebee
don't let me down.


Wasn't planning on it ;)

cycrosism

2010-02-26 01:49:26

Btw, who the hell is Mr. Doctor?

Mr. Doctor

2010-02-26 01:54:09

From: cycrosism
Btw, who the hell is Mr. Doctor?


Was my name change BEFORE BenLand100 changed it. Now, it remained Mr. Doctor.

Gu3st...

2010-02-26 02:30:49

Yes.
But there is some code that I don't understand why you put there… Like in WTB;
if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit;
That if…then statement will never return true as both X and Y equals to 0

Mr. Doctor

2010-02-26 02:33:31

From: Zyt3x
Yes.
But there is some code that I don't understand why you put there… Like in WTB;
if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit;
That if…then statement will never return true as both X and Y equals to 0


Icefire told me it's a failsafe that if your char's white dot is close to the point, it won't click at all.

Gu3st...

2010-02-26 02:42:20

From: Junkj
Icefire told me it's a failsafe that if your char's white dot is close to the point, it won't click at all.
Sounds nice, but you never did anything to X and Y before calling that statement

Mr. Doctor

2010-02-26 02:44:34

From: Zyt3x
Sounds nice, but you never did anything to X and Y before calling that statement


I suppose it would go after,


if(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E )) then

right?

Gu3st...

2010-02-26 04:05:05

That's better :)

caused

2010-02-26 06:10:11

That script looks quite well at a first glance.

What i noticed is this:
     
if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
begin
srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
Exit;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end;

FreeBitmap(NoO); and FreeBitmap(RanObj); will never be called since you Exit the procedure.


Also things like this
Loads := Loads +1;
can be shortened in pascal script by using inc(Loads);.

I would also use AddTOReport for your proggy, so that the Debug box can still be used for Debug only :].


Just some pointers, since I can't test your script I won't vote. ( seems like you're in anyways ;) … )

~caused

Awkwardsaw

2010-02-26 08:14:56

nice change in script and attitude, :)

every thing i have to say is already said(and i havnt really looked at the script very well)

regardless, i be saying yess

Quickmarch

2010-02-26 08:41:32

Sorry, it's a no from me. The script doesn't show much creativity, and 1/4 of it is generated form.

Timer

2010-02-26 08:45:19

Nope. Sorry.

You let me down. :(

I don't see anything in there worth SRL members.. Sorry.

weequ

2010-02-26 09:05:00


case Random(16) of
0: GameTab(tab_Combat);
1: GameTab(tab_Stats);
2: GameTab(tab_Quest);
3: GameTab(tab_Diary);
4: GameTab(tab_Inv);
5: GameTab(tab_Equip);
6: GameTab(tab_Prayer);
7: GameTab(tab_Magic);
8: GameTab(tab_Friends);
9: GameTab(tab_Ignore);
10: GameTab(tab_Clan);
11: GameTab(tab_Options);
12: GameTab(tab_Emotes);
13: GameTab(tab_Music);
14: GameTab(tab_Notes);
end;
to

if Random(16) < 15 then GameTab(GameTab(Tab_Combat+Random(Tab_Logout-Tab_Combat));

Timer

2010-02-26 09:08:11

Here.

program WillowDestroyer;
{.Include srl\srl\Misc\Smart.scar}
{.include SRL/SRL.Scar}
//////////////////////////////////////////////////////////////////////////////
//WILLOW DESTROYER BY JUNKJWILLOW DESTROYER BY JUNKJWILLOW DESTROYER BY JUNKJ/
//////////////////////////////////////////////////////////////////////////////
// READ BEFORE RUNNING READ BEFORE RUNNING READ BEFORE RUNNING /
//////////////////////////////////////////////////////////////////////////////
// Chops and banks willows at Draynor Village
//////////////////////////////////////////////////////////////////////////////
// The form is only for player one. if you plan on using multiple players,
// Fill in declare players (Start setup from line 41) with how many players you want to use
//////////////////////////////////////////////////////////////////////////////
// The script gets and uses your average time provided by the time you entered
// in the parameters of the form. (More info in the form) Or use
//////////////////////////////////////////////////////////////////////////////

/////////////////////////START OF SETUP////////////////////////////////////
/////////////////////////SMART-SETUP///////////////////////////////////////
const
SmartWorld = 152;
Members = False;
SignedClient = True;
HighDetail = False;
////////////////////////PLAYER-SETUP///////////////////////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; // Make the inactive players[#] green
NumberOfPlayers(HowManyPlayers); //So you dont get a runtime error :D
CurrentPlayer := 0;

//////////////////////Players[0] is already set by form////////////////////
Players[0].Name := PlUser.Text; //Username
Players[0].Pass := PlPass.Text; //Password
Players[0].Nick := PlNick.Text; //Nickname 3-4 letters no first or cap
Players[0].Active := true;
Players[0].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?
////////////////////////////Fill in if using multiple players//////////////
{
Players[1].Name := '123'; //Username
Players[1].Pass := '123'; //Password
Players[1].Nick := '123'; //Nickname 3-4 letters no first or cap
Players[1].Active := true;
Players[1].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?
{
Players[2].Name := PlUser.Text; //Username
Players[2].Pass := PlPass.Text; //Password
Players[2].Nick := PlNick.Text; //Nickname 3-4 letters no first or cap
Players[2].Active := true;
Players[2].Integers[0]:= StrToInt(LoadsTD.Text); //How many loads do you want to do?}
end;
///////////////////////////////END OF SETUP/////////////////////////////////

procedure SetRandomObj; //pointtless
var RanObj, NoO, x, y, i, T :integer;
begin
NoO := BitmapFromString(23, 12, 'beNqNUQEOwiAQ40Fs2RJdnA4j0' +
'/3/SbO7jnpiNJLLpZT2KCH116G5nZrpEPO5BZ7RjzvDPhc+DYUZjR' +
'lb08TdNbxcxI6JmAmNpuXSMTMbjz5bresKF8vjb5XNwsUhmMwtbwQ' +
'IIfgX6V3EyAANerClS2nklhiW6nZm9vrqFRqiLl6aXCbQ+OcQnirh' +
'jyT4qSX13ugxwP3SiYESXQwm0Eve6z+9BFDC9UhdxQBDLD1IYfHU8' +
'NSXvpgu5qQxW0JiJuc/MnnVQ1mQLdM2GTk3bLcwhq8qxls9AVo+Ey' +
'o=');
RanObj := BitmapFromString(14, 14, 'beNp1kj0Lg2AMhN8fJ52ko6' +
'M4ttS1YJdSKE5O/cX6wMH1CPhyQ3K5fJi4DK/5ui7D7zuB571/TJf' +
'b2AEM3ASMo8lTwQIlpmD/NCH1YujoLmJ4FitkPhP1GFuuBnBoe49U' +
'zsRSJ5XALgVdM5WghLBL4lmRoszu2vlZYn6sD+Rhcg+p9HWssayQ2' +
'GL0A7T2l4mnnfcsV4sFyvI1xawH8tTePw==');
GameTab(tab_Objectives);
if(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Writeln('Setting Objective')
If(FindBitmapToleranceIn(RanObj,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Wait(200+Random(500));
Mouse(x,y,3,3,true);
MarkTime(T);
repeat
Wait(500+Random(250))
Inc(i)
until (GetColor(111, 35) = 3342540) or (TimeFromMark(T) = 5000);
if not(GetColor(111, 35) = 3342540) then Exit;
case Random(6) of
0..1: Mouse(94, 104, 60, 40, true);
2: Mouse(257, 104, 60, 40, true);
3: Mouse(422, 104, 60, 40, true);
4: Mouse(94, 238, 60, 40, true);
5: Mouse(257, 238, 60, 40, true);
6: Mouse(422, 238, 60, 40, true);
end;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end else
if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
begin
srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
Exit;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end;
end;
end;

{Try this

procedure SetRandomObj;
var RanObj, NoO, x, y, i, T :integer;
begin
repeat
NoO := BitmapFromString(23, 12, 'beNqNUQEOwiAQ40Fs2RJdnA4j0' +
'/3/SbO7jnpiNJLLpZT2KCH116G5nZrpEPO5BZ7RjzvDPhc+DYUZjR' +
'lb08TdNbxcxI6JmAmNpuXSMTMbjz5bresKF8vjb5XNwsUhmMwtbwQ' +
'IIfgX6V3EyAANerClS2nklhiW6nZm9vrqFRqiLl6aXCbQ+OcQnirh' +
'jyT4qSX13ugxwP3SiYESXQwm0Eve6z+9BFDC9UhdxQBDLD1IYfHU8' +
'NSXvpgu5qQxW0JiJuc/MnnVQ1mQLdM2GTk3bLcwhq8qxls9AVo+Ey' +
'o=');
RanObj := BitmapFromString(14, 14, 'beNp1kj0Lg2AMhN8fJ52ko6' +
'M4ttS1YJdSKE5O/cX6wMH1CPhyQ3K5fJi4DK/5ui7D7zuB571/TJf' +
'b2AEM3ASMo8lTwQIlpmD/NCH1YujoLmJ4FitkPhP1GFuuBnBoe49U' +
'zsRSJ5XALgVdM5WghLBL4lmRoszu2vlZYn6sD+Rhcg+p9HWssayQ2' +
'GL0A7T2l4mnnfcsV4sFyvI1xawH8tTePw==');
GameTab(tab_Objectives);
if(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Writeln('Setting Objective')
If(FindBitmapToleranceIn(RanObj,x,y,mix1,miy1,mix2,miy2,20)) then
begin
Wait(200+Random(500));
Mouse(x,y,3,3,true);
MarkTime(T);
repeat
Wait(500+Random(250))
Inc(i)
until (GetColor(111, 35) = 3342540) or (TimeFromMark(T) = 5000);
if not(GetColor(111, 35) = 3342540) then Break;
case Random(6) of
0..1: Mouse(94, 104, 60, 40, true);
2: Mouse(257, 104, 60, 40, true);
3: Mouse(422, 104, 60, 40, true);
4: Mouse(94, 238, 60, 40, true);
5: Mouse(257, 238, 60, 40, true);
6: Mouse(422, 238, 60, 40, true);
end;
end else
if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
begin
srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
Break;
end;
end;
until True;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end;
}

procedure RandomTabs; //Do a i := RandomRange(lowTab, highTab); GameTab(i);
var I :integer;
begin
begin
for I:= 0 to RandomRange(1,3) do
begin
case Random(16) of
0: GameTab(tab_Combat);
1: GameTab(tab_Stats);
2: GameTab(tab_Quest);
3: GameTab(tab_Diary);
4: GameTab(tab_Inv);
5: GameTab(tab_Equip);
6: GameTab(tab_Prayer);
7: GameTab(tab_Magic);
8: GameTab(tab_Friends);
9: GameTab(tab_Ignore);
10: GameTab(tab_Clan);
11: GameTab(tab_Options);
12: GameTab(tab_Emotes);
13: GameTab(tab_Music);
14: GameTab(tab_Notes);
end;
Wait(RandomRange(100,300));
MMouse(RandomRange(MIX1, MIX2), RandomRange(MIY1, MIY2), 0, 0);
Wait(RandomRange(100,300));
end;
Wait(RandomRange(200,400));
end;
end;

procedure LogProg;
begin
Writeln('Terminating script because of no available players');
TerminateScript;
end;

procedure LogCheck;
begin
if(not(Loggedin))then
begin
Writeln('Logged out somehow');
if(AllPlayersInactive)then LogProg;
Writeln('Going on to next player');
NextPlayer(False); //Fails.. If you're gunna use NextPlayer in the middle of a script... Logout; instead. Then if (not LoggedIn) then (enter) Exit; in every function, in main loop.. if (not LoggedIn) then (enter) NextPlayer(False){NO ;} (enter) else (enter) NextPlayer(True);}
end;
end;

procedure AntiBan; forward;

procedure LvlProof;
begin
SaveScreenshot('LvlProof' + IntToSTR(ll) + '.bmp');
ll := ll +1;
ClickToContinue; //Fail.
AntiBan;
end;

procedure DProg;
begin
Writeln('No other players to continue with, terminating');
TerminateScript;
end;

procedure DeathCheck;
begin
if(FindDead)then
begin
Writeln('Died somehow');
if(AllPlayersInactive)then DProg;
NextPlayer(False); //Fails.. If you're gunna use NextPlayer in the middle of a script... Logout; instead. Then if (not LoggedIn) then (enter) Exit; in every function, in main loop.. if (not LoggedIn) then (enter) NextPlayer(False){NO ;} (enter) else (enter) NextPlayer(True);}
end;
end;


procedure AntiBan;
begin
LogCheck;
DeathCheck;
if(ClickContinue(false, true)) then LvlProof;
case random(70) of
0:HoverSkill('mining',false);

1:SleepAndMoveMouse(1000+random(500));

2:randomrclick;

3:pickupmouse;

4:RandomMovement;

5:SetRandomObj;

6:RandomTabs;
end;
if(ClickContinue(false, true)) then LvlProof; //Once again, Ulesssss......
wait(223+random(277)) {Badd standards}
end;

procedure DepoBox; forward;

procedure WTB; {ALRIGHT. Still isn't very good,}
var
x, y, BTM, R : integer;
SymbolAccuracy, E : extended;
begin
BTM := DTMFromString('78DA637CCAC4C0F0930105181B1B32FC87B2F' +
'F0301E377A09A2F103E3354FCEB5708CD08E583D5FC2042CD7FFC' +
'6A003E5E1317');
if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit; //Pointless as ...Dunno.
if(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E )) then
begin
Mouse(x, y, 2, 2, true);
Case Random(2) of
0: R := 180 - RandomRange(1,5);
1: R := 180 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
FreeDTM(BTM);
DepoBox;
end else
if(not(FindDTMRotated(BTM, x, y, MMX1, MMY1, MMX2, MMY2, -1, 2, 0.5, E ))) then
begin
SymbolAccuracy := 0.6;
if(FindSymbol( x, y, 'bank'))then
begin
SymbolAccuracy := 0.8;
Mouse( x, y, 2, 2, true);
Case Random(2) of
0: R := 180 - RandomRange(1,5);
1: R := 180 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
FreeDTM(BTM);
DepoBox;
end;
end;
end;

procedure DestroyWill; forward;

procedure WTF; //Walk To Fish, yea i know... AND pathedic walking. Can't lie.
var
x, y, R : integer;
SymbolAccuracy : extended;
begin
SymbolAccuracy := 0.6;
if(FindSymbol( x, y, 'fish'))then
begin
SymbolAccuracy := 0.8;
Mouse( x, y, 2, 2, true);
case Random(2) of
0: R := 90 - RandomRange(1,5);
1: R := 90 + RandomRange(1,5);
end;
MakeCompass(R);
Flag;
DestroyWill;
end;
end;

procedure DepoBox;
var
WIL, x, y : integer;
begin
WIL := DTMFromString('78DA637CC6C4C0D0CDC8800C4CF50518F8813' +
'448F43F103082D434A3AA61606002933051C6F7407E270135EF80' +
'FC4904D4DC07F2A71350730DC8EFC1AF06007D2E0D52');
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.06);
if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then {HOLY SHIT FUCKING FAIL! YOU NEED A BEGIN AND END. OMFG}
{if (not FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5)) then <- Like that.
begin
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
Exit;
end;}
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin
MMouse(x, y, 1, 1);
if(WaitUpText('ox', 100+ Random(50)))then
begin
Mouse(x, y, 1, 1, true);
Wait(2357+Random(243));
if(FindDTM(Wil, x, y, MSX1, MSY1, MSX2, MSY2))then
begin
Mouse(x, y, 2, 2, false)
WaitOption('ll', 100+Random(50))
CloseWindow;
FreeDTM(WIL);
Loads := Loads +1;
WTF;
end;
end;
end;
FreeDTM(WIL);
end;

function Experience( Amount : integer; Exp : extended): extended; {Fail function..}
begin
Result := Amount*Exp;
end;

function AvgArray( Time : TIntegerArray): Integer;
var
Res, Tot, I : integer;
begin
for I := 0 to High(Time) do IncEx( Tot , Time[I]);
Res := Tot div Length(Time);
Result := Res;
end;

function IncArray(Arr : array of variant; TArr :TVariantArray): TVariantArray;{What does this do??? Increase Array?? You would need this...}
begin
Arr := Tarr;
Result := Arr;
//SetLength(Result, Length(Result) + 1); <- That.
end;

procedure SetArrayAut;
begin
case random(2) of
0: LOL := 15000 + RandomRange(1,1000);
1: LOL := 15000 - RandomRange(1,1000);
end;
end;

procedure SetArrayMan;
var {OMG YOUR STANDARDS FAIL IN THIS WHOLE FUNCTION}
A, B, C, D, E : integer;
AArray: array of integer;
begin
A := StrToInt(AAvg0.Text)*1000;
B := StrToInt(AAvg1.Text)*1000;
C := StrToInt(AAvg2.Text)*1000;
D := StrToInt(AAvg3.Text)*1000;
E := StrToInt(AAvg4.Text)*1000;
SetArrayLength(AArray, 4);
AArray := [A, B, C, D, E];
Lol := AvgArray(AArray);
end;

procedure ChooseArraying; //Fail.
begin
case DfRB.checked of
True : SetArrayAut;
False : SetArrayMan;
end;
end;

procedure IsChopper; {What the FUCK kind of chopping procedure wait is this?!!? USLESS!}
var
OT : integer;
begin
while (not(InvFull)) and (TimeFromMark(Tot) > LOL) do
begin
MarkTime(OT);
while (not(InvFull)) and (TimeFromMark(OT) > LOL) do
begin
AntiBan;
Wait(RandomRange(1,350))
end;
MarkTime(Tot);
ChooseArraying; {OVER AND OVER, AGAIN!?!? Fail.}
end;
end;

procedure DestroyWill; {Over all, HORRIBLE williow chopping.. sorry -- pointless if it's not a function..}
var
tpa : tpointarray;
X, Y, I, J, K : integer;
EExp : extended;
begin
X := MSCX;
Y := MSCY;
if(not(loggedin)) then exit; {Badddd standards}
if(InvFull)then WTB; {Badddd standards}
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.27, 0.98);
FindColorsSpiralTolerance(X, Y, TPA, 4024921, msx1, msy1, msx2, msy2, 7); {Nice.. CTS2}
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
MakeCompass('E');
if(GetArrayLength(TPA) > 0)then {pointless if it's not a function..}
begin
mmouse(tpa[0].x, tpa[0].y, 3, 3);
if(waituptext('illow',300+random(200)))then {Badddd standards} {pointless if it's not a function..}
begin
I := InvCount;
Getmousepos(X,Y);
mouse(tpa[0].x, tpa[0].y, 3, 3, true);
wait(100+random(25)) {Badddd standar no ;ds}
Flag;
Wait(923+Random(87)) {Badddd standards no ;}
MarkTime(Tot);
ChooseArraying;
IsChopper;
if(TimeFromMark(Tot) > LOL) then exit; {Badddd standards}
J := InvCount;
K := J-I;
Chopped := Chopped +K;
EExp := Experience( K, 67.5);
Exp := Exp + EExp;
if(InvFull)then WTB; {Badddd standards}
end;
end;
end;

procedure GProgg;
begin
Writeln('Succesfully finished player['+ IntToStr(CurrentPlayer) + '] run.');
if(AllPlayersInactive)then exit; {Badddd standards}
Writeln('Moving on to next player');
end;

procedure ScriptTerminate;
begin
Writeln('==================Willow-Destroyer================');
Writeln('|Chopped a total of ' + IntToStr(Chopped) + ' logs');
Writeln('|Did ' + IntToStr(Loads) + ' loads');
Writeln('|Ran for ' + (TimeRunning));
Writeln('|Total amount for all players');
Writeln('========================JUNKJ=====================');
end;

begin
Smart_Server := SmartWorld;
Smart_Members := Members;
Smart_Signed := SignedClient;
Smart_SuperDetail := HighDetail;
SetUpSRL;
ClearDebug;
Wait(1000+Random(500)); {Not cool standards :P}
DeclarePlayers;
ActivateClient;
//GraphicsSet := True; - Not needed anymore, bug was Fixed.
repeat
SetAngle(True);
MakeCompass('E');
repeat
DestroyWill;
LogCheck;
DeathCheck;
if(ClickContinue(false, true)) then LvlProof; {Usless. Click continue doesn't always mean Level, it could be a random.}
until(Loads >= Players[CurrentPlayer].Integers[0])
LogOut;
GProgg;
NextPlayer(false);
until(AllPlayersInactive);
end.

Read it.

weequ

2010-02-26 09:42:12

whats wrong with that:
Wait(1000+Random(500)); {Not cool standards :P}?
I think its not neccessary to add spaces before and after '+'

Timer

2010-02-26 09:52:47

True, I just like to anyway. Looks neater.

Wanted

2010-02-26 10:38:44

if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then
Exit;

Basically just means if you click in that box it's so close to the center of the minimap you won't even get a flag or move.

Mr. Doctor

2010-02-26 14:18:27

From: Quickmarch
Sorry, it's a no from me. The script doesn't show much creativity, and 1/4 of it is generated form.


It's actually less then 1/4. I did the math(Surprised I know how)

@Timer Nothing Members worthy? TPAs, DTM, DDTM, home made Anti-ban.

- Dynamic or normal DTMs-Check
- Walking using RadialWalking or Dynamic DTMs-Check
- FailSafes-Check
- AntiRandoms-Erm…
- Antiban (optional)-Check
- Good usage of SRL MultiPlayer-Check?
- Ability to create working complex decent script.-?

4/7, I have the majority.

Main

2010-02-26 15:32:30

Why does the title says Mr.Doctor? and I though you were already mem 0_0

RAM

2010-02-26 15:34:41

From: Main_Ftw
Why does the title says Mr.Doctor? and I though you were already mem 0_0


I voted yes and for some reason I thought the same….

tico2

2010-02-26 15:52:08

Your a cool guy with good scripting abilities. I voted yes on your first application so this one is also a yes.

I have just read the name change thread and I think your name should be changed (I like Junkj better tho :p)

Good luck m8! :)

Mr. Doctor

2010-02-26 18:28:33

Oh, by the way. Junior said he will come back if people test his script.

Mr. Doctor

2010-02-26 19:14:13

Trying to keep this thread up.

Runescapian321

2010-02-26 19:27:58

From: Mr. Doctor
Trying to keep this thread up.


22 votes in 7 hours is pretty extraordinary. Plus there's no other active applications right now, so no need.

Mr. Doctor

2010-02-26 19:31:18

From: Tad
22 votes in 7 hours is pretty extraordinary. Plus there's no other active applications right now, so no need.


Oh, sorry. Trying to keep track of it in the quick stats in the bottom of the forum.

noidea

2010-02-26 19:37:47

I'm going to be the same as Blumblebee. :) dont let us down! Keep learning.

Dynamite

2010-02-28 06:34:37

I don't really like your attitude, especially after the Benland issue.
Also you say "Home-Made" antiban.
But all I see that is home made is LogCheck and DeathCheck,
Which also just do what SRL can.

No from me.

Timer

2010-02-28 20:33:41

From: Mr. Doctor
It's actually less then 1/4. I did the math(Surprised I know how)

@Timer Nothing Members worthy? TPAs, DTM, DDTM, home made Anti-ban.

- Dynamic or normal DTMs-Check
- Walking using RadialWalking or Dynamic DTMs-Check
- FailSafes-Check
- AntiRandoms-Erm…
- Antiban (optional)-Check
- Good usage of SRL MultiPlayer-Check?
- Ability to create working complex decent script.-?

4/7, I have the majority.

Well. Sadly. I have refrained from insulting you enough to get me enough infractions to get me banned. But trust me. That whole list is B.S.

Griff

2010-02-28 21:04:51

The script is alright, but I don't really like your attitude : /
Sorry, it's a no from me.

Brain

2010-02-28 21:23:19

well I wasn't going to vote, then I decided to look up your attitude a little better.

Here are the posts I found that I didn't like:
From: Your bad posts

http://villavu.com/forum/showthread.php?p=689216#post689216
http://villavu.com/forum/showthread.php?p=688660#post688660
http://villavu.com/forum/showthread.php?p=688617#post688617
http://villavu.com/forum/showthread.php?p=688067#post688067


But then again there were lots of posts that were very helpful to newer people. You also seemed much more mature in those posts.

That said…it seems you get worked up very quickly, and flustered easily into making poor choices. Everyone gets frustrated, it's how you deal with it is the kicker. I will continue to hold my vote on this, since I'm just barely leaning to the "no" side, by just a tiny tiny bit…

E: (most of the bad posts aren't that bad, they are just posts that I generally disapprove of.

E2: decided to go with yes, good luck.

noidea

2010-02-28 21:24:33

I'm sure you guys have bad days. Stuff like what happened in the thread would piss any one off.
Tbh, I havent seen Junk have a bad attitude much.

Edit: Brain, oh you ninja

JPHamlett

2010-02-28 22:30:25

yes i like you keep it up

TRiLeZ

2010-02-28 23:13:20

Lets take a look…
I'll be examining your script function by function btw.

SetRandomObj:

If the bitmap NoO is not found, the 2 bitmaps are never freed.

RandomTabs

Could be made shorter. You could use a TIntegerArray to make it shorter.

WTB

DTMs aren't always freed.

DepoBox

If the script doesn't find the colour 6316132 then the colour modifiers aren't set to what they are default to for CTS 1 but CTS 1 will be set no-matter what?


begin
MMouse(x, y, 1, 1);
if(WaitUpText('ox', 100+ Random(50)))then
begin
Mouse(x, y, 1, 1, true);
Wait(2357+Random(243));
if(FindDTM(Wil, x, y, MSX1, MSY1, MSX2, MSY2))then
begin
Mouse(x, y, 2, 2, false)
WaitOption('ll', 100+Random(50))
CloseWindow;
FreeDTM(WIL);
Loads := Loads +1;
WTF;
end;
end;
end;
If the colour 6316132 isn't found, x and y will be 0… so the mouse will move to (0, 0).

Why is the DTM WIL freed twice?

Experience

Is this function really needed? It's less coding to do:

__ := Players[CurrentPlayer].Integers[...] * 67.5;
Than to do:

__ := Experience(Players[CurrentPlayer].Integers[...], 67.5);

AvgArray

Why not just use Average() instead of this function?

IncArray

Doesn't do shit.

SetArrayAut


case random(2) of
0: LOL := 15000 + RandomRange(1,1000);
1: LOL := 15000 - RandomRange(1,1000);
end;

Shortened:


LOL := 15000 + RandomRange(-1000, 1000);

DestroyWill

Whats the point of finding multiple colours when you only use one point?

Overall

Pros:
  • MultiPlayer
  • DTMS
  • AntiBan
  • AntiRandoms

Cons:
  • Huge memory leak by not freeing DTMs
  • Only 1 use of a TPA, but it wasn't proper use. You only used the first point of that TPA…
  • Bad variables + functions names
  • I don't really like your attitude

Sorry, but you are not SRL Member material (just yet).

cycrosism

2010-03-01 03:20:04

From: The Man
I don't really like your attitude, especially after the Benland issue.


Yeah well would you be pissed off if you logged on one day and someone changed your name?

ZephyrsFury

2010-03-01 04:12:20

Yes from me! Good luck :)

Naike

2010-03-01 10:40:19

You grow into being a member, as you, are to set standards for the new users.

Do I see that potential in you..
Are you helpful, as in, not only making posts in spam threads..
Do you understand some basic scripting..

I hope that we can agree on these three points being a "yes".
However, I see some parts of you still being needed to grow, but that's what all of this is about, no?

And people.. the BenLand fuss is in one ways his own fault, I would question it as well, maybe a bit smoother though.. :p
However, I see potential, and therefor I'll vote yes, don't let me down now..

Damn, you got me writing a record long app feedback!

GoF

2010-03-01 15:21:01

No from me, and why is he a promising newcomer? He's been here for 3 years, so he's hardly a newcomer..

Bionicle

2010-03-01 15:22:39

From: GoF
No from me, and why is he a promising newcomer? He's been here for 3 years, so he's hardly a newcomer..


Agreed. There should be a time limit on that cup, like you can't have the old timer's cup until after two years..

Dynamite

2010-03-02 13:16:19

From: GoF
No from me, and why is he a promising newcomer? He's been here for 3 years, so he's hardly a newcomer..


Exactly what I was going to post.

MylesMadness

2010-03-02 15:23:52

Didn't even look at the script, your attitude is just bad.

Bionicle

2010-03-02 15:25:57

This is guna be a close one :3

Awkwardsaw

2010-03-02 18:22:29

From: bionicle1800
This is guna be a close one :3


still up by dos.. :>

Sir R. M8gic1an

2010-03-02 18:35:27

No.

Make it look propper. That's your first and easiest step.

Then, a simple question:

if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin

What is the begin doing there?

And why would you use a case on a boolean?

~RM

Timer

2010-03-07 11:00:48

don't forget about the.
if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then

Awkwardsaw

2010-03-08 18:36:53

i dont beileve anyone else is voting..

majority rules? :)

Naum

2010-03-09 12:59:52

You have great persistence and help around the forums quite a bit. You look like the guy who will carry on and keep learning, please please do. The script looks alright, but do remember to implement any corrections.
Hence, I am voting yes :).

Sir R. M8gic1an

2010-03-09 13:00:20

From: Rasta Magician
No.

Make it look propper. That's your first and easiest step.

Then, a simple question:

if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin

What is the begin doing there?

And why would you use a case on a boolean?

~RM


You never answered that post….

~RM

Mr. Doctor

2010-03-09 15:46:29

From: Rasta Magician
You never answered that post….

~RM


Oh, thought it was a rhetorical question.

1: One of those stupid things with a begin.

Edit: As for the second question, I use it to select a procedure. If it's true, it selects one. If it's not, it would select another. I did this because I thought it would make the whole if/else a lot shorter.

Coh3n

2010-03-09 21:22:47

From: Mr. Doctor
Oh, thought it was a rhetorical question.

1: One of those stupid things with a begin.

Edit: As for the second question, I use it to select a procedure. If it's true, it selects one. If it's not, it would select another. I did this because I thought it would make the whole if/else a lot shorter.

It's faster to use an if statement if there's only two conditions.

Sir R. M8gic1an

2010-03-11 14:23:30

I'm sorry, but you clearly don't have some basics down. Feel free to reapply in two weeks.


repeat
Wait(500+Random(250))
Inc(i)
until (GetColor(111, 35) = 3342540) or (TimeFromMark(T) = 5000);
Possible impossible loop, as it is highly unlikely that TimeFromMark will ever be exactly 5000. You should do TimeFromMark(T) >= 5000


if(not(FindBitmapToleranceIn(NoO,x,y,mix1,miy1,mix2,miy2,20))) then
begin
srl_Warn( 'SetRandomObjective', 'Objective already set' ,1);
Exit;
FreeBitmap(NoO);
FreeBitmap(RanObj);
end;

These bitmaps would never be freed in that if else statement as you exit before freeing them.


if (PointInBox(Point(X, Y), IntToBox(MMCX, MMCY, MMCX + 3, MMCY + 3))) then Exit;
begin

That begin is doing absolutely nothing there, as you already called Exit; The following else will be 'elsing' nothing.


procedure WTF; //Walk To Fish, yea i know...
Inapropriate naming.


if(FindColorSpiralTolerance(x, y, 6316132, MSX1, MSY1, MSX2, MSY2, 5))then
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
begin

So you'll only reset speed modifiers if you succeed..?
Also, begin is doing nothing there.


function Experience( Amount : integer; Exp : extended): extended;
begin
Result := Amount*Exp;
end;
One line function = useless….


function IncArray(Arr : array of variant; TArr :TVariantArray): TVariantArray;
begin
Arr := Tarr;
Result := Arr;
end;

And the point of this is…?


if(InvFull)then WTB;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.27, 0.98);
FindColorsSpiralTolerance(X, Y, TPA, 4024921, msx1, msy1, msx2, msy2, 7);
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(1);
MakeCompass('E');
if(GetArrayLength(TPA) > 0)then
As you don't exit after WTB, you'll look for willows in the bank.


mmouse(tpa[0].x, tpa[0].y, 3, 3);
Going to the first point of the TPA really isn't a great finder… You'd be better off with FindObjCustom.

So yeah, good luck. Also, work on your standards.

~RM