TravisV10
2008-09-17 06:46:32
born2code - SRL Member Application Form
born2code
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
DHTML (PHP, HTML, CSS, Javascript, Ajax, & XHTML)
Other Communitys
Just here! :)
How Long have You Played Runescape
Wayyy too long
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
My name is Travis V10. I live in Georgia. I am 14 and a freshman in High School. I love scripting. (Mostly SRL and Website Design)
I was a member a year ago until I made a "joke" that went wayyyy too far. I love this community so much and I only have good intentions for it! I have looked at my past posts and learned how bad my attitude was. I am wayyy more mature now and have a much better attitude. :)
Thank you for your time!
~Travis
Tutorials I made a while back:
Creating your first scar script - http://www.villavu.com/forum/showthread.php?t=16332?t=17925
Auto Woodcutting:
http://www.villavu.com/forum/showthread.php?t=13094?t=14492
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Current script im working on (contains updated and advanced functions/procedures) >> LumbyNewbie (Tree chopper and seller near lumby guide)
Scripting types it includes: (even though thats really for you to decide xD)
RadialWalking, Custom TPAs, DDTMs, DTMs, MultiPlayer, DeathWalk, SymbolFinding, AntiBan, AntiRandoms, Failsafes, & Progress Reports + SMART :)
{******************************************************************************
LumbyNewbie V1.0
What does it do?
It chops trees near the Lumby WCing Guide and sells them.
Updates
-First Release: Worked.
-V0.1: Added DDTM for walk back to trees
-V0.5: Added custom TPA for chopping procedure, sell 50, and multiplayer
-V0.9: Added DeathWalk and comments + easier setup
-V1.0: Added SRL Ent Finder & FindBirdsNest and better proggies
*******************************************************************************}
program LumbyNewbie;
{.Include SRL\SRL\Misc\Smart.Scar}
{.Include SRL\SRL.Scar}
{.include SRL\SRL\Skill\Magic.scar}
{.include SRL\SRL\Skill\WoodCutting.scar}
const ChopWait = 2500; //Time between swings at tree (rec. 8000 for lvl 1)
var
x, y, LogDTM, CloseDTM: integer;
levelsgained, loadsdone: integer;
var DTMSubPoints: array[0..3] of TDTMPointDef;
var CGMainPoint: TDTMPointDef;
var GrassTDTM: TDTM;
var GrassDTM: Integer;
const Tolerance = 25;
const AreaSize = 10;
const AreaShape = 1;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '3sillyman3';
Players[0].Pass := 'maniac';
Players[0].Nick := 'sil';
Players[0].Active := True;
{Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Active := True;
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Active := True;
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Active := True;
Players[4].Name := '';
Players[4].Pass := '';
Players[4].Nick := '';
Players[4].Active := True;}
end;
{******************************************************************************
DTM and DDTM procedures
******************************************************************************}
procedure LoadDTMs;
begin
LogDTM := DTMFromString('78DA63B4666260B8C380061819B8C02403C37' +
'F2060B405AAF988A9064102E940A09AE704D4B801D5BCC3AF0600' +
'501208CC');
CloseDTM := DTMFromString('78DA637CC6C8C0A0C58002B45464C1342394C' +
'FF808C8524355232A2C88AAE625116A40E6E8A2AA31D4524255F3' +
'820835F7802C25026ADE0259CAA86AB8B8B850D5DC07B20C09A87' +
'943580D0097AA0C52');
end;
procedure SetGrassDTM;
begin
CGMainPoint.x:=415;
CGMainPoint.y:=209;
CGMainPoint.areasize:=AreaSize;
CGMainPoint.areashape:=AreaShape;
CGMainPoint.color:=FindLumbyRoadColor;
CGMainPoint.tolerance:=Tolerance;
DTMSubPoints[0].x:=392;
DTMSubPoints[0].y:=186;
DTMSubPoints[0].areasize:=AreaSize;
DTMSubPoints[0].areashape:=AreaShape;
DTMSubPoints[0].color:=FindLumbyRoadColor;
DTMSubPoints[0].tolerance:=Tolerance;
DTMSubPoints[1].x:=436;
DTMSubPoints[1].y:=181;
DTMSubPoints[1].areasize:=AreaSize;
DTMSubPoints[1].areashape:=AreaShape;
DTMSubPoints[1].color:=FindLumbyRoadColor;
DTMSubPoints[1].tolerance:=Tolerance;
DTMSubPoints[2].x:=414;
DTMSubPoints[2].y:=181;
DTMSubPoints[2].areasize:=AreaSize;
DTMSubPoints[2].areashape:=AreaShape;
DTMSubPoints[2].color:=FindLumbyRoadColor;
DTMSubPoints[2].tolerance:=Tolerance;
DTMSubPoints[3].x:=424;
DTMSubPoints[3].y:=235;
DTMSubPoints[3].areasize:=AreaSize;
DTMSubPoints[3].areashape:=AreaShape;
DTMSubPoints[3].color:=FindLumbyRoadColor;
DTMSubPoints[3].tolerance:=Tolerance;
GrassTDTM.MainPoint := CGMainPoint;
GrassTDTM.SubPoints := DTMSubPoints;
GrassDTM := AddDTM(GrassTDTM);
end;
{******************************************************************************
Walking procedures
******************************************************************************}
procedure WalkToTrees;
var
DontGoTooLong: integer;
FoundIt: integer;
begin
if (not(LoggedIn)) then Exit;
SetGrassDTM;
MarkTime(DontGoTooLong);
FoundIt := 0;
repeat
if (not(LoggedIn)) then Exit;
Wait(1000);
if (DTMRotated(GrassDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 50, y, 2, 2, true);
Wait(250 + random(50));
Flag;
FoundIt := 1;
end;
until (FoundIt = 1) or
(TimeFromMark(DontGoTooLong) >= 15000 + random(5550));
if (TimeFromMark(DontGoTooLong) >= 15000 + random(5550)) then Logout;
FreeDTM(GrassDTM);
FoundIt := 0;
end;
procedure WalkToStore;
var
Tries: integer;
begin
if (not(LoggedIn)) then Exit;
if (not(FindSymbol(x, y, 'store'))) then
begin
Tries := 0;
repeat
if (not(LoggedIn)) then Exit;
Wait(500 + random(500));
if (Tries = 30) then
begin
WriteLn('Could not find store!');
Logout;
Break;
end;
Tries := Tries + 1;
until (FindSymbol(x, y, 'store'));
end;
Mouse(x, y, 2, 2, True);
Flag;
Wait(550 + random(250));
FindNormalRandoms;
end;
{******************************************************************************
Randoms, Antiban, & Deathwalk procedures
******************************************************************************}
procedure AntiBan;
begin
if (not(LoggedIn)) then Exit;
case random(40) of
0: RandomRClick;
1: PickUpMouse;
2: HoverSkill('woodcutting', false);
3: BoredHuman;
4: RandomMovement;
5: SetRun(True);
6: SetRun(False);
7: HoverSkill('attack', false);
8: HoverSkill('mining', false);
9: GameTab(2+random(5));
end;
end;
function FailSafeRadialWalk(rad1, rad2, extend, roadtype: integer): boolean;
var
searchtime: integer;
begin
MarkTime(searchtime);
if (not(RadialWalk(roadtype, rad1, rad2, extend, 0, 0))) then
begin
repeat
rad1 := rad1 - 3;
rad2 := rad2 + 3;
if (TimeFromMark(searchtime) >= 15000 + random(5550)) then
begin
WriteLn('Player got lost... bummer');
Logout;
Break;
end;
until (RadialWalk(roadtype, rad1, rad2, extend, 0, 0));
end;
Flag;
Wait(550 + random(250)); //Just to be safe!
Result := true;
end;
function FindPlayerDead: boolean;
var
nux, nuy: integer;
begin
if (FindSymbol(nux, nuy, 'quest')) then
begin
Result := true;
end;
end;
procedure DeathWalk;
begin
SetAngle(True);
MakeCompass('N');
FailSafeRadialWalk(80, 100, 70, FindLumbyRoadColor);
FailSafeRadialWalk(310, 345, 70, FindLumbyRoadColor);
WalkToStore;
WalkToTrees;
end;
procedure LevelUp;
begin
if (not(LoggedIn)) then Exit;
if (FindNPCChatText('ongratulations', nothing)) then
begin
FindNPCChatText('lick here', ClickLeft);
levelsgained := levelsgained + 1;
end;
end;
procedure Randoms;
begin
if (not(LoggedIn)) then Exit;
if (FindPlayerDead) then DeathWalk;
FindNormalRandoms;
AntiBan;
LevelUp;
FindBirdsNest;
end;
{******************************************************************************
Chop procedure
******************************************************************************}
procedure Chop;
var
TPA: TPointArray;
TDPA: T2DPointArray;
I, H, Tries: Integer;
begin
if (not(LoggedIn)) then Exit;
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 1060136, MSX1, MSY1, MSX2, MSY2, 2);
TDPA := TPAtoATPAEx(TPA, 30, 50);
SortATPAFromFirstPoint(TDPA, Point(MSCX, MSCY));
H := High(TDPA);
for i := 0 to H do
begin
MiddleTPAEx(TDPA[i], x, y);
MMouse(x, y, 2, 2);
if (isUpText('ree')) then
begin
GetMousePos(x, y);
if (not(FindEnt(x, y, false))) then
begin
Mouse(x, y, 0, 0, True);
Flag;
Wait((ChopWait / 2) + random(550));
Randoms;
Wait((ChopWait / 2) + random(550));
Randoms;
end;
end else
begin
Wait((ChopWait / 2) + random(550));
Randoms;
Wait((ChopWait / 2) + random(550));
Randoms;
Tries := Tries + 1;
if (Tries >= 2) then
begin
Cast('1');
Wait(16000 + random(3500));
DeathWalk;
Tries := 0;
end;
end;
end;
end;
{******************************************************************************
Find shop trader and sell procedures
******************************************************************************}
procedure FindShopTrader;
begin
if (not(LoggedIn)) then Exit;
repeat
if (not(LoggedIn)) then Exit;
if (FindObjTPA(x, y, 3750974, 4, -1, 5, 5, 6, ['hop'])) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('rade');
Flag;
Wait(1550 + random(550));
end;
until (FindDTM(CloseDTM, x, y, MSX1, MSY1, MSX2, MSY2));
end;
procedure Sell;
begin
if (not(LoggedIn)) then Exit;
repeat
if (not(LoggedIn)) then Exit;
if (FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 2, 2, false);
Wait(200 + random(95));
case random(4) of
0: ChooseOption('Sell 10');
1: ChooseOption('Sell 5');
2: ChooseOption('Sell 1');
3: ChooseOption('Sell 50');
end;
Wait(800 + random(550));
end;
until (not(FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2)));
repeat
if (not(LoggedIn)) then Exit;
if (FindDTM(CloseDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 1, 1, True);
end;
until (not(FindDTM(CloseDTM, x, y, MSX1, MSY1, MSX2, MSY2)));
loadsdone := loadsdone + 1;
end;
{******************************************************************************
Sig and Proggy procedures
******************************************************************************}
procedure Proggy;
begin
WriteLn('(____________[B2C] LumbyNewbie V1.0_____________)');
WriteLn(' ');
WriteLn(' Ran for: ' + TimeRunning);
WriteLn(' Loads done: ' + IntToStr(loadsdone));
WriteLn(' Levels gained: ' + IntToStr(levelsgained));
WriteLn(' ');
WriteLn(' Post this progress report at: ');
WriteLn(' srl-forums.com/forum/b2c-lumbynewbie-t38192.html');
WriteLn(' ');
WriteLn('(_______________________________________________)');
end;
procedure Sig;
begin
ChangeReportWidth(220);
Status('Starting up...');
WriteLn(' __________________ ');
Wait(250);
WriteLn(' | | __ ');
Wait(250);
WriteLn(' |______ _____| |__| ');
Wait(250);
WriteLn(' | |__ _______ __ _____ _________ ');
Wait(250);
WriteLn(' | | |/__\ \ \ / / |/ ______/ ');
Wait(250);
WriteLn(' | | / ___ \ \ / /| | \______ ');
Wait(250);
WriteLn(' | | | | | \ \/ / | |\_____ \ ');
Wait(250);
WriteLn(' | | | |___| \ / | |______/ / ');
Wait(250);
WriteLn(' |_____|__|________/\__\__/ |__|\_______/ ');
Wait(250);
WriteLn(' [B2C] LumbyNewbie | Version V1.0 ');
Wait(3000);
end;
{******************************************************************************
Setup and Main loop procedures
******************************************************************************}
begin
SetupSRL;
Sig;
SmartSetup('world15', False, True, False);
Wait(1000);
SetTargetDC(SmartGetDC);
SymbolAccuracy := 0.4;
DeclarePlayers;
LoginPlayer;
LoadDTMs;
repeat
if (not(LoggedIn)) then NextPlayer(LoggedIn);
SetAngle(True);
MakeCompass('N');
repeat
Chop;
until (InvFull);
WalkToStore;
FindShopTrader;
Sell;
WalkToTrees;
Proggy;
until (false);
end.
RadialWalk to Draynor from Lumby
program LumbyToDraynorDeathWalk;
{.include srl/srl.scar}
function FailSafeRadialWalk(rad1, rad2, extend, roadtype: integer): boolean;
var
searchtime: integer;
begin
MarkTime(searchtime);
if (not(RadialWalk(roadtype, rad1, rad2, extend, 0, 0)) then
begin
repeat
rad1 := rad1 - 3;
rad2 := rad2 + 3;
WriteLn('Increading the radius');
Status('Increading the radius');
if (TimeFromMark(searchtime) >= 20000 + random(5550)) then
begin
WriteLn('Player got lost... bummer');
Status('Player got lost... bummer');
//Logout; You can change to whatever exit procedures you like
Break;
end;
until (RadialWalk(roadtype, rad1, rad2, extend, 0, 0));
end;
FFlag(0);
Wait(550 + random(250)); //Just to be safe!
Result := true;
end;
procedure Walk;
var
x, y, tries: integer;
begin
SetAngle(True);
MakeCompass('N');
SymbolAccuracy := 0.7;
FailSafeRadialWalk(74, 90, 70, FindLumbyRoadColor);
FailSafeRadialWalk(307, 332, 70, FindLumbyRoadColor);
FailSafeRadialWalk(341, 342, 70, FindLumbyRoadColor);
FailSafeRadialWalk(320, 359, 70, FindLumbyRoadColor);
FailSafeRadialWalk(340, 370, 70, FindLumbyRoadColor);
FailSafeRadialWalk(290, 230, 70, FindLumbyRoadColor);
FailSafeRadialWalk(295, 260, 70, FindLumbyRoadColor);
FailSafeRadialWalk(240, 302, 70, FindLumbyRoadColor);
FailSafeRadialWalk(300, 260, 70, FindLumbyRoadColor);
FailSafeRadialWalk(270, 230, 55, FindLumbyRoadColor);
FailSafeRadialWalk(285, 240, 70, FindRoadColor);
FailSafeRadialWalk(240, 200, 70, FindRoadColor);
FailSafeRadialWalk(190, 166, 70, FindRoadColor);
FailSafeRadialWalk(190, 150, 70, FindRoadColor);
FailSafeRadialWalk(240, 180, 40, FindRoadColor);
if (not(FindSymbol(x, y, 'bank'))) then
begin
Tries := 0;
repeat
Wait(500 + random(500));
if (Tries = 30) then
begin
WriteLn('Could not find bank sybmol. Add logout here!');
end;
Tries := Tries + 1;
until (FindSymbol(x, y, 'bank'));
end;
Mouse(x, y, 2, 2, True);
end;
begin
SetupSRL;
ActivateClient;
Walk;
end.
Rune Mysteries Quest Runner (reflection)
{
[-]--------------------------------------------------------------------------[+]
[-]--------------------------------------------------------------------------[+]
[-] [B2C][REFLECTION] RMQR V0.1 [+]
[-] by Born2Code AKA Travis V10 [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Description/Startup Info [+]
[-]--------------------------------------------------------------------------[+]
[-] Simple, runs Rune Mysteries Quest so you can mine ess or rc [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Features [+]
[-]--------------------------------------------------------------------------[+]
[-]~AntiBan [+]
[-]~AntiRandoms [+]
[-]~FailSafes [+]
[-]~Reflection Walking & SMART [+]
[-]~Will make sure you have completed a step! [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Coming Updates! [+]
[-]--------------------------------------------------------------------------[+]
[-]~Faster walking and more routes [+]
[-]~More after you complete options [+]
[-]~More failsafes [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Versions [+]
[-]--------------------------------------------------------------------------[+]
[-]~V0.1 First Release! - [+]
[-] Good. Basics are done [+]
[-]--------------------------------------------------------------------------[+]
[-]--------------------------------------------------------------------------[+]
}
program RMQR;
{.Include SRL\SRL\Misc\Smart.Scar}
{.Include SRL\SRL.Scar}
{.Include SRL\SRL\reflection\reflection.Scar}
{.include SRL/SRL/Skill/Magic.Scar}
const
DisguiseText = '[B2C][REFLECTION]RMQR';
var
x, y, ATDTM: integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
end;
{*******************************************************************************
AntiRandoms & AntiBan
*******************************************************************************}
procedure AntiBan;
begin
case Random(300) of
0: RandomRClick;
1: HoverSkill('Runecrafting', false);
2: HoverSkill('Mining', false);
3: PickUpMouse;
4: BoredHuman;
5: RandomMovement;
6: HoverSkill('Attack', false);
7: GameTab(1 + random(12));
end;
end;
procedure Randoms;
begin
AntiBan;
FindTalk;
FindNormalRandoms;
FindLamp('Mining');
FindNonInventoryRandoms;
end;
{*******************************************************************************
Load paths and walk functions
*******************************************************************************}
function LumbyToLadder: TPointArray;
begin
SetLength(Result, 4);
Result[0] := Point(3222, 3217);
Result[1] := Point(3215, 3217);
Result[2] := Point(3214, 3226);
Result[3] := Point(3207, 3226);
end;
function LumbyToTower: TPointArray;
begin
SetLength(Result, 70);
Result[0] := Point(3214, 3226);
Result[1] := Point(3215, 3219);
Result[2] := Point(3221, 3217);
Result[3] := Point(3226, 3217);
Result[4] := Point(3231, 3217);
Result[5] := Point(3235, 3219);
Result[6] := Point(3235, 3224);
Result[7] := Point(3232, 3228);
Result[8] := Point(3228, 3232);
Result[9] := Point(3225, 3235);
Result[10] := Point(3223, 3238);
Result[11] := Point(3222, 3241);
Result[12] := Point(3220, 3246);
Result[13] := Point(3219, 3250);
Result[14] := Point(3218, 3255);
Result[15] := Point(3217, 3259);
Result[16] := Point(3217, 3263);
Result[17] := Point(3217, 3267);
Result[18] := Point(3216, 3271);
Result[19] := Point(3213, 3277);
Result[20] := Point(3209, 3279);
Result[21] := Point(3204, 3279);
Result[22] := Point(3197, 3278);
Result[23] := Point(3193, 3280);
Result[24] := Point(3186, 3281);
Result[25] := Point(3184, 3284);
Result[26] := Point(3179, 3286);
Result[27] := Point(3175, 3286);
Result[28] := Point(3169, 3286);
Result[29] := Point(3164, 3287);
Result[30] := Point(3160, 3288);
Result[31] := Point(3155, 3291);
Result[32] := Point(3151, 3293);
Result[33] := Point(3146, 3294);
Result[34] := Point(3141, 3294);
Result[35] := Point(3135, 3293);
Result[36] := Point(3131, 3295);
Result[37] := Point(3125, 3296);
Result[38] := Point(3120, 3296);
Result[39] := Point(3115, 3294);
Result[40] := Point(3110, 3293);
Result[41] := Point(3110, 3290);
Result[42] := Point(3109, 3287);
Result[43] := Point(3108, 3284);
Result[44] := Point(3106, 3278);
Result[45] := Point(3105, 3275);
Result[46] := Point(3105, 3270);
Result[47] := Point(3104, 3266);
Result[48] := Point(3104, 3258);
Result[49] := Point(3104, 3252);
Result[50] := Point(3104, 3248);
Result[51] := Point(3104, 3244);
Result[52] := Point(3105, 3241);
Result[53] := Point(3105, 3234);
Result[54] := Point(3107, 3232);
Result[55] := Point(3110, 3228);
Result[56] := Point(3110, 3226);
Result[57] := Point(3110, 3221);
Result[58] := Point(3115, 3216);
Result[59] := Point(3118, 3212);
Result[60] := Point(3115, 3208);
Result[61] := Point(3114, 3202);
Result[62] := Point(3113, 3197);
Result[63] := Point(3112, 3189);
Result[64] := Point(3112, 3184);
Result[65] := Point(3113, 3180);
Result[66] := Point(3113, 3176);
Result[67] := Point(3113, 3171);
Result[68] := Point(3111, 3167);
Result[69] := Point(3108, 3166);
end;
function LumbyToVarrock: TPointArray;
begin
SetLength(Result, 65);
Result[0] := Point(3224, 3218);
Result[1] := Point(3228, 3217);
Result[2] := Point(3233, 3217);
Result[3] := Point(3237, 3219);
Result[4] := Point(3237, 3223);
Result[5] := Point(3243, 3224);
Result[6] := Point(3248, 3224);
Result[7] := Point(3253, 3224);
Result[8] := Point(3258, 3227);
Result[9] := Point(3260, 3232);
Result[10] := Point(3260, 3235);
Result[11] := Point(3260, 3239);
Result[12] := Point(3259, 3242);
Result[13] := Point(3255, 3247);
Result[14] := Point(3252, 3252);
Result[15] := Point(3249, 3257);
Result[16] := Point(3247, 3262);
Result[17] := Point(3244, 3267);
Result[18] := Point(3242, 3271);
Result[19] := Point(3240, 3277);
Result[20] := Point(3239, 3282);
Result[21] := Point(3240, 3290);
Result[22] := Point(3239, 3294);
Result[23] := Point(3239, 3300);
Result[24] := Point(3241, 3305);
Result[25] := Point(3244, 3310);
Result[26] := Point(3249, 3314);
Result[27] := Point(3251, 3316);
Result[28] := Point(3254, 3320);
Result[29] := Point(3260, 3322);
Result[30] := Point(3265, 3324);
Result[31] := Point(3268, 3328);
Result[32] := Point(3274, 3331);
Result[33] := Point(3280, 3332);
Result[34] := Point(3283, 3332);
Result[35] := Point(3289, 3332);
Result[36] := Point(3294, 3334);
Result[37] := Point(3299, 3334);
Result[38] := Point(3303, 3338);
Result[39] := Point(3301, 3343);
Result[40] := Point(3301, 3349);
Result[41] := Point(3300, 3356);
Result[42] := Point(3297, 3361);
Result[43] := Point(3294, 3366);
Result[44] := Point(3297, 3370);
Result[45] := Point(3298, 3376);
Result[46] := Point(3295, 3379);
Result[47] := Point(3293, 3386);
Result[48] := Point(3293, 3391);
Result[49] := Point(3292, 3397);
Result[50] := Point(3292, 3402);
Result[51] := Point(3291, 3406);
Result[52] := Point(3288, 3410);
Result[53] := Point(3287, 3415);
Result[54] := Point(3288, 3419);
Result[55] := Point(3285, 3423);
Result[56] := Point(3280, 3427);
Result[57] := Point(3273, 3427);
Result[58] := Point(3268, 3427);
Result[59] := Point(3265, 3422);
Result[60] := Point(3265, 3419);
Result[61] := Point(3264, 3414);
Result[62] := Point(3262, 3408);
Result[63] := Point(3259, 3405);
Result[64] := Point(3254, 3400);
end;
function VarrockToLumby: TPointArray;
begin
SetLength(Result, 56);
Result[0] := Point(3258, 3402);
Result[1] := Point(3259, 3407);
Result[2] := Point(3261, 3414);
Result[3] := Point(3265, 3416);
Result[4] := Point(3266, 3421);
Result[5] := Point(3268, 3427);
Result[6] := Point(3275, 3428);
Result[7] := Point(3282, 3427);
Result[8] := Point(3286, 3421);
Result[9] := Point(3287, 3415);
Result[10] := Point(3288, 3409);
Result[11] := Point(3292, 3405);
Result[12] := Point(3292, 3400);
Result[13] := Point(3293, 3392);
Result[14] := Point(3293, 3385);
Result[15] := Point(3295, 3380);
Result[16] := Point(3298, 3377);
Result[17] := Point(3296, 3369);
Result[18] := Point(3296, 3362);
Result[19] := Point(3299, 3357);
Result[20] := Point(3303, 3356);
Result[21] := Point(3305, 3351);
Result[22] := Point(3300, 3348);
Result[23] := Point(3302, 3342);
Result[24] := Point(3303, 3336);
Result[25] := Point(3298, 3333);
Result[26] := Point(3292, 3333);
Result[27] := Point(3286, 3332);
Result[28] := Point(3278, 3331);
Result[29] := Point(3272, 3331);
Result[30] := Point(3267, 3325);
Result[31] := Point(3262, 3323);
Result[32] := Point(3255, 3322);
Result[33] := Point(3251, 3317);
Result[34] := Point(3248, 3313);
Result[35] := Point(3242, 3309);
Result[36] := Point(3238, 3302);
Result[37] := Point(3238, 3294);
Result[38] := Point(3239, 3287);
Result[39] := Point(3240, 3279);
Result[40] := Point(3242, 3274);
Result[41] := Point(3246, 3267);
Result[42] := Point(3249, 3263);
Result[43] := Point(3251, 3257);
Result[44] := Point(3253, 3250);
Result[45] := Point(3258, 3245);
Result[46] := Point(3259, 3239);
Result[47] := Point(3260, 3232);
Result[48] := Point(3259, 3226);
Result[49] := Point(3254, 3225);
Result[50] := Point(3248, 3224);
Result[51] := Point(3241, 3224);
Result[52] := Point(3237, 3224);
Result[53] := Point(3234, 3218);
Result[54] := Point(3228, 3217);
Result[55] := Point(3220, 3217);
end;
function PathWalk(Path: array of TPoint; Tol, FlagD: integer): Boolean;
var
Count : integer;
begin
Count := 0;
repeat
Result := WalkToTile(Path[Count], Tol, FlagD);
if (not(Result)) then
begin
WriteLn('Path walk failed');
Exit;
end;
Count := Count + 1;
until (not(Result)) or (Count = GetArrayLength(Path))
end;
{*******************************************************************************
Main procedures
*******************************************************************************}
procedure ClimbLumby;
var
Pass: integer;
begin
SetAngle(True);
MakeCompass('N');
SetRun(True);
PathWalk(LumbyToLadder, 0, 0);
Randoms;
Pass := 0;
repeat
if (FindObj(x, y, 'limb', 6317928, 3)) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('limb');
Wait(1000 +random(400));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(1550 + random(450));
WalkToTile(Point(3207, 3221), 1, 0);
Wait(650 + random(450));
SetAngle(False);
MakeCompass('E');
repeat
if (FindObj(x, y, 'oor', 3622225, 3)) then
begin
if isUpText('pen') then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Open');
Flag;
Wait(1800 + random(400));
end;
Wait(550 + random(450));
FindSymbol(x, y, 'Quest');
Mouse(x, y, 3, 3, true);
Flag;
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
end;
procedure ClimbLumbyQuestDraynorCenter;
var
Pass: integer;
begin
ClimbLumby;
Randoms;
SetAngle(True);
MakeCompass('N');
repeat
if FindObj(x, y, 'uke', 1586757, 3) then
begin
repeat
Mouse(x, y, 1, 1, false);
ChooseOption('alk-to');
Flag;
Wait(2800 + random(500));
until(FindNPCChatText('eetings', nothing));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(550 + random(550));
FindNPCChatText('lick', ClickLeft);
Wait(550 + random(200));
FindNPCChatText('me', ClickLeft);
Wait(650 + random(200));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(900));
FindNPCChatText('lick here', ClickLeft);
Wait(350 + random(400));
FindNPCChatText('lick here', ClickLeft);
Wait(250 + random(200));
FindNPCChatText('lick here', ClickLeft);
Wait(450 + random(200));
FindNPCChatText('oblem', ClickLeft);
Wait(550 + random(200));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(200));
FindNPCChatText('lick here', ClickLeft);
Wait(250 + random(200));
FindNPCChatText('lick here', ClickLeft);
Wait(350 + random(500));
GameTab(4);
repeat
if FindDTM(ATDTM, x, y, 553, 209, 726, 458) then
begin
WriteLn('Found Air Talisman!');
Pass := 1;
end;
until(Pass = 1);
repeat
if FindObj(x, y, 'oor', 5532284, 2) then
begin
Mouse(x, y, 1, 1, false);
ChooseOption('Open');
Flag;
Wait(800 + random(400));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
WalkToTile(Point(3206, 3227), 1, 0);
Wait(1550 + random(250));
repeat
if FindObj(x, y, 'limb', 8291976, 3) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('limb-down');
Wait(1000 +random(400));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
SetRun(true);
PathWalk(LumbyToTower, 1, 0);
Randoms;
end;
procedure ClimbWizzy;
var
Pass: integer;
begin
SetAngle(false);
MakeCompass('N');
Pass := 0;
repeat
if FindObjTPA(x, y, 3363948, 7, -1, 6, 6, 12, ['oor']) then
begin
if isUpText('pen') then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Open');
Flag;
Wait(1800 + random(400));
end;
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
WalkToTile(Point(3108, 3161), 0, 0);
Wait(1550 + random(250));
MakeCompass('W');
Wait(550 + random(250));
repeat
if FindObjTPA(x, y, 3363948, 7, -1, 6, 6, 12, ['oor']) then
begin
if isUpText('pen') then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Open');
Flag;
Wait(1800 + random(400));
end;
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
SetAngle(true);
WalkToTile(Point(3104, 3159), 0, 0);
Wait(550 + random(550));
repeat
if (FindObj(x, y, 'adder', 2311774, 3)) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Climb-down');
Flag;
Wait(800 + random(400));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(880 + random(250));
WalkToTile(Point(3108, 9571), 1, 0);
repeat
if (FindObj(x, y, 'arge door', 2244683, 2)) then
begin
if (isUpText('pen')) then
begin
Mouse(x, y, 1, 1, false);
ChooseOption('Open');
Flag;
Wait(1800 + random(400));
end;
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
end;
procedure ClimbWizTowerP2;
var
Pass: integer;
begin
ClimbWizzy;
Randoms;
repeat
if FindObj(x, y, 'edridor', 13535515, 5) then
begin
repeat
Mouse(x, y, 1, 1, false);
ChooseOption('alk-to');
Flag;
Wait(1200 + random(500));
until(FindNPCChatText('elcome', nothing));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('head wizard', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('here you are', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('es', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Randoms;
end;
procedure ToVarrockAlmostDone;
var
Pass: integer;
begin
GameTab(7);
Cast('Home Teleport');
Randoms;
Wait(15500 + random(2450));
Randoms;
PathWalk(LumbyToVarrock, 1, 2);
Randoms;
Pass := 0;
repeat
if (FindObj(x, y, 'ubury', 1808866, 5)) then
begin
repeat
Mouse(x, y, 1, 1, false);
ChooseOption('alk-to');
Flag;
Wait(1200 + random(500));
until(FindNPCChatText('ant to', nothing));
Pass := 1;
end;
until (Pass = 1);
Pass := 0;
Randoms;
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('been sent', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
repeat
if (FindObj(x, y, 'ubury', 1808866, 5)) then
begin
repeat
Mouse(x, y, 1, 1, false);
ChooseOption('alk-to');
Flag;
Wait(1200 + random(500));
until(FindNPCChatText('adven', nothing));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Randoms;
end;
procedure ToLumbyFinished;
var
Pass: integer;
begin
PathWalk(VarrockToLumby, 0, 0);
Randoms;
SetRun(true);
PathWalk(LumbyToTower, 1, 0);
Randoms;
ClimbWizzy;
Randoms;
repeat
if FindObj(x, y, 'edridor', 13535515, 5) then
begin
repeat
Mouse(x, y, 1, 1, false);
ChooseOption('alk-to');
Flag;
Wait(1200 + random(500));
until(FindNPCChatText('elcome', nothing));
Pass := 1;
end;
until(Pass = 1);
Pass := 0;
Randoms;
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
Wait(550 + random(550));
FindNPCChatText('lick here', ClickLeft);
if (IsChatBlackTextAnyLine('omplete')) then
begin
Writeln('The quest has been completed.');
end;
Randoms;
end;
{*******************************************************************************
Sig, DTMs & Loops
*******************************************************************************}
procedure LoadDTMs;
begin
ATDTM := DTMFromString('78DA63E4646060E06640038C482490E60012C' +
'204D4B0010939026AB880842C0135BC40428A801A4120214E408D' +
'28901024A006E42766026A5881040F1176A1A9111311415103000' +
'88A0193');
end;
procedure Signature;
begin
ChangeReportWidth(220);
Status('Starting Up...');
WriteLn(' __________________ ');
Wait(250);
WriteLn(' | | __ ');
Wait(250);
WriteLn(' |______ _____| |__| ');
Wait(250);
WriteLn(' | |__ _______ __ _____ _________ ');
Wait(250);
WriteLn(' | | |/__\ \ \ / / |/ ______/ ');
Wait(250);
WriteLn(' | | / ___ \ \ / /| | \______ ');
Wait(250);
WriteLn(' | | | | | \ \/ / | |\_____ \ ');
Wait(250);
WriteLn(' | | | |___| \ / | |______/ / ');
Wait(250);
WriteLn(' |_____|__|________/\__\__/ |__|\_______/ ');
Wait(250);
WriteLn(' [B2C][REFLECTION] RMQR | Version V0.1 ');
Wait(3000);
end;
procedure MainLoop;
begin
LoginPlayer;
ClimbLumbyQuestDraynorCenter;
ClimbWizTowerP2;
ToVarrockAlmostDone;
ToLumbyFinished;
end;
begin
SetupSRL;
LoadDTMs;
Disguise(DisguiseText);
Signature;
SymbolAccuracy := 0.6;
SmartSetup('world14', False, True, False);
Wait(1000);
SetTargetDC(SmartGetDC);
DeclarePlayers;
MainLoop;
end.OUTDATED SpoonDynamite- Account creator/tut island runner, deathwalk to draynor through forest, chops all the way to yews!
(all 3 parts in 1 scar tag!)
var
CurrentCuttingTime, Loads, TLoads, WalkToBit, WalkToBit2, WalkToBit3, WalkBank, Ents, AutoRespondCount,
TreeBitmap, TreeBitmapAuto, PlayerTime, TreeCount, OakCount, WillowCount, YewCount, x, y: Integer;
TypeTree: string;
const
TreeColor = 662038; //Normal Tree Color
OakColor = 1191727; //Oak Tree Color
WillowColor = 1582886; //Willow Tree Color
YewColor = 857879; //Yew Tree Color
{...><> Sig and Proggie Procedures <><...}
procedure Signature;
begin
ChangeReportWidth(220);
Status('Starting Up...');
WriteLn(' __________________ ');
Wait(250);
WriteLn(' | | __ ');
Wait(250);
WriteLn(' |______ _____| |__| ');
Wait(250);
WriteLn(' | |__ _______ __ _____ _________ ');
Wait(250);
WriteLn(' | | |/__\ \ \ / / |/ ______/ ');
Wait(250);
WriteLn(' | | / ___ \ \ / /| | \______ ');
Wait(250);
WriteLn(' | | | | | \ \/ / | |\_____ \ ');
Wait(250);
WriteLn(' | | | |___| \ / | |______/ / ');
Wait(250);
WriteLn(' |_____|__|________/\__\__/ |__|\_______/ ');
Wait(250);
WriteLn(' SpoonDynamite | Version V0.1 ');
Wait(3000);
end;
procedure Proggie;
begin
Writeln('//==================Progress Report==================\\');
Writeln('Thank you for using SpoonDynamite!');
Writeln('Cut approx. ' + IntToStr(TLoads*27) + ' logs!');
Writeln('Walked to Yew Tree ' + IntToStr(YewCount) + ' times!');
Writeln('Walked to Willow Tree ' + IntToStr(WillowCount) + ' times!');
Writeln('Walked to Oak Tree ' + IntToStr(OakCount) + ' times!');
Writeln('Walked to Normal Tree ' + IntToStr(TreeCount) + ' times!');
Writeln('Auto Responded ' + IntToStr(AutoRespondCount) + ' times!');
Writeln('ENTs avoided ' + IntToStr(Ents) + '!');
Writeln('Please post this proggie at http://srl-forums.com!');
Writeln('\\=================End Progress Report================//');
Writeln('Script by: Travis AKA born2code!');
end;
{...><> Randoms Procedures <><...}
function FindFastRandoms: Boolean; //By WT-Fakawi.
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: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;
procedure Randoms;
begin
FindNormalRandoms;
FindFastRandoms;
if (FindFight) then
begin
Status('Running...');
RunAwayDirection('N');
Wait(8500 + random(3500));
RunBack;
end;
end;
{...><> Fix Client Procedure <><...}
procedure FixClient;
begin
if(not(LoggedIn)) then Exit;
SetChat('on', 1);
SetChat('off', 2);
SetChat('off', 3);
SetChat('off', 4);
HighestAngle;
MakeCompass('N');
end;
{...><> Banking Procedures <><...}
procedure Bank;
begin
if(not(LoggedIn)) then Exit;
FFlag(0);
Writeln('Banking');
Repeat
OpenBankFast('db');
Until(BankScreen);
FFlag(0);
wait(500 + random(500));
if PinScreen then
begin
InPin(IntToStr(Players[CurrentPlayer].Integers[2]));
end;
FixBank;
Deposit(2, 28, 2);
CloseBank;
FixClient;
Loads := Loads + 1;
Players[CurrentPlayer].Loc := 'bank';
Loads := Loads + 1
Tloads := Tloads + 1
Proggie;
end;
{...><> Chopping Procedures <><...}
procedure DecideWhatToChop;
var
LVL: integer;
begin
LVL := GetSkillLevel('woodcutting');
if (LVL >= 1) then
begin
TypeTree := 'Tree';
end;
if (LVL >= 15) then
begin
TypeTree := 'Oak';
end;
if (LVL >= 30) then
begin
TypeTree := 'Willow';
end;
if (LVL >= 60) then
begin
TypeTree := 'Yew';
end;
end;
function ChopAnyTree(Color, WaitTreeA, WaitTreeB: integer; Text: String): boolean;
var
a: integer;
begin
if(not(LoggedIn)) then Exit;
FixClient;
Randoms;
if (FindObj(x, y, Text, Color, 5)) then
begin
Result := True;
MMouse(x, y, 2, 2);
//ent procedures here
case Random(7) of
0, 1, 2, 3, 4, 5: begin
Mouse(x, y, 2, 2, true);
end;
6: begin
Mouse(x, y, 2, 2, false);
ChooseOption('hop');
end;
end;
Players[CurrentPlayer].Loc := 'tree';
repeat
a := a + 1;
Wait(WaitTreeB+random(270));
Randoms;
until(InvFull) or (a = WaitTreeA);
end;
end;
procedure SpecialYew;
begin
if (FindSymbol(x, y, 'rare trees')) then
begin
ChopAnyTree(YewColor, 10, 2550, 'ew');
end;
if (not(FindSymbol(x, y, 'rare trees'))) then
begin
WriteLn('Could not find Yews. Now lost!');
end;
end;
procedure Chop;
begin
if(not(LoggedIn)) then Exit;
case TypeTree of
'Tree': ChopAnyTree(TreeColor, 2, 3800, 'ree');
'Oak': ChopAnyTree(OakColor, 6, 3700, 'ak');
'Willow': ChopAnyTree(WillowColor, 4, 2000, 'illow');
'Yew': SpecialYew;
end;
end;
function TravSymbol(SymbolName: string): boolean;
begin
if(not(LoggedIn)) then Exit;
if (FindSymbol(x,y,SymbolName)) then
begin
Mouse(x, y, 4, 2, true);
Wait(550+random(550));
FFlag(2+random(7));
Result := True;
end;
end;
{...><> Walking and Figuiring Procedure <><...}
procedure WalkingBitmaps;
begin
TreeBitmap := BitmapFromString2(False, 'a7E6DE78DABD93410EC' +
'3200C04BF640CD8E25808F9FF936A43894009519BB4E5305A2D66' +
'040700DACA24F0C10939A090A2DFE8A8346BD0DD5866ECA20D1BC' +
'DAC028C9A2D92CDF48038703DA683090D0548F55E331BAE04C655' +
'DEB121B905726FAB7CC726994BC39B67627B3975320D44656F1B3' +
'CE7CED25FB4F5CE2E9FDB764C9E31C8B16CBDB107AF9BD91C7969' +
'F6AC9ECAD94C23FDD9F6097F6563F987CB4DDA66FBEE7A02E46');
end;
{...><> Amazing Death Walk Procedure DO NOT COPY! ASK MY PERMISSION <><...}
//by born2code
procedure TeleportToLumby;
begin
Cast('Home Teleport');
Wait(20000+random(3000));
end;
procedure DeathWalk;
var
Grass1, Grass1A, Dirt1A, Dirt2A, Dirt2, Dirt3, Dirt3A, T: integer;
begin
if(not(LoggedIn)) then Exit;
RoadColor := FindRoadColor;
Grass1 := BitmapFromString2(False, 'a50D3478DA333080010B472' +
'061E2640E24CD2D8D80A499B92188ED680C278D4D402206C6A660' +
'D2D5D4D0DCC0D01100B75');
Dirt2 := BitmapFromString2(False, 'a30FA278DA33308001736320' +
'6162610224CDDC2C4102964620D20924626C0A621B983982553A9' +
'B981A1B199A639200646');
Dirt3 := BitmapFromString2(False, 'aE0FB478DA33308001736320' +
'6162610224CDDC2C4102964620D20924626C069235307304AB743' +
'6B1343630B4C42401657');
SymbolAccuracy := 0.3;
if (FindSymbol(x,y,'water')) then
begin
SymbolAccuracy := 0.4;
RoadColor := FindRoadColor;
RadialWalk(RoadColor,80,90,60,2,2);
FFlag(0);
RadialWalk(RoadColor,320,330,70,2,2);
FFlag(0);
SymbolAccuracy := 0.6;
repeat
RadialWalk(RoadColor,305,325,55,2,2);
FFlag(0);
until(FindSymbol(x, y, 'store'));
TravSymbol('store');
MouseBox(575, 77,597, 100, true);
Wait(8000+random(3550));
FFlag(0);
Dirt1A := AutoColorThis(Dirt3, 80, MMX1, MMY1, MMX2, MMY2);
repeat
RadialWalk(Dirt1A, 295, 250, 70, 2, 2);
FFlag(0);
until(FindSymbol(x,y,'dungeon'));
TravSymbol('dungeon');
Dirt2A := AutoColorThis(Dirt2, 80, MMX1, MMY1, MMX2, MMY2);
repeat
RadialWalk(Dirt1A, 236, 180, 70, 2, 2);
FFlag(0);
RadialWalk(Dirt2A, 250, 195, 70, 2, 2);
FFlag(0);
until(FindSymbol(x, y, 'rare trees'));
Dirt2A := AutoColorThis(Dirt2, 80, MMX1, MMY1, MMX2, MMY2);
repeat
T := T + 1;
RadialWalk(Dirt2A, 285, 250, 70, 2, 2);
FFlag(0);
Dirt3A := AutoColorThis(Dirt3, 80, MMX1, MMY1, MMX2, MMY2);
RadialWalk(Dirt3A, 225, 260, 70, 2, 2);
FFlag(0);
until(T = 3);
RoadColor := FindRoadColor;
RadialWalk(RoadColor,295,340,70,2,2);
FFlag(0);
SymbolAccuracy := 0.3;
repeat
RadialWalk(RoadColor,310,335,70,2,2);
FFlag(0);
until(FindSymbol(x, y, 'bank'));
TravSymbol('bank');
Players[CurrentPlayer].Loc := 'bank';
end else
begin
Writeln('Oops! Not in lumby!');
end;
end;
procedure WalkTree;
begin
RoadColor := FindRoadColor;
RadialWalk(RoadColor,270,330,70,2,2);
FFlag(15);
RadialWalk(RoadColor,310,350,40,2,2)
FFlag(30);
TreeBitmapAuto := AutoColorThis(TreeBitmap,75,MMX1,MMY1,MMX2,MMY2);
RadialWalk(TreeBitmapAuto,330,385,70,2,2);
TreeCount := TreeCount + 1;
end;
//TY Fourscape for Walking!
Procedure BankDTMs;
begin
WalkToBit := DTMFromString('78DA638C676260506740012A0CEC0C5C409A1' +
'188FF030123488D1AAA9A2C3B690611A81A10608CC13407434D22' +
'116AE2806A34F0AB01006D340A3E');
WalkToBit2 := DTMFromString('78DA636464666098CC80024C1938195280342' +
'310FF0702C67F4C186AE2D5381934A06A4080919999B01A06A09A' +
'4944A899825F0D0030C20B70');
WalkToBit3 := DTMFromString('78DA636C626260306040010ECCEC0C1C409A1' +
'188FF0301633DA69A440B760611A81A10606C25420DC82E4322D4' +
'E8E3570300B6030AAD');
WalkBank := DTMFromString('78DA63DCC6C4C0A0C980027881425C409A118' +
'8FF030123488D1AAA9A78356E0639A81A1000ABD126A0663BA65D' +
'186AB612560300E9920B3C');
end;
Procedure WalkOak;
Var
CC, YY : Integer;
Begin
If FindDtm(WalkToBit3, CC, YY, MMX1, MMY1, MMX2, MMY2) then
Begin
WriteLn('Found Oak using DTM #3')
Mouse(CC + 42, YY + 46, 0, 0, True)
FFlag(0);
end else
If FindDtm(WalkToBit, CC, YY, MMX1, MMY1, MMX2, MMY2) then
Begin
WriteLn('Found Oak using DTM #1')
Mouse(CC + 42, YY + 44, 0, 0, True)
FFlag(0);
end else
If FindDtm(WalkToBit2, CC, YY, MMX1, MMY1, MMX2, MMY2) then
Begin
WriteLn('Found Oak using DTM #2')
Mouse(CC + 42, YY + 44, 0, 0, True)
FFlag(0);
end else
Begin
Players[CurrentPlayer].Loc := 'lost';
WriteLn('Could not find Oak!')
LogOut;
NextPlayer(False)
end;
OakCount := OakCount + 1;
end;
procedure WalkWillow;
var
WaterColor: integer;
begin
WaterColor := FindWaterColor;
RadialWalk(WaterColor,235,160,70,2,2);
FFlag(3+random(2));
WillowCount := WillowCount + 1;
end;
procedure WalkYew;
var
Grass1, Grass1A: integer;
begin
Grass1 := BitmapFromString2(False, 'a2118A78DA333080010B472' +
'061E2640E24CD2D8D80A499B92188ED680C278D4D402206662095' +
'06E6CEC62E26CE06584800D11');
SymbolAccuracy := 0.3;
RoadColor := FindRoadColor;
RadialWalk(RoadColor,310,285,50,2,2);
FFlag(0);
RadialWalk(RoadColor,285,325,50,2,2);
FFlag(0);
Grass1A := AutoColorThis(Grass1, 80, MMX1, MMY1, MMX2, MMY2);
RadialWalk(Grass1A, 330, 360, 70, 2, 2);
FFlag(0);
RadialWalk(Grass1A, 350, 360, 25, 2, 2);
FFlag(0);
RadialWalk(RoadColor,335,370,70,2,2);
FFlag(0);
if (not(FindSymbol(x, y, 'rare trees'))) then
begin
RadialWalk(RoadColor,260,285,70,2,2);
FFlag(0);
end;
TravSymbol('rare trees');
YewCount := YewCount + 1;
end;
//Now Banking
procedure FindElBank;
Begin
TravSymbol('bank');
end;
procedure WalkTreeBank;
begin
TravSymbol('quest');
RadialRoadWalk(FindRoadColor,180,120,70,2,2);
FFlag(0);
FindElBank;
end;
procedure WalkOakBank;
begin
FindElBank;
end;
procedure WalkWillowBank;
begin
FindElBank;
end;
procedure WalkYewBank;
var
Grass1, Grass1A: integer;
begin
Grass1 := BitmapFromString2(False, 'a2118A78DA333080010B472' +
'061E2640E24CD2D8D80A499B92188ED680C278D4D402206662095' +
'06E6CEC62E26CE06584800D11');
SymbolAccuracy := 0.3;
RoadColor := FindRoadColor;
RadialWalk(RoadColor,65,100,70,2,2);
FFlag(0);
Grass1A := AutoColorThis(Grass1, 50, MMX1, MMY1, MMX2, MMY2);
RadialWalk(Grass1A, 160, 175, 70, 2, 2);
FFlag(0);
RadialWalk(RoadColor,140,170,70,2,2);
FFlag(0);
RadialWalk(RoadColor,100,140,40,2,2);
FFlag(0);
FindElBank;
end;
procedure WalkToTree;
begin
if(HowManyPlayers>3)then
begin
WriteLn('MAX 3 PLAYERS! Become a SRL Member or PM me for Multiplayer!');
TerminateScript;
end;
case TypeTree of
'Tree': WalkTree;
'Oak': WalkOak;
'Willow': WalkWillow;
'Yew': WalkYew;
end;
end;
procedure WalkToBank;
begin
case TypeTree of
'Tree': WalkTreeBank;
'Oak': WalkOakBank;
'Willow': WalkWillowBank;
'Yew': WalkYewBank;
end;
end;
p2
var
Shield,
Sword,Dagger,Hammer,BronzeB,
PAxe:integer;
tx, ty, Pot, Bucket, PlzWait, Arrow, Bow, Tin, Copper,
Dough, Accept1, MMArrow, TopMMArrow, MSArrow, TopMSArrow, Shrimp, LogDTM, TinderDTM: integer;
procedure LoadBitmaps;
begin
Arrow := DTMFromString('78DA63DCC7C4C0A0C5C8800CC24C3819FE036' +
'990E87F206004A95140550391859140FA2C116A8E00D5981350B3' +
'19A8C698809A8344D8B583B05D006F8E0C1C');
Bow := DTMFromString('78DA63746162600862644006B99EBC0CFF813' +
'448F43F10303A00D5F8A2AA81C8C248206D0254134E408D1F508D' +
'0B0135DE40357E04D4D803D584E1570300DE920950');
Shield := DTMFromString('78DA633CC8C4C0A0C3C8800C826D6519FE036' +
'990E87F2060DC0E54A386AA06220B2381F461A01A79026AB602D5' +
'181350730AA8C688809A9D4035A6F8D50000CE2D0B4A');
Sword := DTMFromString('78DA6374616260D06064400676FAB20CFF813' +
'448F43F10305A03D558A3AA81C8C24820ED0D54234B408D3B508D' +
'1A01350E40353A04D480DC6344408D13508D197E3500863D08B7');
Dagger := DTMFromString('78DA639CC5C4C0A0C6C8800CBCAD1419FE036' +
'990E87F20609C0B542387AA06220B2381F424A01A53026A7A816A' +
'2C08A8590054A34040CD44A01A6D026A40FE32C0AF0600E3F00B1' +
'8');
Hammer := DTMFromString('78DA63DCCFC4C0A0CBC8800C02CC3818FE036' +
'990E87F2060DC0B54A389AA06220B2381F431A01A75026A0E02D5' +
'C81150B30DA8C682809A9D40355604D480FC65885F0D006E330C2' +
'2');
BronzeB := DTMFromString('78DA639CCEC4C0A0C9C8800C7CAC9418FE036' +
'990E87F2060EC04AA31465503918591407A2A508D3201358B806A' +
'D409A8990554634640CD44C2E6000055930A4C');
PAxe := DTMFromString('78DA633CC0C4C0F09F0105C0B88C203610306' +
'E03AA11604455C4C0884402E9834035BF18F0AB390554C348C09C' +
'DD40357C04D46C06AAF987DF2E005E7A0CA1');
Tin := DTMFromString('78DA63CC636260D065644006DD4D8D0C46401' +
'A24FA1F081863816A0C50D540646124904E07AAB122A0A60AA846' +
'85809A0CA01A05026ACA806A4CF0AB0100F6020979');
Copper := DTMFromString('78DA6374616260D067644006D7AB4D198C803' +
'448F43F10301A03D5E8A0AA81C8C24820ED0954A340408D03508D' +
'150135B640358A04D40402D5A8E25703006EBD0862');
PlzWait := BitmapFromString(63, 2, 'z78DA33303030707373' +
'727474B27044212D1D4D2D0C0D3064A12260596412531CA708865' +
'D386DC12B82451C6217316C8A5D4EA60BF186214E1B8976272E73' +
'70B90DBFCB89F22972D862A41F9CE2148433A62CA9210F0080F3B' +
'0CA');
MMArrow := BitmapFromString(15, 14, 'z78DAEDD24B0E80200C84E' +
'12B3142425CB6E2DCFF485EC0C2E0236EECE25F7E49A129750672' +
'6707DCD97C89FACB8FC98D563DEAA7727851DC688551E56B1C384' +
'ABB5B80CE3597D9CA6F0E1A2B4CE9A57FC40BE6C0BF6D9EF8BA79' +
'00C3A2078F');
TopMMArrow := BitmapFromString(6, 5, 'z78DA737372B3343671C3' +
'4F3ABA991B3A52421A80802184C42B8B0C0C71C90200FB5828A4');
MSArrow := BitmapFromString(21, 23, 'z78DAEDD3310AC0200C85E' +
'12B456D1147A3E6FE472A38554A4B6A0D8112877FF47B0802700F' +
'35AA1838058163BAE90A7AA5929053D37FA6E7889C9ACEBAB350D' +
'E9B56FB04A7E59E9EA16FD88A742F2E0C1B905248127D740537B0' +
'DD7143A6E8FD974EB9E3BF5072E7DE61A9FB62C39DEB825B37C77' +
'15C8E7800DECE700D');
TopMSArrow := BitmapFromString(8, 5, 'z78DA737374333732721B' +
'04A40108184248A25522034362540200128F35BE');
end;
function FindMMArrow(var x, y: integer):Boolean;
var
c, tx, ty: integer;
begin
repeat
Wait(50);
c := c +1
until ((c > 50) or (FindBitmapToleranceIn(TopMMArrow, tx, ty, MMX1, MMY1, MMX2, MMY2, 10)));
if c > 50 then
begin
c := 0;
repeat
Wait(50);
c := c +1
until ((c > 50) or (FindBitmapToleranceIn(MMArrow, tx, ty, MMX1, MMY1, MMX2, MMY2, 10)));
if c > 50 then
begin
Status('Could not find the MMArrow');
Result := False;
Exit;
end
end
Result := True;
x := tx +4;
y := ty +6;
end;
function FindMSArrow(var x, y: integer):Boolean;
var
c, tx, ty: integer;
begin
repeat
Wait(50);
c := c +1
until ((c > 50) or (FindBitmapToleranceIn(TopMSArrow, tx, ty, MSX1, MSY1, MSX2, MSY2, 10)));
if c > 50 then
begin
c := 0;
repeat
Wait(50);
c := c +1
until ((c > 50) or (FindBitmapToleranceIn(MSArrow, tx, ty, MSX1, MSY1, MSX2, MSY2, 10)));
if (c > 50) then
begin
Status('Could not find the MSArrow');
Result := False;
Exit;
end
end
Result := True;
x := tx +4;
y := ty +6;
end;
function FindFastMSArrow(var x, y: integer):Boolean;
var
c, tx, ty: integer;
begin
repeat
Wait(50);
c := c +1
until ((c > 3) or (FindBitmapToleranceIn(TopMSArrow, tx, ty, MSX1, MSY1, MSX2, MSY2, 10)));
if c > 3 then
begin
c := 0;
repeat
Wait(50);
c := c +1
until ((c > 3) or (FindBitmapToleranceIn(MSArrow, tx, ty, MSX1, MSY1, MSX2, MSY2, 10)));
if c > 3 then
begin
Result := False;
Exit;
end
end
Result := True;
x := tx +4;
y := ty +6;
end;
{>> <<)
(>> Click Accept!(clothes XD) <<)
(>> <<}
procedure ClickAccept1;
var
b, a: integer;
begin
//DTMs for Accept
Accept1 := BitmapFromString2(False, 'a0ABAE78DAED953D0EC020' +
'0846AF847F684725F6FE472AB8B8591BB5699B32BC013E44C4280' +
'040F60C888AA163663A5B88B1322013B508D10551062B7E47C2BD' +
'468D9575D0176EA63239A62FA57C92DCA0C4AFB5D42A46D0B276F' +
'46946CBA26FECB4CD9EAC759A59AB5D9D290D9F2D74EC76AEF2EF' +
'F4CE4EFBEFE4F766FA9C4E57BF4834307DE8D6BCF1EF38B703920' +
'');
b := 100;
repeat
a := a + 1;
Wait(100);
until(a = b) or (FindBitmapToleranceIn(Accept1, x, y, MSX1, MSY1, MSX2, MSY2, 10));
Mouse(x, y, 2, 3, true);
end;
{>> <<)
(>> Begin Talk Procedures! <<)
(>> <<}
procedure Talk(npc, afterchat: string);
begin
repeat
if FindMSArrow(tx, ty) then
begin
Mouse(tx, ty, 2, 2, false);
Wait(150+Random(50));
ChooseOption(npc);
FFlag(0);
Wait(550+random(250));
end;
Wait(150+random(20));
until(FindNpcChatText(afterchat));
end;
procedure HandleTalk;
begin
repeat
ClickNpcChatText('Click here to continue', True);
Wait(1600+random(150));
until(not(ClickNpcChatText('Click here to continue', True)));
end;
{>> <<)
(>> Begin Some Walking Procedures! <<)
(>> <<}
procedure MSArrowRClick(option: string);
begin
repeat
if FindMSArrow(tx, ty) then
begin
Mouse(tx, ty, 3, 2, false);
Wait(150+Random(50));
ChooseOption(option);
FFlag(0);
Exit;
end;
Wait(550+random(50));
until(not(FindMSArrow(tx, ty)));
end;
procedure Search4It(TextUp, Option, After: string);
begin
repeat
if FindMSArrow(x, y) then
begin
MMouse(x, y, 0, 0);
Wait(250+random(50));
if(isUpText(TextUp))then
begin
Mouse(x, y, 0, 0, false);
Wait(250+random(50));
ChooseOption(Option);
end;
end;
Wait(3550+random(550));
until(FindNpcChatText(After));
end;
function WalkToMMArrow: Boolean;
var tx, ty: integer;
begin
Status('Walking to MM arrow');
if FindMMArrow(tx, ty) then
begin
MouseFindFlag(tx, ty, 1, 1);
FFlag(0);
Result := True;
end;
end;
{>> <<)
(>> Begin Step Procedures! <<)
(>> <<}
procedure Step1;
begin
//DTMs for Step 1
LogDTM := DTMFromString('78DA6374656260E0656440062D69760CFF813' +
'448F43F10307A03D5FC6540038C482490B66442E2E15063025423' +
'40408D17508D200135814035DC04D43811760F006029095C');
TinderDTM := DTMFromString('78DA63CC67626078CA8002929C3819FE03694' +
'620FE0F048C4540353718D000231209A413806ADE12505342849A' +
'6AA09A2744D8F598809A0CA09ADBF8D50000091F0EFC');
Shrimp := DTMFromString('78DA63DCCEC4C0F09401054C6D2C63F80FA41' +
'981F83F103082D4DC6540038C4824903E0254F381809A1340350F' +
'09A8390654739B809A6D40356FF1AB010083791076');
ClickAccept1;
HighestAngle;
MakeCompass('N');
Talk('RuneScape Guide', 'Greetings');
Wait(550+random(150));
HandleTalk;
Mouse(665,474,10,10,True);
Wait(1550+random(770));
SetRun(True);
Talk('RuneScape Guide', 'I/''m glad');
HandleTalk;
Search4It('oor', 'pen', 'Follow the path');
end;
procedure Step2;
begin
WalkToMMArrow;
Talk('Survival Expert', 'Hello there');
HandleTalk;
MouseBox(633, 174, 655, 195, true);//GT4
WalkToMMArrow;
repeat
if(FindObj(x, y, 'ree', 860958, 5)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('hop');
Wait(6550+random(1550));
end;
Wait(1550+random(550));
until(FindNpcChatText('You get some logs'));
HandleTalk;
SymbolAccuracy := 0.4;
if (FindSymbol(x,y,'fishing spot')) then
begin
Mouse(x, y, 2, 2, true);
Wait(550+random(550));
FFlag(0);
end;
repeat
if(FindDTM(LogDTM,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,True);
if(FindDTM(TinderDTM,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,3,True);
Wait(5550+random(1880));
end;
end;
Wait(1550+random(880));
until(FindNpcChatText('some experience')) or (FindNpcChatText('please wait'));
Wait(1550+random(350));
repeat
MouseBox(565, 174, 585, 195, true);//GT2
Wait(1550+random(350));
until(FindNpcChatText('Your skill'));
WalkToMMArrow;
Talk('Survival Expert', 'Well done!');
HandleTalk;
Mouse(633,173,10,10,True);
end;
procedure Step3;
var
cx, cy: integer;
begin
Shrimp := BitmapFromString(17, 3, 'z78DA7D4F410A043108FB925' +
'5A3F658EDF4FF4F9A427B1B761542089A28D1AE467FB19E9C8941' +
'914198AA0227B0AC5023CD2E56D05EE13E87750A64EB239EB32BC' +
'4BB613A950FFF85DFDC9378785FAEA8913E8D13018BE2584E29FB' +
'0A3F3327E5A2EA90BCF851BEFE57E198C1A5DBB95575389A356E3' +
'CD403F7A317CB363F8F');
WalkToMMArrow;
repeat
WalkToMMArrow;
if FindMSArrow(tx, ty) then
begin
FFlag(0);
Wait(1550+random(250));
Mouse(tx, ty, 0, 0, false);
Wait(500+Random(100));
ChooseOption('et');
Wait(6550+random(1550));
Mouse(tx, ty, 0, 0, false);
Wait(500+Random(100));
ChooseOption('et');
Wait(6550+random(1550));
end;
Wait(550+random(150));
until(FindNpcChatText('Cooking your'));
if (FindSymbol(x,y,'fishing spot')) then
begin
Mouse(x, y, 2, 2, true);
Wait(550+random(550));
FFlag(0);
end;
repeat
if(FindColorRightTol(cx, cy, 2601201, MSX1, MSY1, MSX2, MSY2, 30)) then
begin
if(FindColorRightTol(x, y, 4876191, MIX1, MIY1, MIX2, MIY2, 3))then
begin
Mouse(x, y, 2, 2, true);
Mouse(cx,cy,0,0,False);
Wait(300+Random(500));
ChooseOption('ire');
end;
end;
FFlag(0);
Wait(3550+random(1550));
until(FindNpcChatText('just cook'));
FreeBitmap(Shrimp);
end;
procedure Step4;
begin
//DTMs for Step
Pot := DTMFromString('78DA639CCCC4C020CAC8800C66A49B33FC07D' +
'220D1FF40C0D8C304E52103462412487701D50811503317D32E0C' +
'350B806A5809A8990154F39701BF1A90BFC4F19B03002A170BC0');
Bucket := DTMFromString('78DA633CC0C4C020C0C8800CE6367A32FC07D' +
'220D1FF40C0B80BA8E61F031A60442281F461A01A3146FC6A4E02' +
'D5701350B303A88697809A9D40352204D46C07AA6126A0E614500' +
'D137E350080F70DDE');
Dough := DTMFromString('78DA639CC6C4C0C0C5C8800CD6ADEB62F80FA' +
'441A2FF8180B117A8E63F031A60442281F464A09ABF04D44C00AA' +
'1162C4AFA613A88693809AF94C483C1C6A1611B60B00EA0A0D4C');
WalkToMMArrow;
Search4It('ate', 'pen', 'Follow the path');
WalkToMMArrow;
Search4It('oor', 'pen', 'Talk to the');
Talk('Master Chef', 'Ah!');
HandleTalk;
repeat
if(FindDTM(Pot,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,True);
if(FindDTM(Bucket,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,3,True);
end;
end;
Wait(1550+random(880));
until(FindNpcChatText('Now you have'));
WalkToMMArrow;
repeat
if(FindDTM(Dough,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,True);
MSArrowRClick('se');
Wait(6500+random(550));
end;
until(FindNpcChatText('Well done! Your'));
MouseBox(730,471,750,493,True);
WalkToMMArrow;
Search4It('oor', 'pen', 'Now, how about');
Wait(1550+random(770));
MouseBox(698,472,716,494,True);
Wait(1550+random(770));
MouseBox(MIX1,MIY1,715,457,True);
Wait(1550+random(770));
Mouse(665,474,10,10,True);
Wait(1550+random(770));
SetRun(True);
end;
procedure Step5;
begin
repeat
Mouse(650,30,9,10,True);
FFlag(0);
until(FindMMArrow(x, y));
WalkToMMArrow;
Search4It('oor', 'pen', 'Talk with');
WalkToMMArrow;
Talk('Quest Guide', 'Ah.');
HandleTalk;
Mouse(596,171,20,20,True);
Talk('Quest Guide', 'Now you');
HandleTalk;
WalkToMMArrow;
MakeCompass('W');
Search4It('adder', 'limb-down', 'Next let');
MakeCompass('N');
end;
procedure Step6;
var
Dirt, DirtA: integer;
begin
//Bitmaps
Dirt := BitmapFromString2(False, 'a5146678DA333080015367206' +
'162610224CDDC2C81A4B9A511887402891858BA81482747536363' +
'0343635249001DD');
DirtA := AutoColorThis(Dirt, 50, MMX1, MMY1, MMX2, MMY2);
RadialWalk(DirtA, 240, 170, 70, 2, 2);
FFlag(0);
WalkToMMArrow;
Talk('Mining', 'Hi there');
HandleTalk;
WalkToMMArrow;
Search4It('ocks', 'Prospect', 'This rock');
Wait(1550+random(300));
ClickToContinue;
WalkToMMArrow;
Wait(550+random(300));
Search4It('ocks', 'Prospect', 'This rock');
Wait(1550+random(300));
ClickToContinue;
WalkToMMArrow;
Wait(550+random(300));
Talk('Mining', 'I prospected');
HandleTalk;
WalkToMMArrow;
Wait(550+random(300));
Search4It('ocks', 'Mine', 'You manage');
Wait(550+random(300));
ClickToContinue;
WalkToMMArrow;
Wait(550+random(300));
Search4It('ocks', 'Mine', 'You manage');
Wait(550+random(300));
ClickToContinue;
WalkToMMArrow;
GameTab(4);
repeat
if(FindDTM(Tin,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,True);
MSArrowRClick('se');
Wait(7500+random(1550));
end;
Wait(1150+random(550));
until(FindDTM(BronzeB,x,y,MIX1,MIY1,MIX2,MIY2));
Wait(550+random(300));
MouseBox(310,400,311,430,True);
WalkToMMArrow;
Talk('Mining', 'How do I');
HandleTalk;
WalkToMMArrow;
if(FindDTM(BronzeB,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x,y,2,2,True);
Talk('nvil', 'se');
Wait(2550+random(200));
end;
MouseBox(15,51,40,80,True);
Wait(3050+random(750));
MouseBox(310,400,311,430,True);
WalkToMMArrow;
repeat
if(FindObj(x, y, 'ate', 7171449, 5)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('pen');
Wait(4020+random(550));
end;
Wait(550+random(550));
until(FindNpcChatText('In this'));
end;
procedure Step7;
begin
WalkToMMArrow;
Talk('Combat', 'My name');
HandleTalk;
MouseBox(662,172,684,192,True);
GameTab(5);
MouseBox(594,419,621,444,True);
repeat
if(FindDTM(Dagger,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(550+random(50));
until(FindDTM(Dagger,x,y,MSX1,MSY1,MSX2,MSY2));
WalkToMMArrow;
Talk('Combat', 'Very good');
HandleTalk;
GameTab(5);
MouseBox(594,419,621,444,True);
repeat
if(FindDTM(Dagger,x,y,MSX1,MSY1,MSX2,MSY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(550+random(50));
until(FindDTM(Dagger,x,y,MIX1,MIY1,MIX2,MIY2));
GameTab(4);
repeat
if(FindDTM(Shield,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(2550+random(550));
if(FindDTM(Sword,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(3050+random(550));
until(FindNpcChatText('Click on the flashing'));
Mouse(533,178,9,11,True);
WalkToMMArrow;
repeat
if(FindObj(x, y, 'ate', 7171449, 5)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('pen');
Wait(4020+random(550));
end;
Wait(550+random(550));
until(FindNpcChatText('To attack'));
repeat
if(FindObj(x, y, 'iant rat', 4870738, 10)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('ttack');
Wait(15020+random(2550));
end;
Wait(550+random(550));
until(FindNpcChatText('Pass'));
repeat
if(FindObj(x, y, 'ate', 7171449, 5)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('pen');
Wait(4020+random(550));
end;
Wait(550+random(550));
until(FindNpcChatText('through the'));
WalkToMMArrow;
Talk('Combat', 'I did it');
HandleTalk;
GameTab(4);
repeat
if(FindDTM(Bow,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(2550+random(550));
if(FindDTM(Arrow,x,y,MIX1,MIY1,MIX2,MIY2))then
begin
Mouse(x, y, 2, 2, true);
end;
Wait(3050+random(550));
until(not(FindDTM(Bow,x,y,MIX1,MIY1,MIX2,MIY2))) and (not(FindDTM(Arrow,x,y,MIX1,MIY1,MIX2,MIY2)));
WalkToMMArrow;
repeat
if(FindObj(x, y, 'iant rat', 4870738, 10)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('ttack');
Wait(17020+random(3550));
end;
Wait(550+random(550));
until(FindNpcChatText('You have completed'));
WalkToMMArrow;
MakeCompass('W');
Search4It('adder', 'Climb', 'Follow the');
MakeCompass('N');
end;
procedure Step8;
begin
WalkToMMArrow;
LowestAngle;
repeat
if(FindObj(x, y, 'ank booth', 141371, 3)) then
begin
Mouse(x, y, 2, 2, false);
Wait(300+Random(500));
ChooseOption('se');
Wait(1020+random(3550));
end;
Wait(550+random(550));
until(FindNpcChatText('Good day'));
Wait(550+random(50));
ClickToContinue;
Wait(1950+random(550));
MouseBox(250, 394, 271, 409, true);
CloseBank;
WalkToMMArrow;
HighestAngle;
Search4It('oor', 'pen', 'The guide');
WalkToMMArrow;
Talk('Financial', 'Hello');
HandleTalk;
WalkToMMArrow;
Search4It('oor', 'pen', 'Follow the');
MouseBox(630, 134, 652, 153, true);
FFlag(0);
if(FindObj(x, y, 'pen', 2243679, 3)) then
begin
if(isUpText('pen'))then
begin
Mouse(x, y, 0, 0, false);
Wait(250+random(50));
ChooseOption('pen');
end;
end;
WalkToMMArrow;
Talk('Brother', 'Good day');
HandleTalk;
Mouse(698,174,10,10,True);
WalkToMMArrow;
Talk('Brother', 'This is');
HandleTalk;
repeat
MouseBox(570,475,585,485,True);
Wait(2550+random(300));
MouseBox(605,475,10,10,True);
Wait(2550+random(300));
until(FindMSArrow(x, y));
WalkToMMArrow;
Talk('Brother', 'Good.');
HandleTalk;
WalkToMMArrow;
repeat
if(FindObj(x, y, 'pen', 801620, 5)) then
begin
if(isUpText('pen'))then
begin
Mouse(x, y, 0, 0, false);
Wait(250+random(50));
ChooseOption('pen');
Wait(2550+random(550));
end;
end;
Wait(550+random(150));
until(FindNpcChatText('Just follow'));
MouseBox(670, 113, 688, 129, true);
FFlag(0);
WalkToMMArrow;
end;
procedure Step9;
begin
WalkToMMArrow;
Talk('Magic', 'Hello');
HandleTalk;
repeat
MouseBox(733, 173, 748, 195, true);
until(FindNpcChatText('Good.'));
Talk('Magic', 'Good.');
HandleTalk;
repeat
MouseBox(593, 235, 597, 241, true);
if(FindObj(x, y, 'icken', 7248823, 5)) then
begin
if(isUpText('icken'))then
begin
Mouse(x, y, 0, 0, false);
Wait(250+random(50));
ChooseOption('ast');
Wait(1550+random(550));
end;
end;
until(FindNpcChatText('All you'));
WalkToMMArrow;
Talk('Magic', 'Well');
HandleTalk;
MouseBox(250, 396,296, 405, true);
Wait(550+random(300));
HandleTalk;
Wait(5550+random(300));
if (FindSymbol(x, y, 'guide')) then
begin
Writeln('Tut. Island completed!');
end;
end;
procedure TutRunner;
begin
LoadBitmaps;
Step1;
Step2;
Step3;
Step4;
Step5;
Step6;
Step7;
Step8;
Step9;
end;
p3
{
PLACE SDTR.scar + SDTC.scar INTO YOUR SRL INCLUDES FOLDER!
}
{
[-]--------------------------------------------------------------------------[+]
[-]--------------------------------------------------------------------------[+]
[-] SpoonDynamite V0.1 [+]
[-] by Born2Code AKA Travis [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Description/Startup Info [+]
[-]--------------------------------------------------------------------------[+]
[-] SpoonDynamite is RSDemon. Will run through Tut. Island, then Chop [+]
[-]and try type. Also, it can create the account for you. [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Features [+]
[-]--------------------------------------------------------------------------[+]
[-]~Tutorial Island Runner! [+]
[-]~Account Creator [+]
[-]~Auto Responder! [+]
[-]~NO! Ent Finder! (temp. removed!) [+]
[-]~Normal, Willow, YEW, and Oak chopper and banker! [+]
[-]~Easy proggie reporter and player report! [+]
[-]~Simple Setup! [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Coming Updates! [+]
[-]--------------------------------------------------------------------------[+]
[-]~Ent Finder [+]
[-]~New axe getter (wc guide) [+]
[-]~Bugs fixed [+]
[-]~More failsafes [+]
[-]~Multiplayer [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-] Versions [+]
[-]--------------------------------------------------------------------------[+]
[-]~V0.1 First Release! - [+]
[-] BUGGY! [+]
[-]--------------------------------------------------------------------------[+]
[-] Credits [+]
[-]--------------------------------------------------------------------------[+]
[-]~CharmZ Auto Responder Core Procedures [+]
[-]~Fourscape Oak Finding Procedures [+]
[-] [+]
[-]--------------------------------------------------------------------------[+]
[-]--------------------------------------------------------------------------[+]
}
program SpoonDynamite;
{.include SRL\SRL.SCAR}
{.include SRL\SRL\skill\Magic.SCAR}
{.include SRL/SRL/Skill/Woodcutting.scar}
{.include SDTC.scar}
{.include SDTR.scar}
{----------SRL Stats Setup----------}
const
YourSRLID = ''; //SRL ID #
YourSRLPass = ''; //SRL Stats Pass
Procedure DeclarePlayers;
begin
{----------Locations----------)
ca - Create's Account/Tut. Island/DeathWalk/Chop (not even created char.)
ti - Tut. Island/DeathWalk/Chop (tutorial island start)
lh - DeathWalk/Chop (lumbridge home)
bank - Chop (at bank)
(-----------------------------}
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // Nickname, 3 - 4 letters of username
Players[0].Integers[1] := 500; //Amount of loads
Players[0].Integers[2] := 0000; //*OPTIONAL* Pin #
Players[0].Integers[3] := 50; //Max Player time in minutes
Players[0].Loc := 'ca'; // Players Location
Players[0].Active := True; // Active?
if(Players[CurrentPlayer].Loc = 'ca')then
begin
OpenWebPage('https://create.runescape.com/lang/en/aff/runescape/createaccoun'+
't.ws?password1='+Players[0].Pass+'&password2='+Players[0].Pass+'&termsandcond=1&username='+Players[0].Name+'&country=7');
Wait(10000+random(1550));
end;
end;
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Start WC Part //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
{...><> Loops and Startup Procedures <><...}
procedure StartUp;
begin
ClearReport;
ClearDebug;
SetupSRL;
//ScriptID := '';
SRLId := YourSRLID;
SRLPassword := YourSRLPass;
BankDTMs;
WalkingBitmaps;
Signature;
MoveToTray;
MarkTime(PlayerTime);
DeclarePlayers;
ActivateClient;
end;
procedure NoBan2;
begin
if(not(LoggedIn)) then Exit;
case Random(8) of
0: HoverSkill('random', false);
1: DoEmote(1 + Random(20));
2: PickUpMouse;
3: begin
GameTab(2 + Random(12));
wait(2000+random(1500));
end;
4: RandomRClick;
5: AlmostLogout;
6: RandomMovement;
7: BoredHuman;
end;
end;
procedure NoBan;
begin
case Random(5) of
0, 1, 2, 3: ;
4: NoBan2;
end;
end;
procedure ScriptReport;
begin
ReportVars[0] := TLoads; //Banked
ReportVars[1] := TLoads*27; //Logs chopped
ReportVars[2] := AutoRespondCount; //Auto Respond
ReportVars[3] := ENTs; //Ents
end;
procedure Loop;
begin
if(not(LoggedIn)) then Exit;
repeat
if(not(LoggedIn)) then Exit;
if (Players[CurrentPlayer].Loc = 'ca') or (Players[CurrentPlayer].Loc = 'ti') then
begin
TutRunner;
TeleportToLumby;
DeathWalk;
end;
if (Players[CurrentPlayer].Loc = 'lh') then
begin
TeleportToLumby;
DeathWalk;
end;
if (Players[CurrentPlayer].Loc = 'bank') then
begin
SymbolAccuracy := 0.4;
FixClient;
DecideWhatToChop;
MarkTime(CurrentCuttingTime);
WalkToTree;
repeat
if (Players[CurrentPlayer].Loc = 'lost') then
begin
TeleportToLumby;
DeathWalk;
Exit;
end;
Chop;
Wait(300+random(155));
NoBan;
Wait(1550+random(550));
until(InvFull) or (TimeFromMark(CurrentCuttingTime) >= 15*60000+random(60700));
end;
if (Players[CurrentPlayer].Loc = 'tree') then
begin
WalkToBank;
Bank;
end;
if (Players[CurrentPlayer].Loc = 'lost') then
begin
TeleportToLumby;
DeathWalk;
end;
DecideWhatToChop;
SRLRandomsReport;
ScriptReport;
Until (Loads = Players[CurrentPlayer].Integers[1]) or (PlayerTime = Players[CurrentPlayer].Integers[3]*60000+random(55555));
Logout;
Loads := 0;
Exit;
end;
begin
StartUp;
if not LoggedIn then LoginPlayer;
repeat
If(not(LoggedIn))then TerminateScript;
//NextPlayer(True)
Loop;
until(false);
end.
——————————————————
<!– END TEMPLATE: formanswers –>