SRL Archive - Archive

Smartzkid - SRL Member Application Form


Smartzkid

2007-04-09 21:49:19

<!– BEGIN TEMPLATE: formanswers –>
Smartzkid - SRL Member Application Form
Smartzkid


Where you Referred to SRL? If yes, by whom?
yes
Heard of it while at Mopar's site

Programming Knowledge
Listed in post.

Other Communitys
Moparisthebest, JASF

How Long have You Played Runescape
2-3 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Hi, most of you know me pretty well, but for those who don't, I'm a highschooler, I enjoy programming, I love the SRL forums (which I am quite active at), and I often have 3+ scripts that I'm working on at once.

I know SCAR and SRL's procedures somewhat well, as I have been scripting for nearly a year (just started using SRL a few months ago, though)

Currently, I have only released one real script, a powercutter. Sometime in the future, I plan to release both my Newt Eye Runner, and Willaborative (a two part script, one cutting willows [in draynor], and one banking them. The banking part is pretty well finished, and the cutter will be easy to make. This is mainly just to test how well trades work)

*hopes that img codes are enabled*


Why did I wait so long when I could have applied hundreds of posts ago?
I wanted to be the first person to ever apply for SRL membership at exactly 1000 posts :)


Programming Knowledge:

Favorite Language:
SCAR

Best at:
SCAR (1-2 years experience)
BASIC (5ish years experience)

Average at:
HTML (3-4 years experience)
ActionScript (1-2 years experience)

Novice at:
Javascript (2 years experience)
Java (used to use it a bit, then dropped it. picked it back up in september)

Learning:
C++ (>3 mo's experience)
Assembly (>2 weeks experience :p)

EDIT:
By the way…I'm gonna stay 1000 posts until you guys approve or disapprove of me, so please be quick :)

26 views/7 replies/8 votes? Hmmm….(edit):p Half of the views were probably me

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

\/ The news feature is on lines 107-136 and is completely contained in one procedure.
Disable it (line 30) if you're paranoid.
DTM's are from Fours, I'm gonna ask his permission to use them in future versions of this script (thanks to YoHoJo for pointing this out)

{.Script Info:
# ScriptName = PowerKut
# Author = Smartzkid
# Description = SRL PowerCutter
# Build = 1710 (1710.2.4.pub) (major update)
# Released = 4/9/07
# Comments = Put a tinderbox anywhere in the inventory, and the script will burn the logs instead of dropping them (works very well)
# Thanks to the whole SRL Community
# Also a big thanks to Jason2gs for many things
# Including his auto tree color updater

# ToDos: Finish FixLoc. Tweak banking. Add tinderbox buying and log selling
# Add in the rest of the globalstats stuff. Add on to progress report
# Setup starts on line 30
# DeclarePlayers is on lines 40-100
/Script Info}

program Kutter;
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\WoodCutting.scar}
var
tx, ty, xmax, ymax, logscut, dropped, wandered, firstt, axetime, tclrnew: integer;
notfndt, tcx, tcy, c, d, lastwait, loggedout, trandx, trandy: integer;
time2, timetoend, tbx, tby, lbx, lby, log, tbox, wcend, treetype: integer;
BrokenAxe, AxeHandle, RegularAxe, wcstart, firestart, xloc, yloc: integer;
contnoo, burnlogs, diddrop: boolean;
startn: string;
inv: array[0..28] of Integer;
const
GetNews = true; // Connect to the web to get news? (line 107-136)
timetorun = 30; // How many minutes to run each player for
minstowait = 1; // How long to wait in between players. Not exactly sure why I have this here, it'll be removed in the next version.
zapUID = true; // Delete the UID if it exists? (reccomended)
spd = 8; // Should be about 8. No more than 10. No less than 4.
{SPD Explination: How many peices to divide the screen into when searching for trees. The higher the number, the less the script will wander, but the longer it will take to find trees }
tol = 10; //should work fine
tclr1 = 2256992; //tree colors
tclr2 = 1462336;
tclr3 = 932916;
screenx = 515; //These two are from when I was a noob :)
screeny = 337;

