SRL Archive - Archive

traveler - SRL Member Application


traveler

2010-10-02 23:59:47

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?
java, c++


Are you a member of any other communities?
none


Tell us about yourself…
From: traveler
i am a computer nerd. I know how to build computer, maintain computers, set up networks, and much more. I am just getting into the programming aspect of computers.



Please show us one (or multiple) of your scripts.
program aksteeler;
{$i srl/srl/misc/smart.scar} // This is how we include SMART; it HAS to be included BEFORE SRL!
{$i srl/srl.scar}

procedure DeclarePlayers;
begin
HowManyPlayers := 1; // This is set to the total amount of players (more on multiplayer later ;)), for now, just keep it set as 1
NumberOfPlayers(HowManyPlayers); // This is a procedure in SRL which sets up player arrays (also, more on that later), this will always be the same
CurrentPlayer := 0; // This is the player to start with; the first player will always be 0 (you'll find out when you learn all about arrays)

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username; used for random event detection
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Leave blank if the player doesn't have a bank pin
end;

procedure Debug(S: string);
begin
Writeln(S)
end;

procedure PlayerSetup;
begin
makecompass('N');
setangle(true);
GameTab(tab_Inv);
end;

procedure Antiban;
begin
case Random(20) of //11 is 100% chance of antiban, 0 No anti ban ext
0: Begin
HoverSkill('Random', false);
wait(2453+Random(432));
end;

2: PickUpMouse;

4: begin
MakeCompass('N');
wait(10+random(5));
MakeCompass('S');
wait(10+random(5));
MakeCompass('N');
end;

6: begin
SetAngle(false);
wait(10+random(10));
SetAngle(true);
end;

10: SleepAndMoveMouse(600000+random(400000));

end;
PlayerSetup;
wait(5000+random(1000));
end;

procedure DoChecks;
begin
FindNormalRandoms;
Antiban;
end;

procedure Rest;
var
cs: string;
begin
if GetMMLevels('run', cs) < 5 then
RestUntil(50+random(29));
SetRun(True);
end;




