SRL Archive - Archive

TomTuff - SRL Member Application


TomTuff

2009-08-06 23:44:23

PLEASE NOTE I ADDED A SECOND SCRIPT! (and it now uses DDTMs for walking :P)

How Long have You Played Runescape?

4 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
scar, a little Visual Basic, a little html


Are you a member of any other communities?
Sythe, rsbot


Tell us about yourself…
From: TomTuff
Hi, my name is Tom. I am 13. I play water polo for my high school team, and play runescape/bot during my freetime.



Please show us one (or multiple) of your scripts.
[LEFT]

program Bandits;
{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].strings[0] := ''; //tuna, lobster, monkfish, shark
end;

procedure TradeGuy;
var
x, y, T, FoodDTM: integer;
begin
FindNormalRandoms;
if FindSymbolIn(x, y, 'shop', 586, 27, 623, 65) then
begin
mouse(x, y, 4, 6, true);
wait(4000+random(250));
end
else
begin
Logout;
end;
if FindObjTPA(x, y, 14474464, 20, 2, 1, 1, 30, ['hop']) then
begin
mouse(x, y, 4, 6, false);
ChooseOption('Trade');
mouse(189, 69, 10, 4, true);
wait(900+random(200)); //for lag
Mouse(582, 227, 10, 10, false);
ChooseOption('sell 10');
Mouse(582, 227, 10, 10, false);
ChooseOption('sell 5');
Mouse(582, 227, 10, 10, false);
ChooseOption('sell 10');
Mouse(582, 227, 10, 10, false);
ChooseOption('sell 1');
end
else
begin
logout;
end;
case Players[CurrentPlayer].strings of
'shark' : FoodDTM:= DTMFromString('78DA6374636260C8674001532A93194480342' + //shark DTM
'310FF07024673A09A6A0634C08844026947A09A2A026ABC806A2A' +
'08A80902AA2921A0C60FA8268B801A0FA09A34026A1C806A9209A' +
'8B105AA4922A0C60AA8269708350DF8D5000088460D6A');
'monk' : FoodDTM := DTMFromString('78DA637466626058C680020A137D194480342' +
'310FF07024637A09A050C6880118904D24140357308A8F1C7B40B' + //monk DTM
'434D2850CD5A026ADC816AD61150630954B38A801A73A09A2504D' +
'4D801D52C24A0C69988F0B107AA598F5F0D0000080F7D');
'tuna' : FoodDTM := DTMFromString('78DA6374626260B8CE800266D455318800694' +
'620FE0F048C2E4035A718D000231209A43D806A2E1050E34BA49A' + //tuna DTM
'EB04D4B802D5DC25A0C606A8E6010135664035B708A8B106AAB94' +
'4408D3D50CD79FC6A00B52610BB');
'lobster' : FoodDTM := DTMFromString('78DA6374656260286440013B93C4C0342394C' +
'FE8055493C480061851D50401D5A41150E303545342408D27504D' + //lobster DTM
'2D0135F640351504D49801D5941350630D54934B408D0B504D0E7' +
'E3500F3B907BA');
end;
if (FindDTM(FoodDTM, x, y, 37, 92, 471, 288)) then
begin
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 1');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 5');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');
end
else
begin
logout;
end;
if (FindObjTPA(x, y, 2448971, 15, 2, 1, 1, 15, ['alk'])) then
begin
mouse(x, y, 1, 1, true) mouse(320, 268, 4, 4, true)
end
else
begin
logout;
end;
Inc(t);
end;