procedure DropLogs; forward;

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

Players[0].Name := 'Username';
Players[0].Pass := 'password';
Players[0].Nick := 'Nickname'; // 2-4 letters of username
Players[0].Active := True;

Players[1].Name := 'Username';
Players[1].Pass := 'password';
Players[1].Nick := 'Nickname'; // 2-4 letters of username
Players[1].Active := True;

Players[2].Name := 'Username';
Players[2].Pass := 'password';
Players[2].Nick := 'Nickname'; // 2-4 letters of username
Players[2].Active := True;

Players[3].Name := 'Username';
Players[3].Pass := 'password';
Players[3].Nick := 'Nickname'; // 2-4 letters of username
Players[3].Active := False;

Players[4].Name := 'Username';
Players[4].Pass := 'password';
Players[4].Nick := 'Nickname'; // 2-4 letters of username
Players[4].Active := False;

Players[5].Name := 'Username';
Players[5].Pass := 'password';
Players[5].Nick := 'Nickname'; // 2-4 letters of username
Players[5].Active := False;

Players[6].Name := 'Username';
Players[6].Pass := 'password';
Players[6].Nick := 'Nickname'; // 2-4 letters of username
Players[6].Active := False;

Players[7].Name := 'Username';
Players[7].Pass := 'password';
Players[7].Nick := 'Nickname'; // 2-4 letters of username
Players[7].Active := False;

Players[8].Name := 'Username';
Players[8].Pass := 'password';
Players[8].Nick := 'Nickname'; // 2-4 letters of username
Players[8].Active := False;

Players[9].Name := 'Username';
Players[9].Pass := 'password';
Players[9].Nick := 'Nickname'; // 2-4 letters of username
Players[9].Active := False;

Players[10].Name := 'Username';
Players[10].Pass := 'password';
Players[10].Nick := 'Nickname'; // 2-4 letters of username
Players[10].Active := False;
end;

procedure Scroll;
var
i, b, capt, comp, full: integer;
tot, temp, s: string;
begin
s := GetPage('http://h1.ripway.com/Smartzkid/scrolltext.txt');
tot := GetSelf.CAPTION + ' ' + s + ' ' + MaskName;
capt := Length(Getself.CAPTION);
comp := Length(tot);
full := comp - Length(MaskName) + 1;
for i := 1 to full do
begin
temp := '';
for b := i to i + capt - 1 do //comp
begin
try
if (not (tot[b] = chr(13))) then
if (not (tot[b] = chr(10))) then
temp := temp + tot[b];
except
temp := temp + '';
end;
end;
cleardebug;
DisguiseScar(temp);
wait(200);
if (i = capt + 6) then
wait(2500);
end;
end;

procedure Report;
begin
ChangeReportWidth(300);
ClearReport;
SRLRandomsReport;
AddToReport('Dropped:' + inttostr(dropped));
AddToReport('Logs Cut:' + inttostr(logscut));
AddToReport('Ran For ' + ScriptTime2(2));
AddToReport('Ran With ' + inttostr(HowManyPlayers) + ' players');
end;

procedure UpdateColor;
var
x, y: integer;
begin
getmousepos(x, y);
tclrnew := getcolor(x, y);
end;

procedure namechange(wstatus: string);
begin
// status(wstatus);
DisguiseScar(wstatus);
end;

procedure mowse(mx, my: integer);
begin
Mouse(mx, my, 3 + random(2), 3 + random(2), true);
end;

procedure clickhuman(mx, my: integer; left: boolean);
var
sx, sy: integer;
begin
getmousepos(sx, sy);
if (not (sx = mx)) and (not (sy = my)) then
MMouse(mx, my, 0, 0);
HoldMouse(mx, my, left);
wait(25 + random(90));
ReleaseMouse(mx, my, left);
end;