function LoadAllDTMWalks(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin
dtmMainPoint.x := 1086;
dtmMainPoint.y := 386;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6920348;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 1086;
dtmSubPoints[0].y := 386;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6920348;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 1098;
dtmSubPoints[1].y := 366;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 6920348;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 1088;
dtmSubPoints[2].y := 402;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6920348;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 1069;
dtmSubPoints[3].y := 384;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6920348;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 1091;
dtmSubPoints[4].y := 370;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 6920348;
dtmSubPoints[4].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2: begin //bank 1
dtmMainPoint.x := 1054;
dtmMainPoint.y := 385;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6983602;
dtmMainPoint.Tolerance := 20;

dtmSubPoints[0].x := 1054;
dtmSubPoints[0].y := 385;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6983602;
dtmSubPoints[0].Tolerance := 20;

dtmSubPoints[1].x := 1046;
dtmSubPoints[1].y := 344;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7051671;
dtmSubPoints[1].Tolerance := 20;

dtmSubPoints[2].x := 1053;
dtmSubPoints[2].y := 400;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6983602;
dtmSubPoints[2].Tolerance := 20;

dtmSubPoints[3].x := 1049;
dtmSubPoints[3].y := 362;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6983602;
dtmSubPoints[3].Tolerance := 20;

dtmSubPoints[4].x := 1083;
dtmSubPoints[4].y := 392;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 3699784;
dtmSubPoints[4].Tolerance := 20;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
3: begin
dtmMainPoint.x := 1082;
dtmMainPoint.y := 307;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9219016;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 1082;
dtmSubPoints[0].y := 307;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9219016;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 1097;
dtmSubPoints[1].y := 288;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7051671;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 1101;
dtmSubPoints[2].y := 312;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7051671;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 1083;
dtmSubPoints[3].y := 325;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6923185;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 1054;
dtmSubPoints[4].y := 285;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 9219016;
dtmSubPoints[4].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
4: begin
dtmMainPoint.x := 718;
dtmMainPoint.y := 476;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6920348;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 718;
dtmSubPoints[0].y := 476;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6920348;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 701;
dtmSubPoints[1].y := 475;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 6920348;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 723;
dtmSubPoints[2].y := 493;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6920348;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 720;
dtmSubPoints[3].y := 507;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6920348;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 722;
dtmSubPoints[4].y := 467;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 6854298;
dtmSubPoints[4].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
5: begin // banker
dtmMainPoint.x := 640;
dtmMainPoint.y := 455;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 11130363;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 640;
dtmSubPoints[0].y := 455;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 11130363;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 682;
dtmSubPoints[1].y := 425;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 6324649;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 684;
dtmSubPoints[2].y := 452;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6324649;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 684;
dtmSubPoints[3].y := 482;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 6324906;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 585;
dtmSubPoints[4].y := 446;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 7500407;
dtmSubPoints[4].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
6: begin //steel bar at smithing
dtmMainPoint.x := 707;
dtmMainPoint.y := 667;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 9342612;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 707;
dtmSubPoints[0].y := 667;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 9342612;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 726;
dtmSubPoints[1].y := 661;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 9342612;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 708;
dtmSubPoints[2].y := 680;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 4473927;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 692;
dtmSubPoints[3].y := 676;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 4473927;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 705;
dtmSubPoints[4].y := 643;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 10733529;
dtmSubPoints[4].Tolerance := 10;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
7: begin //bank 2
dtmMainPoint.x := 1053;
dtmMainPoint.y := 381;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 6983094;
dtmMainPoint.Tolerance := 10;

dtmSubPoints[0].x := 1053;
dtmSubPoints[0].y := 381;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 6983094;
dtmSubPoints[0].Tolerance := 10;

dtmSubPoints[1].x := 1036;
dtmSubPoints[1].y := 386;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 10;

dtmSubPoints[2].x := 1035;
dtmSubPoints[2].y := 382;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 10;

dtmSubPoints[3].x := 1035;
dtmSubPoints[3].y := 377;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 10;

dtmSubPoints[4].x := 1035;
dtmSubPoints[4].y := 373;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 195836;
dtmSubPoints[4].Tolerance := 10;

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



procedure WalkToFurnace;
var
walk,x, y: Integer;
begin
Debug('starting walk');
if not LoggedIn then
Exit;
walk := LoadAllDTMWalks(4); //Load which DDTM you want to find.
if FindDTM(walk, x, y, MMx1,MMy1,MMx2,MMy2)then
begin
Mouse(x,y,2,2,true);
Debug('Walking to Half Way Mark');
FFlag(0);
wait(1000+random(500));
end;
FreeDTM(walk);
walk := LoadAllDTMWalks(3); //Load which DDTM you want to find.
if FindDTM(walk, x, y, MMx1,MMy1,MMx2,MMy2)then
begin
Mouse(x,y,2,2,true);
Debug('Walking to Furnace');
FFlag(0);
wait(1500+random(500));
end
else
begin
Debug('Not Found, Clicking Symbol');
if(FindSymbol(x,y,'furnace')) then
begin
mouse(x,y,1,1,true);
FFlag(5);
wait(1000+random(500));
end;
FreeDTM(walk);
end;
end;

procedure WalkToBank;
var
a:Extended;
walk,walk2,x,y:Integer;
begin
walk := LoadAllDTMWalks(1); //Load which DDTM you want to find.
if FindDTM(walk, x, y, MMx1,MMy1,MMx2,MMy2)then
begin
Mouse(x,y,2,2,true);
Debug('Walking to Half Way Mark');
wait(500+random(300));
FFlag(0);
wait(2500+random(300));
end
else
begin
Debug('Not Found');
end;
FreeDTM(walk);
walk := LoadAllDTMWalks(2); //Load which DDTM you want to find.
walk2 := LoadAllDTMWalks(7);
repeat
if FindDTM(walk, x, y, MMx1,MMy1,MMx2,MMy2)then
begin
Mouse(x,y+randomrange(0,5),2,2,true);
Debug('Walking to Bank');
FFlag(5);
end
else if (FindDTM(walk2,x,y,MMx1,MMy1,MMx2,MMy2)) then
begin
mouse(x,y,0,0,true);
Debug('Waling to Bank Backup clicked!');
FFlag(5);
end
else
begin
Debug('Not Found, clicking symbol');
if(FindSymbol(x,y,'bank')) then
begin
mouse(x,y,1,1,true);
FFlag(10);
wait(1000+random(500));
end
end;
until(FindDTM(walk, x, y, MMx1,MMy1,MMx2,MMy2) or FindDTM(walk2,x,y,MMx1,MMy1,MMx2,MMy2));
FreeDTM(walk);
Rest;
end;

procedure Smelt;
var
steel,x,y,z:Integer;
begin
z:=0;
steel := LoadAllDTMWalks(6);
if not LoggedIn then
Exit;
repeat
if(FindObj(x,y,'urnace',3822303,20)) then
begin
Mouse(x,y,0,0,true);
end;
FFlag(0);
wait(500+random(500));
until(FindDTM(steel,x,y,30,360,480,460));
repeat
FindDTM(steel,x,y,30,360,480,460);
mouse(x,y,3,3,false);
until(ChooseOption('10'));
Debug('Smithing');
repeat
DoChecks;
until(InvCount=10);
wait(700+random(1500));
FreeDTM(steel);
end;

procedure DepositBank;
var
bank,steel,x,y:Integer;
begin
wait(2000+random(1000));
steel := DTMFromString('78DA6314606060E06540012909F10CFC409A1' +
'1CA679403121C0C688009220753230C242409A86106128204D480DCC' +
'342408D28906025A006E45E31FC6A00997A021C');
if not LoggedIn then
Exit;
repeat
Debug('Finding Bank');
bank := LoadAllDTMWalks(5); //Load which DDTM you want to find.
if FindDTM(bank, x, y, 12,53,360,320)then
begin
Mouse(x,y,2,2,false);
Debug('Opening Bank');
wait(500+random(300));
chooseoption('uickly');
wait(1500+random(300));
FreeDTM(bank);
end
else
begin
repeat
openbank('akb',false,false);
wait(1500+random(1500));
until(bankscreen);
end;
wait(1000+Random(2000));
until(BankScreen);
if (FindDTM(steel,x,y,550,200,700,450)) then
begin
Mouse(x,y,0,0,false);
ChooseOption('ll');
end;
FreeDTM(steel);
end;

procedure BankWithdraw;
var
iron,coal,x,y:Integer;
begin
coal := DTMFromString('78DA6314676060606340014A4A520C5C409A1' +
'1CA67E4C054C3C0C0049183A91106122204D4A8000956026A1481041' +
'F7E350084680125');
iron := DTMFromString('78DA63146560606065400156CA520C5C409A1' +
'1CA675406124C0C6800220057230B247809A8110412C204D480DCC28' +
'D5F0D009A6C0131');
if not LoggedIn then
Exit;
if not Bankscreen then
DepositBank;
Debug('Bank Found');
if(FindDTM(iron,x,y,1,1,330,500)) then
begin
mouse(x,y,1,1,false);
if (ChooseOption('9')) then
begin
FreeDTM(iron);
end
else
begin
ChooseOption('X');
wait(1500+random(1540));
TypeSend('9');
FreeDTM(iron);
end;
end
else
begin
Debug('No Iron, Quitting script!');
Logout;
TerminateScript;
end;
wait(1500+random(500));
if(FindDTM(coal,x,y,1,1,330,500)) then
begin
mouse(x,y,1,1,false);
ChooseOption('ll');
wait(500+random(500));
FreeDTM(coal);
end
else
begin
Debug('Out Of Coal, Quitting!');
Logout;
TerminateScript;
end;
Rest;
end;

function SetDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1087;
dtmMainPoint.y := 381;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 7116439;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 1087;
dtmSubPoints[0].y := 381;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 7116439;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 1094;
dtmSubPoints[1].y := 364;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 7116439;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 1072;
dtmSubPoints[2].y := 378;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 7116439;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 1089;
dtmSubPoints[3].y := 393;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 7116439;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 1091;
dtmSubPoints[4].y := 367;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 7116439;
dtmSubPoints[4].Tolerance := 0;

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


var
x:Integer;

begin
// These 4 lines HAVE to be set BEFORE you call SetupSRL;
Smart_Server := 152;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
x:=0;
ClearDebug;
SetupSRL;
DeclarePlayers; // Calls the procedure, you can't forget this!
repeat
if not LoggedIn then
begin
LoginPlayer; // You want your player to login, right?
PlayerSetup;
end;
PlayerSetup;
DepositBank;
BankWithdraw;
WalkToFurnace;
Smelt;
WalkToBank;
x:=x+1;
until(x=30);
end.

BraK

2010-10-03 00:56:51

Just a few things I noticed off the bat. You need to check your script over for standards again. Your DTM is writen out like a DDTM but it really not that dynamic. I'd suggest reading up on DDTM's some more. There might be better ways to walk around that area. Check out some other script that run in that area and see how they do it. You also have a few possible endless loops without any possible break(check your banking). As of know though I'll have to say no

TomTuff

2010-10-03 01:50:57

No from me.
1. Bad standards
2. Overusage of DDTMs, when this arrow can easily be walked with a simple autocolor + radialwalk setup, and symbol walking as a failsafe
3. the comment lines make it look like you simply copied a large portion of your script?
4. only 60 posts in over 2 years of being registered - we want you to be an active member of the community.
5. it looks like you used DDTMs for bankers and steel bars? you should probably use color finding/TPAs for the bankers and a BMP/color find for steel bars, or just a normal DTM. It would save ~50 lines of code.

BraK

2010-10-03 01:54:32

Lol Nice eye there tom didn't even notice this before.



procedure Antiban;
begin
case Random(20) of //11 is 100% chance of antiban, 0 No anti ban ext
0: Begin
HoverSkill('Random', false);
wait(2453+Random(432));
end;

2: PickUpMouse;

4: begin
MakeCompass('N');
wait(10+random(5));
MakeCompass('S');
wait(10+random(5));
MakeCompass('N');
end;

6: begin
SetAngle(false);
wait(10+random(10));
SetAngle(true);
end;

10: SleepAndMoveMouse(600000+random(400000));

end;
PlayerSetup;
wait(5000+random(1000));
end;

The comment in no way matches the procedure. Hmm Thought you'd be on IRC right now. :p

Gu3st...

2010-10-03 05:58:57

It's a yes from me, but I wont vote atm because I am unsure if this is a copied script or not…

Dervish

2010-10-03 06:32:34

From: BraK
Lol Nice eye there tom didn't even notice this before.



procedure Antiban;
begin
case Random(20) of //11 is 100% chance of antiban, 0 No anti ban ext
0: Begin
HoverSkill('Random', false);
wait(2453+Random(432));
end;

2: PickUpMouse;

4: begin
MakeCompass('N');
wait(10+random(5));
MakeCompass('S');
wait(10+random(5));
MakeCompass('N');
end;

6: begin
SetAngle(false);
wait(10+random(10));
SetAngle(true);
end;

10: SleepAndMoveMouse(600000+random(400000));

end;
PlayerSetup;
wait(5000+random(1000));
end;

The comment in no way matches the procedure. Hmm Thought you'd be on IRC right now. :p


Comment source : http://villavu.com/forum/showthread.php?t=51568&highlight=case+Random%2820%29+%2F%2F11+100%25+chance+antiban%2C+anti

Gu3st...

2010-10-03 07:18:58

So he copied the Antiban.. What else?

EDIT:
From Coh3ns THE Beginner's Simba Tutorial:
program DeclarePlayers;
{$i srl/srl/misc/smart.scar} // This is how we include SMART; it HAS to be included BEFORE SRL!
{$i srl/srl.scar}

procedure DeclarePlayers;
begin
HowManyPlayers := 1; // This is set to the total amount of players (more on multiplayer later ;)), for now, just keep it set as 1
NumberOfPlayers(HowManyPlayers); // This is a procedure in SRL which sets up player arrays (also, more on that later), this will always be the same
CurrentPlayer := 0; // This is the player to start with; the first player will always be 0 (you'll find out when you learn all about arrays)

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username; used for random event detection
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Leave blank if the player doesn't have a bank pin
end;

begin
// These 4 lines HAVE to be set BEFORE you call SetupSRL;
Smart_Server := 152;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;

ClearDebug;
SetupSRL;
DeclarePlayers; // Calls the procedure, you can't forget this!
LoginPlayer; // You want your player to login, right?
end.

EDIT2:
program NewScript;
{.include SRL/SRL.scar}
var
x,y:integer;
function LoadAllDTMWalks(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin //Walk To mine Begins
dtmMainPoint.x := 994;
dtmMainPoint.y := 244;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindRoadColor;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 994;
dtmSubPoints[0].y := 244;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindRoadColor;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 986;
dtmSubPoints[1].y := 258;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindRoadColor;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 987;
dtmSubPoints[2].y := 227;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindRoadColor;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 991;
dtmSubPoints[3].y := 216;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindRoadColor;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 984;
dtmSubPoints[4].y := 267;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindRoadColor;
dtmSubPoints[4].Tolerance := 0;

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

function WalkToSomewhere: Boolean;
var
WalkDTM: integer; // Calls the WalkDTM making walking simpler.
begin
WalkDTM := LoadAllDTMWalks(1); //Load which DDTM you want to find.
if FindDTM(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then // Find the DDTM using Find DTM
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk Main 1. - Complete.');
FFlag(0);
Result := True; // If succesfully finds it will click it and wait to flag is gone.
end else // else it will do this...
if RadialWalk(FindFallyRoadColor, 300, 220, 55, 1, 1) then
begin
Writeln(' Walk Backup 1. - Complete.');
Result := True; //Will look for this if DDTM fails, if this fails then logsout, but you can change that.
end else
begin
Result := False;// cant find the backup goes here...
Writeln(' Walk Backup 1. - Failed. Logging Out.');
FreeDTM(WalkDTM); // FREEs the DDTM so you dont have a memory overload :P
if not (Result) then //if doesnt get results does this
begin
Logout; // logs out.
end;
end;
end;
Procedure Setup;
begin
SetupSRL;
ActivateClient;
end;

begin
Setup;
Walktosomewhere;
end.
from BobboHobbo's Complete DDTM Walking Tutorial


Even though it may seem like he understands how these work together, I'll vote no

Cstrike

2010-10-03 11:55:04

Theres no fail safe if you don't find the symbol for both scripts, no log out, anything to prevent the worst case scenario from happening

Why is there two SetDDTM's functions? Could compose it into one

No Multiplayer?

Your comments aren't specific. They just comment things that are obvious, such as


FreeDTM (dtmhere); // Free's a DTM
We know that ;)


Your antiban will ALWAYS execute a wait. This is pointless because you only call it once in the entire script, you're best to just remove the wait at the end and put it in the script, and then have the antiban occur. The antiban should occur in more than one place in my opinion unless you have no other choice.

To become an SRL member, traveler, you need to be able to write pretty much an SRL script from scratch (minus creating DTM's and maybe having ACA work for you – but you should understand each line of them fully).

traveler

2010-10-03 17:39:37

hey guys, reading all the replies and im happy and disappointed. Disappointed at myself for just copying and pasting lots of stuff, but also happy because you guys actually take pride in who you guys vote in. Most people would just hit yes or no and not reply. I understand what everyone is saying though and am already striving to learn the language better.

I am also very proud of myself, because i made another script this afternoon with NO help from any tutorials. But im sure someone will find something really similar to a tutorial and say something, but thats alright by me.

here is my new script for you guys to view, all it does is fletch maples:

program maplefletcher;
{$i srl/srl/misc/smart.scar}
{$i srl/srl.scar}

type
FletchOptions = record
Loads:Integer;
end;

var
Options: array of FletchOptions;
Loads:Integer;


procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := 'user';
Players[0].Pass := 'pass';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Pin := '';

//Options[0].Loads := 19; //how many loads you want to cut
end;

procedure AntiBan;
begin
case (random(10)) of
1: begin
RandomRClick;
wait(1500+random(500));
end;
2: begin
HoverSkill('fletching',false);
wait(3000+random(600));
end;
3: begin
PickUpMouse;
wait(1000+random(500));
end;
4: begin
RandomMovement;
makecompass('N');
setangle(true);
end;

end;
FindNormalRandoms;
end;

procedure DepositBank;
var
MapleLongInv,x,y:Integer;
begin
MapleLongInv := DTMFromString('78DA633467616070656440063D75950C5C401' +
'A26CAA801546383AA86818109558D2D508D0F0135CE4035C104D4B80' +
'0D584E3570300127E047B');

if(Not(bankscreen)) then
begin
repeat
openbank('vwb',false,false);
wait(1500+random(500));
until(BankScreen or PinScreen);
end;
If(PinScreen) then
begin
InPin(Players[CurrentPlayer].Pin);
end;

if(FindDTM(MapleLongInv,x,y,550,209,730,460)) then
begin
mouse(x,y,1,1,false);
wait(500+random(200));
ChooseOption('ll');
FreeDTM(MapleLongInv);
end
else
begin
writeln('Could Not Find Maple long in Inv');
FreeDTM(MapleLongInv);
end;
Loads := Loads+1;

end;

procedure WithdrawBank;
var
maple,x,y:Integer;
begin
maple := DTMFromString('78DA63AC65626038C1C8800CA26D7819B8803' +
'44C94B115A86627AA1A06062654355D40354708A8A901AA394B404D0' +
'E50CD71FC6A0019B00745');

if(Not(bankscreen)) then
begin
repeat
openbank('vwb',false,false);
wait(1500+random(1500));
until(bankscreen);
end;
If(PinScreen) then
begin
InPin(Players[CurrentPlayer].Pin);
end;

if(FindDTM(maple,x,y,13,10,500,330)) then
begin
mouse(x,y,2,2,false);
ChooseOption('ll');
FreeDTM(maple);
wait(1500+random(500));
end
else
begin
writeln('Could not find maple logs, quiting');
FreeDTM(maple);
TerminateScript;
end;
CloseBank;

end;

procedure Fletch;
var
LongMapleInv,LongMaple,Knife,Maple,x,y:Integer;
begin
Knife := DTMFromString('78DA63E467616070626440060931D10C5C401' +
'A26CAC80154E38DAA86818109558D28508D350135BC4498C30254138' +
'E5F0D00762C031C');
Maple := DTMFromString('78DA63B46061607065644006D1D63C0C5C401' +
'A26CAE80A54E385AA86818109558D2D504D200135EA40353E04D4980' +
'1D538E057030093230383');
LongMaple := DTMFromString('78DA633CC1C4C0F0919101192C9F3A81810B4' +
'8C344193703D5BC4055D35C5688AAE62650CD675435378F2F4655730' +
'3A8868909BF394F81F2E2A86AEA0A7350D59C04CAF3A3AAB97174118' +
'A1A00A54812A9');
LongMapleInv := DTMFromString('78DA633467616070656440063D75950C5C401' +
'A26CAA801546383AA86818109558D2D508D0F0135CE4035C104D4B80' +
'0D584E3570300127E047B');
if(FindDTM(knife,x,y,550,210,740,460)) then
begin
mouse(x,y,0,0,true);
wait(500+random(300));
FreeDTM(knife);
end
else
begin
writeln('Could not find knife, quiting');
FreeDTM(knife);
FreeDTM(maple);
FreeDTM(LongMaple);
Logout;
TerminateScript;
end;
if(FindDTM(maple,x,y,550,210,740,460)) then
begin
mouse(x,y,0,0,true);
wait(1500+random(700));
FreeDTM(maple);
end
else
begin
writeln('Could not find maple, quiting');
FreeDTM(maple);
FreeDTM(LongMaple);
Logout;
TerminateScript;
end;
if (FindDTM(LongMaple,x,y,10,340,510,470)) then
begin
mouse(x,y,0,0,false);
wait(200+random(500));
ChooseOption('X');
wait(1300+random(500));
TypeSend('27');
FreeDTM(LongMaple);
end
else
begin
writeln('Could not click Maple Long, quiting');
FreeDTM(LongMaple);
Logout;
TerminateScript;
end;
repeat
AntiBan;
wait(5000+random(2000));
until(CountItems('dtm',LongMapleInv,[])=27);


end;

procedure PlayerSetup;
begin
makecompass('N');
setangle(true);
GameTab(tab_Inv);
end;


begin
Smart_Server := 39;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
ClearDebug;
SetupSRL;
DeclarePlayers;
Loads := 0;
repeat
if not LoggedIn then
begin
LoginPlayer;
PlayerSetup;
end;
DepositBank;
WithdrawBank;
Fletch;
until(Loads=19);
end.


as you can tell, its not done. still trying to figure out how to do the amount of loads thing.

Cstrike

2010-10-03 18:12:46

Keep up the good work :)

Remember standards: I always like seeing:

procedure PlayerSetup;
begin
makecompass('N');
setangle(true);
GameTab(tab_Inv);
end;

become


// Do all the basic things like set up direction north, turn run on and turn to game tab for (whatever were doing next)
procedure PlayerSetup;
begin
makecompass('N');
setangle(true);
GameTab(tab_Inv);
end;

TomTuff

2010-10-03 18:26:24

From: traveler
as you can tell, its not done. still trying to figure out how to do the amount of loads thing.


to do this, you'll need 3 things:
1: a global variable declared as
program new;
{$i SRL\SRL.scar}

var
loads: integer;

2/3: 2 different integers in declare players
procedure DeclarPlayers;

with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Integers[0] := 15; //loads to do
Integers[1] := 0; //loads done, set blank; doesn't HAVE to be called in DP
end;

end;

then at the end of your fletching procedure when it's verified that the load was done,
Inc(Players[CurrentPlayer].Integers[1]
and
Inc(Loads);

then at the end of your fletching loop call
 if (players[CurrentPlayer].Integers[1] > Players[CurrentPlayer].Integersp[0] then //next player.

Gu3st...

2010-10-04 09:13:51

From: traveler
I understand what everyone is saying though and am already striving to learn the language better.

I am also very proud of myself, because i made another script this afternoon with NO help from any tutorials. But im sure someone will find something really similar to a tutorial and say something, but thats alright by me.
I am so glad to hear that! :D
This is a perfect example of what attitude Applicants should have! :)

It doesn't look like you'll get in this time, but I am sure that next time you apply you will get in. :)

Wizzup?

2010-10-04 09:17:26

I don't think it's a bad thing to use tutorials though. That's what they're for, after all. You don't have to submit a script that you made without the help of tutorials. ;) As long it's not literally a copy&paste there shouldn't be a big problem.

Cstrike

2010-11-05 23:41:47

Bit of a gravedig but:
http://villavu.com/forum/showthread.php?t=59471

Version 1.5 of his script is pretty solid. With his knowledge of DDTMs as shown in this thread + his scripting ability in this thread, to me it looks like members material unless hes missing something. This thread still seems to be open though, so I figured I'd post it here.

Daniel

2010-11-06 04:14:09

Get him to reapply, it's been a month, and people who have already voted may vote again.