EtherFreak
2012-02-04 15:12:05
How Long have You Played Runescape?
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Basic, Matlab, HTML
Are you a member of any other communities?
No
Tell us about yourself…
Please show us one (or multiple) of your scripts.
I would encourage you to visit the post for this script as well as look over the script. The reason I am asking this, is I wish to show my progress from where this started, and where I am now.
http://villavu.com/forum/showthread.php?t=67846
Also, some have thought the following was different, or unusual:
10 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Basic, Matlab, HTML
Are you a member of any other communities?
No
Tell us about yourself…
From: EtherFreak
I am a recent college grad, and took up fooling with botting when the game became boring. It now has turned into a game of finding out if I can make a computer play a game for me. I suppose I could do this with other games, but I went with runescape due to the hours I spent (wasted? you decide) playing the game.
I like fooling with electronics prototyping, computer software, wasting my time with video games and tinkering with my vehicles.
I am currently unemployed with the college degree, so fooling with the coding to play the game is, well, relaxing for me. I may not be one of the best script writers, and I know my standards still need work, but I try. In the end, I always have something that works, even if marginaly. I sometimes may bite off too large of a project, but whats the fun if you dont try?
Please show us one (or multiple) of your scripts.
I would encourage you to visit the post for this script as well as look over the script. The reason I am asking this, is I wish to show my progress from where this started, and where I am now.
http://villavu.com/forum/showthread.php?t=67846
// script by EtherFreak
//V1.7
program LogBurner;
//Remove // for smart
{.Include SRL\SRL\Misc\SMART.simba}
{.include SRL/SRL.simba}
Const
// ----------------SETUP-----------------------------
// Start in Selected Bank. Setup log location.
loadcount= 10 ; //how many cycles you need (27 logs per cycle)
BankCol=2 ; //log col in bank
BankRow= 2 ; //log row in bank
threelet='ohn' ;//2-4th letters of name. I.E. Johntrucker='ohn' (optional)
BurnWait= 2500 ;//How long it takes for a log to light and burn.
BankLocation=1 ;//1=VEB, 2=FEB, 3=placeholder for future bank
// ---------------END SETUP----------------------------------------
var
x, y: integer;
BankLoc: string;
counter, count, kill, ydot: Integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
// ----------------SETUP-----------------------------
Name := ''; // Username
Pass := ''; // Password
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True;
end;
end;
// ---------------END SETUP----------------------------------------
{*******************************************************************************
procedure SetAngle(Highest : Boolean);
By: Raymond, edit by NaumanAkhlaQ
Description: Sets the mainscreen at highest\lowest angle (Depends on the boolean)
*******************************************************************************}
procedure SetAngles(Highest : Boolean);
begin
if (not LoggedIn) then exit;
KeyDown((Integer(not Highest) * 2) + 38);
Sleep(1000 + Random(300));
KeyUp((Integer(not Highest) * 2) + 38);
Wait(500 + Random(100));
end;
Procedure initrun;
begin
Smart_Members := False;
Smart_Server := 1;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
DeclarePlayers;
LoginPlayer;
counter:=2;
count:=0;
kill:=0;
wait(4000);
findnormalrandoms;
//bank location setup
if banklocation=1 then //veb
begin
ydot:=10
bankloc:='veb';
roadcolor:=8752779;
end;
if banklocation=2 then //feb
begin
ydot:=7;
bankloc:='feb';
roadcolor:=7702407;
end;
if banklocation=3 then //placeholder for future bank location
begin
ydot:=7;
bankloc:='db';
roadcolor:=4808045;
end;
RoadColorChecker;
if findsymbol(x,y,'bank') then
writeln('initrun complete. You are at the bank. The roadcolor is:'+inttostr(roadcolor)+'.')
else
begin
writeln('cant tell if your at the bank. trying alternite method');
if CountDots('yellow')>ydot then
begin
writeln('yellow dot of '+IntToStr(CountDots('yellow'))+' count indicates at bank')
end else
begin
writeln('Not at bank? Stop Script Now or Verify Working Corectly!');
end;
end;
setangles(true);
setrun(true);
end;
Procedure Burn;
Var
I,K:integer;
Begin
K:=0;
Wait(RandomRange(BurnWait,1000));
if bankscreen then
exit;
For I:= 1 to 28 do
Begin
findnormalrandoms;
if ExistsItem(I) then
begin
invmouse(I,0); //clicking log
wait(RandomRange(100,100));
WaitOptionMulti(['ight','ght','ancel'], 1500);
Wait(RandomRange(BurnWait,1000));
end;
if IsChatBoxTextBetween ('ere',clBlack,8,8) then //fire not allowed
begin
inc(k);
if banklocation=1 then
RadialRoadWalk(RoadColor,268,280,24,-2,0);
if banklocation=2 then
RadialRoadWalk(RoadColor,15,90,34,-2,0);
if banklocation=3 then //placeholder
RadialRoadWalk(RoadColor,80,100,34,-2,0);
Wait(RandomRange(2850,1000));
dec(I);
writeln('Cant light a fire here, trying a different spot');
if k=4 then
begin
//Writeln('Issue making fire, Going back to bank...');
//exit;
Writeln('Fire Issue, logging out...');
logout;
terminatescript;
end;
end;
if ExistsItem(I) then
begin
invmouse(I,0); //clicking log
wait(RandomRange(200,100));
WaitOptionMulti(['ight','ght','ancel'], 1500);
writeln('ReBurning #'+IntToStr(I)+' log.');
Wait(RandomRange(BurnWait,1000));
end;
if IsChatBoxTextAnyLine (threelet,clBlue) then //name detection
begin
writeln('Someone said your name, logging out to be safe');
logout;
TerminateScript;
end;
end;
if invcount=0 then
writeln('Burned correctly') else
Burn;
End;
Procedure Bank;
Begin
writeln('Banking kill is:'+inttostr(kill)+'.');
mousespeed:=(7+random(3));
inc(kill);
findnormalrandoms;
Wait(RandomRange(850,1000));
openbankfast(BankLoc);
Wait(RandomRange(2000,2500));
withdraw(BankCol,BankRow,0);
Wait(RandomRange(2000,2500));
if kill=4 then
Begin
closewindow;
writeln('Banking failed, logging out...');
logout;
TerminateScript;
end;
if invfull then
writeln('Banked corectly')
else
bank;
kill:=0;
End;
Procedure toburn;
Begin
findnormalrandoms;
writeln('Walking to burn. The roadcolor is:'+inttostr(roadcolor)+'.');
if banklocation=1 then
RadialRoadWalk(RoadColor,0,75,60,-2,0);
if banklocation=2 then
RadialRoadWalk(RoadColor,45,75,45,-2,0);
if banklocation=3 then
RadialRoadWalk(RoadColor,0,75,30,-2,0);
Wait(RandomRange(1500,1500));
if bankscreen then
begin
writeln('Bankscreen still open! The roadcolor is:'+inttostr(roadcolor)+'.');
toburn;
end;
End;
Procedure tobank;
Var
TPA:TPointArray;
L,BL,S,I:Integer;
Begin
GetNewRoadColor(mmx1,mmy1,mmx2,mmy2,6);
BL:=0;//for other banks...
repeat
findnormalrandoms;
if banklocation=2 then
begin
//from slr By: nielsie95 modified by ZephyrsFury
MFNF(Trunc(35 * Sin(Radians(FixD(Rs_GetCompassAngleDegrees + 90))) + MMCX + Random(5)),
Trunc(-35 * Cos(Radians(FixD(Rs_GetCompassAngleDegrees + 90))) + MMCY + Random(5)), 1, 1);
FFlag(0);
Wait(500 + Random(1500));
end;
setrun(true);
RadialRoadWalk(RoadColor,70,120,70,-2,0);
writeln('Walking to bank. The roadcolor is:'+inttostr(roadcolor)+'.');
if kill=3 then
begin
writeln('Walking to bank failed, logging out...');
logout;
TerminateScript;
end;
inc(kill);
writeln(countdots('yellow'));
if findsymbol(x,y,'bank') then
if banklocation>1 then
BL:=1;
until (CountDots('yellow') > ydot) or (BL=1)
BL:=0;
//bank
kill:=0;
//wait(RandomRange(1000,1000));
//writeln(countdots('yellow'));
findsymbol(x,y,'bank');
if banklocation=3 then
writeln('using bank symbol for drainer')else
begin
writeln('Using yellow dots for bankers');
TPA:=GetMinimapDotsIn('yellow', MMX1, MMY1, MMX2, MMY2);
L:=length(TPA);
S:=0;
I:=0;
repeat
inc(I);
if (TPA[I].y)=(TPA[I+1].y) then
if (TPA[I].y)=(TPA[I+2].y) then
S:=I;
if (I+3)>L then //failsafe in case yellow dots not in row for bankers
begin
writeln('Yellow dots for bankers failed, trying to work off bank symbol');
if findsymbol(x,y,'bank') then
begin
writeln('found bank symbol, your in luck');
S:=I;
TPA[S].x:=x;
TPA[S].y:=y+9;
end else
begin
writeln('Cant find bank symbol, loging out...');
logout;
terminatescript;
end;
end;
until S>0
//writeln(S)
//writeln(TPA);
x:=TPA[S].x;
y:=(TPA[S].y)-9;
end;
mouse(x,y,7,7,true);
wait(RandomRange(8000,9000));
End;
Procedure MainLoop;
begin
initrun;
//toburn;
//burn;
//tobank;
repeat
Bank;
toburn;
burn;
tobank;
inc(count);
writeln('There are '+IntToStr(loadcount-count)+' loads to go.');
until (count=loadcount)
writeln('Completed without error!');
logout;
end;
Begin
MainLoop;
end.Also, some have thought the following was different, or unusual:
if IsChatBoxTextAnyLine (threelet,clBlue) then //name detection
begin
writeln('Someone said your name, logging out to be safe');
logout;
TerminateScript;
end;
My thought process is I have seen a lot of players reported for not responding directly to their name, and so this is something that I feel will help prevent your player from being reported. This may seem wierd, but the reason for it is a lot of people spot possible bot like activity, and then try to engage the bot in conversation. They then may report based on no response. Another possibility is that you try to make an auto responder. It needs to be perfect, or it will guaranteeing you receiving a report. My best example was a person that had detection of "wc" and would state his wc level. the only problem was it did not have a timer. so you could say wc level multiple times, and it would be the same response.