SRL Archive - First Scripts

Third script, not finished woodcutter.


Pure1993

2008-02-12 08:21:51

Well, my hybrid script isn't turning out to be as good as I hoped in comparison to some member scripts, so I decided to just post here as far as I got. Anyone can just finish it, and post their finished version on this thread, I won't take credit for anything you have done to it, but you are not allowed to post it anywhere else, unless you have a link to this thread, and say something like this on op of your script: "I would like to thank Stur Pure for giving and allowing me to use and finish his script, it is 50% his work" (doesn't have to be exactly like this, but something similar :D). Well, here it is:

program PowerWcAndCbLeveler;
{.include srl/srl.scar}

var
i, x, y, cy, cx, bx, by, fx, fy: Integer;
RawShrimpBMP, RawSardineBMP, NetDTM, RodDTM, BaitDTM: Integer;
BronzeAxe, IronAxe, SteelAxe, BlackAxe, MithrilAxe, AdamantAxe, RuneAxe: Integer;
DirtRoadColor: Integer;
MySkillWC, MySkillFi, MyInventory: Integer;
TotalEnts, NumberOfActivePlayers: Integer;
NormalDTM, OakDTM, WillowDTM, YewDTM: Integer;
NormalTreeColor: array [0..2] of Integer;
OakTreeColor: array [0..2]of Integer;
WillowTreeColor: array [0..2] of Integer;
YewTreeColor: array [0..2] of Integer;
BankBoothColor: array [0..2] of Integer;
BankSymbolColor: array [0..2] of Integer;
NetBoolean, BaitBoolean: Boolean;
const


{
========================
//----------Bank----------\\
\\---------Colors---------//
========================
}

{
========================
//----------Misc----------\\
\\---------Colors---------//
========================
}
BurntFood = 5658461;
DropGoldColor = 1544882;
GoldColor = 2015724;

//////////////////////////////////////////////////////////////////////
// //
// Here are the "Global" Procedures/Functions //
// //
//////////////////////////////////////////////////////////////////////

Procedure DeclarePlayers; //Sets up player array
begin
HowManyPlayers := 10;
NumberOfPlayers(HowManyPlayers);
NumberOfActivePlayers := 10; //This is VERY important for anti-ban, PLEASE ENTER
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
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;

Players[5].Name := '';
Players[5].Pass := '';
Players[5].Nick := '';
Players[5].Active := True;

Players[6].Name := '';
Players[6].Pass := '';
Players[6].Nick := '';
Players[6].Active := True;

Players[7].Name := '';
Players[7].Pass := '';
Players[7].Nick := '';
Players[7].Active := True;

Players[8].Name := '';
Players[8].Pass := '';
Players[8].Nick := '';
Players[8].Active := True;

Players[9].Name := '';
Players[9].Pass := '';
Players[9].Nick := '';
Players[9].Active := True;
end;

Procedure LoadBitmaps;
begin
{
/======================\
//==========Axe=========\\
\\========Bitmaps=======//
\======================/
}
BronzeAxe := BitmapFromString(45, 25, 'beNr7/38UUAUwMDCWRfL' +
'XxQt0pgv25wgF2at5Wiq5mio4GMkBGb42KkASiLLEeYEqaeqMqhiB' +
'xkSBniwhIBsZAR0DcQMdnDEKRsEoGAWjYBSMglEwCkbBcAAAuP/YY' +
'g==');

IronAxe := BitmapFromString(56, 25, 'beNr7/59ywMDAmBXAWxUj0' +
'Joi2J8jFBseFhEUFOzrC0Sh/v5ABGQEeHllifMCVf4fOAC0vSySvy' +
'5eoDMd5E6II3093L1cXYHOGzzuHAWjYBSMglEwCkbBKBgFo2AUjIJ' +
'RMAqGKgAAjtEWaA==');

SteelAxe := BitmapFromString(15, 2, 'beNpjYGRgYMwK4K2KEWhNEezP' +
'EWqvra0vK6soKCjLy6suKqotKYGws8R5gSqBqCySvy5eoDMdpBioE' +
'iiVl5aWmZRUkpMDVA9UDGSAFAMAH+AeJQ==');

BlackAxe := BitmapFromString(40, 25, 'beNr7/58YwMDAmBXAWxUj' +
'0Joi2J8jJCYqghVlifMCVf6nHgCaVhbJXxcv0JlOV3tHwSgYBaNgF' +
'IyCUTAKRsEoGFwAALvRX+U=');

MithrilAxe := BitmapFromString(29, 25, 'beNr7/58OoCpGoDVFsD' +
'9HyMMj08UlxcEhDoicnBKBCMiws4vKEudlYGAk1di6eIHOdJCxEDO' +
'tbcItrUKAplFo7CgYBaNgFIyCUTAKaAsADqc+Ow==');

AdamantAxe := BitmapFromString(29, 25, 'beNr7/78skr8uXqAzXbA/R' +
'8gtwt0pyMnWx9bK08re394l1AXIBTKyxHkZGBj/kwKqYgQaEwV6so' +
'SAGpER0HCImeQZOwpGwSgYBaNgFIyCIQ8AVn806w==');

RuneAxe := BitmapFromString(29, 25, 'beNr7/38UDDnAwMCYF8zXm' +
'CjQkyUEZGPK2gVFOYTGpYnxAhGmAjzGVsUItKYI9ucIYdUFFIQYS7' +
'yZo2AUjIJRMApGARYAABPbRV8=');
end;

Procedure LoadColors;
begin
NormalTreeColor[0] := 1923922;
NormalTreeColor[1] := 2180927;
NormalTreeColor[2] := 2049080;

OakTreeColor[0] := 3501153;
OakTreeColor[1] := 1533787;
OakTreeColor[2] := 3964273;

WillowTreeColor[0] := 2901837;
WillowTreeColor[1] := 3886934;
WillowTreeColor[2] := 1792590;

YewTreeColor[0] := 3367516;
YewTreeColor[1] := 4161909;
YewTreeColor[2] := 3829352;

BankBoothColor[0] := 7772843;
BankBoothColor[1] := 8619915;
BankBoothColor[2] := 6325652;

BankSymbolColor[0] := 1;
BankSymbolColor[1] := 3;
BankSymbolColor[2] := 2;
end;

Procedure LoadDTM;
begin
NormalDTM := DTMFromString('78DA63DCC7C4C0709B910119E4851A8369982' +
'8E371A09A73A86A60B270359B816AAE1250B303A8E61901356781' +
'6AEE12507310A8E6310135BB816A2E1250B301A8E6217E3500070' +
'B0DE5');
OakDTM := DTMFromString('78DA633CCFC4C050C4C8800CAAE22DC1344C9' +
'4F13A504D06AA1A982C5CCD6DA09A4A026A4E01D5D41150B30FA8' +
'A68C809A6340355904D480FC554340CD3922CC01F93D1FBF1A004' +
'3070C91');
WillowDTM := DTMFromString('78DA63FCC1C4C050C4C8800C023C64C1344C9' +
'491819981211D550D4C16AE8605A8A68A809A8F40BBEA09A87901' +
'54534640CD07A09A2C026A7E01D5D41050C30874733E01356F980' +
'8AB790B54538D5F0D0029F90C14');
YewDTM := DTMFromString('78DA6354626660286164400641765C601A26C' +
'AA80954938EAA06260B57230354534F408D1E504D150135D24035' +
'5904D40801D5941350A30A545343408D36504D3E01356284D5000' +
'07E3B0610');
NetDTM := DTMFromString('78DA635CC8C4C03089910119D81B2A8269982' +
'8E346A09AC9A86A2C74D551D5AC01AA5988AA06260B573305A866' +
'26013573806A261050B302A8A697809AC5403573F1AB0100BFCF0' +
'9D8');
RodDTM := DTMFromString('78DA633CCBC4C0309D910119843B718369982' +
'8E34DA09A4E54353059B89AD340354B08A8390854338B809AA340' +
'350B09A83907543311BF1A00936D091D');
BaitDTM := DTMFromString('78DA637461646038C280020E4F9604D38C503' +
'E6318907588801A2F206B3B01357640D67E026A6C81ACE304D404' +
'00597B08A87105B2761350E30864ED6340038C987E3F4C408D0D9' +
'0750CBF1A00F9EF1473');
end;

Procedure HighestAngle; // Makes camera go to the highest angle
begin
SendArrowSilentWait(0,2500 +random(13) - random(84) +random(73) -random(158));
end;

Procedure LowestAngle; // Make camera go to the lowest angle
begin
SendArrowSilentWait(2,2500 +random(13) - random(84) +random(73) -random(158));
end;

//////////////////////////////////////////////////////////////////////
// //
// Here are the Woodcutting Procedures/Functions //
// //
//////////////////////////////////////////////////////////////////////


Function MyEnt( EntTree : String ): Boolean; // Searches and solves the ent
Var
MyEntTree: array [0..3] of String;
begin
MyEntTree[0] := 'Normal';
MyEntTree[1] := 'Oak';
MyEntTree[2] := 'Willow';
MyEntTree[3] := 'Yew';
begin
For i:=0 to 4 do
begin
Case i of

0: If (EntTree = 'Normal') Then
Begin
If (GetColor(85, 9)= 385505) then
begin
end;
end;

1: If (EntTree = 'Oak') Then
Begin
If (GetColor(98, 15)= 385505) then
begin
end;
end;

2: If (EntTree = 'Willow') Then
Begin
if (GetColor(89, 17) = 385505) then
begin
Result := True;
TotalEnts := TotalEnts + 1;
RunAway('W',false,1,4000);
end;
end;

3: If (EntTree = 'Yew') Then
Begin
If (GetColor(87, 18) = 385505) then
begin
Result := True;
TotalEnts := TotalEnts + 1;
RunAway('W',false,1,4000);
end;
end;

4: If not (EntTree = MyEntTree[i]) then
Begin
Writeln('Wrong Input');
TerminateScript;
end;
end;
end;
end;
end;

Function MyAxeHeadFinder: Boolean; // Finds and picks up axe heads.
begin
end;

Function RandomsHappen: Boolean;
begin
for i := 1 to 3 do
begin
case i of
1: If MyEnt Then
Result := True;
2: If MyAxeHeadFinder then
Result := True;
3: If FindNormalRandoms then
Result := True;
end;
end;
If (Result = True) Then
Begin
Writeln('Random Happened');
HappenedRandoms := HappenedRandoms + 1;
end;
end;

Function UseRightAxe: Boolean; // Checks for your wc level and makes sure you
// are using the correct axe.
Label
LowestLevel, LowLevel, MediumLevel, HighLevel, HighestLevel;
begin
MySkillWC := GetSkillInfo('woodcutting', false);
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
If (MySKillWC < 6) then
begin
Goto LowestLevel;
end;
If (MySKillWC < 21) then
begin
Goto LowLevel;
end;
If (MySKillWC < 31) then
begin
Goto MediumLevel;
end;
If (MySKillWC < 41) then
begin
Goto HighLevel;
end;
If (MySKillWC > 40) then
begin
Goto HighestLevel;
end;
begin
HighestLevel:
If FindBitmapIn(RuneAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
HighLevel:
If FindBitmapIn(AdamantAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
MediumLevel:
If FindBitmapIn(MithrilAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
LowLevel:
If FindBitmapIn(BlackAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
If FindBitmapIn(SteelAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
LowestLevel:
If FindBitmapIn(IronAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
If FindBitmapIn(BronzeAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
writeln('No Appropriate Axe Found, terminating script');
NextPlayer(False);
end;
end;
end;
end;
end;
end;
end;
end;
end;

Procedure GetToNormalTrees;
begin
If Not (LoggedIn) Then
LoginPlayer;
MakeCompass('N');
HighestAngle;
case random(2) of // Just something to throw off Jagex
0: SetRun(true);
1: SetRun(false);
end;
LinearRoadWalk(RoadColor, 90 +random(4) -random(10), 72, -2, 2);
wait(243 +random(154));
FFlag(4 -random(2));
RadialRoadWalk(RoadColor, 120, 180, 70, 0, -2);
wait(343 +random(94));
FFlag(0);
DirtRoadColor := FindDirtRoadColor;
RadialWalk(DirtRoadColor, 25, 90, 70, -1, 1);
wait(352 +random(98));
FFlag(0);
DirtRoadColor := FindDirtRoadColor;
RadialWalk(DirtRoadColor, 0, 90, 70, -1, 1);
wait(352 +random(98) -random(35));
FFlag(0);
end;

Function ChopNormalTree: Boolean; // If level between 1 and 14
begin
end;

Procedure BringNormalLogsToBank;
begin
repeat
DirtRoadColor := FindDirtRoadColor;
If Not RadialWalk(DirtRoadColor, 180, 360, 72, 0, 0) then
Begin
Mouse(562, 76, 2, 2, true);
Wait(124);
FFlag(0);
end;
If RadialWalk(DirtRoadColor, 180, 360, 72, 0, 0) then
begin
Wait(124);
FFlag(0);
end;
Until RadialRoadWalk(RoadColor, 270, 380, 72, 0, 0);
Wait(219);
FFlag(0);
Repeat
RadialRoadWalk(RoadColor, 270, 380, 72, 0, 0);
Wait(219);
FFlag(0);
Until FindColorTolerance(x,y,BankSymbolColor[i],MMX1, MMY1, MMX2, MMY2, 5);
Mouse(x,y,0,0,True);
wait(213);
FFlag(0);
Case random(2) of
0: MakeCompass('E');
1: MakeCompass('W');
end;
If (FindObjCustom( x, y, ['booth'], [BankBoothColor[i]], 3)) then
begin
Mouse(x,y,0,0,false);
Wait(136 +random(45) -random(33));
ChooseOption('quickly');
Wait(173);
FFlag(0);
Wait(2061);
end;
end;

Function BankNormalLogs: Boolean;
begin
Repeat
If FindDTM( x, y, NormalDTM, MIX1, MIY1, MIX2, MIY2) Then
begin
Case random(2) of
0: Mouse(x,y,0,0,true);
1: Mouse(x,y,0,0,false);
end;
wait(124);
end;
Until ChooseOption('ll');
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
Result := True;
end;

Procedure GetToOakTrees;
begin
HighestAngle;
MakeCompass('N');
case random(2) of
0: SetRun(true);
1: SetRun(false);
end;
RadialRoadWalk(RoadColor, 85, 95, 65, -2, 0);
Wait(253);
FFlag(0);
end;

Function ChopOakTree: Boolean; // If level between 15 and 29
begin
repeat
If (FindObjCustom( x, y, ['Oak', 'ak'], [OakTreeColor[i]], 3)) then
begin
Mouse(x,y,0,0,false);
Wait(523 +random(54) -random(71));
ChooseOption('hop');
Wait(523 +random(54) -random(71));
FFlag(0);
FindObjCustom( x, y, ['Oak', 'ak'], [OakTreeColor[i]], 3)
Repeat
Case random(9) of
0: RandomMovement;
1: SleepAndMoveMouse(3671 + random(2709));
2: Wait(3651 +random(2153) -random(1120));
3: AlmostLogout;
4: HoverSkill('woodcutting', false);
5: BoredHuman;
end;
Wait( 3451 +random(1253) -random(2451) +random(1425) -random(634));
HighestAngle;
MakeCompass('N');
MMouse(x,y,0,0);
Until Not (IsUpText('Oak')) or (IsUpText('ak'));
end;
If Not (LoggedIn) Then
break;
If Not (IsUpText('Oak')) or (IsUpText('ak')) then
begin
repeat
Case random(9) of
0: HoverSkill('woodcutting', false);
1: AlmostLogout;
2: BoredHuman;
3: SleepAndMoveMouse(3671 + random(2709));
4: RandomMovement;
5: Wait(3651 +random(2153) -random(1120));
end;
Wait( 8451 +random(1253) -random(2451) +random(1425) -random(634));
HighestAngle;
MakeCompass('N');
Until (FindObjCustom( x, y, ['Oak', 'ak'], [OakTreeColor[i]], 3));
end;
Until (InvFull) or Not (LoggedIn);
Result := True;
end;

Procedure BringOaksToBank;
begin
RadialRoadWalk(RoadColor, 260, 280, 45, 0, 0);
Wait(123);
FFlag(0);
Case random(2) of
0: MakeCompass('E');
1: MakeCompass('W');
end;
If (FindObjCustom( x, y, ['booth'], [BankBoothColor[i]], 3)) then
begin
Mouse(x,y,0,0,false);
Wait(136 +random(45) -random(33));
ChooseOption('quickly');
wait(137);
FFlag(0);
Wait(1935);
end;
end;

Function BankOaks: Boolean;
begin
Repeat
If FindDTM( x, y, OakDTM, MIX1, MIY1, MIX2, MIY2) Then
begin
Case random(2) of
0: Mouse(x,y,0,0,true);
1: Mouse(x,y,0,0,false);
end;
wait(124);
end;
Until ChooseOption('ll');
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
Result := True;
end;

Procedure GetToWillowTrees; // Only do this if above 10 combat
begin
WaterColor := FindWaterColor;
MakeCompass('N');
HighestAngle;
RadialWalk(WaterColor,180,220,65,1,-1);
Wait(124);
FFlag(0);
end;

Function ChopWillowTree: Boolean; // If level between 30 and 64
begin
end;

Procedure BringWillowsToBank;
var
Radius, WalkTry: Integer;
begin
Radius := 30;
Repeat
If RadialRoadWalk(RoadColor,0,90,Radius,0,0) then
begin
Wait(209);
FFlag(0);
Break;
end else
begin
Radius := Radius + 3;
WalkTry := WalkTry + 1;
end;
Until (WalkTry = 14) or Not (LoggedIn);
If WalkTry = 14 then
Begin
WalkTry := 0;
NextPlayer(false);
end;
Case random(2) of
0: MakeCompass('E');
1: MakeCompass('W');
end;
If (FindObjCustom( x, y, ['booth'], [BankBoothColor[i]], 3)) then
begin
Mouse(x,y,0,0,false);
Wait(136 +random(45) -random(33));
ChooseOption('quickly');
Wait(173);
FFlag(0);
Wait(2061);
end;
end;

Function BankWillows: Boolean;
begin
Repeat
If FindDTM( x, y, WillowDTM, MIX1, MIY1, MIX2, MIY2) Then
begin
Case random(2) of
0: Mouse(x,y,0,0,true);
1: Mouse(x,y,0,0,false);
end;
wait(124);
end;
Until ChooseOption('ll');
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
Result := True;
end;

Procedure GetToYewTrees;
begin
end;

Function ChopYewTree: Boolean; // If level between 65 and 99
begin
end;

Procedure BringYewToBank;
begin
end;

Function BankYews: Boolean;
begin
Repeat
If FindDTM( x, y, YewDTM, MIX1, MIY1, MIX2, MIY2) Then
begin
Case random(2) of
0: Mouse(x,y,0,0,true);
1: Mouse(x,y,0,0,false);
end;
wait(124);
end;
Until ChooseOption('ll');
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
Result := True;
end;

//////////////////////////////////////////////////////////////////////
// //
// Here are the Fishing Procedures/Functions //
// //
//////////////////////////////////////////////////////////////////////

Function BaitAvaible(var rx, ry: Integer): Boolean;
var
BaitAmount: Integer;
begin
If FindDTM(x, y, BaitDTM, MSX1, MSY1, MSX2, MSY2) then
begin
BaitAmount := GetAmount(x, y);
If (BaitAmount >= 26) then
begin
rx := x;
ry := y;
Result := True;
end;
end;
end;


Procedure GoToFish;
begin
MySkillFi := GetSkillInfo('fishing', false);
Case random(2) of
0: MakeCompass('E');
1: MakeCompass('W');
end;
If (FindObjCustom( x, y, ['booth'], [BankBoothColor[i]], 3)) then
begin
Mouse(x,y,0,0,false);
Wait(136 +random(45) -random(33));
ChooseOption('quickly');
Wait(173);
FFlag(0);
Wait(2061);
end;
If (MySkillFi < 5) and (FindDTM( x, y, NetDTM, MSX1, MSY1, MSX2, MSY2)) then
begin
Case random(2) of
0: Mouse(X,Y,0,0,true);
1: Begin
Mouse(X,Y,0,0,False);
begin
Wait(172);
ChooseOption('raw 1');
NetBoolean := True;
end;
end;
end;
end else
NetBoolean := False;
If (MySkillFi > 4) and (BaitAvaible(bx, by)) and (FindDTM( x, y, RodDTM, MSX1, MSY1, MSX2, MSY2)) then
begin
Case random(2) of
0: Mouse(X,Y,0,0,true);
1: Begin
Mouse(X,Y,0,0,False);
begin
Wait(172);
ChooseOption('raw 1');
end;
end;
end;
Mouse(bx, by, 0, 0, false);
wait(310);
ChooseOption('raw X');
Wait(1240 +random(341) -random(721));
SendKeys('26');
BaitBoolean := True;
end else
Begin
BaitBoolean := False;
If (MySkillFi > 4) and (FindDTM( x, y, NetDTM, MSX1, MSY1, MSX2, MSY2)) then
begin
Case random(2) of
0: Mouse(X,Y,0,0,true);
1: Begin
Mouse(X,Y,0,0,False);
begin
Wait(172);
ChooseOption('raw 1');
end;
end;
end;
NetBoolean := True;
end;
end;
WaterColor := FindWaterColor;
RadialWalk(WaterColor,180,220,72,0,0);
wait(100);
FFlag(0);
end;

Procedure FindAndFishSpot;
var
SparkleColor: array [0..2] of Integer;
BX1, BX2, BY1, BY2, rx, ry: Integer;
BaitBoolean, NetBoolean: Boolean;
begin
SparkleColor[0] := 13481365;
SparkleColor[1] := 15322809;
SparkleColor[2] := 14858393;
begin
MySkillFi := GetSkillInfo('fishing', false);
Repeat
If FindColorTolerance( rx, ry, SparkleColor[i], MSX1, MSY1, MSX2, MSY2, 10) then
begin
BX1 := fx - 10;
BY1 := fy - 10;
BX2 := fx + 10;
BY2 := fy + 10;
If FindColorTolerance( x, y, 9072739, BX1, BY1, BX2, BY2, 5) then
begin
Writeln('Found Fishing Spot');
Mouse( fx, fy, 0, 0, False);
wait(142 +random(24) -random(33));
If (NetBoolean = True) then
ChooseOption('et');
If (BaitBoolean = True) then
ChooseOption('ait');
If (BaitBoolean = False) and (NetBoolean = False) Then
begin
Writeln('You don"t have the needed fishing equipment.');
Writeln('I am sorry to inform you that this player will not be');
Writeln('able to continue.');
TerminateScript;
end;
Wait(102);
FFlag(0);
Wait(1035);
If not RandomsHappened then
Wait(7532 +random(5124) -random(2514) +random(543) -random(1743));
If not LoggedIn then
break;
end;
end else
Begin
If (FindTry = 1) then
begin
Writeln('Wrong Location, sire. I am sorry to infotrm you that');
Writeln('this script will have to be terminated.');
TerminateScript;
end;
RadialWalk(WaterColor,180,220,72,0,0);
wait(100);
FFlag(0);
FindTry := 1;
end;
Until (InvFull);
If Not LoggedIn then
TerminateScript;
end;
end;

//////////////////////////////////////////////////////////////////////
// //
// Here are the cooking Procedures/Functions //
// //
//////////////////////////////////////////////////////////////////////

Function MakeFire;
Begin
end;

Function Cook(Fish: String): Boolean;
begin
end;

Procedure DropBurned;
begin
repeat
If FindColorTolerance( x, y, BurntFood, MICX1, MICY1, MICX2, MICY2, 5) then
begin
Mouse( x, y, 0, 0, False);
wait(251);
ChooseOption('rop');
end;
Until Not FindColorTolerance( x, y, BurntFood, MICX1, MICY1, MICX2, MICY2, 5);
end;

//////////////////////////////////////////////////////////////////////
// //
// Here are the Fighting Procedures/Functions //
// //
//////////////////////////////////////////////////////////////////////

Function FindGobToAttack(var rx, ry: Integer;Click: Boolean): Boolean;
begin
end;

Procedure GetToGoblins;
begin
Case Random(5) of
0: SetFightMode(1);
1: SetFightMode(2);
2: SetFightMode(3);
3: SetFightMode(4);
end;
end;

Procedure PickUpFight;
begin
end;

Function BoneAndGPHandler: Boolean;
var
SQX1, SQY1, SQX2, SQY2: Integer;
begin
SQX1 := 205;
SQY1 := 119;
SQX2 := 322;
SQY2 := 222;
begin
If FindColorTolerance( x, y, DropGoldColor, MSX1, MSY1, MSX2, MSY2, 10) then
Begin
MMouse(x,y,0,0)
Wait(72);
If IsUpText('oins') then
Begin
Mouse(x,y,0,0,false);
Wait(142);
ChooseOption('ake');
Wait(50);
FFlag(0);
end;
end;
If FindColorTolerance( x, y, BoneColor, SQX1, SQY1, SQX2, SQY2, 5) then
begin
MMouse(x,y,0,0);
Wait(193);
If IsUpText('ones') then
begin
Mouse(x,y,0,0,false);
Wait(172);
ChooseOption('ake');
Wait(46);
FFlag(0;
end;
end;
Result := True;
end;
end;

Procedure BackToTurnInGP;
begin
end;

Function BankGP: Boolean;
begin
If FindColorTolerance( x, y, GoldColor, MIX1, MIY1, MIX2, MIY2, 10) then
begin
MMouse(x,y,0,0);
wait(123);
If IsUpText('oins') then
begin
Mouse(x,y,0,0,false);
wait(124);
ChooseOption('ll');
Result := True;
end;
end;
end;

//////////////////////////////////////////////////////////////////////
// //
// Just some needed but not so intresting stuff //
// //
//////////////////////////////////////////////////////////////////////

Procedure Signature;
begin
Writeln('________ ________ ___ ');
Wait(500);
Writeln('| ______| | _ \ | |');
Wait(500);
Writeln('| | | | \ | \_|');
Wait(500);
Writeln('| |_____ _____ | |__| |');
Wait(500);
Writeln('|_____ | |_____|| ____/ _______ ');
Wait(500);
Writeln(' | | | | | ___|');
Wait(500);
Writeln('_____| | | | |___ |');
Wait(500);
Writeln('|______| |__| |_____|');
Wait(500);
Writeln(' -Draynor Power Leveler');
Wait(3000);
end;

Procedure Proggy;
begin
Writeln('===================Usual-Text=======================');
Writeln('==Thank you for using my draynor multi skill trainer.');
Writeln('==I Hope everything has been to your likeing, if not,');
Writeln('==please contact me with your problems.');
Writeln('=================Progress-Report=====================');
Writeln('******************Script-Info************************');
Writeln('**The script ran for ' +TimeRunning+ ' .'););
Writeln('**Logged in ' +IntToStr(LoggingInCount)+ ' Times.');
Writeln('******************Achievements***********************');
Writeln('**You have successfully chopped and banked ' +IntToStr(TotalNormalLogs)+ ' Normal logs');
Writeln('**You have successfully chopped and banked ' +IntToStr(TotalOakLogs)+ 'Oak logs');
Writeln('**You have successfully chopped and banked ' +IntToStr(TotalWillowLogs)+ 'Willow logs');
Writeln('**You have successfully chopped and banked ' +IntToStr(TotalYewLogs)+ ' Yew logs ');
Writeln('**You have successfully fished ' +IntToStr(TotalShrimpFished)+ ' Shrimps');
Writeln('**You have successfully fished ' +IntToStr(TotalSardineFished)+ ' Sardines');
Writeln('**You have successfully fished ' +IntToStr(TotalHerringsFished)+ ' Herrings');
Writeln('**You have successfully Cooked ' +IntToStr(TotalShrimpCooked)+ ' Shrimps');
Writeln('**You have successfully Cooked ' +IntToStr(TotalSardineCooked)+ ' Sardines');
Writeln('**You have successfully Cooked ' +IntToStr(TotalHerringsCooked)+ ' Herrings');
Writeln('**You Have successfully killed ' +IntToStr(TotalGoblinsKilled)+ ' Goblins');
Writeln(' ');
Writeln(' ');
end;

Function AreWeInDraynor: Boolean;

Procedure SetUpScript;
begin
end;

//////////////////////////////////////////////////////////////////////
// //
// Main Loop //
// //
//////////////////////////////////////////////////////////////////////

begin
end.
Oh, btw, all of it is based in draynor, draynor bank to be specific.

Cazax

2008-02-12 11:00:28

For axe dtms, just make one and set the tolerance at 255. The same for the logs.

Pure1993

2008-02-12 11:34:22

Well, problem is: I need to choose the right axe, not just any axe, which you will see if you read through the entire script.

ShowerThoughts

2008-02-12 12:24:43

hmm i have this…. it 110% perfect walking to oak and from oak :D

{ __  __    __  __
/\ \/\ \ /\ \/\ \
\ \ \_\ \ \ \ \_\ \
\ \ _ \ \ \ _ \
\ \ \ \ \ \ \ \ \ \
\ \_\ \_\ \ \_\ \_\
\/_/\/_/ \/_/\/_/
____ __ __
/\ _`\ /\ \ /\ \__ __
\ \ \L\ \_ __ ___ \_\ \ __ __ ___\ \ ,_\/\_\ ___ ___
\ \ ,__/\`'__\/ __`\ /'_` \/\ \/\ \ /'___\ \ \/\/\ \ / __`\ /' _ `\
\ \ \/\ \ \//\ \L\ \/\ \L\ \ \ \_\ \/\ \__/\ \ \_\ \ \/\ \L\ \/\ \/\ \
\ \_\ \ \_\\ \____/\ \___,_\ \____/\ \____\\ \__\\ \_\ \____/\ \_\ \_\
\/_/ \/_/ \/___/ \/__,_ /\/___/ \/____/ \/__/ \/_/\/___/ \/_/\/_/}

program OakBankerandCutter;
{.Include SRL/SRL.Scar}
const
StartPlayer = 0;
OakColor = 7383972;
OakColor2 = 6530458;
HowManyMinutes = 5; //how many mins to get a fill load
YourSRLID = '';
YourSRLIDPASS = '';

var
X, Y, Logins: integer;
Time, Time2: integer;

function WalkToBank1: boolean; forward;
function WalkToBank2: boolean; forward;
function OpenBankDTM: boolean; forward;
function WalkToOak: boolean; forward;
Procedure FindOak; forward;
Procedure WalkToBank; forward;
function TreeGone: boolean; forward;
procedure TreeIsGone; forward;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
CurrentPlayer := StartPlayer;
NumberOfPlayers(HowManyPlayers); // set arraylength

Players[0].Name := 'bow of crust';
Players[0].Pass := 'harry52369';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0] := 5; //Loads?
Players[0].Integers[1] := 0; //let this
Players[0].Integers[2] := 0; //let this
Players[0].Integers[3] := 0; //let this

{Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;
Players[1].Integers[0]:=5;//Loads?
Players[1].Integers[1]:=0;//let this
Players[1].Integers[2]:=0;//let this
Players[1].Integers[3]:=0;//let this

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;
Players[2].Integers[0]:=5;//Loads?
Players[2].Integers[1]:=0;//let this
Players[2].Integers[2]:=0;//let this
Players[2].Integers[3]:=0;//let this

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;
Players[3].Integers[0]:=5;//Loads?
Players[3].Integers[1]:=0;//let this
Players[3].Integers[2]:=0;//let this
Players[3].Integers[3]:=0;//let this}

end;

{==============================]
Function:FindClickNpc
by:Hermpie
Info:you could use it like this,
NPCFindNClick(Color1,Color2,'uptext1','uptext2','rade',InFight,False,10);
[==============================}



Procedure GetLevel(Skill: string; Option: boolean);
begin
if not LoggedIn then Exit;
if (Option = True) then
begin
GameTab(2);
Players[CurrentPlayer].Integers[1] := 0;
Players[CurrentPlayer].Integers[1] := GetSkillLevel(Skill);
end else
begin
GameTab(2);
Players[CurrentPlayer].Integers[2] := 0;
Players[CurrentPlayer].Integers[2] := GetSkillLevel(Skill);
end;
GameTab(4)
end;

function HandleFight:boolean;
begin
if FindFight then
begin
WalkToBank;
FindNormalRandoms;
WalkToOak;
Result:=true;
FindOak;
end;
end;

function GetAxe: boolean;
var
Axe: integer;
begin
WalkToBank;
OpenBankDTM;
DepositAll;
Axe := DTMFromString('78DA636C6664601003622080900C0CB5A5250' +
'CFFA1FCFF40C0580264E9C0646100550F631990A54D404D3990A5' +
'41404D0590A546404D1590A540845D3244D82549404D25227CF0F' +
'A5D91809A12C2FE0200E4860D2E');
if (FindDTM(Axe, X, Y, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('New Axe Found!');
wait(50);
MMouse(X, Y, 0, 0);
wait(50);
if IsUpText('axe') then
begin
wait(50);
Mouse(X, Y, 0, 0, True);
Result := True;
WriteLn('Took New Axe From Bank');
wait(50);
CloseBank;
Wait(500);
GameTab(4);
Wait(500);
if (FindDTM(Axe, X, Y, MIX1, MIY1, MIX2, MIY2)) then
begin
wait(50);
Mouse(X, Y, 0, 0, True)
wait(50);
OpenBankDtm;
Wait(500);
Depositall;
wait(50);
CloseBank;
wait(500);
WalkToOak;
end else logout;
end else
begin
WriteLn('Did NOT find New Axe, logging out');
Result := False;
logout;
end;
FreeDTM(Axe);
GameTab(4);
end;
end;

procedure Check;
begin
if FindBlackChatMessage('do not have an axe') then
begin
WriteLn('You Do NOT got an axe with your wcing level to use, getting new one');
GetAxe;
end;
if FindBlackChatMessage('level of 15') then
begin
WriteLn('your player Haves wcing level -15, logging out');
logout;
end;
end;

Procedure FindOak;
var
TMT,b: Integer;
begin
TMT := 0;
Check;
if (TreeGone = False) then exit;
repeat
TMT := TMT + 1
B := GetSystemTime
if FindObjCustom(X, Y, ['Oak', 'ak'], [OakColor, OakColor2], 10) then
begin
Wait(50+random(20));
Mouse(X, Y, 1, 1, False);
Wait(50+random(20));
if ChooseOption('hop') then
begin
WriteLn('Found Oak');
Break;
end;
end;
until (TMT > 10)
end;

{*******************************************************************************
Procedure TRef(symbol1, symbol2, symbol3:integer; NextPlayer:Boolean);
by: Hobbit
Decription: Uses Triangles made with mm symbols to check positions
Boolean: True - If reference symbols not found it switches to the next
player.
False - If reference symbols not found it leave current player
logged in.
*******************************************************************************}



function FindEntDTM: boolean;
var
Ent: integer;
begin
Ent := DTMFromString('78DA63EC626260886400034608C5F0E70F138' +
'30894FF1F0818EB106A98A06AF48305E06AC07A416A9C51D5A839' +
'70A1AA01D9A587DF1C003C790B25');
if (DTMRotated(Ent, X, Y, MMX1, MMY1, MMX2, MSY2)) then Result := True else Result := False;
FreeDTM(Ent);
if result then writeln('Found Ent');
end;

procedure Ent;
var
Pizza: integer;
begin
pizza := 0;
if FindEntDTM then
begin
MarkTime(Pizza);
repeat
Wait(500);
FindEntDTM;
wait(10)
until (FindEntDTM = False) or (TimeFromMark(Pizza) > 60000)
end;
pizza := 0;
end;

function TreeGone: boolean;
var
TreeStump: integer;
begin
TreeStump := DTMFromString('78DA638C656260F061644006F5E99E0CFC401' +
'A24FA1F0818416A4250D5746439C0D580006304A69A552D01A86A' +
'C2816AFC51D52CAEF3C554E38DAA66469907AA9A00A01A4F54350' +
'B6A7C50D58460FA0BC33D89403581A86A8A23CD50D52401D5F8A2' +
'AA49F2D14355130F54138C3F7C00ADE517F8');
if (DTMRotated(TreeStump, X, Y, MSX1, MSY1, MSX2, MSY2)) then Result:=True else Result:=False;
FreeDTM(TreeStump);
end;

procedure TreeIsGone;
var
Pizza: integer;
begin
pizza := 0;
if TreeGone then
begin
MarkTime(Pizza);
repeat
Wait(450);
TreeGone;
wait(10);
until (TreeGone = False) or (TimeFromMark(Pizza) > 10000)
end;
pizza := 0;
end;


function WalkToOak: boolean;
var
ToOak: integer;
begin
RunControl(True);
ToOak := DTMFromString('78DA636C676260086200034608C55018ABC4F' +
'01FCAFF0F048CB5403521A86A145CB8192491F88C3D4035C104D4' +
'80CC714055236EC88AAAA60DA84687803973806AECF1AB010093A' +
'C0D63');
if (DTMRotated(ToOak, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToOak DTM.');
MouseFlag(x, y, 0, 0);
end else
begin
Result := False;
WriteLn('Could NOT Find ToOak DTM');
end;
FreeDTM(ToOak);
end;

function WalkToBank1: boolean;
var
ToBank: integer;
begin
ToBank := DTMFromString('78DA630C616260F06740017FFE30314802694' +
'620FE0F048C2035C1A86ADEBE6580AB0101C650A01A77DCE68000' +
'00E97D0C08');
if (DTMRotated(ToBank, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToBank DTM.');
MouseFlag(x + 5, y, 3, 3);
end else
begin
Result := False;
WriteLn('Could NOT Find ToBank DTM');
end;
FreeDTM(ToBank);
end;


function WalkToBank2: boolean;
var
ToBank2: integer;
begin
ToBank2 := DTMFromString('78DA634C66626008644001C9B1310CFF81342' +
'310FF0702C614A09A02881C23548D7C000B8324129FB118A8269F' +
'809A74A09A18026A72816A3C08A86906AA8926A0A609A8C682809' +
'A3EFC6A407E0700034B144F');
if (DTMRotated(ToBank2, X, Y, MMX1, MMY1, MMX2, MMY2)) then
begin
Result := True;
WriteLn('Found ToBank2 DTM.');
MouseFlag(x, y, 0, 0);
end else
begin
Result := False;
WriteLn('Could NOT Find ToBank2 DTM');
end;
FreeDTM(ToBank2);
end;

Procedure WalkToBank;
Begin
RunControl(True);
if WalkToBank1 then else if WalkToBank2 then WalkToBank else logout;
end;

function OpenBankDTM: boolean;
var
Bank: integer;
begin
Bank := DTMFromString('78DA63BCC9C0C0B094010524C707338800694' +
'6289FF10690588FAA262B251E55CD2D203107554D64B037AA9A47' +
'986A826CB950D53C00126B08A8390724A6A1AA8976E5465573064' +
'8AC2360CE5920B108554D82070FAA9ABB40E20001739E00897602' +
'6A9E018942026A406E7E8D16CEFEBC7035FF8100003F971FE1');
if (DTMRotated(Bank, X, Y, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('Found Bank DTM.');
Wait(50);
Mouse(X ,Y,0,0, False);
Wait(50);
if ChooseOption('uickly') then
begin
Wait(1000 + random(500));
if Bankscreen then
begin
Writeln('opened the bank')
Result := True;
end else
if OpenBankFast('db') then Result := true else
begin
logout;
Result := False;
end;
end;
end else
begin
if openBankFast('db') then
begin
WriteLn('Found Bank DTM');
Result := True;
end else
WriteLn('Could NOT Find Bank DTM');
Result := False;
end;
FreeDTM(Bank);
end;

procedure WoodCutOak;
var
MaxTime: integer;
begin
if invfull then exit;
if WalkToOak then else logout;
ClickToContinue;
Marktime(Time);
Maxtime := HowManyMinutes * 60000;
repeat
TreeIsGone;
FindOak;
if FindNormalRandoms then FindOak;
FindNormalRandoms;
Check;
MarkTime(time2)
repeat
wait(10);
HandleFight;
FindTalk;
until (invfull) or (TimeFromMark(Time2) > 30000+random(5000)) or(TimeFromMark(Time) > MaxTime) or TreeGone or ClickToContinue or findtalk;
Wait(10);
until (invfull) or (TimeFromMark(Time) > MaxTime);
end;

procedure Setup;
begin
DeclarePlayers;
MouseSpeed := 15;
ActivateClient;
SRLID := YourSRLID;
SRLPassword := YourSRLIDPASS;
end;

procedure SetUpClient;
begin
if (FindLoginScreen) then
begin
LoginPlayer;
Logins := Logins + 1;
end;
Wait(1000);
WelcomeToRuneScape;
HighestAngle;
MakeCompass('N');
GetLevel('WoodCutting', True);
end;


begin
SetUpSRL;
Setup;
repeat
SetUpClient;
repeat
WoodCutOak;
WalkToBank;
GetLevel('WoodCutting', False);
OpenBankDTm;
Depositall;
until (false)
until (false)
end.

dude if your got with arrays, then its all okay im kinda godo with dtms so that axe dtm function fixed fast… contact me [email]kotsz@live.nl[/email]

P1nky

2008-02-12 12:30:33

why didnt you post this in srl junior member section :P

3rd script :O

and it looks highly good

Heavenzeyez1

2008-02-12 12:39:17

It looks something called ''Charm.'' :)
Well, does like fishing and woodcutting. :)
I see, if u release script, it's a good one?:)
Because it's third, and it's really good.
GJ,
Eerik.

Pure1993

2008-02-12 12:51:53

@ p1nky:
I didn't post this in the jr member section because I think it isn't good enough to be there. It is a piece of trash (at least compared to what I wanted to create, so I am starting over). But thanks for the compliment. :)
@ hermpie:
The thing is, the script was supposed to get 10 or so characters to level 99 wc if possible, without ever needing to stop the script. So I wanted the program to select the best axe avaible for the current level, and not just any axe. For example, if you only have a mithril and a rune avaible, and your wc is only 39, then it would go for the mithril, instead of the rune, or the one it finds fastest(I hope I understood your post correctly). But, thanks a lot for your example and your post. Now, I will try out your script, and if not 11 out of 10 walks work, then I will give you a bad rating, because you lied with the 110%.
XD jk
@heavenz:
I could only guess what you were trying to say :D, but I think it was meant as a compliment, so thanks. :D XD

punkd

2008-02-12 17:52:48

wow thats one long script, did you make that all by yourself?

Pure1993

2008-02-13 04:52:22

Well, yeah, I did every single line myself, but it is not too long, took me only one week to make it.

mikevskater

2008-02-13 08:00:17

I really like this script, it looks like when finished will be a very good multi skill… But i think you need to clean up your tabs… like this needs to be cleaned up:

Function UseRightAxe: Boolean; // Checks for your wc level and makes sure you
// are using the correct axe.
Label
LowestLevel, LowLevel, MediumLevel, HighLevel, HighestLevel;
begin
MySkillWC := GetSkillInfo('woodcutting', false);
MyInventory := InvCount;
If (MyInventory > 0) then
Begin
ArrangeInv;
Deposit(1,MyInventory,2);
CloseBank;
end;
If (MySKillWC < 6) then
begin
Goto LowestLevel;
end;
If (MySKillWC < 21) then
begin
Goto LowLevel;
end;
If (MySKillWC < 31) then
begin
Goto MediumLevel;
end;
If (MySKillWC < 41) then
begin
Goto HighLevel;
end;
If (MySKillWC > 40) then
begin
Goto HighestLevel;
end;
begin
HighestLevel:
If FindBitmapIn(RuneAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
HighLevel:
If FindBitmapIn(AdamantAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
MediumLevel:
If FindBitmapIn(MithrilAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
LowLevel:
If FindBitmapIn(BlackAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
If FindBitmapIn(SteelAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
LowestLevel:
If FindBitmapIn(IronAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
If FindBitmapIn(BronzeAxe, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x,y,0,0,false);
wait(334);
ChooseOption('raw 1');
end else
begin
writeln('No Appropriate Axe Found, terminating script');
NextPlayer(False);
end;
end;
end;
end;
end;
end;
end;
end;
end;
idk… but it just looks a little bad….
other then that looks good

Pure1993

2008-02-13 08:03:58

Like I already said: I don't like this script myself, and that is why I stopped writing it. I will not do a single thing with it, feel free to finsih it yourself. :)

Bonfield

2008-02-13 08:09:21

yea it sure has potential goodluck to whoever decides to finish it

Pure1993

2008-02-13 08:19:06

Haha, if this has potential, then wait and see what the script will look like with which I will be content. :D

Naum

2008-02-13 12:12:46

Nice Script!

Pure1993

2008-02-13 13:51:28

argh! why is everyone saying it's nice?!?! I T I S A P I E C E O F T R A S H ! ! ! !
(or at least compared to what I am making right now :D)

Cazax

2008-02-13 14:02:48

From: Stur Pure
argh! why is everyone saying it's nice?!?! I T I S A P I E C E O F T R A S H ! ! ! !
(or at least compared to what I am making right now :D)


what you making right now?:D

Pure1993

2008-02-13 14:33:57

Pretty much the same thing, but More Failsafe, More advanced Function, Better arrays, better standards, better antirandoms, more anti-ban, safer walking, faster chopping, smooth banking, a nice little multiplayer form, better usage of next player, less lagging, more options as in what fish, which monster to kill, how to cook, what to bank, which logs to power chop and which to bank, and maybe even an auto buyer to buy the best possible axes if they are not avaible, and an auto seller to sell the banked wood. And it will have more randomness (3 ways alone in which I can walk from lumby to draynor :D), so pretty much an entriely new script, nothing is kept. (exept maybe the axe finding choosing one, I have grown quite fond of it :D) :)

Cazax

2008-02-13 14:41:20

From: Stur Pure
Pretty much the same thing, but More Failsafe, More advanced Function, Better arrays, better standards, better antirandoms, more anti-ban, safer walking, faster chopping, smooth banking, a nice little multiplayer form, better usage of next player, less lagging, more options as in what fish, which monster to kill, how to cook, what to bank, which logs to power chop and which to bank, and maybe even an auto buyer to buy the best possible axes if they are not avaible, and an auto seller to sell the banked wood. And it will have more randomness (3 ways alone in which I can walk from lumby to draynor :D), so pretty much an entriely new script, nothing is kept. (exept maybe the axe finding choosing one, I have grown quite fond of it :D) :)


And an axe repairer in case of broken axe will be fine

Pure1993

2008-02-13 15:26:22

Oh yeah, I would have forgotten that, thanks :)

Cazax

2008-02-13 15:28:51

From: Stur Pure
Oh yeah, I would have forgotten that, thanks :)


np. good luck!

Metagen

2008-03-10 08:57:06

Well it is very nicely written, well structured and all. I'm proud of you xD

Torrent of Flame

2008-03-10 12:53:14

Well your very modest Pure.

Your writing really complex scripts and calling them crap.

Pure1993

2008-03-10 15:25:03

Haha, torrent, here is a hint: become a member, and then look at the mining script i will publish in a few days, tehn you might be able to relate (everything is relative in life ;)).

Thanks Metagen, but you know, you can only be proud if you have played a part that lead to my success. XD :D