procedure EatFood; //credit: waddo's dtm guide + NCDS for making it a case statment
var
FoodDTM, x, y: Integer;
begin
case Players[CurrentPlayer].strings of
'shark' : FoodDTM:= DTMFromString('78DA6374636260C8674001532A93194480342' + //shark DTM
'310FF07024673A09A6A0634C08844026947A09A2A026ABC806A2A' +
'08A80902AA2921A0C60FA8268B801A0FA09A34026A1C806A9209A' +
'8B105AA4922A0C60AA8269708350DF8D5000088460D6A');
'monk' : FoodDTM := DTMFromString('78DA637466626058C680020A137D194480342' +
'310FF07024637A09A050C6880118904D24140357308A8F1C7B40B' + //monk DTM
'434D2850CD5A026ADC816AD61150630954B38A801A73A09A2504D' +
'4D801D52C24A0C69988F0B107AA598F5F0D0000080F7D');
'tuna' : FoodDTM := DTMFromString('78DA6374626260B8CE800266D455318800694' +
'620FE0F048C2E4035A718D000231209A43D806A2E1050E34BA49A' + //tuna DTM
'EB04D4B802D5DC25A0C606A8E6010135664035B708A8B106AAB94' +
'4408D3D50CD79FC6A00B52610BB');
'lobster' : FoodDTM := DTMFromString('78DA6374656260286440013B93C4C0342394C' +
'FE8055493C480061851D50401D5A41150E303545342408D27504D' + //lobster DTM
'2D0135F640351504D49801D5941350630D54934B408D0B504D0E7' +
'E3500F3B907BA');
end;
if FindDTM(FoodDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
if Random(5) = 1 then
begin
Mouse(x, y, 4, 7, False);
ChooseOption('Eat');
end
else
Mouse(x, y, 4, 7, True);
end
else
TradeGuy;
FreeDTM(FoodDTM);
FindNormalRandoms;
end;

procedure AntiBan;
var
A, prob: integer; //shortened by all that is man
begin
if random(2000) < 3 then
begin
Inc(A);
prob := random(5);
case prob of
0: RandomRClick;
1: BoredHuman;
2: pickupmouse;
3: BoredHuman;
4: ExamineInv;
end;
end;
end;

function CheckHP: boolean; //credit for help: NCDS
var
Temp: string;
begin
if GetMMLevels('hp', temp) <> - 1 then
if (temp = 'orange') or (temp = 'red') then
begin
result := True;
EatFood;
end;
FindNormalRandoms;
end;

procedure proggy;
begin
end;
begin
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
repeat
CheckHP;
AntiBan;
until (not (LoggedIn));
end.


program FM;
{.include srl/srl/misc/smart.scar}
{.Include SRL/SRL.scar}
{.Include SRL/SRL/skill/Firemaking.scar}
{.include srl/srl/misc/FindXp.scar}

var
x, y, B, BA, i, time, BeginXP, ddtmTolerance:Integer;

const
LogType = 'normal'; //valid: normal, oak, willow, maple, yew, magic
{please note that this is only used to tell you how much exp you gained}
{in the proggy}

procedure DeclarePlayers;
begin
HowManyPlayers := 1; //how many players are you going to be using? [leave at 1]
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := 'bushido red'; //username
Players[0].Pass := 'noheart'; //password
Players[0].Nick := 'ed'; //2-4 letters of the username (no caps)
Players[0].Pin := ''; //players bank pin, leave blank if none
Players[0].Active := True; //is this player active? True = yes, False = no.
end;

procedure FixCam;
begin
SetAngle(true);
MakeCompass('n');
end;

procedure GetFmXp;
begin
BeginXP := GetXP('firemaking');
end;

function BankDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..8] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 22;
dtmMainPoint.y := 20;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5408144;
dtmMainPoint.Tolerance := 12;

dtmSubPoints[0].x := 22;
dtmSubPoints[0].y := 20;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5408144;
dtmSubPoints[0].Tolerance := 12;

dtmSubPoints[1].x := 28;
dtmSubPoints[1].y := 19;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 15920111;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 29;
dtmSubPoints[2].y := 12;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 15920111;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 30;
dtmSubPoints[3].y := 8;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 15920111;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 34;
dtmSubPoints[4].y := 4;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 15658734;
dtmSubPoints[4].Tolerance := 10;

dtmSubPoints[5].x := 37;
dtmSubPoints[5].y := 3;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 15920111;
dtmSubPoints[5].Tolerance := 10;

dtmSubPoints[6].x := 24;
dtmSubPoints[6].y := 22;
dtmSubPoints[6].AreaSize := 0;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 15920111;
dtmSubPoints[6].Tolerance := 10;

dtmSubPoints[7].x := 10;
dtmSubPoints[7].y := 20;
dtmSubPoints[7].AreaSize := 0;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := 15920111;
dtmSubPoints[7].Tolerance := 10;

dtmSubPoints[8].x := 17;
dtmSubPoints[8].y := 13;
dtmSubPoints[8].AreaSize := 0;
dtmSubPoints[8].AreaShape := 0;
dtmSubPoints[8].Color := 15920111;
dtmSubPoints[8].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;


