Claymore
2008-07-17 17:13:14
<!– BEGIN TEMPLATE: formanswers –>
deathscytex - SRL Member Application Form
deathscytex
What is the meaning to life?
SCAR Scripting! Nah, meaning of life to me is to follow Jesus as he lights up the way to our heavenly farther, God. Yes, yes i am a proud Christian.
Where you Referred to SRL? If yes, by whom?
yes
A friend who did not reveal his SRL Acc in here, but my friend in RS, Tots12.
Programming Knowledge
Html, CSS, Java
Other Communitys
PspIso.com
How Long have You Played Runescape
3 Years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have been in this community for quiet a while (2 Years in fact…) Before way back then I attempted making SCAR scripts but it was too difficult to understand, and so I gave up and just began commenting people's scripts and posting progress reports. The left the community and headed out to PspIso.com. Began making what they call "Portals" using Html, Java and soon CSS. Months later it became a bore to me. Portals were no longer fun to make and not a lot enjoyed using them. In other words, it was getting old. Then I began play Runescape when all of a sudden my friend, (Not in Real-Life, we were just close) told me he has a macro he would like to share with me. At first i didn't want to take it because for one, it might be a virus. But all of a sudden he mentioned SCAR. Told me it was hard to set up and stuff, and I was like… I remember! I set up SCAR for him and for myself, began working. Then he mentions that i should do some SCAR scripting because I was good at these things. Told him that I failed miserable, but he kept telling me how awesome your reputation would be if you made an awesome script and how much money i could make for selling them. (Of course i don't plan selling them because i can make RS money with these scripts, and I don't need Real Life cash because I don't have a debit card or Pay-Pal). So there i began reading guides from Standards, SRL functions and all the way to DDTM's, AutoColoring and the Intermediates stuff. Than i made my first script, the Willow Chop N Bank. It was sort of difficult. It was hard to think of where to start first… But it turned out to be a small success! (Not a lot replied or even downloaded it… But it compiled, was able to woodcut and bank and etc…). Than i began making more and more scripts. About 4 of them failed. One was a Power Or Bank Multi-Miner. It was my most prized script ever. The problem was… well, lots! It gave some errors (Like not walking, sometimes not mining), i fixed them but it still wouldn't work smoothly. So i abandoned it, sadly i deleted it. It was so great, but I could not work with it any further because it had to many errors! I did not even bother posting help because there are just too many errors to give out.
That was until Maples Forest Fire came. A person requested this for various reasons. Money, Firemaking, EXP… And i thought, why not!? And check it out, it worked perfectly… Thanks to PvH's help for giving me advices on making my script run better! I figured i would show this to you guys because it expresses all of my SCAR Scripting Skills. (Well maybe not all.)
So there it is. I don't know if this is TOO long… but that's how my SCAR scripting career began. From a failure to an amateur. So, now you got to know my experience, let's continue to my very amazing new script that will be an ongoing project to hopefully become the most flawless script ever made in the woodcutting section! (Sarcasm ^.^)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Sorry! I was editing this script AFTER the release, currently fixing….
I pasted this bits-by-bits because fire fox closes down every time i paste the whole script. it is 800 lines and was quiet difficult. So download my script at my thread if it does not compile. (It does compile don't worry.)
——————————————————
<!– END TEMPLATE: formanswers –>
deathscytex - SRL Member Application Form
deathscytex
What is the meaning to life?
SCAR Scripting! Nah, meaning of life to me is to follow Jesus as he lights up the way to our heavenly farther, God. Yes, yes i am a proud Christian.
Where you Referred to SRL? If yes, by whom?
yes
A friend who did not reveal his SRL Acc in here, but my friend in RS, Tots12.
Programming Knowledge
Html, CSS, Java
Other Communitys
PspIso.com
How Long have You Played Runescape
3 Years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have been in this community for quiet a while (2 Years in fact…) Before way back then I attempted making SCAR scripts but it was too difficult to understand, and so I gave up and just began commenting people's scripts and posting progress reports. The left the community and headed out to PspIso.com. Began making what they call "Portals" using Html, Java and soon CSS. Months later it became a bore to me. Portals were no longer fun to make and not a lot enjoyed using them. In other words, it was getting old. Then I began play Runescape when all of a sudden my friend, (Not in Real-Life, we were just close) told me he has a macro he would like to share with me. At first i didn't want to take it because for one, it might be a virus. But all of a sudden he mentioned SCAR. Told me it was hard to set up and stuff, and I was like… I remember! I set up SCAR for him and for myself, began working. Then he mentions that i should do some SCAR scripting because I was good at these things. Told him that I failed miserable, but he kept telling me how awesome your reputation would be if you made an awesome script and how much money i could make for selling them. (Of course i don't plan selling them because i can make RS money with these scripts, and I don't need Real Life cash because I don't have a debit card or Pay-Pal). So there i began reading guides from Standards, SRL functions and all the way to DDTM's, AutoColoring and the Intermediates stuff. Than i made my first script, the Willow Chop N Bank. It was sort of difficult. It was hard to think of where to start first… But it turned out to be a small success! (Not a lot replied or even downloaded it… But it compiled, was able to woodcut and bank and etc…). Than i began making more and more scripts. About 4 of them failed. One was a Power Or Bank Multi-Miner. It was my most prized script ever. The problem was… well, lots! It gave some errors (Like not walking, sometimes not mining), i fixed them but it still wouldn't work smoothly. So i abandoned it, sadly i deleted it. It was so great, but I could not work with it any further because it had to many errors! I did not even bother posting help because there are just too many errors to give out.
That was until Maples Forest Fire came. A person requested this for various reasons. Money, Firemaking, EXP… And i thought, why not!? And check it out, it worked perfectly… Thanks to PvH's help for giving me advices on making my script run better! I figured i would show this to you guys because it expresses all of my SCAR Scripting Skills. (Well maybe not all.)
So there it is. I don't know if this is TOO long… but that's how my SCAR scripting career began. From a failure to an amateur. So, now you got to know my experience, let's continue to my very amazing new script that will be an ongoing project to hopefully become the most flawless script ever made in the woodcutting section! (Sarcasm ^.^)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Sorry! I was editing this script AFTER the release, currently fixing….
{_______________________________________________________________________________
[ Script Information ]
[ Name = Maple Forest Fire ]
[ Author = DeathScyteX (Ocean's 1) ]
[ Version = 1.0 ]
[ SRL Version = 4.0 Rev 17 ]
[ Scar Version = 3.15 ]
[ Release Date = 07/29/08 ]
[ Description = ]
[ Category = WoodCutting and FireMaking / Banking ]
[______________________________________________________________________________]
[ Presenting Maple Forest Fire ]
[ Version 0.1 Beta ]
[ How To Set Up: ]
[ ]
[ 1. First enter your SRL ID and SRL Password in the constants area. ]
[ Drag the Cross-Hair to the RS Client. Hit the play button and ]
[ set up the SRL Player Form. The forms are case sensitive, so ]
[ if the script dosen't run properly, stop the script and run it ]
[ again. This time, check if you did not capatalized the first ]
[ letter of a word. ]
[ 2. Make sure the bank is not too crowded. That goes for the Maple ]
[ Tree Site aswell. ]
[______________________________________________________________________________]
[ Credits ]
[ For Functions: ]
[ SRL | If not for them, this script would never been made! Thanks! ]
[ ]
[ For Helping: ]
[ PvH | Helping out with the script. Made it run smoother, remove useless ]
[ functions. Technically, made the script better. Thanks! ]
[ Dusk412 | Small fix on the Woodcutting Procedure. (Small Fix, Big Help) ] ]
[______________________________________________________________________________]
[ Working on: ]
[ Bank, use Glass of Bank and set Tol 15. ]
[______________________________________________________________________________}
program MapleForestFire;
{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/Path.scar}
{.include SRL/SRL/Misc/Users.scar}
{.include SRL/SRL/Skill/Firemaking.scar}
{.include SRL/SRL/Skill/Woodcutting.scar}
const
SkipSignature = True;
UsersID = '';
UsersPassword = '';
var
RandomsSolved, LoadsDone, EntsFound, Banked, Burned, Total, LogIns : Integer;
SwitchPlayer : Boolean;
function MapleWalk : Boolean; forward;
function BankWalk : Boolean; forward;
procedure SignatureMovement;
var
WaveEffect : Integer;
begin
MarkTime(WaveEffect);
repeat
Writeln('[]');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []');
Wait(100);
Writeln(' []|');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] |');
Wait(100);
Writeln(' [] :');
Wait(100);
Writeln(' [] .');
Wait(100);
Writeln('[]');
Wait(100);
until (TimeFromMark(WaveEffect) > 8000 + Random(2000));
end;
procedure Signature;
begin
if (SkipSignature = True) then Exit;
SignatureMovement;
Writeln(' ________ ');
Wait(100);
Writeln(' / \ Oceans 1 Company Presents ______ ____ ');
Wait(100);
Writeln(' / __ \/ ____ \ __ \\____ \/ ____ \ ____/ / _ \ ');
Wait(100);
Writeln(' | <__> | \ \/ ______// __ || | | | /____ \/ \ | ');
Wait(100);
Writeln(' \ / \___ \___/\ | |__| || | | | ___ \ _| |_ ');
Wait(100);
Writeln(' \________/ \______ \ _____\\_____ \|_| | \_____/ / ____| ');
Wait(100);
Writeln(' \/ \/ \/ \/ ');
Wait(100);
Writeln(' ');
Wait(4000);
Writeln(' ___ ___ ___ ');
Wait(100);
Writeln(' / \ / \_ Forest Fire ___ | |________ ');
Wait(100);
Writeln(' | \/ |\____ \ __ \ __ \ | __ \ ');
Wait(100);
Writeln(' | |/ __ | |__| | |__| | | ______/ ');
Wait(100);
Writeln(' | __ || |__| | ____/ _____/ | \___/\ ');
Wait(100);
Writeln(' |___| |___|\_____ \ / | / |___| ______\ ');
Wait(100);
Writeln(' \/__| |__| \/ ');
Wait(4000);
ClearDeBug;
Exit;
end;
procedure ProgressReport;
begin
Writeln('________________________________________');
Writeln('[ ]');
Writeln('[ Maple Forest Fire Progress ]');
Writeln('[ Report Version 1 ]');
Writeln('[ Time Elapsed | '+ TimeRunning);
ReportVars[5] := 1;
Writeln('[ Loads Finish | '+ IntToStr(Total));
Writeln('[ Ents Found | '+ IntToStr(EntsFound));
Writeln('[ Loads Banked | '+ IntToStr(Banked));
Writeln('[ Loads Burnt | '+ IntToStr(Burned));
Writeln('[ Randoms Solved | '+ IntToStr(RandomsSolved));
Writeln('[ Please Post This Report! ]');
Writeln('[______________________________________]');
end;
procedure PlayersPreferance;
begin
MakeCompass('N');
SetAngle(True);
Wait(450 + Random(210));
SetRun(True);
GameTab(4);
Wait(650 + Random(210));
end;
procedure CheckPlayer;
begin
Wait(3000 + Random(2000));
if (not (LoggedIn)) then
begin
LogIns := LogIns + 1;
if (LogIns = 10) then
begin
Writeln('Player has maxed out his or her Log Ins, Switching Players.');
NextPlayer(False);
LogIns := LogIns - LogIns;
LoadsDone := LoadsDone - LoadsDone;
Exit;
end else
begin
LogInPlayer;
PlayersPreferance;
Exit;
end;
end;
if (LoadsDone = Players[CurrentPlayer].Integers[0]) then
begin
Writeln('Current Player has finished his or her loads. Switching Players');
SwitchPlayer := True;
if (LoggedIn) then LogOut;
NextPlayer(False);
LoadsDone := LoadsDone - LoadsDone;
LogIns := LogIns - LogIns;
PlayersPreferance;
Exit;
if (LoggedIn) then Exit;
end;
end;
function AntiBan : Boolean;
begin
if (InvFull) or (not (LoggedIn)) then Exit;
case (Random(50)) of
8: RandomRClick;
17: begin
HoverSkill('Woodcutting', False);
GameTab(4);
end;
21: begin
HoverSkill('Firemaking', False);
GameTab(4);
end;
26: RandomMovement;
29: BoredHuman;
34: PickUpMouse;
38: begin
Gametab(1 + Random(12));
Wait(1420 + Random(915));
Gametab(4);
end;
44: SleepAndMoveMouse(3000);
end;
Result := False;
end;
function AntiRandoms : Boolean;
var
I : Integer;
begin
if (InvFull) or (not (LoggedIn)) then Exit;
for I := 1 to 3 do
begin
case I of
1: if (FindNormalRandoms) then
Result := True;
2: begin
FindBirdsNest;
Result := True;
end;
3: if (FindFight) then
begin
RunTo('W', False)
FFlag(1);
Wait(2000 + Random(3000));
Writeln('We ran away from a fight, running back to the Maples.')
RunTo('E', False)
FFlag(0);
Result := True;
end;
end;
end;
if (Result) then
begin
Writeln('A random has been found!');
end;
ReportVars[4] := 1;
SRLRandomsReport;
end;
function FindBrokenAxe : Boolean;
var
DamagedAxe, x, y : Integer;
begin
DamagedAxe := BitmapFromString(8, 9, 'beNpjYGRgwI5cY9OByDkqB' +
'RkBRRwjEiEM9/gsiBogKhDntQ2KhovDpYDmGDl7W/qEAnUBBX3Ti2' +
'DmM8Atsg+NA0r5Z5bCxCGAEaLLMyk3IKccTcraPwJoV4kEH9BeBhT' +
'ACHRGsigPAwBqASe1');
if (Players[CurrentPlayer].Booleans[0] = False) then GameTab(4);
if (Players[CurrentPlayer].Booleans[0] = True) then GameTab(5);
Result := FindBitmapToleranceIn(DamagedAxe, x, y, MIX1, MIY1, MIX2, MIY2, 20);
if (Result) then
begin
Writeln('Players Axe has been damaged, replacing.');
end;
FreeBitMap(DamagedAxe);
Wait(700 + Random(435));
end;
function ReplaceBrokenAxe : Boolean;
var
DamagedAxe, AxeDTM, dx, dy, nx, ny, x, y : Integer;
begin
Result := FindBrokenAxe;
if (Result) then
begin
BankWalk;
Wait(450 + Random(360));
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
GameTab(5);
Wait(1250 + Random(490));
TakeOff(5);
Wait(3200 + Random(760));
end;
FindObjTPA(x, y, 7699838, 10, -1, 15, 15, 3, ['ank','Ban', 'Bank']);
Wait(1210 + Random(895));
MMouse(x, y, 0, 0);
if (IsUpText('Banker')) then
begin
Mouse(x, y, 3, 3, False);
ChooseOption('Bank');
FFlag(0);
end else
Mouse(x, y, 3, 3, False);
Wait(115 + Random(65));
ChooseOption('Use-quickly');
FFlag(1);
Wait(2045 + Random(1670));
if (BankScreen) then
begin
DamagedAxe := BitmapFromString(8, 9, 'beNpjYGRgwI5cY9OByDkqB' +
'RkBRRwjEiEM9/gsiBogKhDntQ2KhovDpYDmGDl7W/qEAnUBBX3Ti2' +
'DmM8Atsg+NA0r5Z5bCxCGAEaLLMyk3IKccTcraPwJoV4kEH9BeBhT' +
'ACHRGsigPAwBqASe1');
FindBitmapToleranceIn(DamagedAxe, dx, dy, MIX1, MIY1, MIX2, MIY2, 10);
Wait(310 + Random(115));
MMouse(dx, dy, 3, 3);
if (IsUpText('roken')) then
begin
Wait(350 + Random(210));
Mouse(dx, dy, 0, 0, True);
Writeln('Banked Broken Axe!');
end;
FreeBitMap(DamagedAxe);
FixBank;
AxeDTM := DTMFromString('78DA639CCFC4C0708701056489F3313C04D28' +
'C40FC1F0818A701D55C6740038C4824905E0854738F809AD94035' +
'F709A8E905AAF948404D1F50CD73FC6A0034810E5E');
if (FindDTM(AxeDTM, nx, ny, MSX1, MSY1, MSX2, MSY2)) then
begin
MMouse(nx, ny, 2, 2);
if (IsUpText('xe')) then
begin
Wait(315 + Random(220));
Mouse(nx, ny, 0, 0, True);
Writeln('Withdrawed a New Axe');
end;
FreeDTM(AxeDTM);
end;
end;
MapleWalk;
end;
end;
function MapleEnt : Boolean;
var
ex, ey : Integer;
begin
if (InvFull) or (not (LoggedIn)) then Exit;
if (FindColorTolerance(ex, ey, 195836, 622, 79, 635, 89, 5)) then
begin
Mouse(MMCX-15, MMCY-15, 5, 5, True);
FFlag(0);
Result := True;
EntsFound := EntsFound + 1;
ReportVars[0] := 1;
if (FindBrokenAxe) then ReplaceBrokenAxe;
end;
Result := False;
end;
function MapleWalk : Boolean;
var
FindTreeSymbol, x, y : Integer;
begin
repeat
if (not (LoggedIn)) or (InvFull) then Exit;
Wait(370 + Random(225));
FindSymbolIn(x, y, 'Tree', 592, 30, 664, 76);
Mouse(x, y, 3, 3, True);
FFlag(0);
Wait(315 + Random(165));
Result := True;
Exit;
if (not (FindSymbolIn(x, y, 'Tree', 592, 30, 664, 76))) then
begin
FindTreeSymbol := FindTreeSymbol + 1;
if (FindTreeSymbol >= 10) then
begin
Writeln('Could not find the Tree Symbol.');
LogOut;
end;
end;
until (Result);
end;
function FindMaples : Boolean;
var
MapleTPA : TPointArray;
MapleATPA : T2DPointArray;
I, CTS, mx, my : Integer;
begin
if (not (LoggedIn)) or (InvFull) then Exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MMCY, MapleTPA, 2505573, MSX1, MSY1, MSX2, MSY2, 15);
if (Length(MapleTPA) < 1) then Exit;
MapleATPA := SplitTPA(MapleTPA, 15);
for I := 0 To High(MapleATPA) do
If MiddleTPAEX(MapleATPA[i], mx, my) then
begin
MMouse(mx, my, 3, 3);
Wait(2015 + Random(1330));
if (IsUpText('aple')) then
begin
if (InvFull) then Break;
Mouse(mx, my, 0, 0, True);
FFlag(0);
Wait(1500 + Random(910));
mx := MSCX;
my := MSCY;
FindColorSpiralTolerance(mx, my, 2505573, MSX1, MSY1, MSX2, MSY2, 15);
MMouse(mx, my, 0, 0);
if (AntiRandoms) then
begin
Mouse(mx, my, 0, 0, True);
RandomsSolved := RandomsSolved + 1;
end;
MapleEnt;
Wait(200 + Random(115));
if (not (IsUpText('aple'))) then
begin
if (InvFull) then Break;
Wait(440 + Random(225));
FindColorSpiralTolerance(mx, my, 2505573, MSX1, MSY1, MSX2, MSY2, 15);
Mouse(mx, my, 2, 2, True);
if (IsUpText('aple')) then
begin
if (InvFull) then Exit;
Mouse(mx, my, 2, 2, True);
end;
FFlag(0);
Wait(1500 + Random(1500));
if (AntiRandoms) then
begin
Mouse(mx, my, 0, 0, True);
RandomsSolved := RandomsSolved + 1;
end;
MapleEnt;
Wait(315 + Random(110));
end;
repeat
if (AntiRandoms) then
begin
Mouse(mx, my, 0, 0, True);
RandomsSolved := RandomsSolved + 1;
end;
Wait(315 + Random(115));
MMouse(mx, my, 2, 2);
Wait(690 + Random(110));
case (Random(4)) of
2: Mouse(mx, my, 2, 2, True);
end;
AntiBan;
until (InvFull) or (not (IsUpText('aple')))
Result := True;
end else Exit;
end;
end;
procedure GatherMaples;
var
MaxTime : Integer;
begin
if (not (LoggedIn)) or (InvFull) then Exit;
MarkTime(MaxTime);
repeat
CheckPlayer;
FindMaples;
Wait(690 + Random(365));
until (InvFull) or (not (LoggedIn));
if (TimeFromMark(MaxTime) > 15*60*1000 + Random(30000)) then
begin
Writeln('15 minuites has passed by! Logging Out Player...');
LogOut;
Exit;
end;
MaxTime := MaxTime - MaxTime;
end;
function BankWalk : Boolean;
var
SearchBankSymbol, BankDTM, x, y : Integer;
begin
repeat
BankDTM := DTMFromString('78DA632C616260286540010D8D150CB5409A1' +
'188FF03016322504D2AAA9A7FFF841958A16A40803115A8268180' +
'9A5CA09A14026AAAB09BC380ACA699B01A0051411567');
if DTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 3, 3, True);
Wait(450 + Random(115));
FFlag(1);
Wait(2000 + Random(2000));
FreeDTM(BankDTM);
Result := True;
end;
if (not (FlagPresent)) then
begin
SearchBankSymbol := SearchBankSymbol + 1;
if (SearchBankSymbol >= 15) then
begin
FindSymbol(x, y, 'Bank');
Mouse(x, y, 3, 3, True);
FFlag(1);
Wait(330 + Random(220));
if (not (FindSymbol(x, y, 'Bank'))) then
begin
Writeln('Failed to find the Bank');
LogOut;
Exit;
end;
end;
end;
until Result;
SearchBankSymbol := SearchBankSymbol - SearchBankSymbol;
end;
function StoreMaples : Boolean;
var
MapleDTM, bx, by, mx, my : Integer;
begin
if (not (InvFull)) or (not (LoggedIn)) then Exit;
if (InvFull) then
begin
MapleDTM := DTMFromString('78DA639CC1C4C060CEC8800C621D78C0344C9' +
'4713A508D1EAA1A982C5C4D3B508D25013593806A9C09A8590C54' +
'634740CD02A01A1D026ABA816A0CF0AB0100C6F60664');
FindObjTPA(bx, by, 7699838, 10, -1, 15, 15, 3, ['ank','Ban', 'Bank']);
Wait(1210 + Random(895));
MMouse(bx, by, 0, 0);
if (IsUpText('Banker')) then
begin
Mouse(bx, by, 3, 3, False);
ChooseOption('Bank');
FFlag(1);
end else
Mouse(bx, by, 3, 3, False);
Wait(115 + Random(65));
ChooseOption('Use-quickly');
FFlag(1);
Wait(1045 + Random(670));
if (BankScreen) then
begin
FindDTM(MapleDTM, mx, my, MIX1, MIY1, MIX2, MIY2);
Deposit(2, 28, True);
FreeDTM(MapleDTM);
Wait(285 + Random(110));
CloseBank;
ReportVars[1] := 1;
ReportVars[2] := 1;
LoadsDone := LoadsDone + 1;
Total := Total + 1;
Banked := Banked + 1;
Result := True;
Wait(2500 + Random(1240));
end else
begin
Writeln('Could not find the Bank or the Banker.');
LogOut;
end;
end;
end;
function RoadDDTM : Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
x, y: Integer;
ColorRecord: TAutoColorInfo;
begin
with ColorRecord do
begin
MinCount := 100;
Color := 5855584;
HueMod := 0.48;
SatMod := 0.12;
LumTol := 5;
MinR := 83; MaxR := 109;
MinG := 77; MaxG := 103;
MinB := 76; MaxB := 102;
MinX := 7.70; MaxX := 13.30;
MinY := 7.85; MaxY := 13.65;
MinZ := 8.11; MaxZ := 14.26;
end;
RoadColor := FindColorRecordEx(x, y, ColorRecord, MMX1, MMY1, MMX2, MMY2, True);
dtmMainPoint.x := 612;
dtmMainPoint.y := 142;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := RoadColor;
dtmMainPoint.Tolerance := 25;
dtmSubPoints[0].x := 612;
dtmSubPoints[0].y := 142;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := RoadColor;
dtmSubPoints[0].Tolerance := 25;
dtmSubPoints[1].x := 604;
dtmSubPoints[1].y := 142;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := RoadColor;
dtmSubPoints[1].Tolerance := 25;
dtmSubPoints[2].x := 618;
dtmSubPoints[2].y := 146;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := RoadColor;
dtmSubPoints[2].Tolerance := 25;
dtmSubPoints[3].x := 619;
dtmSubPoints[3].y := 140;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := RoadColor;
dtmSubPoints[3].Tolerance := 25;
dtmSubPoints[4].x := 617;
dtmSubPoints[4].y := 144;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := RoadColor;
dtmSubPoints[4].Tolerance := 25;
dtmSubPoints[5].x := 609;
dtmSubPoints[5].y := 141;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := RoadColor;
dtmSubPoints[5].Tolerance := 25;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function LightingPoint: Boolean;
var
ColorRecord: TAutoColorInfo;
RoadDTM, x, y : Integer;
begin
RoadDTM := RoadDDTM;
if DTMRotated(RoadDTM, x, y, MMX1,MMY1,MMX2,MMY2) then
begin
Mouse(x, y, 1, 1, True);
FFlag(1);
Writeln('Player successfully walked to the Camelot Road.');
Wait(350 + Random(440));
Result := True;
end else
begin
with ColorRecord do
begin
MinCount := 100;
Color := 5855584;
HueMod := 0.48;
SatMod := 0.12;
LumTol := 5;
MinR := 83; MaxR := 109;
MinG := 77; MaxG := 103;
MinB := 76; MaxB := 102;
MinX := 7.70; MaxX := 13.30;
MinY := 7.85; MaxY := 13.65;
MinZ := 8.11; MaxZ := 14.26;
end;
RoadColor := FindColorRecordEx(x, y, ColorRecord, MMX1, MMY1, MMX2, MMY2, False);
RadialRoadWalk(RoadColor, 160, 190, 62, 1, 1);
FFlag(1);
Wait(440 + Random(395));
Writeln('Player successfully walked to the Camelot Road.');
Result := True;
end;
if (not (DTMRotated(RoadDTM, x, y, MMX1,MMY1,MMX2,MMY2))) and (RoadColor = 0) then
begin
LogOut;
Writeln('Player failed to walk to the Camelot Road.');
end;
end;
function WalkBackToPoint : Boolean;
var
ColorRecord: TAutoColorInfo;
sx, sy, x, y : Integer;
begin
if (not (LoggedIn)) then Exit;
RoadColor := FindRoadColor;
if (RoadColor = 0) then
begin
with ColorRecord do
begin
MinCount := 100;
Color := 5855584;
HueMod := 0.48;
SatMod := 0.12;
LumTol := 5;
MinR := 83; MaxR := 109;
MinG := 77; MaxG := 103;
MinB := 76; MaxB := 102;
MinX := 7.70; MaxX := 13.30;
MinY := 7.85; MaxY := 13.65;
MinZ := 8.11; MaxZ := 14.26;
end;
RoadColor := FindColorRecordEx(x, y, ColorRecord, MMX1, MMY1, MMX2, MMY2, False);
end;
RadialRoadWalk(RoadColor, 75, 120, 73, 1, 1);
FFlag(0);
Wait(1330 + Random(795));
RadialRoadWalk(RoadColor, 75, 120, 73, 1, 1);
FFlag(0);
Wait(1540 + Random(975));
RadialRoadWalk(RoadColor, 35, 65, 73, 1, 1);
FFlag(0);
Wait(1950 + Random(865));
Writeln('Successfully moved near the Maple Trees. Now finding the Tree Symbol');
FindSymbolIn(sx, sy, 'Tree', 558, 47, 641, 150);
Mouse(sx, sy, 3, 3, True);
FFlag(1);
Result := True;
if (RoadColor = 0) then LogOut;
if (not (FindSymbolIn(sx, sy, 'Tree', 558, 47, 641, 150))) then
begin
Writeln('Failed to find a Tree Symbol. Logging Out...');
LogOut;
end;
end;
function BurnMaples : Boolean;
var
FailedToLight, TinderBoxDTM, MapleDTM, tx, ty, mx, my : Integer;
begin
if (not (InvFull)) or (not (LoggedIn)) then Exit;
SetChat('Off', 1);
if (InvFull) then
begin
TinderBoxDTM := DTMFromString('78DA637466626078CA8002DCED38191E02694' +
'620FE0F048CF64035B718D000231209A4CD806A9E1050630D54F3' +
'81801A5FA09AD744A8B9835F0D003B9A0C70');
MapleDTM := DTMFromString('78DA63CC65626078C28002929D79181E02694' +
'620FE0F048C794035B719D000231209A4E330CDC150930654F391' +
'809A12A09AB704D49401D53CC2AF0600D5820D99');
repeat
if (AntiRandoms) then
Wait(750 + Random(450));
FindDTM(TinderBoxDTM, tx, ty, MIX1,MIY1,MIX2,MIY2);
Mouse(tx, ty, 2, 2, True);
Wait(480 + Random(110));
FindDTM(MapleDTM, mx, my, MIX1, MIY1, MIX2, MIY2);
Wait(500 + Random(440));
Mouse(mx, my, 2, 2, True);
ClickToContinue;
if (CantLightCheck) then
begin
Writeln('Player can not light a fire in its current spot.');
Mouse(MSCX+25, MSCY+25, 5, 5, True);
Wait(335 + Random(110));
FFlag(1);
FailedToLight := FailedToLight + 1;
if (FailedToLight >= 5) then
begin
LogOut;
Writeln('Player is having difficulties lighting a fire.');
end;
end;
LightWait;
Wait(660 + Random(410));
until (not (ExistsItem(28)));
end;
ReportVars[1] := 1;
ReportVars[3] := 1;
LoadsDone := LoadsDone + 1;
Total := Total + 1;
Burned := Burned + 1;
FreeDTM(TinderBoxDTM);
FreeDTM(MapleDTM);
Result := True;
Wait(250 + Random(300));
SetChat('On', 1);
end;
procedure BankLoop;
begin
CheckPlayer;
repeat
repeat
CheckPlayer;
Wait(1560 + Random(940));
MapleWalk;
GatherMaples;
BankWalk;
ProgressReport;
StoreMaples;
until (SwitchPlayer = True);
until (not (LoggedIn));
if (not (LoggedIn)) then
begin
NextPlayer(False);
LoadsDone := LoadsDone - LoadsDone;
end;
end;
procedure BurnLoop;
begin
CheckPlayer;
repeat
MapleWalk;
repeat
GatherMaples;
LightingPoint;
BurnMaples;
ProgressReport;
WalkBackToPoint;
CheckPlayer;
until (SwitchPlayer = True);
until (not (LoggedIn));
if (not (LoggedIn)) then
begin
NextPlayer(False);
LoadsDone := LoadsDone - LoadsDone;
end;
end;
procedure DeclareSettings;
begin
SetUpSRL;
ScriptID := '927';
SRLID := UsersID;
SRLPassword := UsersPassword;
SRLPlayerForm(True, ['Weild Axe'], ['How Many Loads'], ['Bank or Burn'], []);
end;
procedure MainLoop;
begin
case (Players[CurrentPlayer].Strings[0]) of
'Bank': BankLoop;
'Burn': BurnLoop;
end;
end;
begin
Signature;
DeclareSettings;
ActivateClient;
CheckPlayer;
repeat
MainLoop;
until (False);
end.
I pasted this bits-by-bits because fire fox closes down every time i paste the whole script. it is 800 lines and was quiet difficult. So download my script at my thread if it does not compile. (It does compile don't worry.)
——————————————————
<!– END TEMPLATE: formanswers –>