Wetish
2012-02-03 18:27:33
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
No
What is your general programming knowledge?
Pascal. I took a few summer camps to learn C++ and Java but it never stuck.
Are you a member of any other communities?
I actively post on Mmoexchange, Mmogamemarket, Dubstepexchange, and Zybez.
Tell us about yourself…
From: Siel
Hello everyone! My name is John, I live in the United States, and I’m currently 15 years old. I enjoy many activities. Some of my favorites are Track, listening to music, scripting, playing video games, and just chilling with my friends. My favorite video games right now are Runescape, TF2, Skryim, and Tetris. I mainly listen to dubstep and dnb but occasionally listen to electro. I have a computer and an Xbox 360, however I rarely use my Xbox anymore because I have been spending a lot more time on Runescape. My greatest achievement so far in my life has to be building my own computer (I know I’m nerdy). With all this excitement in my life I still do have many problems. I suffer from chronic anxiety and depression. I currently take medications for both of them and visit a therapist often. However aside from all of this I plan to make my home here on the SRL forums.
Please show us one (or multiple) of your scripts.
This is my Karamja Fishing script. http://villavu.com/forum/showthread.php?p=914946#post914946
If you voted no during February 8-9 I would like to ask you to reconsider your vote. During that time I had an nonworking old version of this script posted. This was by accident and I have fixed it.
program KaramjaFisher;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}
Const
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first chararacter)
SRLStats_User = ''; // Your SRL Stats ID (If you dont have one then just leave it as it is)
SRLStats_Password = ''; // Your SRL Stats Password (If you dont have one then just leave it as it is)
Version= '1.3';
procedure DeclarePlayers;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Players[0].Integers[0] := 506; //Price of SwordFish
Players[0].Integers[1] := 193; //Price of Tuna
Players[0].Integers[2] := 250; //Price of Lobster
Players[0].Integers[3] := 20000;//Time after a fish is caught to allow for more fish to be caught before finding a new fishing spot(1000 = 1 Second)
Players[0].Strings[0] := 'Cage';//'Cage' for lobsters and 'Harpoon' for Tuna/Swordfish
end;
end;
Var
SC, TC, LC, TTC, TSC, TLC, FC, L, XP, TP, A:Integer;
S: Array [0..5] of Integer;
D: Array [0..6] of Integer;
aFound: Extended;
procedure CheckUp;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
end;
procedure AntiBan;
begin
if not LoggedIn then Exit;
case Random(1000) of
0: begin
RandomMovement;
SetAngle(SRL_ANGLE_HIGH);
end;
1: PickUpMouse;
2: HoverSkill('Fishing', False);
3: SleepAndMoveMouse(5000 + Random(500));
4: RandomMovement;
5: PickUpMouse;
6: BoredHuman;
7: RandomRClick;
8: ExamineInv;
9..20:begin
MakeCompass( RandomRange( -360, 360));
Wait(100 + random(50));
end;
21..50: Wait( Random( 4500));
51..200: CheckUp;
end;
end;
function StilesColor: Integer;
var
TPA: TPointArray;
ATPA: Array of TPointArray;
TIA: TIntegerArray;
i, t, x, y : Integer;
begin
t := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(0.90, 1.90);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2763564, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(t);
SortTPAFrom(TPA, Point(MSCX, MSCY));
ATPA := TPAToATPAEx(tpa, 50, 50);
SortATPASize(ATPA, True);
TIA := GetColors(TPA);
ClearSameIntegers(TIA);
for i := 0 to High(ATPA) do
Result := TIA[i];
end;
function Fishing: boolean;
var
pc, cc, timer: Integer;
begin
CheckUp;
MarkTime(timer);
pc := InvCount;
A := 0;
WriteLn('Waiting until fishing has stopped');
repeat
CheckUp;
Wait(200+ random(50));
FindNormalRandoms;
Antiban;
cc := InvCount;
if not (cc = pc) then
begin
MarkTime(Timer);
pc := cc;
end;
if (TimefromMark(Timer) > Players[CurrentPlayer].integers[3]) and (pc = cc) then
begin
Exit;
end;
until(InvCount = 28);
Result := True;
end;
function FindFish(Var x, y: Integer): boolean;
var
tpa: TPointArray;
atpa: T2DPointArray;
i : Integer;
begin
CheckUp;
Result := False;
FindColorsTolerance(tpa, 10984084, MSX1, MSY1, MSX2, MSY2, 6);
atpa := TPAToATPAEx(tpa, 10, 10);
for i := 0 to High(atpa) do
begin
FFlag(0);
Wait(200 + random(100));
MiddleTPAEx(atpa[i], x, y);
MMouse(x, y, 4, 4);
If WaitUpText('age', 1000)then
begin
Result := True;
WriteLn('Found a fishing spot');
GetMousePos(x, y);
Exit;
end else
Result := False;
end;
end;
function StartFishing:boolean;
var
x, y:Integer;
begin
CheckUp;
FFlag(0);
Result := False;
if A > 5 then
begin
WriteLn('Failed finding a fishing spot 5 times. Shutting down.');
Logout;
end;
if FindFish(x, y) then
begin
CheckUp;
ClickMouse2(False);
Mouse(x, y, 0, 0, false);
if (Players[0].Strings[0] = 'Cage') then
begin
if WaitOption('Cage', 600) then
WriteLn('Successfully started to fish');
Result := True;
Fishing;
end;
if (Players[0].Strings[0] = 'Harpoon') then
begin
if WaitOption('Harpoon', 600) then
WriteLn('Successfully started to fish');
Result := True;
Fishing;
end;
end else
WriteLn('Failed to fish. Trying again.');
Inc(A);
Exit;
end;
function FishCounter:boolean;
Var
SwordFishDTM, TunaDTM, LobsterDTM :Integer;
begin
SwordFishDTM := DTMFromString('mFQEAAHicnckxCoAwEETRSSQiQtBzpxIEQbRQBAuvGAs/JIWWceHt7LBe0malA9fLiR0LJoxYMefucJvEctdo4NFnHSJ/kRWGEFIp0LJLmR8+8wAIHQ3o');
TunaDTM := DTMFromString('m6wAAAHic42ZgYDjFxMBwAYgvA/FVID4DxEeA+AAQHwLio0wQNfuBWAmIZaG0BhCrArEWEKshyUkBsT4Qb6rbAzSdiSjMBSSJxYwkYCQAAIeoDNk=');
LobsterDTM := DTMFromString('mAAEAAHiclc0xDkBAFITht1uKdQPncBznopFQbEIUotEoFBQUoiBxG38hgm4n+SaZanwRKbVIiw4NaljkSJEgQ4EKsxLpMWDFgRM7NiyYbiPiKORFPwJjPvvPo10oR+9cvFITCA==');
begin
SC := CountItems('dtm', SwordFishDTM, [0]);
TC := CountItems('dtm', TunaDTM, [0]);
LC := CountItems('dtm', LobsterDTM, [0]);
TSC := TSC + SC;
TTC := TTC + TC;
TLC := TLC + LC;
FC := FC + SC + TC + LC;
stats_IncVariable('Tuna Caught', TC);
stats_IncVariable('Lobster Caught', LC);
stats_IncVariable('Swordfish Caught', SC);
FreeDTM(SwordFishDTM);
FreeDTM(TunaDTM);
FreeDTM(LobsterDTM);
Result := True;
end;
end;
Function ExchangeFish: boolean;
Var
x, y, i: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
CheckUp;
Wait(200 + random(100));
SetAngle(0);
MakeCompass('n');
FishCounter;
begin
Result := False;
FindColorsTolerance(TPA, StilesColor, MSX1, MSY1, MSX2, MSY2, 6);
ATPA := TPAToATPAEx(TPA, 10, 10);
for i := 0 to High(ATPA) do
begin
FFlag(0);
Wait(300 + random(200));
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
if WaitUpText('tiles', 600) then
begin
WriteLn('Found Stiles.');
Mouse(x, y, 0, 0, false);
If WaitOption('Exchange', 600) then
begin
Wait(1000 + random(300));
WriteLn('Exchanged Fish.');
Inc(L);
end;
Result := True;
Exit;
end;
end;
end;
end;
Procedure Report;
begin
XP:= (XP +(SC * 100) + (TC * 80) + (LC * 90));
TP:= (TP +(Players[CurrentPlayer].integers[0] * TC) + (Players[CurrentPlayer].integers[1] * SC) + (Players[CurrentPlayer].integers[2] * LC));
Stats_Commit;
WriteLn('================================');
WriteLn('Report');
WriteLn('Time Running: ' + TimeRunning);
WriteLn('Fish Caught: ' + IntToStr(FC));
WriteLn('Total XP Gained: ' + IntToStr(XP));
WriteLn('Profit: ' + IntToStr(TP));
WriteLn('Loads: ' + IntToStr(L));
WriteLn('================================');
end;
Procedure WalkToStiles;
var
StilesMiniMap, x, y: Integer;
myPath:TPointArray;
begin
CheckUp;
SetAngle(0);
WriteLn('Walking To Stiles...');
StilesMiniMap := DTMFromString('mFQEAAHic42VgYMhnYmBoB+K5QDwJiOuAOBKIA4DYF4gtgNgViP2BuA2IC4A4F6gvCIg9gNgaiKWAWB2ITYHYHogTgDgcZDYQZwGxOxD3TJnJcO5aLMPli9EMG5ebMTRGCDHURKkyNKaqMfS3aYPlD50MB9MgPGWJIYMcUB+pmJEMjAIAIoUe0w==');
SPS_Setup(RUNESCAPE_SURFACE,['8_9','8_10']);//SPS Areas
myPath := [Point(3511, 3967), Point(3483, 3968), Point(3450, 3975), Point(3416, 3995), Point(3416, 3995), Point(3416, 3995), Point(3389, 4015), Point(3389, 4015), Point(3355, 4031), Point(3327, 4049), Point(3300, 4062), Point(3268, 4080), Point(3241, 4094)];
if SPS_WalkPath(myPath)then
begin
FFlag(0);
Wait(300 + random(200));
SetAngle(0);
CheckUp;
end else
WriteLn('Failed walking to Stiles. Shutting down.');
Logout;
end;
Procedure WalkToDock;
var
DockMiniMap, x, y: Integer;
myPath:TPointArray;
begin
CheckUp;
SetAngle(0);
WriteLn('Walking To Fishing Dock');
DockMiniMap := DTMFromString('mkwEAAHicrc4/C0FxGMXxcw1MpiuSTQySQZeE8u8q15+8Ci8Am+3ym5RksHi1fLueUVnuqU/PcJ7h+JLaaKEOX9/kUUIZAZZYY4sFOsiYLIrIoYoNpohQsK5ivezWMEcPM6wwti1NNJJPT9Gxmzi5vi6P11/uPNT9NtE1Hmm/C/R0oeLDQG/bkgYvRT/yAYOfIdQ=');
SPS_Setup(RUNESCAPE_SURFACE,['8_9','8_10']);//SPS Areas
myPath := [Point(3240, 4096), Point(3260, 4085), Point(3282, 4069), Point(3282, 4069), Point(3294, 4056), Point(3314, 4042), Point(3342, 4028), Point(3342, 4028), Point(3376, 4018), Point(3398, 4012), Point(3426, 3998), Point(3455, 3989), Point(3479, 3982), Point(3501, 3973), Point(3516, 3967), Point(3526, 3955), Point(3527, 3938)];
if SPS_WalkPath(myPath)then
begin
FFlag(0);
Wait(300 + random(200));
SetAngle(0);
CheckUp;
end else
WriteLn('Failed walking to the Dock. Shutting down.');
Logout;
end;
Procedure Mainloop;
begin
CheckUp;
repeat
StartFishing;
Until(InvFull)
begin
WalkToStiles;
ExchangeFish;
Report;
WalkToDock;
end;
end;
begin
ClearDebug;
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
SetupSRLStats(721, SRLStats_User, SRLStats_Password);
SetAngle(0);
SetRun(True);
ToggleXPBar(True);
MouseSpeed := RandomRange(15, 25);
repeat
Mainloop;
until(false)
end.
program KaramjaFisher;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i sps/sps.simba}
Const
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first chararacter)
SRLStats_User = ''; // Your SRL Stats ID (If you dont have one then just leave it as it is)
SRLStats_Password = ''; // Your SRL Stats Password (If you dont have one then just leave it as it is)
Version= '1.3';
procedure DeclarePlayers;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
with Players[0] do
begin
Name := '';
Pass := '';
Nick := '';
Active := True;
Players[0].Integers[0] := 506; //Price of SwordFish
Players[0].Integers[1] := 193; //Price of Tuna
Players[0].Integers[2] := 250; //Price of Lobster
Players[0].Integers[3] := 30000;//Time after a fish is caught to allow for more fish to be caught before finding a new fishing spot(1000 = 1 Second)
Players[0].Strings[0] := 'Cage';//'Cage' for lobsters and 'Harpoon' for Tuna/Swordfish
end;
end;
Var
SC, TC, LC, TTC, TSC, TLC, FC, L, XP, TP :Integer;
S: Array [0..5] of Integer;
D: Array [0..6] of Integer;
aFound: Extended;
procedure CheckUp;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
end;
procedure AntiBan;
begin
if not LoggedIn then Exit;
case Random(1000) of
0: begin
RandomMovement;
SetAngle(SRL_ANGLE_HIGH);
end;
1: PickUpMouse;
2: HoverSkill('Fishing', False);
3: SleepAndMoveMouse(5000 + Random(500));
4: RandomMovement;
5: PickUpMouse;
6: BoredHuman;
7: RandomRClick;
8: ExamineInv;
9..20:begin
MakeCompass( RandomRange( -360, 360));
Wait(100 + random(50));
end;
21..50: Wait( Random( 4500));
51..200: CheckUp;
end;
end;
function StilesColor: Integer;
var
TPA: TPointArray;
ATPA: Array of TPointArray;
TIA: TIntegerArray;
i, t, x, y : Integer;
begin
t := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(0.90, 1.90);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2763564, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(t);
SortTPAFrom(TPA, Point(MSCX, MSCY));
ATPA := TPAToATPAEx(tpa, 50, 50);
SortATPASize(ATPA, True);
TIA := GetColors(TPA);
ClearSameIntegers(TIA);
for i := 0 to High(ATPA) do
Result := TIA[i];
end;
function Fishing: boolean;
var
pc, cc, timer: Integer;
begin
CheckUp;
MarkTime(timer);
pc := InvCount;
WriteLn('Waiting until fishing has stopped');
repeat
Wait(200+ random(50));
FindNormalRandoms;
Antiban;
cc := InvCount;
if not (cc = pc) then
begin
MarkTime(Timer);
pc := cc;
end;
if (TimefromMark(Timer) > Players[CurrentPlayer].integers[3]) and (pc = cc) then
begin
Exit;
end;
until(InvCount = 28);
Result := True;
end;
function FindFish(Var x, y: Integer): boolean;
var
tpa: TPointArray;
atpa: T2DPointArray;
i : Integer;
begin
CheckUp;
Result := False;
FindColorsTolerance(tpa, 10984084, MSX1, MSY1, MSX2, MSY2, 6);
atpa := TPAToATPAEx(tpa, 10, 10);
for i := 0 to High(atpa) do
begin
FFlag(0);
Wait(200 + random(100));
MiddleTPAEx(atpa[i], x, y);
MMouse(x, y, 4, 4);
If WaitUpText('age', 1000)then
begin
Result := True;
WriteLn('Found a fishing spot');
GetMousePos(x, y);
Exit;
end else
Result := False;
end;
end;
Procedure StartFishing;
var
x, y:Integer;
begin
CheckUp;
FFlag(0);
If FindFish(x, y) then
begin
ClickMouse2(False);
Mouse(x, y, 0, 0, false);
WaitOption(Players[0].Strings[0], 600);
WriteLn('Successfully started to fish');
Fishing;
end;
end;
function FishCounter:boolean;
Var
SwordFishDTM, TunaDTM, LobsterDTM :Integer;
begin
SwordFishDTM := DTMFromString('mFQEAAHicnckxCoAwEETRSSQiQtBzpxIEQbRQBAuvGAs/JIWWceHt7LBe0malA9fLiR0LJoxYMefucJvEctdo4NFnHSJ/kRWGEFIp0LJLmR8+8wAIHQ3o');
TunaDTM := DTMFromString('m6wAAAHic42ZgYDjFxMBwAYgvA/FVID4DxEeA+AAQHwLio0wQNfuBWAmIZaG0BhCrArEWEKshyUkBsT4Qb6rbAzSdiSjMBSSJxYwkYCQAAIeoDNk=');
LobsterDTM := DTMFromString('mAAEAAHiclc0xDkBAFITht1uKdQPncBznopFQbEIUotEoFBQUoiBxG38hgm4n+SaZanwRKbVIiw4NaljkSJEgQ4EKsxLpMWDFgRM7NiyYbiPiKORFPwJjPvvPo10oR+9cvFITCA==');
begin
SC := CountItems('dtm', SwordFishDTM, [0]);
TC := CountItems('dtm', TunaDTM, [0]);
LC := CountItems('dtm', LobsterDTM, [0]);
TSC := TSC + SC;
TTC := TTC + TC;
TLC := TLC + LC;
FC := FC + SC + TC + LC;
stats_IncVariable('Tuna Caught', TC);
stats_IncVariable('Lobster Caught', LC);
stats_IncVariable('Swordfish Caught', SC);
FreeDTM(SwordFishDTM);
FreeDTM(TunaDTM);
FreeDTM(LobsterDTM);
Result := True;
end;
end;
Function ExchangeFish: boolean;
Var
x, y, i: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
CheckUp;
FFlag(0);
Wait(500 + random(200));
SetAngle(0);
MakeCompass('n');
FishCounter;
begin
Result := False;
FindColorsTolerance(TPA, StilesColor, MSX1, MSY1, MSX2, MSY2, 6);
ATPA := TPAToATPAEx(TPA, 10, 10);
for i := 0 to High(ATPA) do
begin
FFlag(0);
Wait(300 + random(200));
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
if WaitUpText('tiles', 600) then
begin
WriteLn('Found Stiles.');
Mouse(x, y, 0, 0, false);
If WaitOption('Exchange', 600) then
begin
Wait(1000 + random(300));
WriteLn('Exchanged Fish.');
Inc(L);
end;
Result := True;
Exit;
end;
end;
end;
end;
Procedure Report;
begin
XP:= (XP +(SC * 100) + (TC * 80) + (LC * 90));
TP:= (TP +(Players[CurrentPlayer].integers[0] * TC) + (Players[CurrentPlayer].integers[1] * SC) + (Players[CurrentPlayer].integers[2] * LC));
Stats_Commit;
WriteLn('================================');
WriteLn('Report');
WriteLn('Time Running: ' + TimeRunning);
WriteLn('Fish Caught: ' + IntToStr(FC));
WriteLn('Total XP Gained: ' + IntToStr(XP));
WriteLn('Profit: ' + IntToStr(TP));
WriteLn('Loads: ' + IntToStr(L));
WriteLn('================================');
end;
Procedure WalkToStiles;//This has been replaced with DTM walking
var
myPath:TPointArray;
begin
CheckUp;
WriteLn('Walking To Stiles...');
SPS_Setup(RUNESCAPE_SURFACE,['8_9','8_10']);//SPS Areas
myPath := [Point(3511, 3967), Point(3483, 3968), Point(3450, 3975), Point(3416, 3995), Point(3416, 3995), Point(3416, 3995), Point(3389, 4015), Point(3389, 4015), Point(3355, 4031), Point(3327, 4049), Point(3300, 4062), Point(3268, 4080), Point(3241, 4094)];
SPS_WalkPath(myPath);
end;
Procedure WalkToDock; //This has been replaced with DTM walking
var
myPath:TPointArray;
begin
CheckUp;
WriteLn('Walking To Fishing Dock');
SPS_Setup(RUNESCAPE_SURFACE,['8_9','8_10']);//SPS Areas
myPath := [Point(3240, 4096), Point(3260, 4085), Point(3282, 4069), Point(3282, 4069), Point(3294, 4056), Point(3314, 4042), Point(3342, 4028), Point(3342, 4028), Point(3376, 4018), Point(3398, 4012), Point(3426, 3998), Point(3455, 3989), Point(3479, 3982), Point(3501, 3973), Point(3516, 3967), Point(3526, 3955), Point(3527, 3938)];
SPS_WalkPath(myPath);
end;
Procedure Mainloop;
begin
CheckUp;
repeat
StartFishing;
Until(InvFull)
begin
WalkToStiles;
ExchangeFish;
Report;
WalkToDock;
end;
end;
begin
ClearDebug;
SetUpSrl;
ActivateClient;
DeclarePlayers;
LoginPlayer;
SetupSRLStats(721, SRLStats_User, SRLStats_Password);
SetAngle(0);
SetRun(True);
MouseSpeed := RandomRange(15, 25);
repeat
Mainloop;
until(false)
end. If you vote no it would be greatly appreciated if you say why so I can improve for the future.