function RoadDDTM:Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] of TDTMPointDef;
TempTDTM: TDTM;
ACvar:integer;
begin
ACvar := FindVarrockRoadColor

dtmMainPoint.x := 669;
dtmMainPoint.y := 107;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := ACvar;
dtmMainPoint.Tolerance := ddtmTolerance;

dtmSubPoints[0].x := 669;
dtmSubPoints[0].y := 107;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := ACvar;
dtmSubPoints[0].Tolerance := ddtmTolerance;

dtmSubPoints[1].x := 679;
dtmSubPoints[1].y := 101;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := ACvar;
dtmSubPoints[1].Tolerance := ddtmTolerance;

dtmSubPoints[2].x := 661;
dtmSubPoints[2].y := 100;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := ACvar;
dtmSubPoints[2].Tolerance := ddtmTolerance;

dtmSubPoints[3].x := 662;
dtmSubPoints[3].y := 112;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := ACvar;
dtmSubPoints[3].Tolerance := ddtmTolerance;

dtmSubPoints[4].x := 677;
dtmSubPoints[4].y := 109;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := ACvar;
dtmSubPoints[4].Tolerance := ddtmTolerance;

dtmSubPoints[5].x := 670;
dtmSubPoints[5].y := 111;
dtmSubPoints[5].AreaSize := 1;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := ACvar;
dtmSubPoints[5].Tolerance := ddtmTolerance;

dtmSubPoints[6].x := 668;
dtmSubPoints[6].y := 104;
dtmSubPoints[6].AreaSize := 1;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := ACvar;
dtmSubPoints[6].Tolerance := ddtmTolerance;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

function Road2DDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] of TDTMPointDef;
TempTDTM: TDTM;
ACVar:integer;
begin
ACVar := FindVarrockRoadColor;

dtmMainPoint.x := 2202;
dtmMainPoint.y := 254;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 8686990;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 2202;
dtmSubPoints[0].y := 254;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 8686990;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 2196;
dtmSubPoints[1].y := 249;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 8686990;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 2200;
dtmSubPoints[2].y := 257;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 8686990;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 2205;
dtmSubPoints[3].y := 260;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 8686990;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 2209;
dtmSubPoints[4].y := 256;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 4229513;
dtmSubPoints[4].Tolerance := 0;

dtmSubPoints[5].x := 2206;
dtmSubPoints[5].y := 249;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 8686990;
dtmSubPoints[5].Tolerance := 0;

dtmSubPoints[6].x := 2191;
dtmSubPoints[6].y := 251;
dtmSubPoints[6].AreaSize := 0;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 8686990;
dtmSubPoints[6].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

procedure Prog;
var
explog, totalXP, StartLevel, EndLevel, LvlsGained:integer;
begin
case LogType of
'normal' : explog := 40;
'oak' : explog := 60;
'willow' : explog := 90;
'maple' : explog := 135;
'yew' : explog := 203;
'magic' : explog := 304;
end;
startLevel := ConvertXpToLvl(BeginXP);
totalXP := (explog * B);
EndLevel := ConvertXpToLvl(BeginXP + totalXP);
LvlsGained := (endLevel - startLevel);
writeln('{TomTuffs Firemaker}');
writeln('{we ran for: ' + TimeRunning + '!}');
writeln('{we burnt ' + IntToStr(B) + ' ' + LogType + 's!}');
writeln('{we banked ' + IntToStr(BA) + ' Times!}')
writeln('{we gained ' + IntToStr(totalXP) + ' XP!}');
writeln('{beggining level: ' + IntToStr(startLevel) + '!}');
writeln('{ending level: ' + IntToStr(EndLevel) + '!}')
writeln('{we gained ' + inttostr(LvlsGained) + ' firemaking levels!}')
writeln('{TomTuffs Firemaker}');
end;

procedure ScriptTerminate;
begin
Logout;
Prog;
end;

procedure SetupFM;
begin
LoadFireMakingBitmaps;
SetupFiremaking;
end;

procedure antiban;
var
prob:integer;
begin
if random(20) < 3 then
prob := random(3);
case prob of
0:BoredHuman;
1: pickupmouse;
2: ExamineInv;
end;
FixCam;
end;