procedure gettimes;
begin
timetoend := (GetSystemTime / 1000) + ((timetorun - 5 + random(10)) * 60);
end;

procedure Lgout(bad: boolean);
begin
loggedout := loggedout + 1;
namechange('Logged out');
wait(10);
if (bad = true) then
begin
RandomNextPlayer(false);
end else
RandomNextPlayer(true);
wait(5);
gettimes;
end;

procedure cmowse(mx, my: integer);
begin
Mouse(mx, my, 5, 5, true);
end;

procedure detectdropped;
begin
GameTab(4);
for c := 0 to 6 do
begin
for d := 1 to 4 do
begin
if (not (inv[(c * 4) + d] = getcolor((d * 42) + 587, (c * 36) + 228))) then
ReportVars[2] := ReportVars[2] + 1;
wait(1);
end;
end;
end;

procedure detectinv;
begin
contnoo := false;
GameTab(4);
for c := 0 to 6 do
begin
for d := 1 to 4 do
begin
if (not (inv[(c * 4) + d] = getcolor((d * 42) + 587, (c * 36) + 228))) then
contnoo := true;
wait(1);
end;
end;
end;

procedure getinv;
begin
namechange('Getting Inv');
GameTab(4);
for c := 0 to 6 do
begin
for d := 1 to 4 do
begin
inv[(c * 4) + d] := getcolor((d * 42) + 587, (c * 36) + 228);
wait(1);
end;
end;
namechange('Inv Gotten');
end;

procedure FixChats;
begin
SetChat('Hide', 1);
SetChat('Friends', 2);
SetChat('Off', 3);
end;

procedure checklogin;
begin
if (not (LoggedIn)) or (LoginScreen) then
begin
LoginPlayer;
wait(500 + random(500));
if (FindAxeHeadColor) then
begin
namechange('Player good');
end else
Lgout(true);
namechange('Player bad');
end;
//HighestAngle;
FixChats;
end;

procedure getres;
begin
//GetClientDimensions(xmax,ymax);
xmax := 765;
ymax := 500;
end;
////////////////////////////////////////////////////////////////////////////////

procedure setDTMs;
begin
log := DTMFromString('78DA63CC636260B8C38006189148209D0C54F' +
'38C809A52A09A7704D4D403D53C21A0A60AA8E6260135D940351F' +
'08A8A901AA79835F0D002FE20993');
tbox := DTMFromString('78DA63F467626050606440058C4824907606A' +
'AB120A0C61EA84683809A60A01A43026A02806A4C09A8B125428D' +
'35508D017E3500DD940362');
BrokenAxe := DTMFromString('78DA633CCAC4C090C1C8800C9A127919FE036' +
'990E87F2060BC0C54938CAA06220B2381F445A09A04026A8E01D5' +
'C41050B31FA8A698809AB384CD0100CBBD0D20');
AxeHandle := DTMFromString('78DA637CCFC4C0E0C6C8800CCA227819FE036' +
'990E87F2060FC06546389AA06220B2381F473A09A00026ADE00D5' +
'F81350F316A8C685809A97403541F8D50000D0090D3C');
RegularAxe := DTMFromString('78DA637461626060676440060DF1BC0CFF813' +
'448F43F10300601D5FC6740038C482490F604AAF94D408D13500D' +
'2B237E35F640358204D4F813618E1F50CD1F02EE0906AA61C26F0' +
'E0099720B7E');
end;
////////////////////////////////////////////////////////////////////////////////

procedure checktime;
begin
time2 := GetSystemTime / 1000;
if (timetoend <= time2) then
begin
writeln('Time Up!');
namechange('Time Up!');
Report;
Lgout(false);
end;
end;
/////////////////////////////////////////////

procedure GetAxeColors;
begin
checklogin;
GameTab(4);
FindAxeHeadColor;
end;

procedure isfighting;
begin
if (FindFight) then
begin
namechange('Found Fight');
RunAwayDirection('N');
// Wait(4500 + random(5500));
// RunBack;
end;
end;
/////////////////////////////////////////////////////

