Drakan
2007-02-04 22:03:47
<!– BEGIN TEMPLATE: formanswers –>
drags111 - SRL Member Application Form
drags111
What is the meaning to life?
TO SCRIPT! :spot:
Where you Referred to SRL? If yes, by whom?
yes
People from Sythe.org
Programming Knowledge
VB, VB.net, HTML, JavaScript
Other Communitys
Sythe.org
How Long have You Played Runescape
About 2.5-3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have been Scar scripting for about a year. I have made many scripts including the DragFletcher Ultimate. I have also made small power miners and choppers. I use SRL in almost every script I make and visit the community almost every single day.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
drags111 - SRL Member Application Form
drags111
What is the meaning to life?
TO SCRIPT! :spot:
Where you Referred to SRL? If yes, by whom?
yes
People from Sythe.org
Programming Knowledge
VB, VB.net, HTML, JavaScript
Other Communitys
Sythe.org
How Long have You Played Runescape
About 2.5-3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have been Scar scripting for about a year. I have made many scripts including the DragFletcher Ultimate. I have also made small power miners and choppers. I use SRL in almost every script I make and visit the community almost every single day.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{ | |
__ ___|*|______________
| | |_*_ * ______________/
| |_ |*|
| | |____ |_| _
| |/ __ \____ ____| |______
____| | / |/ |/ | ____|
| _ | | / __ | __ |_____ |
| [_] | | | |__|| [__] | |
|_______|_| \_____|\___ |______|
/ /
Script Productions/ /
__/ /
\___/
______________________________________
| |
| Script Info and Setup: |
| DragFletch Ultimate |
| |
|SRL VERSION 3.6 IS USED IN THIS SCRIPT|
--------------------------------------
| |
| This is an AutoFletcher that will |
| Fletch bows. This version does not |
| do bowstrings. I will add in a later |
| version. |
| You can be in any bank you want :) |
| Just fill in the setup and have fun! |
| |
|**SUPPORTS 14 BANKS AROUND RUNESCAPE!*|
| (List on line 88) |
| |
| There is barely any knowledge |
| of SCAR needed. Just Make Sure You |
| have the newest SRL includes. You can|
| Get this from |
| [url]Http://www.villu-reborn.com[/url]. |
| |
--------------------------------------
| **Setup** |
--------------------------------------
| Start in a bank listed on line 88. |
| MAKE SURE YOU HAVE AT LEAST 3 KNIVES|
| IN SECOND BANK SLOT! |
| HAVE KNIFE IN FIRST INV SLOT! |
| HAVE LOGS IN FIRST BANK SLOT! |
| Start with logs in or out of bank. |
| Fill in setup. |
| Have fun! |
| DO SETUP LINES 85-89! |
--------------------------------------
| Versions |
--------------------------------------
|.05 Beta |
|.06 Better Banking and randoms. |
| minor bugs fixed. |
|.07 Added Better log finding and |
| More Human like mouse speed. |
|.08 Fixed CLICK TO CONINUE. If |
| Script accidently deposites |
| knife, it will withdraw again. |
| Added a cooler Signature :D |
| |
-----------------------------------}
Program DragFletcher;
{.include SRL/srl.scar}
var//DONT TOUCH ANY VARIABLES
LBF: Integer;
SBF: Integer;
Stock: Integer;
Banked: Integer;
FLS: Integer;
FLN: Integer;
Bl: Integer;
Time: Integer;
Count: Integer;
LColor: Integer;
{************SETUP*************}
const
LogType = 'Yew';//MUST START WITH A CAPITOL. Valid Argments "Oak, Willow, Maple, Yew, Magic"
BowType = 'long';//CASE SENSITIVE!!!! Valid arguments are "long, short, cbowstock".
Loads = 38;//Number of Loads to do (does 27 bows per load).
Bank = 'seers';//Which Bank are you in. Valid Arguments are: "draynor, varrockE, varrockW, fallador, lumbridge, seers, ardougnS, ardougnE, alkharid, canifis, phasmatys, yanille, fishing guild, catherby".
{**********END SETUP!**********}
const
version = ' Version .05 Beta';//DONT TOUCH
tol = 2;
{**************************FUNCTIONS**************************}
Function LogColor : Boolean;
Begin
If(LogType = 'Oak')then
LColor := 4485265;
If(LogType = 'Willow')then
LColor := 2117463;
If(LogType = 'Maple')then
LColor := 871536;
If(LogType = 'Yew')then
LColor := 608352;
If(LogType = 'Magic')then
LColor := 2906723;
end;
{=================================================================}
Function LevelUp : Boolean;
Begin
If(FindNPCChatText('continue'))then
wait(900);
result := True;
end;
{=================================================================}
function PickString(Choices: array of string): string;
begin
Result := Choices[Random(GetArrayLength(choices))];
end;
{=================================================================}
function RandomTitle: string;
begin
case Random(6) + 1 of
1:
Result := PickString(['Msn Messenger', 'Windows Messenger', 'Yahoo']);
2:
Result := PickString(['Winamp', 'RealPlayer', 'Windows Media Player',
'Volume Control',
'Guitar Guru', 'Midi Maker', 'AV VCS 3.0', 'Video Match 3.4.0',
'Quicktime', 'iTunes', 'DivX']);
3:
Result := PickString(['tre', 'george', 'funnyi', 'examine', 'closeup',
'conv',
'dogs', 'cats', 'rabits', 'animalx', 'photobuck', 'i22', '33ffg',
'small', 'large', 'med', 'img', 'from', 'to', 'post', 'msn', 'edit',
'psi', 'starthelp', 'error', 'fix', 'love']) +
PickString([IntToStr(Random(1000)), '']) +
PickString(['.jpg', '.gif', '.png', '.jpeg']) + ' (Image, ' +
IntToStr(Random(600) + 1) + 'x' + IntToStr(Random(600) / 2) +
' pixels) - ' + PickString(['Mozilla Firefox',
'Microsoft Internet Explorer']);
4:
Result := 'Google - ' + PickString(['Mozilla Firefox',
'Microsoft Internet Explorer']);
5:
Result := PickString(['Microsoft ' + PickString(['Frontpage', 'Word',
'Outlook', 'Powerpoint']), 'Winzip', 'Microsoft Visual Studio 6.0',
'SmartST 2.0 Map Installer', 'Adobe Photoshop CS', 'Koolmoves Demo',
'Acrobat Reader 5.0',
'Limewire', 'Artmoney', 'Hex Editor', 'HP Software Update', 'Notepad',
'Paint', 'Wordpad',
'Calculator', 'Imagemixer With VCD Ver 1.1', 'Sothink SWF Quicker',
'Easy CD Ripper',
'Drums Room v1.1', 'Macromedia Flash 8', 'Mixcraft', 'Beatcraft',
'Ad-Aware SE Personal',
'Taskmanager', 'vid.exe', 'prosecor.exe', 'Sound Creator',
'Love Machine', 'Adrame']);
6:
Result := PickString(['My Computer', 'My Documents', 'Downloads',
'WINDOWS', 'System 32', 'System',
'My Recordings', 'My Music', 'My Webs', 'My Scans', 'My Videos',
'My Pictures',
'My Recieved Files', 'My Albums', 'KODAK', 'Local Disk (C:)',
'Multimedia Files',
'unzipped', 'My Shared Folder', 'My Documents', 'LOGITEMP',
'Program Files',
'Documents and Settings']);
end;
end;
{=================================================================}
Function KnifeInInv : Boolean;
begin
if(FindItemName('Knife'))then
writeln('Knife is in inventory')
result :=True;
end;
{=================================================================}
Function InBank : Boolean;
begin
if(FindSymbol(x,y,'bank'))then
writeln('We are In Bank')
result :=True;
end;
{=================================================================}
Function LogsInInv : Boolean;//THANKS A TON TO Sumilion
var
arLogs : TPointArray;
begin
arLogs := FindItems(LColor,tol,'logs',2);
Result := (GetArrayLength(arLogs) > 0);
end;
{=================================================================}
Function Longbow : Boolean;
begin
if(BowType = 'long')then
Result :=True;
end;
{=================================================================}
Function ShortBow : Boolean;
begin
If(BowType = 'short')then
Result :=True;
end;
{=================================================================}
Function CrossBow : Boolean;
Begin
If(BowType = 'cbowstock')then
Result := True;
end;
{=================================================================}
Function InvWait :Boolean;
Begin
If(InvCount = 2)then
Time := 1 * 1900
If(InvCount = 3)then
Time := 2 * 1900
If(InvCount = 4)then
Time := 3 * 1900
If(InvCount = 5)then
Time := 4 * 1900
If(InvCount = 6)then
Time := 5 * 1900
If(InvCount = 7)then
Time := 6 * 1900
If(InvCount = 8)then
Time := 7 * 1900
If(InvCount = 9)then
Time := 8 * 1900
If(InvCount = 10)then
Time := 9 * 1900
If(InvCount = 11)then
Time := 10 * 1900
If(InvCount = 12)then
Time := 11 * 1900
If(InvCount = 13)then
Time := 12 * 1900
If(InvCount = 14)then
Time := 13 * 1900
If(InvCount = 15)then
Time := 14 * 1900
If(InvCount = 16)then
Time := 15 * 1900
If(InvCount = 17)then
Time := 16 * 1900
If(InvCount = 18)then
Time := 17 * 1900
If(InvCount = 19)then
Time := 18 * 1900
If(InvCount = 20)then
Time := 19 * 1900
If(InvCount = 21)then
Time := 20 * 1900
If(InvCount = 22)then
Time := 21 * 1900
If(InvCount = 23)then
Time := 22 * 1900
If(InvCount = 24)then
Time := 23 * 1900
If(InvCount = 25)then
Time := 24 * 1900
If(InvCount = 26)then
Time := 25 * 1900
If(InvCount = 27)then
Time := 26 * 1900
If(InvCount = 28)then
Time := 27 * 1900
Count := InvCount;
end;
{=================================================================}
Procedure FletchSet2;
begin
if(LogsInInv)then
begin
InvWait;
wait(500 +Random(2));
MouseItem(1,true);
wait(500 +Random(2));
MouseItem(27,true);
wait(1000+Random(500));
end;
end;
{=================================================================}
procedure WaitS(timetowait: Integer; Randoms: Boolean);
var
starttime: Integer;
randcounter: Integer;
randamount: Integer;
idlecounter: Integer;
idleamount: Integer;
begin
starttime := GetSystemTime;
if (timetowait < 8000) then
if (Random(100) < 5) then
timetowait := ((timetowait * 2) + Random(timetowait div 2));
randamount := Random(20);
case (Random(2) + 1) of
1: idleamount := 333;
2: idleamount := 2222;
end;
repeat
Wait(1);
randcounter := randcounter + 1;
idlecounter := idlecounter + 1;
if ((randcounter > (90 + randamount)) and (Randoms)) then
begin
randcounter := 0;
randamount := Random(20);
FindNormalRandoms;
randcounter := randcounter + 13;
idlecounter := idlecounter + 13;
end;
if (idlecounter > (1500 + idleamount + Random(300))) then
begin
idlecounter := 0;
if (Random(100) > 5) then
begin
case (Random(3) + 1) of
1: idleamount := 333;
2: idleamount := 1111;
3: idleamount := 2222;
end;
end else
case (Random(3) + 1) of
1: idleamount := 1111;
2: idleamount := 2222;
3: idleamount := 5555;
end;
LevelUp;
if(LevelUp)then
Begin
ClickNPCChatText('continue');
wait(800 +Random(200));
FletchSet2;
wait(3000 +Random(200));
end;
RandomMovement;
end;
until ((GetSystemTime - starttime) > timetowait);
end;
{***************PROCEDURES NOT REALTED TO MAINLOOP*****************}
procedure HighestAngle1;
begin
if (LoggedIn) then
begin
KeyDown(38);
Sleep(1000 + Random(100) + Random(200));
KeyUp(38);
Wait(1000 + Random(100));
end;
end;
{=================================================================}
procedure BankMouse(i: Integer; left: Boolean);
var
row, col, x, y : Integer;
begin
row := i div 8;
col := i - (row * 8) - 1;
if (col < 0) then
begin
col := 7;
row := row - 1;
end;
x := 87 + (47 * col) + Random(7);
y := 72 + (38 * row) + Random(7);
Mouse(x, y, 3, 3, left);
end;
{=================================================================}
procedure QuickFixBank;
begin
If(BankScreen)then
begin
If not(Getcolor(475, 75) = 5531254)then
Mouse(475, 77, 0, 0, true);
end;
end;
{=================================================================}
procedure Withdraw2(i, amount: Integer);
begin
if(BankScreen)then
begin
if(amount=0)then
begin
BankMouse(i, false);
Wait(800 + Random(400));
ClickOption('All', 1);
end;
if(Amount = 10)or(Amount = 5)then
begin
BankMouse(i, false);
Wait(800 + Random(400));
ClickOption(IntToStr(Amount), 1);
end;
if(Amount = 1)then
begin
BankMouse(i, true);
Wait(800 + Random(400));
end;
if(Amount > 1)and(Amount <> 5)and(Amount <> 10)then
begin
BankMouse(i, false);
Wait(450 + Random(200));
if(ClickOption('X', 1))then
begin
repeat
Wait(150 + Random(200));
until(GetColor(255,410)=8388608);
TypeSend(IntToStr(amount));
Wait(800 + Random(400));
end;
end;
end;
end;
{=================================================================}
procedure Deposit2(i, amount: Integer);
begin
if (BankScreen) and (ExistsItem(i)) then
begin
if (amount = 0) then
begin
MouseItem(i, False);
Wait(800);
ClickOption('All', 2);
end
else
if (amount = 10) then
begin
MouseItem(i, False);
Wait(800);
ClickOption('10', 2);
end
else
if (amount = 5) then
begin
MouseItem(i, False);
Wait(800);
ClickOption('5', 2);
end
else
if (amount = 1) then
begin
MouseItem(i, False);
Wait(800);
end
else
begin
MouseItem(i, False);
Wait(800);
if ClickOption('X', 2) then
repeat
Wait(150);
until (GetColor(255, 410) = 8388608);
SendText(IntToStr(amount));
Wait(Random(300));
SendText(chr(13));
Wait(800);
end;
ClickOption('Cancel', 2);
end;
end;
{=================================================================}
Procedure OpenBank4; // Taken from Charmz Supa Fletcher =D by surajd, the taken from surajd by me =P
Var
x, y, fs, fs2 : Integer;
Begin
HighestAngle1;
If not BankScreen then
Repeat
If (FindObj3(x, y, 'Use Bank', 608609, 10)) then
Mouse(x, y, 4, 4, False)
Else
If (FindObj3(x, y, 'Use Bank', 3239562, 10)) then
Mouse(x, y, 4, 4, False)
Else
If (FindObj3(x, y, 'Use Bank', 4803151, 10)) then
Mouse(x, y, 4, 4, False);
Wait(250);
If (ClickOption('quickly', 1)) then
Begin
Flag;
Repeat
Wait(100);
fs := fs + 1;
Until (BankScreen) or (fs >= 50);
End;
fs2 := fs2 + 1;
Until (BankScreen) or (fs2 > 5);
End;
{=================================================================}
procedure SetMouseSpeedEvery(Seconds: Integer; Speed, Rand: Integer);
begin
if ((TimeFromMark(MouseSpeedMark) / 1000) = Seconds) then
begin
MarkTime(MouseSpeedMark);
case Random(2) of
0: MouseSpeed := Speed + Random(Rand);
1: MouseSpeed := Speed - Random(Rand);
end;
end;
end;
{*******************SETUP PROCEDURES**********************}
Procedure StartingScript;
begin
LBF := 0
SBF := 0
Stock := 0
Banked := 0
Bl := Loads;
FLS := GetSkillLevel('fletching');
SetChat('hide', 1);
SetChat('off', 2);
SetChat('off', 3);
SetRun(True);
GameTab(4);
end;
{=================================================================}
Procedure CompassSetting;
Begin
If(Bank = 'draynor')then MakeCompass('W');
If(Bank = 'falador')then MakeCompass('S');
If(Bank = 'varrockW')then MakeCompass('E');
If(Bank = 'varrockE')then MakeCompass('S');
If(Bank = 'lumbridge')then MakeCompass('N');
If(Bank = 'seers')then MakeCompass('N');
If(Bank = 'ardougnS')then MakeCompass('E');
If(Bank = 'ardougnN')then MakeCompass('S');
If(Bank = 'alkharid')then MakeCompass('W');
If(Bank = 'canifis')then MakeCompass('E');
If(Bank = 'phasmatys')then MakeCompass('S');
If(Bank = 'yanille')then MakeCompass('E');
If(Bank = 'fishing guild')then MakeCompass('W');
If(Bank = 'catherby')then MakeCompass('N');
end;
{=================================================================}
procedure RotateEveryMins(mins: Integer);
begin
if ((TimeFromMark(RotateMark) / 1000) / 60 >= mins) then
begin
MarkTime(RotateMark);
SendArrowSilentWait(Random(4), 500 + Random(500));
SendArrowSilentWait(Random(4), 500 + Random(500));
MakeCompass('n');
SendArrowSilentWait(0, 1400 + Random(100));
end;
end;
{********************LOOP PROCEDURES IN ORDER**********************}
Procedure WithdrawLogs;
Begin
KnifeInInv;
Repeat
If(KnifeInInv)then
OpenBank4;
wait(800 +Random(5));
QuickFixBank;
wait(500 +Random(5));
MMouse(95,78,0,0);
wait(500 +Random(5));
Withdraw2(1, 27);
wait(700 +Random (5));
CloseBank;
wait(500 +Random(5));
Until(LogsInInv);
End;
{=================================================================}
Procedure FletchSet;
begin
if(LogsInInv)then
begin
InvWait;
wait(500 +Random(2));
MouseItem(1,true);
wait(500 +Random(2));
MouseItem(2,true);
waitS(1000, false);
end;
if not(LogsInInv)then
begin
WithdrawLogs;
end;
end;
{=================================================================}
Procedure BeginFletch;
begin
If(LongBow = True)then
begin
Mouse(263,400,0,0,false);
wait(500 +Random(4));
ChooseOption(x,y,'Make X');
wait(900 +Random(4));
HitKeys(True);
waits(Time, true);
LBF := LBF +27;
end;
if(ShortBow = True)then
begin
Mouse(106,413, 0, 0, false);
wait(500 +Random(5));
ChooseOption(x,y,'Make X');
wait(500 +Random(5));
HitKeys(True);
waits(Time, true);
SBF := SBF +27;
end;
if(CrossBow = True)then
begin
Mouse(411,419,0,0,false);
wait(500 +Random(5));
ChooseOption(x,y,'Make X');
wait(500 +Random(5));
HitKeys(True);
waits(Time, true);
Stock := Stock +27;
end;
end;
{=================================================================}
Procedure DepositBows;
Begin
OpenBank4;
Wait(500 +Random(4));
If(BankScreen)then
QuickFixBank;
Wait(500 +Random(4));
Deposit2(2,0);
Wait(500 +Random(4));
CloseBank;
Banked := Banked +1;
Bl := Bl -1;
FLN := GetSkillLevel('fletching');
Mouse(648,190,1,1,true);
wait(500 +Random(5));
end;
{=================================================================}
Procedure ProgressReport;
begin
ClearDebug;
Writeln('*\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/*');
Writeln(' Thanks for using ');
Writeln(' DragFletch Ultimate ');
Writeln(' '+Version);
Writeln('*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\*');
Writeln('Worked For ' +ScriptTime2(2));
Writeln('You Are Fletching ' +LogType +' ' +BowType);
if(BowType = 'long') then Writeln('You have fletched: ' +inttostr(LBF) +' longbows.');
If(BowType = 'short')then Writeln('You have fletched: ' +inttostr(SBF) +' shortbows.');
if(BowType = 'cbowstock')then Writeln('You have fletched: ' +inttostr(Stock) +' crossbow stocks.');
Writeln('Your starting fletching level was: ' +inttostr(FLS));
Writeln('Your current fletching level is: ' +inttostr(FLN));
Writeln('You have ' +inttostr(Bl) +' loads left.');
end;
{************************MAIN LOOP*************************}
Procedure MainLoop;
begin
repeat
If Not(KnifeInInv)Then
Begin
OpenBank4;
wait(500 +Random(5));
QuickFixBank;
wait(500 +Random(5));
Withdraw2(2, 1);
wait(500 +Random(5));
CloseBank;
wait(500 +Random(5));
end;
RotateEveryMins(1)
WithdrawLogs;
FletchSet;
BeginFletch;
DepositBows;
ProgressReport;
until(BL = 0);
Logout;
end;
{****************CALL PROCEDURES*****************}
Begin
SetupSRL;
RandomTitle;
SetMouseSpeedEvery(3, 5, 2);
ActivateClient;
BenMouse :=True
StartingScript;
CompassSetting;
KnifeInInv;
MainLoop;
end.——————————————————
<!– END TEMPLATE: formanswers –>