procedure BurnLog;
begin
FixCam;
GameTab(5);
if FindBitmapIn(LogMask,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Antiban;
mouse(x,y,4,4,true);
inc(B);
end
else
begin
writeln('could not find Log while burning, stopping script...');
ScriptTerminate;
end;
if FindBitmapIn(TinderBox,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
antiban;
Mouse(x,y,4,4,true);
end;
LightWait;
FindNormalRandoms;
end;

procedure WalkToBurnPlace;
begin
FixCam;
if DTMRotated(RoadDDTM,x,y,654,94,679,120) then
begin
mouse(x,y,2,2,true);
writeln('walking to burning spot...');
end
else
begin
writeln('couldnt find RoadDDTM');
ScriptTerminate;
end;
time := 0;
marktime(time);
while time < 20000 do flag
end;


procedure WalkToBankSpot;
begin
FixCam;
mousebox(670,33,679,60,1);
if DTMRotated(Road2DDTM,x,y,654,78,679,92) then
begin
Antiban;
mouse(x,y,5,5,true);
time := 0;
marktime(time);
while time <8000 do flag;
end
else
begin
writeln('couldnt find road path, Terminating Script')
ScriptTerminate;
end;
if DTMRotated(BankDDTM,x,y,373,25,662,59) then
begin
Antiban;
mouse(x,y,1,1,true);
time := 0;
marktime(time);
while time <6000 do flag;
end
else
begin
Writeln('couldnt find bankspot, stopping script');
ScriptTerminate;
end;
end;

procedure Bank;
begin
FixCam;
FindNormalRandoms;
if FindBitmapIn(LogMask,x,y,MIX1,MIY1,MIX2,MIY2) then //lookin for logs
writeln('logs were found in inventory, walking to burn place)')
else
begin
OpenBankFast('vwb')
if BankScreen = true then
begin
inc(BA);
if(PinScreen)then inPin(players[CurrentPlayer].Pin);
FixBankTab;
FixBank;
Withdraw(1,2,27);
CloseBank;
end
else
begin
writeln('bankscreen not found, stopping....');
ScriptTerminate;
end;
end;
end;

begin;
cleardebug;
SetUpSRL;
SetupFM;
DeclarePlayers;
LoginPlayer;
GetFmXp;
repeat
if not(loggedin) then ScriptTerminate;
Bank;
WalkToBurnPlace;
for i := 0 to 26 do
BurnLog;
WalkToBankSpot;
until not(LoggedIn);
Prog;
SCriptTerminate;
end.
[/LEFT]

Naum

2009-08-07 00:04:14

Okay, it's good. But better than the empty ones we receive :p.

Just some pointers:

1.
  if FindSymbolIn(x, y, 'shop', 586, 27, 623, 65) then
begin
mouse(x, y, 4, 6, true);
wait(4000+random(250));
end
else
begin
Logout;
end;

All of that could be:

  if FindSymbolIn(x, y, 'shop', 586, 27, 623, 65) then
begin
mouse(x, y, 4, 6, true);
wait(4000+random(250));
end else
Logout;


2) Again 1) could be used 10 lines after :).


3)
  if (FindDTM(FoodDTM, x, y, 37, 92, 471, 288)) then
begin
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 1');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 5');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');
end

What is the point of that??


4)
  if (FindObjTPA(x, y, 2448971, 15, 2, 1, 1, 15, ['alk'])) then
begin
mouse(x, y, 1, 1, true) mouse(320, 268, 4, 4, true)
end
else
begin
logout;
end;

Un-necessary again:

  if (FindObjTPA(x, y, 2448971, 15, 2, 1, 1, 15, ['alk'])) then
mouse(x, y, 1, 1, true) mouse(320, 268, 4, 4, true)
else
logout;


5) Your DTM's are defined twice, why not make a procedure which loads them. Put your case statement in a procedure, then call it in your functions.


6)Again more shortening in your EatFood; procedure..


7)Your procedure AntiBan; is very useless, no offence,
if random(2000) < 3 then
What is the point? Maybe make it so there is a greater chance of an outcome, also you could group two case outputs on one line:

    case prob of
0: RandomRClick;
1: BoredHuman;
2: pickupmouse;
3: BoredHuman;
4: ExamineInv;

See, BoredHuman used twice?

    case prob of
0: RandomRClick;
1, 3 : BoredHuman;
2: pickupmouse;
4: ExamineInv;