procedure EntChecker(EX, EY: integer);
var
FX, FY: integer;
begin
// namechange('Checking For Ent');
Flag; //not sure what this is there for, but my example code had it, and it seems to be working fine...
if (IsUpText('hop')) then
if FindColorTolerance(FX, FY, 55769, 85, 15, 115, 15, tol * 2) then
begin
namechange('Ent Found');
MouseFindFlag(648, 83, 5, 5);
Wait(15000 + Random(5000));
EntsAvoided := EntsAvoided + 1
end;
end;
//////////////////////////////////////////////////

procedure AxeBroke;
var
bax, bay: integer;
begin
if (findDTM(BrokenAxe, bax, bay, 0, 0, xmax, ymax)) then
if (not (findDTM(RegularAxe, bax, bay, 0, 0, xmax, ymax))) then
begin
Lgout(true);
namechange('Axe Broken');
end;
end;
////////////////////////////////////////////////

procedure checkaxe;
begin
if (axetime = 0) then
MarkTime(axetime);
if (random(10) = 1) or (TimeFromMark(axetime) > 45000) then
begin
GameTab(4);
AxeBroke;
GameTab(5);
AxeBroke;
GameTab(4);
MarkTime(axetime);
end else
case GetCurrentTab of
4: AxeBroke;
5: AxeBroke;
end;
end;
/////////////////////////////////////////////////////////////////

procedure flyinghead;
var
bax, bay: integer;
begin
if (InChat('You do not have an')) then
if (not (findDTM(AxeHandle, bax, bay, 0, 0, xmax, ymax))) then
begin
FindHead;
wait(100 + random(250));
AttachHead;
end
end;

procedure randoms;
begin
FindNormalRandoms;
wait(5);
checkaxe;
wait(5);
FindHead;
wait(5);
FindTalk;
wait(5);
isfighting;
wait(5);
checktime;
wait(5);
if (GetChatMsg = 'You need an axe to cut down this tree.') or
(GetChatMsg = 'woodcutting level to use') or
(GetChatMsg = 'do not have an axe') then
Lgout(true);
wait(5);
FindTalk;
wait(5);
checklogin;
wait(5);
FindMod;
wait(5);
AntiBan;
wait(5);
flyinghead;
HoverEvery(6 + random(4), 'WoodCutting');
RotateEvery(10 + random(10));
end;
/////////////////////////////////////////////////////

function FindFastRandoms: Boolean; //WT-Fawki
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: if FindTalk then
Result := True;
8: checkaxe;
end;
isfighting;
wait(1);
end;
end;
/////////////////////////////////////////////////////

procedure getmybank;
var
bankerx, bankery, boothx, boothy: integer;
begin
if (FindColorSpiralTolerance(bankerx, bankery, 608351, MSX1, MSY1, MSX2, MSY2, tol)) or
(FindColorSpiralTolerance(bankerx, bankery, 3173769, MSX1, MSY1, MSX2, MSY2, tol)) or
(FindColorSpiralTolerance(bankerx, bankery, 608868, MSX1, MSY1, MSX2, MSY2, tol)) then
if (FindColorCircleTolerance(boothx, boothy, 5066840, 100, bankerx, bankery, tol)) or
(FindColorCircleTolerance(boothx, boothy, 5591128, 100, bankerx, bankery, tol)) then
begin
MMouse(bankerx, bankery, 2, 2);
getmousepos(x, y);
wait(50 + random(75));
if (IsUpText('Bank')) then
begin
NameChange('Bank Booth');
ClickHuman(x, y, false);
ChooseOption(x, y, 'Use-quickly');
end else
if (IsUpText('Banker')) then
begin
NameChange('Banker');
ClickHuman(x, y, false);
ChooseOption(x, y, 'Bank Ba');
end;
end;
end;
/////////////////////////////////////////////////////

