Liquid.Ace
2007-06-18 05:10:41
<!– BEGIN TEMPLATE: formanswers –>
Liquid.Ace - SRL Member Application Form
Liquid.Ace
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C++, HTML
Other Communitys
Scar-Scripts.com
How Long have You Played Runescape
3 Years.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well to start off my name is Ben and I'm 15 years old. I have 2 Years c++ experience and around 5 years HTML experience. i have been scripting with scar for over 18 months now and I'm still always willing to improve. I've done most of my scripting with scar 2.03 so i need to brush up on the newer scar with some "bugs/errors" I've in counted, one being NEWLINE…
I started scripting around 2 years ago with the help of Jens (Scar-scripts.com Administrator.) i moved on from runescape about a year after then and went on to hack gunz. This is where i gained my c++ experience. While hacking gunz i made many public hacks including, Mplvl, Lawnmower, Insane Massive, Colored User names, Force Join, Colored Clan Names and so on. I recently returned to runescape around 18 months ago and started scripting again. I have finished many scripts and remained relatively private only allowing good friends to use my scripts.
Kind Regards
Ben
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
Liquid.Ace - SRL Member Application Form
Liquid.Ace
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C++, HTML
Other Communitys
Scar-Scripts.com
How Long have You Played Runescape
3 Years.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well to start off my name is Ben and I'm 15 years old. I have 2 Years c++ experience and around 5 years HTML experience. i have been scripting with scar for over 18 months now and I'm still always willing to improve. I've done most of my scripting with scar 2.03 so i need to brush up on the newer scar with some "bugs/errors" I've in counted, one being NEWLINE…
I started scripting around 2 years ago with the help of Jens (Scar-scripts.com Administrator.) i moved on from runescape about a year after then and went on to hack gunz. This is where i gained my c++ experience. While hacking gunz i made many public hacks including, Mplvl, Lawnmower, Insane Massive, Colored User names, Force Join, Colored Clan Names and so on. I recently returned to runescape around 18 months ago and started scripting again. I have finished many scripts and remained relatively private only allowing good friends to use my scripts.
Kind Regards
Ben
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{-------------------------------------------------------}
{ LiQuid Yew Cutter Setup }
{-------------------------------------------------------}
{-------------------------------------------------------}
{ Have RS on Very Bright Setting. }
{-------------------------------------------------------}
{ Start at Yew Trees, or in Edgeville Bank. }
{-------------------------------------------------------}
{ Set Nickname correctly }
{-------------------------------------------------------}
Program LiQuidYewCutter;
{.include SRL/SRL.scar}
{.include SRL\SRL\Skill\Woodcutting.SCAR}
{.include SRL/SRL/Extended/xBank.scar}
Const
LiQuidFlag = True;
LoadsWanted = 2; //Loads before Switching.
Var
LogDTM, BrokenAxeDTM, Loads, DoorBitmap, AxeHandleDTM, RegularAxeDTM, AxeHeadMask : Integer;
DoneSwitch : Boolean;
LogCount, TotalLogs : Integer;
//////////////////////////////////////////
{----------------------------------------}
{ Player Setup Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Declare Players ----------}
Procedure DeclarePlayers;
begin
Status('LiQuid Is Now Loading Players')
HowManyPlayers := 3;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;
Players[0].Name := 'Username';
Players[0].Pass := 'Password';
Players[0].Nick := 'est'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[0].Active := True;
Players[0].Loc := '';
Players[1].Name := 'Username';
Players[1].Pass := 'Password';
Players[1].Nick := 'Nickname'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[1].Active := True;
Players[1].Loc := '';
Players[2].Name := 'Username';
Players[2].Pass := 'Password';
Players[2].Nick := 'Nickname'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[2].Active := True;
Players[2].Loc := '';
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Player Setup Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ DTM Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Load DTMS ----------}
Procedure LoadDTMs;
begin
Status('LiQuid Is Now Loading DTMS')
LogDTM := DTMFromString('78DA632C666260E0646440067921460CFF813' +
'448F43F103066314179C880118904D2354035FF19F0AB2905AA11' +
'22604E23500D0F0135C94035DCF8D50000507909F5');
BrokenAxeDTM := DTMFromString('78DA633CCAC4C090C1C8800C9A127919FE036' +
'990E87F2060BC0C54938CAA06220B2381F445A09A04026A8E01D5' +
'C41050B31FA8A698809AB384CD0100CBBD0D20');
AxeHandleDTM := DTMFromString('78DA637CCFC4C0E0C6C8800CCA227819FE036' +
'990E87F2060FC06546389AA06220B2381F473A09A00026ADE00D5' +
'F81350F316A8C685809A97403541F8D50000D0090D3C');
RegularAxeDTM := DTMFromString('78DA637461626060676440060DF1BC0CFF813' +
'448F43F10300601D5FC6740038C482490F604AAF94D408D13500D' +
'2B237E35F640358204D4F813618E1F50CD1F02EE0906AA61C26F0' +
'E0099720B7E');
AxeHeadMask := DTMFromString('78DA63EC656260F06040011DD5D50C5C409A1' +
'188FF0301E3044C3579C929703520C0380353CD97375F2072503E' +
'00CB9B0C31');
DoorBitMap := BitmapFromString(1, 3, '6A5A26F000006A5A26');
end;
{---------- Get Axe Color ----------}
Function GetAxeColor : Boolean;
Var
inX, inY : Integer;
Begin
GameTab(4)
If FindDTM(RegularAxeDTM, inX, inY, MIX1, MIY1, MIX2, MIY2) then
Begin
Head := GetColor(590, 220);
Head2 := GetColor(587, 219);
Head3 := GetColor(588, 218);
Result := True;
end else
GameTab(5)
If FindDTM(RegularAxeDTM, inX, inY, MIX1, MIY1, MIX2, MIY2) then
Begin
Head := GetColor(597, 294);
Head2 := GetColor(600, 295);
Head3 := GetColor(599, 298);
Result := True;
end;
WriteLn('Axe head colors: ' + IntToStr(Head) + ' ' + IntToStr(Head2) + ' ' +
IntToStr(Head3));
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "DTM Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Random Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Ent Checker ----------}
Var
EX, EY : integer;
FX, FY : integer;
SafeEntWait : LongInt;
Procedure EntChecker;
Begin
Status('LiQuid Is Now Checking For An Ent')
If (FindObjMultiText(EX, EY, 'Yew', 'Yew', 'Yew', 1990736, 2)) then
Begin
MMouse(EX, EY, 0, 0)
If FindColorTolerance( FX, FY, 55769, 85, 15, 115, 15, 20) then
Begin
Status('LiQuid Has Now Found An Ent Found');
MouseFindFlag(645, 83, 2, 2);
MarkTime(SafeEntWait)
Repeat
FTWait(5)
FindNormalRandoms;
If Not(LoggedIn) then NextPlayer(False);
Until TimeFromMark(SafeEntWait) > 29000 + Random(10000)
EntsAvoided := EntsAvoided + 1
end;
end;
end;
{---------- Is Axe Broken? ----------}
Var
BX, BY, NX, NY : integer;
Procedure IsAxeBroken;
Begin
Status('LiQuid Is Detected If Axe Is Broken')
GameTab(4)
Wait(400 + Random (100))
If (Not(FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 ))) then
Begin
Status('LiQuid Has Found The Axe In One Peice')
Exit;
end;
Begin
If (FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 )) and
(Not(FindDTM(RegularAxeDTM, NX, NY, MIX1, MIY1, MIX2, MIY2))) then
Begin
Status('LiQuid Has Detected Axe Is Broken')
NextPlayer(False)
end;
end;
end;
{---------- Lets Check The Flag Eh? ----------}
Function LiQFlag : Boolean;
Var
I : Integer;
SFF : LongInt;
Begin
If (LiQuidFlag) then
Begin
GameTab(4)
MarkTime(SFF)
Repeat
If (FlagPresent) then
Begin
For I:= 1 to 3 do
Begin
Case I of
1: MMouse(0 + Random(300), 0 + Random(300), 0 + Random(300), 0 + Random(300));
2: FindNormalRandoms;
3: FindTalk;
end;
end;
end;
Wait(600 + Random(400))
If Not(LoggedIn) then NextPlayer(False);
Until (Not(FlagPresent)) or (TimeFromMark(SFF)>10000)
end else
Begin
Flag;
end;
Result := True;
Wait(500 + Random(400))
end;
{---------- Check Door? ----------}
Function FCheckDoor : Boolean;
Var
dX, dY, m : Integer;
Begin
ActivateClient;
MakeCompass('N')
HighestAngle;
m := 0;
Repeat
If FindObjMultiText(dX, dY, 'oor', 'Door', 'Doo', 2574956, 4) or
FindObjMultiText(dX, dY, 'oor', 'Door', 'Doo', 2767952, 4) then
Begin
MMouse(dX, dY, 0, 0)
Wait(100)
If IsUpText('pen') then
Begin
Mouse(dX, dY, 0, 0, True)
Result := True
WriteLn('LiQuid Has Opened The Door')
LiQFlag;
end else
Begin
Result := True;
WriteLn('LiQuid Has Noticed The Door Is Open')
end;
m := m + 1
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Result) or (m > 4)
If (m > 4) then
Begin
WriteLn('LiQuid Cannot Find A Day')
WriteLn('LiQuid Is Now Gonna Try To Find The Open')
end;
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Random Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Cutting Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Start Cutting These Trees ----------}
Var
TX, TY : Integer;
TreeTime, SafeWaiting : LongInt;
Procedure StartChopping;
Begin
ActivateClient;
MakeCompass('N')
MarkTime(TreeTime)
If ( Not (LoggedIn) ) Then
Begin
NextPlayer (False)
Exit;
end;
Repeat
Begin
IsAxeBroken;
Status('LiQuid Is Searching For Yews')
If (InvFull) then
Begin
Exit;
end;
EntChecker;
ActivateClient;
MakeCompass('N')
If (FindObjMultiText(TX, TY, 'Yew', 'Yew', 'Yew', 1990736, 3)) then
Begin
Mouse(TX, TY, 1, 1, True)
Wait( 1400 + Random (200))
MarkTime(SafeWaiting)
Repeat
If InvFull then
Begin
Exit;
end;
If DoneSwitch then
Begin
DoneSwitch := False;
Break;
end;
Wait(10)
If Not (LoggedIn) then NextPlayer(False);
Until (TimeFromMark(SafeWaiting) > 25000 + Random(5000))
end;
end;
If Not (LoggedIn) then NextPlayer(False);
Until (InvFull) or (TimeFromMark(TreeTime)>60000 * (15 + Random(3)))
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Cutting Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Walking Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Walk To Yews ----------}
Function WalkToYew : Boolean;
Var
wX, wY : Integer;
Begin
ActivateClient;
MakeCompass('N')
If FindSymbol(wX, wY, 'Dungeon') then
Begin
Mouse(wX, wY - 3, 0, 0, True)
SetRun(True)
GameTab(4)
LiQFlag;
If FindBitMapToleranceIn(DoorBitMap, wX, wY, MMX1, MMY1, MMX2, MMY2, 9) then
Begin
Mouse(wX, wY, 3, 3, True)
LiQFlag;
end;
FCheckDoor;
If FindSymbol(wX, wY, 'Tree') then
Begin
If Distance(wX, wY, 648, 83) > 41 then
Begin
Mouse(wX + 7, wY + 6, 0, 0, True)
LiQFlag;
end else
Begin
Mouse(wX + 7, wY - 7, 0, 0, True)
LiQFlag;
end;
end;
Result := True;
end else
Begin
Mouse(652, 150, 0, 0, True)
SetRun(True)
GameTab(4)
LiQFlag;
If FindSymbol(wX, wY, 'Dungeon') then
Begin
Mouse(wX, wY - 10, 0, 0, True)
LiQFlag;
end;
FCheckDoor;
If FindSymbol(wX, wY, 'Tree') then
Begin
Mouse(wX + 3, wY + 6, 0, 0, True)
LiQFlag;
end;
Result := True;
end;
end;
{---------- Walk To Edge Bank ----------}
Function WalkToEdgeBank : Boolean;
Var
gX, gY : Integer;
Begin
SetRun(False)
ActivateClient;
MakeCompass('N')
If FindSymbol(gX, gY, 'Dungeon') then
Begin
Mouse(gX, gY - 3, 0, 0, True)
GameTab(4)
LiQFlag;
end;
If FindBitMapToleranceIn(DoorBitMap, gX, gY, MMX1, MMY1, MMX2, MMY2, 9) then
Begin
Mouse(gX, gY, 3, 3, True)
LiQFlag;
end;
FCheckDoor;
ActivateClient;
MakeCompass('N')
Mouse(625, 21, 5, 0, True)
Wait(3000+Random(1000))
LiQFlag;
If FindDTM(AxeHeadMask, gX, gY, MMX1, MMY1, MMX1, MMY2) then
Begin
WriteLn('LiQuid Has Found A Mask')
Mouse(gX - 5, gY, 0, 0, True)
LiQFlag;
end else
If FindSymbol(gX, gY, 'Bank') or
FindMMColorTol(gX, gY, 5492188, 3) then
Begin
WriteLn('LiQuid Has Found The Color')
Mouse(gX, gY + 4, 4, 4, True)
LiQFlag;
end else
If FindSymbol(gX, gY, 'Cook') then
Begin
WriteLn('LiQuid Couldnt Find The Other Color Using Cook Symbol')
Mouse(gX + 67, gY - 2, 3, 3, True)
LiQFlag;
end;
Result := True;
WriteLn('LiQuid Has Detected We Are In The Bank')
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Walking Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Tree Switching Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Switch To First Tree ----------}
Function SwitchTrees : Boolean;
Var
tX, tY, sX, sY, Dist : Integer;
Begin
ActivateClient;
MakeCompass('N')
If Not FindObj(tX, tY, 'Yew', 1990736, 2) then
Begin
If FindSymbol(sX, sY, 'Dungeon') or
FindMMColorTol(sX, sY, 5201919, 2) then
Begin
Dist := Distance(683, 68, sX, sY)
If (Distance(648, 84, sX, sY) < 33) then
Begin
WriteLn('Distance = ' + IntToStr(Dist) + '.')
WriteLn('LiQuid Is Now Locating The Northen Trees')
Mouse(645, 57, 3, 3, True)
LiQFlag;
Result := True;
DoneSwitch := True;
end else
Begin
Dist := Distance(653, 116, sX, sY)
WriteLn('Distance = ' + IntToStr(Dist) + '.')
WriteLn('LiQuid Is Now Locating The Southen Trees')
Mouse(652, 118, 3, 3, True)
LiQFlag;
Result := True;
DoneSwitch := True;
end;
end;
end;
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Tree Switching Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Banking Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Open Edge Bank ----------}
Function OpenEdgeBank : Boolean;
Var
bbX, bbY, bbTries : Integer;
Begin
bbTries := 0
ActivateClient;
MakeCompass('N')
ActivateClient;
HighestAngle;
If FindDTM(AxeHeadMask, bbX, bbY, MMX1, MMY1, MMX2, MMY2) then
Begin
Mouse(bbX, bbY + 7, 0, 0, True)
LiQFlag;
end;
Repeat
If FindObjMultiText(bbX, bbY, 'ank b', 'booth', 'Bank booth', 607324, 3) then
Begin
Mouse(bbX, bbY, 0, 0, False)
Wait(100)
ChooseOption(x, y, 'uick')
Result := True;
LiQFlag;
Wait(5000+Random(1000))
end else
Begin
bbTries := bbTries + 1
WriteLn('LiQuid Cannot Find The Bank, I Have Tried ' + IntToStr(bbTries) + ' time[s]')
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Result) or (bbTries > 7)
If (bbTries > 7) then
Begin
WriteLn('LiQuid Has Wasted Too Much Time And Is Now Lost.')
Players[CurrentPlayer].Loc := 'Lost';
LogOut;
NextPlayer(False);
Exit;
end;
Result := True;
Wait(1000 + Random(1000))
end;
{---------- Did We Get Something Random? Lets Store It ----------}
Procedure StoreStuff;
Begin
If InventoryCount > 1 then
Begin
Repeat
ClickItemColorTol(65536, 10, False)
Wait(10)
ChooseOption(x, y, 'All')
Wait(1000 + Random(1000))
If Not(LoggedIn) then NextPlayer(False);
Until InventoryCount = 0
Wait(1000 + Random (1000))
Repeat
If FindDtm(RegularAxeDTM, X, Y, MSX1, MSY1, MSX2, MSY2) then
Begin
Mouse(X, Y, 1, 1, True)
Wait(1000 + Random(1000))
end;
If Not(LoggedIn) then NextPlayer(False);
Until FindDtm(RegularAxeDTM, X, Y, MIX1, MIY1, MIX2, MIY2)
end;
end;
{---------- Lets Bank Those Logs ----------}
Var
LX, LY : Integer;
Procedure BankLogs;
Begin
Status('LiQuid Is Now Storing The Logs')
LogCount := CountItemDtm(LogDTM)
Repeat
If FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2) then
Begin
Mouse(LX, LY, 6, 6, False)
ChooseOption(x, y, 'All')
Wait(1000+Random(1000))
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Not(FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2)))
Wait(100+Random(100))
StoreStuff;
CloseBank;
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Banking Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Progress Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- The Most Important Procedure Aside From The Main! ----------}
Procedure ProgressReport;
Begin
TotalLogs := TotalLogs + LogCount;
WriteLn('[===================================================]')
WriteLn('[ Progress Report By LiQuid.Ace ]')
WriteLn('[===================================================]')
WriteLn(' Script time : ' + TimeRunning)
WriteLn(' Loads Banked : ' + IntToStr(Loads))
WriteLn(' Logs Chopped : ' + IntToStr(TotalLogs))
WriteLn(' Ents : ' + IntToStr(EntsAvoided))
WriteLn('[===================================================]')
WriteLn('[ Progress Report By LiQuid.Ace ]')
WriteLn('[===================================================]')
end;
//////////////////////////////////////////
{----------------------------------------}
{ End Of "Progress Procedures" }
{----------------------------------------}
//////////////////////////////////////////
//////////////////////////////////////////
{----------------------------------------}
{ Main Procedures }
{----------------------------------------}
//////////////////////////////////////////
{---------- Back Bone Of This Script ----------}
begin
ActivateClient;
SetupSrl;
NewLine:=NewLine;
Wait(3000)
DeclarePlayers;
LoadDTMs;
ClearDebug;
If Not (LoggedIn) then
Begin
LogInPlayer;
end;
Repeat
Loads := 0;
Repeat
SetScreenName(Players[CurrentPlayer].Nick)
GetAxeColor;
ActivateClient;
Wait(1)
ActivateClient;
MakeCompass('E')
PerfectNorth;
WalkToYew;
SwitchTrees;
StartChopping;
WalkToEdgeBank;
Repeat
OpenEdgeBank;
Wait(1000+Random(1000))
Until BankScreen;
Wait(1000+Random(1000))
BankLogs;
Loads := Loads + 1;
ProgressReport;
If Not (LoggedIn) then Nextplayer(False);
Until Loads >= LoadsWanted;
LogOut;
NextPlayer(True)
Until False;
end.——————————————————
<!– END TEMPLATE: formanswers –>