8)
procedure proggy;
begin
end;

Useless? Unless you forgot to upload it.


9)
if (temp = 'orange') or (temp = 'red') then
begin
result := True;
EatFood;
end;

Shot0n:

    result :=(temp = 'orange') or (temp = 'red');
If result Then
EatFood;

The handy thing is that you can assign a Result to
(temp = 'orange') or (temp = 'red');

Hence removing the need of the 'if' statement.


10) Well x, y could be made a global variable instead of a local one, I.E it is defined not after a procedure or function line. And is called at the top of the script.

e.g

 Var x, y : Integer;

=========================================================

Functioning wise, you could endorse failsafes. E.g
 If Not Blah Then
If Not Blah Then
If Not Blah then
Exit;
Else
Result:= True;

Anyways, good attempt, however I will have to vote 'no' as I don't think that you have the material that makes a member. However, please do keep trying and you will get in.

Good Luck :)

Awkwardsaw

2009-08-07 00:05:52

no from me, its to basic tbh =\

im sure it would be good to use, and a little flawless since all it does is eat at the right time and buy noted food, but thats also its down-fall complexity wise.

try making a normal auto fighter, use more tpas(maby even auto color) and such, also check if you are in a fight or not.

in your checkhp function, it could be a procedure, since it never really needs to return a boolean.

edit: dang you naum and your ninja-ness

TomTuff

2009-08-07 00:29:53

>_< omfg forgot to put the proggy in there :P it's in the uploaded version in my thread…
http://www.villavu.com/forum/showthread.php?p=612295

edit: oh yeah and to adress a few things pointed out by naum…

1. the chance of antiban is so low because it's meant to act like a human is sitting there watching tv (or something) while afking (which a lot of ppl do, because it's good, easy exp).

2. like said above, proggy procedure is in the link above :P idk why it's not in this one :(

3. the following piece of code is buying back the noted food from the shop owner so it can continue on ;)

Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 1');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 5');
Mouse(x, y, 8, 8, false);
ChooseOption('Buy 10');

3Garrett3

2009-08-07 00:48:58

Isnt there a buy-x button? Or is my knowledge of rs too limited? I dont play legit, so no making fun :(

I am going to have to say no on this one. We generally look for people who have made 90% of the script themselves (Or did this change?) and your script has many comments saying other people were a part of making it.

I give your attitude an A, and your effort an A, but the skill just isn't there. Sorry. I looked at your post looking for help last night (i think?) and since then you have improved by so much. I look forward to voting "yes" for you in the near future :)

mormonman

2009-08-07 00:57:26

No. Extremely simple, and I don't see any "gobacktobandits" procedure, which makes this script fail hard-core. Try again, I do like you/your attitude.

TomTuff

2009-08-07 01:20:46

From: mormonman
No. Extremely simple, and I don't see any "gobacktobandits" procedure, which makes this script fail hard-core. Try again, I do like you/your attitude.


actually, that's inside of the "TradeGuy" procedure ^_^

0wn 4 skill

2009-08-07 02:06:12

I agree, its quite simple but I reckon you could make it alot better and re apply. Better luck next time.

No from me :(

mormonman

2009-08-07 02:16:28

From: TomTuff
actually, that's inside of the "TradeGuy" procedure ^_^


if (FindObjTPA(x, y, 2448971, 15, 2, 1, 1, 15, ['alk'])) then
begin
mouse(x, y, 1, 1, true) mouse(320, 268, 4, 4, true)
end
else
begin
logout;
end;
if you call that your walking back, you really need to learn some other walking techniques.

TomTuff

2009-08-07 02:35:27

hey would you guys consider it rude to apply twice in 1 day? it'd be a different script i've been brewing… and i think its 10x better than this one xD

senrath

2009-08-07 02:58:43

Just add it to the application by editing your post.

TomTuff

2009-08-07 03:05:30

ok ;)

edit: added second script

Coh3n

2009-08-07 03:37:42

No, sorry.

Reasons:


  • No multiplayer. It is just a simple concept that should be incorporated into every application script.
  • Too simple, too short.
  • No TPAs/DDTMs/Radial Walking.

I don't think it's bad start, but you need to further your knowledge of SCAR and SRL before you apply again. I really like your attitude, and I think you'll do much better on you next application. Read a few tutorials, make this script a lot better, and apply again in a few weeks.

Cheers!

EDIT: I looked at the second script you added quickly, and…

  • The way you use for walking is possibly the easiest way to get banned, sorry if that's harsh, but you should learn DDTMs and Radial Walking.
  • You can expand and make both scripts much, much better, I still vote no, sorry.

EDIT2: You left your username and pass in the script, I changed the pass and PM'd you. :)

TomTuff

2009-08-07 07:08:49

woot i got a yes! who voted it? thank you!

Simtoon

2009-08-07 07:51:12

Usually someone votes yes because they feel sorry ;)