procedure fixloc; //testing phase
begin
if (xloc < 30) and (xloc > -30) then
begin
cmowse(648 + xloc, 83);
xloc := 0;
end else
begin
if (xloc > 30) then
begin
cmowse(618, 83);
xloc := xloc - 30;
end;
if (xloc < -30) then
begin
cmowse(678, 83);
xloc := xloc + 30;
end;
end;

if (yloc < 30) and (yloc > -30) then
begin
cmowse(648, 83 + yloc);
yloc := 0;
end else
begin
if (yloc > 30) then
begin
cmowse(648, 53);
yloc := yloc - 30;
end;
if (yloc < -30) then
begin
cmowse(648, 113);
yloc := yloc + 30;
end;
end;
wait(1000 + random(750 + random(500))); //heh...
flag;
end;
/////////////////////////////////////////////////////

procedure walk;
var
xrand, yrand, tx, ty: integer;
begin
if (false) then
begin
fixloc;
end else
begin
if (FindColorTolerance(tx, ty, 1599036, 565, 11, 731, 162, tol + 5)) and (not (random(5) = 1)) then
begin
Mouse(tx, ty, 5, 5, true);
randoms;
flag;
xloc := xloc + (tx - 30);
yloc := yloc + (ty - 30);
end else
begin
xrand := random(60);
yrand := random(60);

{ if(xrand>30)then
xloc:=xloc+(xrand-30);
if(xrand<30)then
xloc:=xloc+(xrand-30);
if(yrand>30)then
yloc:=yloc+(yrand-30);
if(yrand<30)then
yloc:=yloc+(yrand-30);}

xloc := xloc + (xrand - 30);

yloc := yloc + (yrand - 30);

cmowse(618 + xrand, 53 + yrand);
flag;
end;
end;
wait(1000 + random(500 + random(250))); //heh...
end;
/////////////////////////////////////////////////////

procedure rotate;
begin
case random(4) of
0: MakeCompass('N');
1: MakeCompass('S');
2: MakeCompass('E');
3: MakeCompass('W');
end;
end;
/////////////////////////////////////////////////////

procedure GetTreeNames;
begin
wcend := GetSkillLevel('WoodCutting');
if (wcend >= 60) then
begin
treetype := 4;
namechange('Cutting up to yews');
end else
if (wcend >= 30) then
begin
treetype := 3;
namechange('Cutting up to willows');
end else
if (wcend >= 15) then
begin
treetype := 2;
namechange('Cutting up to oaks');
end else
begin
treetype := 1;
namechange('WC level<15');
end;
end;


procedure wander;
begin
if (FindColorTolerance(tcx, tcy, 544022, 573, 6, 722, 162, 10)) then
begin
cmowse(tcx + random(5), tcy + random(5));
namechange('Searching Trees');
wandered := wandered + 1;
notfndt := 0;
end else
begin
namechange('Wandering');
notfndt := 0;
if (random(5) = 1) then
walk;
if (random(50) = 1) then
rotate;
end;
end;
/////////////////////////////////////////////////////

procedure waittillcut;
var
waited: integer;
begin
contnoo := false;
if (InChatMulti('u need a Woo', 'wn this tr', 'cutting level of')) then
begin
contnoo := true;
wander;
end;
if (InChatMulti('u do not have a', 'n axe which y', 'u have the wo')) then
begin
writeln('Player Bad');
Lgout(true);
Exit;
end;
if (lastwait = 0) then
lastwait := 50;
isfighting;
namechange('Cutting');
repeat
detectinv;
waited := waited + 1;
wait(5);
EntChecker(tx, ty);
wait(5);
isfighting;
wait(5);
flyinghead;
until (contnoo) or (waited > lastwait + 5);
lastwait := waited + 10;
namechange('Cut: ' + inttostr(waited));
end;
/////////////////////////////////////////////////////