you might want to put the script in some code tags. i don't know why its highlighting but not in code tags weird is it just me?

Awkwardsaw

2009-08-07 08:00:34

From: Simtoon
Usually someone votes yes because they feel sorry ;)

you might want to put the script in some code tags. i don't know why its highlighting but not in code tags weird is it just me?


the thing is messed up :p

D1zl3

2009-08-07 08:15:26

i voted no because i think if you dont follow instructions about putting your script into code tags, then you should vote no, sorry =O

senrath

2009-08-07 08:19:36

From: D1zl3
i voted no because i think if you dont follow instructions about putting your script into code tags, then you should vote no, sorry =O


Um, they WERE in code tags. Dunno what happened.

TomTuff

2009-08-07 08:22:23

yeah o_O fixing now
sorry
lol

cycrosism

2009-08-07 10:18:46

if random(20) < 3 then
prob := random(3);
case prob of
0:BoredHuman;
1: pickupmouse;
2: ExamineInv;

Can be shortened to

case random(63) of
0:BoredHuman;
30: pickupmouse;
59: ExamineInv;

Voted Yes

TomTuff

2009-08-07 11:18:00

From: cycrosism
Code:
[LEFT]if random(20) < 3 then
prob := random(3);
case prob of
0:BoredHuman;
1: pickupmouse;
2: ExamineInv;
[/LEFT]


Can be shortened to

Code:
[LEFT]case random(63) of
0:BoredHuman;
30: pickupmouse;
59: ExamineInv;
[/LEFT]


Voted Yes


thanks cycro ^_^

Naum

2009-08-07 16:10:49

Your second script is much much better, someone change my vote from a 'no' to a 'yes' please.

marpis

2009-08-07 17:01:57

Sorry, it's a No.
I think they're just too simple. Everything is pretty much already mentioned.

Awkwardsaw

2009-08-07 17:04:42

honesltly, his second script is a lot better, like naum said. i also really like his attitude.

can you change mine to a yes too please? :)

although you still need more failsafes and such in the firemaker

TomTuff

2009-08-08 00:21:06

firemaker updated with DDTMs ^_^

EDIT: did naum/akwards votes get changed?

From: NaumanAkhlaQ
Your second script is much much better, someone change my vote from a 'no' to a 'yes' please.


From: Awkwardsaw
honesltly, his second script is a lot better, like naum said. i also really like his attitude.

can you change mine to a yes too please? :)

although you still need more failsafes and such in the firemaker

Awkwardsaw

2009-08-08 00:37:57

From: TomTuff
firemaker updated with DDTMs ^_^

EDIT: did naum/akwards votes get changed?


its 3 - 8, probably :p

Runescapian321

2009-08-08 00:43:30

From: TomTuff
firemaker updated with DDTMs ^_^

EDIT: did naum/akwards votes get changed?


No, because it was 1-8 before you put the second script in, then before I voted it was 2-8 (cycrosism? If not, I doubt they changed one and not the other), then I voted :)

TomTuff

2009-08-08 00:51:17

yeah, its actually 5-6 right now, because it went anon > cycro > tad, and naum/akward wanted their votes changed…

so 5 yes, 6 no atm :P

Awkwardsaw

2009-08-08 00:54:29

From: TomTuff
yeah, its actually 5-6 right now, because it went anon > cycro > tad, and naum/akward wanted their votes changed…

so 5 yes, 6 no atm :P


see? i told you it can get turned around.. :p good luck

D1zl3

2009-08-08 01:02:20

im getting my vote changed since it actually wasnt ur fault

TomTuff

2009-08-08 01:07:57

From: D1zl3
im getting my vote changed since it actually wasnt ur fault



and with that, its now 6 yes, 5 no! THANKS d1zl3 ;)

8-6 now :( (8 noes). god, can u at least post if u vote y/n?

Sir R. M8gic1an

2009-08-13 18:09:58

Any more members wish to have a say?

~RM

Coh3n

2009-08-14 00:03:00

From: Rasta Magician
Any more members wish to have a say?

~RM


Hehe I do. :D

From: TomTuff
8-6 now :( (8 noes). god, can u at least post if u vote y/n?


I agree, it's frustrating, but there's really nothing you can do about it. :(

I think your next application will be much better, just learn some more advanced techniques and carefully look at what all the members have said about your script. Once you know the basics, the rest is pretty simple to pick up. :)

Good luck next time!

NCDS

2009-08-14 00:11:22

I personally have been helping him alot on MSN and he does have a great will to learn.

@Tom, Your close, real close. I realize you really want member status, b ut don't try and focus on that so much…instead focus on making the best script you can. Don't rush things. I noticed that the same day I helped you put your script together you posted it as a members app. but it wasn't ready.

Member's really isn't anything special..nothing really changes. Members forum is pretty dead most of the time.

I would suggest you read some more tutorials on things. TPA's especially, like I mentioned before. They can be used and manipulated to do most anything.

If you sincerely take your time on your next application script and put forth some serious effort I have no doubt in my mind that you will make without a problem.

Good luck, you know how to get ahold of me for anymore questions ;)

p.s.
Reading through other people's scripts is also an excellent way to pick up on some things.

Rubix

2009-08-14 08:35:47

Yes

Laur€ns

2009-08-14 15:03:26

Yes! :)

ZephyrsFury

2009-08-14 16:42:45

Split up your scripts so its easier to see. Voted yes. Also totally and utterly confused with the change of votes..

bugger0001

2009-08-14 21:56:03

Voted NO, because they're both too basic from my point of view and I don't like your (D)DTMs. At the beginning I had the same problem with them. Here's an example of how to declare your DDTMs(It's from my FalBuggySmelter, so it's not perfect but not the worst either :p):
function SetFurnaceDTM(LadderColor, FRoadColor: integer; Main: boolean): integer;
var
FDMP: TDTMPointDef;
FDSP: Array[0..2] of TDTMPointDef;
MainP: TPoint;
SubX, SubY: TIntegerArray;
FDTM: TDTM;
ii, Color: Integer;
begin
Result := 0;
SetArrayLength(SubX, 3);
SetArrayLength(SubY, 3);
if (LadderColor = 0) or (FRoadColor = 0) then
begin
Writeln('Autocolor failed, so did the DTM');
Exit;
end;
if Main then
begin
MainP.x := 1;
MainP.Y := 34;
SubX := [30, 60, 30];
SubY := [26, 25, 1];
Color := FRoadColor;
end else
begin
MainP.x := 1;
MainP.y := 27;
SubX := [30, 60, 30];
SubY := [26, 25, 1];
Color := FRoadColor;
end;
FDMP.x := MainP.x;
FDMP.y := MainP.y;
FDMP.areasize := 1;
FDMP.areashape := 0;
FDMP.color := LadderColor;
FDMP.tolerance := 5;
For ii := 0 to 2 do
begin
FDSP[ii].x := SubX[ii];
FDSP[ii].y := SubY[ii];
FDSP[ii].areasize := 1;
FDSP[ii].areashape:= 0;
FDSP[ii].color := Color;
FDSP[ii].tolerance:= 5;
end;
FDTM.MainPoint := FDMP;
FDTM.SubPoints := FDSP;
Result := AddDTM(FDTM);
end;
As you see, I'm able to declare 2 different DDTMs with it. Using a string instead of a boolean in the funcs parameters and a case instead of 'If Main then blah' would allow me to use it for even more DDTMs. What you should learn from this one is that try to keep your DDTMs in ONE declaring function/procedure and try not to write out all the parameters for all the points if there are similarities(such as same color in all the points or the same tolerance) in them.

JAD

2009-08-14 22:22:53

For the first script:

In TradeGuy, you Logout if it does not find the shop symbol, but do not exit the procedure. It will then go onto looking for the objtpa…etc. even though you are logged out. A few walking fail safes would be really nice here too. Even just looking for the symbol, waiting some time if it doesn't find it and then trying again.

After an if then, and after an else, a begin end; is only needed if more than one statement is being done.

else
begin
Logout;
end;
could just be