function BadTree: boolean;
var
tree: integer;
begin
result := false;
if (IsUpText('ree')) then
begin
tree := 1;
end else
if (IsUpText('Oak')) then
begin
tree := 2;
end else
if (IsUpText('illo')) then
begin
tree := 3;
end else
tree := 4;

if (tree > treetype) then
result := true;
end;

procedure cutlogs;
begin
isfighting;
EntChecker(tx, ty);
clickhuman(tx, ty, true);
wait(250 + random(500));
MMouse(random(MSX2 / 2), random(MSY2 / 2), 5, 5);
logscut := logscut + 1;
waittillcut;
end;

{procedure findtrees(w: integer); //Kept so I could look back on it
var
x1, y1, x2, y2: integer;
found: boolean;
begin
tx := 0;
ty := 0;
if (w = 0) then
w := 1;
if (w > spd) then
w := spd;
x1 := (screenx / 2) - ((screenx / spd / 2) * w);
y1 := (screeny / 2) - ((screeny / spd / 2) * w);
x2 := (screenx / 2) + ((screenx / spd / 2) * w);
y2 := (screeny / 2) + ((screeny / spd / 2) * w);

if(FindColorSpiralTolerance(tx, ty, treecolor1, x1, y1, x2, y2, tol+5))then
begin
found:=true;
end else
if(FindColorSpiralTolerance(tx, ty, treecolor2, x1, y1, x2, y2, tol+5))then
begin
found:=true;
end else
if(FindColorSpiralTolerance(tx, ty, treecolor3, x1, y1, x2, y2, tol+5))then
begin
found:=true;
end else
if(FindColorSpiralTolerance(tx, ty, newtreecolor, x1, y1, x2, y2, tol+5))then
begin
found:=true;
end;

if(found)then
begin
notfndt:=notfndt+1;
trandx := random(5);
trandy := random(5);
MMouse(tx + trandx, ty + trandy, 5, 5);
if (IsUpText('hop')) then
begin
if(BadTree)then Exit;
UpdateColor;
getinv;
FindFastRandoms
AxeBroke;
//checkaxe;
cutlogs;
flyinghead;
end else
if (IsUpTextMulti('op do', 'Chop', 'down')) then
begin
if(BadTree)then Exit;
UpdateColor;
getinv;
FindFastRandoms
AxeBroke;
//checkaxe;
cutlogs;
flyinghead;
end;
end;
if (InvCount >= 28) then
begin
DropLogs;
GetTreeNames;
end;
end;}

function MultiBoxes(tolerance: integer; Boxes: TBoxArray): boolean;
begin
result := false;
if (FindColorSkipBoxArrayTolerance(tx, ty, tclr1, msx1, msy1, msx2, msy2, tolerance, Boxes)) then
begin
result := true;
end else
if (FindColorSkipBoxArrayTolerance(tx, ty, tclr2, msx1, msy1, msx2, msy2, tolerance, Boxes)) then
begin
result := true;
end else
if (FindColorSkipBoxArrayTolerance(tx, ty, tclr3, msx1, msy1, msx2, msy2, tolerance, Boxes)) then
begin
result := true;
end else
if (FindColorSkipBoxArrayTolerance(tx, ty, tclrnew, msx1, msy1, msx2, msy2, tolerance, Boxes)) then
begin
result := true;
end;
end;

procedure findtrees(w: integer); //Third and newest treefinding procedure
var
found: boolean;
tolnce: integer;
AntiBoxes: TBoxArray;
begin
tx := 0; //Global variables
ty := 0;
tolnce := 16; //Initial tolerance
repeat
if (not (MultiBoxes(tolnce, AntiBoxes))) then
begin
tolnce := tolnce + 2;
end else
begin
MMouse(tx, ty, 5, 5);
wait(random(500));
end;
if (IsUpTextMulti('op do', 'hop', 'down')) and (not (BadTree)) then
begin
found := true;
end else
begin
getmousepos(tx, ty);
setarraylength(antiboxes, getarraylength(antiboxes) + 1);
antiboxes[getarraylength(antiboxes) - 1].x1 := tx - 15;
antiboxes[getarraylength(antiboxes) - 1].y1 := ty - 15;
antiboxes[getarraylength(antiboxes) - 1].x2 := tx + 15;
antiboxes[getarraylength(antiboxes) - 1].y2 := ty + 15;
end;
until (found) or (tolnce > 50);

if (found) and (not (BadTree)) then
begin
getmousepos(tx, ty);
UpdateColor;
getinv;
FindFastRandoms
AxeBroke;
//checkaxe;
cutlogs;
flyinghead;
end;
if (InvCount >= 28) then
begin
DropLogs;
GetTreeNames;
end;
end;

procedure checkpause;
begin
if (isfkeydown(11)) then
repeat
wait(50); //to make it more responsive, lower this\
until (isfkeydown(11))
wait(2);
end;

//////////////////////////////////////////////////////////////////

procedure setupdrop;
begin
GameTab(4);
if (finddtm(tbox, tbx, tby, 540, 200, 745, 465)) then
burnlogs := true;
diddrop := true;
end;
/////////////////////////////////////////////////////

procedure BurnLog(logx, logy: integer);
var
logwait, logcolor: integer;
burned: boolean;
begin
wait(150 + random(500));
logcolor := getcolor(logx, logy);
mowse(logx, logy);
repeat
if (not (getcolor(logx, logy) = logcolor)) then
burned := true;
wait(50);
logwait := logwait + 1;
if (logwait > 80) then
burned := true;
until (burned)
namechange('Burning:' + inttostr(logwait));
if (InChat('light a fire here')) then
begin
walk;
end else
begin
wait(4000 + random(3000));
ReportVars[3] := ReportVars[3] + 1;
end;
end;
/////////////////////////////////////////////////////

procedure BurnAllLogs;
var
droppeds: integer;
donedrop: boolean;
begin
repeat
MMouse(tbx - random(5), tby + random(8), 3, 3);
if (not (IsUpText('rbox'))) then setupdrop;
if (not (burnlogs)) then DropAllLogs;
mowse(tbx - random(5), tby + random(8));
if (finddtm(log, lbx, lby, 540, 200, 745, 465)) then
begin
BurnLog(lbx, lby);
end else
donedrop := true;
droppeds := droppeds + 1;
if (droppeds > 28) then
donedrop := true;
until (donedrop = true) or (not (finddtm(log, lbx, lby, 540, 200, 745, 465)))
end;
/////////////////////////////////////////////////////

procedure BankLogs(logx, logy: integer);
var
logwait, logcolor: integer;
burned: boolean;
begin
wait(150 + random(500));
logcolor := getcolor(logx, logy);
Mouse(logx, logy, 4, 4, false);
wait(50 + random(50));
ChooseOption(x, y, 'Store All')
repeat
if (not (getcolor(logx, logy) = logcolor)) then
burned := true;
wait(50);
logwait := logwait + 1;
if (logwait > 80) then
burned := true;
until (burned)
ReportVars[4] := ReportVars[4] + 1; //--> Report Varable
namechange('Banking:' + inttostr(logwait));
end;
/////////////////////////////////////////////////////

procedure BankAllLogs;
var
droppeds: integer;
donedrop: boolean;
begin
repeat
if (finddtm(log, lbx, lby, 540, 200, 745, 465)) then
begin
BankLogs(lbx, lby);
end else
donedrop := true;
droppeds := droppeds + 1;
if (droppeds > 28) then
donedrop := true;
until (donedrop = true) or (not (finddtm(log, lbx, lby, 540, 200, 745, 465)))
walk;
end;
/////////////////////////////////////////////////////