else
Logout;
because it is only one statement.


in TradeGuy, what if it didn't find the option trade? Then, you would have the script click at all of those spots and try to choose options that are not there because you are not at the right screen. Same with looking for the Food DTM below that.

You should really divide your script up into more procedures/functions for easier up keep and readability. Declaring which food dtm using that case could be in it's own procedure, for example.

Unless I missed something, the Local variable T in TradeGuy is never used. You increment it at the end even though the value is just reset next time the procedure is called anyways.

You don't do a lot of uptext checking. Like when sesarching for the FoodDTM you could MMouse, check uptext, get mouse pos and click only if it was actually the foodDTM as a fail safe.

I do not see why you have the Local variable A in your anti ban procedure either.



For the second script:

You make a DDTM which is good, but you do not take advantage of the purposes of DDTM's; you just use it like a static one. Try upping the tolerance and area size of different points in it…etc. until it is found on the map or something.

Not much else here I could find that wasn't a similar problem in the above script.




Just remember: more fail safes! Do not expect everything to go perfect in a script. A script without fail safes means that one little thing going wrong may result in the whole script stopping.

Yes from me. You still have some things to work on, but it's good enough for me :) Good job!
~JAD

Pure1993

2009-08-15 00:39:33

I see…
DTMs
DDTMs
Bitmaps
Object Finding (displays good usage/knowledge of SRL I guess, or am I mistaking?… :D)

Sure, I'll vote yes… :)

TRiLeZ

2009-08-17 14:06:34

First Script:

No multi player. If the script cant find the shop symbol it logs out? What if a guy is standing on it.. the script will log the char out.

else
begin
Logout;
end;
Can be shortened down to else Logout;

Why sell 10 then 5 then 10 then 1?

Again,

else
begin
Logout;
end;
Can be shortened down to else Logout;

case Players[CurrentPlayer].strings of
Make that case Lowercase(Players[CurrentPlayer].strings[0]
You forgot to add [0] and its not multiplayer so why not just do Players[0] instead of Players[CurrentPlayer]?


if random(2000) < 3 then
That means antiban procedures are used 0.0015% of the time that antiban is called. The chance of antiban procedures being used are prob less than 1% while single use of this script.

Proggy procedure is blank…


repeat
CheckHP;
AntiBan;
until (not (LoggedIn));

So the script only checks hp and does antiban?


until (not (LoggedIn));
What is with the ()'s around LoggedIn?
Just make it
until (not LoggedIn);

Script 2:

Not multiplayer. -.-
BankDDTM's DDTMs are static and should only DTMs.

ACvar and ddtmTolerance are 0 / not set, making RoadDDTM's DDTMs static and should only be DTMs.

Road2DDTM's DDTMs are static and should only be DTMs.


case LogType of
That makes LogType case sensitive. Change that to
Lowercase(LogType) of


if random(20) < 3 then
prob := random(3);
case prob of
Why not just:

case Random(20) of


while time < 20000 do flag

while time <8000 do flag

while time <6000 do flag
Why not just Flag; ? SCAR will wait while the flag is on MM. Whens its gone, youve stopped walking.


if BankScreen = true then
Should be just if BankScreen then

You need to add some wait time after the bank is opened or else the script might try Fixing the bank and withdrawing logs, SCAR may not detect pinscreen too.

Overall, your standerds are good but not perfect. You had DTMs, not properly used DDTMs, no TPAs, Bitmaps, no used of multiplayer, not the best antiban and anti randoms.

You have a great attitude and Ive seen you around the forums.

Sorry but im going to vote no.

I suggest going to the tutorial section of the forums and reading tutorials about DDTMs, TPAs and multiplayer.
Correct all of your errors you made in these 2 scripts and reflect back on these errors so you know what to do and what not to do.

Dont think of beging turned down to srl members beging "turned down" think of it as you asking on how to improve your scripting ability. Thats if you dont make it.

Next time you apply, youll have more knowledge and I bet you youll get in as long as you dont make the same errors twice and learn DDTMs and how to add multiplayer. Add TPAs just to make your app even better.

Sir R. M8gic1an

2009-08-23 17:10:53

I am sorry, but it seems like you won't make it this time. However, you are on the right way and seem to be very active. Feel free to give it another go in two weeks, insteadof the usual one month wait. Remember, practice makes perfect.

~RM