procedure DropLogs;
var
bx, by, yx, yy, waitz: integer;
walked: boolean;
begin
if (diddrop = false) then
setupdrop;
namechange('Dropping Logs');
GameTab(4);
if (FindSymbol(bx, by, 'Bank')) then
begin
Mouse(bx, by, 3, 3, true);
randoms;
flag;
repeat
randoms;
getmybank;
wait(150 + random(250));
if (BankScreen) then
break;
OpenBank;
wait(150 + random(250));
if (BankScreen) then
break;
OpenBank3;
wait(150 + random(250));
waitz := waitz + 1;
if (waitz > 10) then
if (walked = false) then
if (FindColorSpiralTolerance(yx, yy, 195836, 569, 8, 160, 725, tol)) then
begin
Mouse(yx, yy, 3, 3, true);
walked := true;
end;
until (BankScreen) or (waitz > 25)
BankAllLogs;
end else
begin
if (burnlogs = true) then
begin
BurnAllLogs;
end else
begin
getinv;
DropAllLogs;
end;
dropped := dropped + 1;
ReportVars[0] := ReportVars[0] + 1; //--> Report Varable
detectdropped;
end;
randoms;
Report;
end;
/////////////////////////////////////////////////

procedure SetupAll;
begin
ScriptID := '100';
namechange('Loading');

if (not (GetSCARVersion = 203)) then
begin
cleardebug;
writeln(' <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< ');
wait(250 + random(1000));
writeln('> This script was made for Scar v2.03 <');
wait(250 + random(1000));
writeln(' ><> ><> ><> ><> ><> ><> ><> ><> ><> ><> ><> ><> ><> ');
wait(250 + random(1000));
writeln('> Please check srl-forums.com for a new version <');
wait(250 + random(1000));
writeln('> Or, if you are daring, you could just remove this <');
wait(250 + random(1000));
writeln('> check;but by doing so you will void your warranty <');
wait(250 + random(1000));
writeln(' <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< <>< ');
wait(1000 + random(5000));
TerminateScript;
end;
if (zapUID) then
DeleteUID;
DeclarePlayers;
cleardebug;
getres;
gettimes;
setDTMs;
tclrnew := 5677200;
ActivateClient;
end;
////////////////////////////////////////////////

procedure SetupReportAndMore; //lol
begin
checklogin;
wcstart := GetSkillLevel('WoodCutting');
firestart := GetSkillLevel('FireMaking');
GetTreeNames;
GetAxeColors;
end;
/////////////////////////////////////////////////
begin
if (GetNews) then
Scroll;
SetupSRL;
SetupAll;
SetupReportAndMore;
firstt := GetSystemTime;
repeat
namechange('Finding tree:' + inttostr(notfndt));
findtrees(notfndt);
notfndt := notfndt + 1;
if (notfndt > 15) then
begin
wander;
end;

// checkpause;

if (notfndt > spd) then
begin
if (random(10) = 1) then
rotate;
randoms;
end;
FindFastRandoms;
wait(15);
until (isfkeydown(12))
end.

——————————————————
<!– END TEMPLATE: formanswers –>

Hobbit

2007-04-09 21:56:06

I vote yes.

Mutli player - check
antirandom/antiban - check
use of standerds - check

I think its a very good display of scripting :)

Ejjman

2007-04-09 21:58:49

Scripts good. Multiplayer, antirandoms, you know SRL. This is obvious.


NO! :f:

Boreas

2007-04-09 22:31:49

Yes, duh :p

TheGodfather

2007-04-09 22:33:57

haha, I only have to read the name to decide my vote :p [but if i really did that, it wouldn't be fair] . So…. Good script anyways. Has everything needed, and a decent lengh so.. Nope voting no ;)

Better than what I applied with hehe.

YoHoJo

2007-04-09 23:55:19

Axe DTMs are from fourscapes scipt.
Other than that looks sexy to me.

TheGodfather

2007-04-10 00:08:41

From: YoHoJo
Axe DTMs are from fourscapes scipt.
Other than that looks sexy to me.


haha way to go ;)

GoF

2007-04-10 06:44:37

Good enough :)

Yes.

WT-Fakawi

2007-04-10 09:36:42

In. Welcome.