SRL Archive - Archive

Feroc1ty - SRL Member Application


Feroc1ty

2009-12-19 22:51:22

How Long have You Played Runescape?
6 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Partial C++, second life script, JASS, SCAR.


Are you a member of any other communities?
Negative.


Tell us about yourself…
From: Feroc1ty
I'm a person, my interest involves self improvement, (currently learning japanese, and trying to create/fix a function a day).

Please note I have no interest in RS2 (aside maybe from my rs2 walker, but that's for when reflection is back up, it's in the script section), maybe I'll come back to it later(as many times before), but what I AM interested in is RSC.



Please show us one (or multiple) of your scripts.
program all_my_rsc_crap;

var
rsclient: integer;
clientpos_x,clientpos_y:integer;

const

time_out = 2500;
usercontrol = 1;
mousespeed = 8;
typespeed = 5;

rscclient_x = 511;
rscclient_y = 344;

rscchar_x = 255;
rscchar_y = 160;


hoveropt_y = 18;
hoveropt_1 = 328;
hoveropt_2 = 361;
hoveropt_3 = 394;
hoveropt_4 = 426;
hoveropt_5 = 459;
hoveropt_6 = 493;

{.include Feroc1ty Keyboard.scar}
{.include Feroc1ty Mouse.scar}
{.include Feroc1ty Text.scar}

function cx():integer;
begin
result := clientpos_x;
end;

function cy():integer;
begin
result := clientpos_y;
end;

procedure LoadBitmaps;
begin
rsclient := BitmapFromString(5, 10, 'beNrTMmHACjhhCAJEpaAIA' +
'rRMoAgC7PygCAKCM6AIAtIaoAirLJpeiLEA0/MNOQ==');
end;

procedure SetupClientPosition;
begin
if FindBitmap(rsclient, clientpos_x,clientpos_y) then
begin
clientpos_x := clientpos_x - 3;
clientpos_y := clientpos_y - 338;
writeln('Successfully found client!');
writeln(inttostr(clientpos_x) + ',' + inttostr(clientpos_y));
SetDesktopAsClient;
ResetDc;
end else
begin
writeln('Failed to find client.');
FindWindow('SCAR Divi CDE');
ActivateClient;
TerminateScript;
end;
end;

function LocateFish(name:string):TPoint;
var x,y:integer;
begin
FindColorSpiral(x,y,10047536,cx,cy,cx+rscclient_x,cy+rscclient_y);
end;

procedure Initializer();
begin
FindWindowTitlePart('Runescape Classic', false);
ActivateClient;
LoadBitmaps;
MouseInit;
KeyboardVars;
setuptext;
Wait(1000);
SetupClientPosition;
end;

procedure RMouse(x,y,rx,ry:integer;left:boolean);
begin
Mouse(x+cx,y+cy,rx,ry,left);
end;

procedure RMMouse(x,y,rx,ry:integer);
begin
MMouse(x+cx,y+cy,rx,ry);
end;

procedure WaitForColor(x,y,color,timeout:integer);
var i:integer;
begin
i := 0;
while i < timeout do
begin
if GetColor(x,y) = color then
exit;
timeout := timeout + 100;
wait(100);
end;
end;

function RWaitForColor(x,y,color,timeout:integer):boolean;
var i:integer;
begin
result := true;
i := 0;
while i <= timeout do
begin
if GetColor(x+cx,y+cy) = color then
begin
result := false;
exit;
end;
i := i + 100;
wait(100);
end;
end;

function LogIn(name,pass:string):boolean;
begin
result := false;
RMouse(260,295,40,5,true);
TypeText(name,true,true);
PressEnter;
TypeText(pass,true,true);
PressEnter;
if RWaitForColor(60,101,0,5000) then
begin
Writeln('Timed out at login.');
RMMouse(58,99,0,0);
writeln(inttostr(GetColor(60+cx,100+cy)));
exit;
end;
if (GetColor(cx+440,cy+100) <> 0) and (GetColor(cx+440,cy+230) <> 0) then
begin
Writeln('Login failed.');
exit;
end;
Wait(800+random(1000));
RMouse(260,218,40,3,true);
result := true;
writeln('Login succesful!');
end;

procedure HoverOpt(num:integer);
var x:integer;
begin
case num of
1:x := hoveropt_1;
2:x := hoveropt_2;
3:x := hoveropt_3;
4:x := hoveropt_4;
5:x := hoveropt_5;
6:x := hoveropt_6;
end;
Wait(50+random(500));
RMMouse(x,hoveropt_y,8,8);
Wait(50+random(500));
end;

procedure LogOut();
begin
HoverOpt(1);
wait(200+random(1000));
RMouse(368,282,50,4,true);
end;

begin
Initializer;
LogIn('Feroc1ty','durnius43');
Wait(2000);
writeln(uptext);
LogOut;
end.

var keyboard, shiftboard, current: array [0..3] of string;
mistypeprobability:integer;

{ Things that are not finished:

~Adding capitalization of letters

}

procedure KeyboardVars;
begin
keyboard[0] := '`1234567890-= '; shiftboard[0] := '~!@#$%^&*()_+' ;
keyboard[1] := ' qwertyuiop[]\'; shiftboard[1] := ' QWERTYUIOP{}|';
keyboard[2] := ' asdfghjkl;''' ; shiftboard[2] := ' ASDFGHJKL:"' ;
keyboard[3] := ' zxcvbnm,./' ; shiftboard[3] := ' ZXCVBNM<>?' ;
writeln('Initialized Feroc1ty Keyboard.scar');
end;

procedure Letter(character:char);
var key:byte;
begin
key := GetKeyCode(character);
Wait(random(10));
KeyDown(key);
Wait(20+Random(40));
KeyUp(key);
Wait(random(10));
end;

procedure PressEnter();
begin
Letter(Chr(13));
end;

procedure PressBack();
begin
Letter(Chr(8));
end;

function TypeLetter(character:char; mistake:boolean):integer;
var normal, shift:string;
i, position, positioni:integer;
key:char;
begin
result := 0;
if character = ' ' then
begin
Letter(' ');
Exit;
end;
normal := '`1234567890-=qwertyuiop[]\asdfghjkl;''zxcvbnm,./';
shift := '~!@#$%^&*()_+QWERTYUIOP}{|ASDFGHJKL:"ZXCVBNM<>?' ;
if Pos(character, normal) <> 0 then
current := keyboard;
if Pos(character, shift) <> 0 then
current := shiftboard;
for i := 0 to 3 do
begin
if Pos(character, current[i]) <> 0 then
positioni := i;
end;
position := Pos(character, current[positioni]);
key := current[positioni][position];
if mistake then
begin
case Random(120 + mistypeprobability) of
0..2: // Longer wait, ex. forget key location or something
begin
Wait(30+Random(100));
mistypeprobability := mistypeprobability + 2 + typespeed*2;
end;
3..15: // Shorter wait, ex. small brainfart
begin
Wait(Random(40));
mistypeprobability := mistypeprobability + 1 + typespeed*2;
end;
16: // No letter typed
begin
result := 1;
Exit;
end;
17..20: // Chance to mistype letter on the same row
begin
position := position - 1 + Random(3);
if position < 1 then
position := 1;
if (positioni > 0) and (position < 2) then
position := 2;
if position > Length(current[positioni]) then
position := Length(current[positioni]);
if key <> current[positioni][position] then
begin
key := current[positioni][position];
result := 2;
mistypeprobability := mistypeprobability + 5 + typespeed*3;
end;
end;
21: // Mistype the letter upward
begin
positioni := positioni + 1;
if positioni > 3 then
positioni := 3;
if key <> current[positioni][position] then
begin
key := current[positioni][position];
result := 2;
mistypeprobability := mistypeprobability + 5 + typespeed*3;
end;
end;
22: // Mistype the letter downward
begin
positioni := positioni - 1;
if positioni < 0 then
positioni := 0;
if key <> current[positioni][position] then
begin
key := current[positioni][position];
result := 2;
mistypeprobability := mistypeprobability + 5 + typespeed*3;
end;
end;
23..300: // No mistype, increase the chance to mistype for the next letter
begin
mistypeprobability := mistypeprobability - 1;
end;
end;
end;
Letter(key);
end;

procedure TypeText(text:string;mistake,fix:boolean);
var i,n,t,b:integer;
begin

i := 1;
n := 0;
b := 0;
mistypeprobability := 70 + typespeed*4;

while (i <= Length(text)) do
begin
if fix then
begin
if b = 0 then
begin
b := TypeLetter(text[i],mistake);
if b <> 0 then
n := i;
end else
TypeLetter(text[i],mistake);

if ((random(6) = 5) and (b <> 0)) or ((Length(text) - i < 2) and (b <> 0)) then
begin
Wait(99+Random(300));
if b = 2 then
begin
Wait(15+Random(45));
PressBack;
end;
for t := 1 to (i - n) do
begin
Wait(15+Random(45));
PressBack;
end;
i := n - 1;
b := 0;
end;

end else
begin
TypeLetter(text[i],mistake);
end;
i := i + 1;
Wait(5+typespeed+Random(10+6*typespeed));
end;
end;

var
mouse_x, mouse_y, mx, my, freeze: integer;
cursor: integer;

procedure WaitForAFK();
var tx,ty,timer:integer;
begin
repeat
GetMousePos(mx,my);
if (tx = mx) and (ty = my) then
begin
timer := timer + 250;
end else
begin
tx := mx;
ty := my;
timer := 0;
end;
Wait(250);
until (timer >= time_out);
end;

function within(a,b,c:integer):boolean;
begin
result := true;
if a > b then
begin
a := a - c;
if a > b then
result := false;
end else
begin
a := a + c;
if a < b then
result := false;
end;
end;

procedure WaitForReturn();
var done:boolean;
begin
done := false;
wait(200);
repeat
SafeDrawBitmap(cursor, GetClientCanvas, mouse_x, mouse_y);
GetMousePos(mx,my);
if within(mouse_x,mx,10) and within(mouse_y,my,10) then
begin
done := true;
freeze := GetTimeRunning() + 500;
end;
wait(100);
until done
end;

function MM(x,y:integer):boolean;
begin
GetMousePos(mx,my);
if ((mouse_x <> mx) or (mouse_y <> my)) and (GetTimeRunning() >= freeze) then
begin
case usercontrol of
1: WaitForAFK;
2: WaitForReturn;
end;
mouse_x := mx;
mouse_y := my;
result := true;
end else
begin
MoveMouse(x,y);
mouse_x := x;
mouse_y := y;
result := false;
end;
end;

procedure WindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
var
veloX, veloY, windX, windY, veloMag, dist, randomDist, lastDist, step: extended;
lastX, lastY: integer;
sqrt2, sqrt3, sqrt5: extended;
begin
sqrt2:= sqrt(2);
sqrt3:= sqrt(3);
sqrt5:= sqrt(5);
while hypot(xs - xe, ys - ye) > 1 do
begin
dist:= hypot(xs - xe, ys - ye);
wind:= minE(wind, dist);
if dist >= targetArea then
begin
windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
end else
begin
windX:= windX / sqrt2;
windY:= windY / sqrt2;
if (maxStep < 3) then
begin
maxStep:= random(3) + 3.0;
end else
begin
maxStep:= maxStep / sqrt5;
end;
end;
veloX:= veloX + windX;
veloY:= veloY + windY;
veloX:= veloX + gravity * (xe - xs) / dist;
veloY:= veloY + gravity * (ye - ys) / dist;
if hypot(veloX, veloY) > maxStep then
begin
randomDist:= maxStep / 2.0 + random(round(maxStep) / 2);
veloMag:= sqrt(veloX * veloX + veloY * veloY);
veloX:= (veloX / veloMag) * randomDist;
veloY:= (veloY / veloMag) * randomDist;
end;
lastX:= Round(xs);
lastY:= Round(ys);
xs:= xs + veloX;
ys:= ys + veloY;
if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
if MM(Round(xs), Round(ys)) then
begin
xs := mx;
ys := my;
end;
step:= hypot(xs - lastX, ys - lastY);
wait(round((maxWait - minWait) * (step / maxStep) + minWait));
lastdist:= dist;
end;
if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
if MM(Round(xe), Round(ye)) then
begin
xs := mx;
ys := my;
end;
end;

procedure MMouse(x, y, rx, ry: integer);
var
cx, cy: integer;
randSpeed: Extended;
begin
GetMousePos(cx, cy);
randSpeed:= (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
if randSpeed = 0.0 then
randSpeed := 0.1;
X := x - rx + random(rx*2);
Y := y - ry + random(ry*2);
WindMouse(cx,cy,x,y,9.0,3.0,10.0/randSpeed,15.0/randSpeed,10.0*randSpeed,10.0*randSpeed);
end;

procedure Mouse(mousex, mousey, ranx, rany: Integer; left: Boolean);
var
a, b, c: Integer;
begin
MMouse(mousex, mousey, ranx, rany);
Wait(60 + Random(30));
GetMousePos(b, c);
HoldMouse(b, c, left);
repeat
Wait(20 + Random(30));
a := a + 1;
until (a > 4);
GetMousePos(b, c);
ReleaseMouse(b, c, left);
Wait(100 + Random(100));
end;

procedure MouseInit();
begin
GetMousePos(mouse_x,mouse_y);
cursor := BitmapFromString(12, 20, 'beNqd0tERgCAIBuB/WnZwrm' +
'bp0VlIuKPACCuP80E/ORSJwIzeUQ/mbcw145EIC6Zmr5mZiqlZsGh' +
'yZqZimZmZM48sM7Llw5nzHWSd6Aoz0rjJxJoFtCaRtkaPy268Qkjl' +
'wccu872qvx/mTSrojXEANM+t0g==');
writeln('Initialized Feroc1ty Mouse.scar');
end;

// llist.scar

// Checks if the integer is in an integer array
function IntinArr(int:integer; comp:array of integer):boolean;
var i:integer;
begin
result := false;
for i := 0 to High(comp) do
begin
if comp[i] = int then
begin
result := true;
exit;
end;
end;
end;

// Custom variable called path
type path = record
node: TPointArray;
avg, first,last: TPoint;
index: integer;
connection: array of integer;
end;

// Array of previous variable
var paths:array of path;
curindex: integer;

// Calculates average point in the TPA
function CalcAvginTPA(tpa:TPointArray):TPoint;
var i:integer;
begin
for i := 0 to high(tpa) do
begin
result.x := result.x + tpa[i].x;
result.y := result.y + tpa[i].y;
end;
result.x := Round(result.x / getarraylength(tpa));
result.y := Round(result.y / getarraylength(tpa));
end;

// Creates a path
function CreatePath(node:TPointArray):integer;
begin
// Increases the array length
SetArrayLength(paths, curindex+1);
paths[curindex].node := node;
// Sets the index to curindex variable
paths[curindex].index := curindex;
paths[curindex].avg := CalcAvginTPA(node);
paths[curindex].first := node[0];
paths[curindex].last := node[high(node)];
result := curindex;
// Increases curent index value
curindex := curindex + 1;
end;

// Links two paths
procedure LinkPath(i,y:integer);
begin
// If the two paths are already linked, it will display so and exit before changing anything
if IntinArr(i, paths[y].connection) = true then
begin
writeln('Following paths are already linked: ' + inttostr(i) + ':' + inttostr(y) + ' so fix your script because you''re losing efficiency!');
exit;
end;
// Increases connection array length, and places the values in each others connection arrays
SetArrayLength(paths[i].connection, GetArrayLength(paths[i].connection)+1);
SetArrayLength(paths[y].connection, GetArrayLength(paths[y].connection)+1);
paths[i].connection[High(paths[i].connection)] := paths[y].index;
paths[y].connection[High(paths[y].connection)] := paths[i].index;
end;

program Walk;

{.include paths.scar}
{.include llist.scar}

// Basic variables
var charx,chary, destx, desty:integer;
arrived: boolean;

function TPt(x,y:integer):TPoint;
begin
result.x := x;
result.y := y;
end;

// Basic math, used for path finding
function AngleBetweenPoints(x1,y1,x2,y2:integer):extended;
begin
result := Arctan2(y2-y1,x2-x1) * 180 / Pi;
if result < 0 then
result := Abs(result) + 180;
end;

// Test function, dupes move to function from reflection
function MoveTo(p:TPoint):boolean;
begin
if (charx = p.x) and (chary = p.y) then
begin
result := false;
exit;
end;
charx := p.x;
chary := p.y;
writeln('Moved to :' + inttostr(p.x) + ',' + inttostr(p.y));
result := true;
end;

// Required to create and link paths, might make the paths into an ini
// file that will update itself automatically, but this is a test version
procedure Initialize();
begin
CreatePath(path1());
CreatePath(path2());
CreatePath(path3());
CreatePath(path4());
CreatePath(path5());
LinkPath(0,1);
LinkPath(0,2);
LinkPath(0,4);
LinkPath(1,2);
LinkPath(1,3);
LinkPath(1,4);
LinkPath(2,3);
LinkPath(3,4);
end;

// Loops through all of the TPA's and checks which path has the closest average point
function FindClosestPath():integer;
var i:integer;
length: extended;
begin
length := 5000;
for i := 0 to high(paths) do
begin
if length > Distance(charx, chary, paths[i].avg.x, paths[i].avg.y) then
begin
length := Distance(charx, chary, paths[i].avg.x, paths[i].avg.y);
result := i;
end;
end;
end;

// Like previous function, but this one finds the closest point in an array
function FindClosestPointInTPA(arr:TPointArray):integer;
var i,y:integer;
z:extended;
begin
z := 5000;
for i := 0 to High(arr) do
begin
if z > Distance(charx, chary, arr[i].x, arr[i].y) then
begin
y := i;
z := Distance(charx, chary, arr[i].x, arr[i].y);
end;
end;
result := y;
end;

// Will move through the TPA, checking if it's at the destination yet, or if it finished going through the TPA
procedure AutoMoveThroughTPA(start,inc:integer; node:TPointArray);
var i:integer;
begin
i := start - inc;
repeat
i := i + inc;
if MoveTo(node[i]) = true then
wait(100);
if (node[i].x = destx) and (node[i].y = desty) then
begin
arrived := true;
exit;
end;
until (((i = 0) and (i <> start)) or ((i = high(node)) and (high(node) <> start)))
end;

// Will check if the path is accesable, because it might be only connected in the opposite side of a path
function Pathable(path:integer):boolean;
begin
result := false;
if Distance(charx, chary, paths[path].first.x, paths[path].first.y) < Distance(charx, chary, paths[path].last.x, paths[path].last.y)then
begin
if (charx = paths[path].first.x) and (chary = paths[path].first.y) then
result := true
end;
if Distance(charx, chary, paths[path].first.x, paths[path].first.y) > Distance(charx, chary, paths[path].last.x, paths[path].last.y)then
begin
if (charx = paths[path].last.x) and (chary = paths[path].last.y) then
result := true
end;
end;

// Since we don't know how the character will go through the path (increasing or decreasing) we call this function
procedure TakePath(path:integer);
begin
if Distance(charx, chary, paths[path].first.x, paths[path].first.y) < Distance(charx, chary, paths[path].last.x, paths[path].last.y) then
begin
AutoMoveThroughTPA(0, 1, paths[path].node)
end else
begin
AutoMoveThroughTPA(high(paths[path].node), -1, paths[path].node)
end;
end;

// Function that will find the farthest end of a path, takes path index
function FarthestEndX(path:integer):integer;
begin
if Distance(charx, chary, paths[path].first.x, paths[path].first.y) > Distance(charx, chary, paths[path].last.x, paths[path].last.y) then
result := paths[path].first.x
else
result := paths[path].last.x;
end;

// Function that will find the farthest end of a path, takes path index
function FarthestEndY(path:integer):integer;
begin
if Distance(charx, chary, paths[path].first.x, paths[path].first.y) > Distance(charx, chary, paths[path].last.x, paths[path].last.y) then
result := paths[path].first.y
else
result := paths[path].last.y;
end;

// Checks how far away are the angles
function DegreeDiff(A, B:extended):extended;
begin
result:= Abs(A-B);
if result>180.0 then
result:= 180.0-(result-180.0);
end;

// Dick and balls of the script, it gets the shit done
function move(x,y:integer):boolean;
var p, n, curpath, lastpath:integer;
c, cd: extended;
node: TPointArray;
begin
c := 360;
arrived := false;
destx := x;
desty := y;
lastpath := -1;
curpath := FindClosestPath;
node := paths[curpath].node;
p := FindClosestPointinTPA(paths[curpath].node);
cd := AngleBetweenPoints(charx, chary, x, y);
if (p <> 0) and (p <> high(paths[curpath].node)) then
begin
if DegreeDiff(cd,AngleBetweenPoints(charx, chary, node[p+1].x,node[p+1].y)) < DegreeDiff(cd,AngleBetweenPoints(charx, chary, node[p-1].x, node[p-1].y)) then
begin
AutoMoveThroughTPA(p+1, 1, node);
end else
begin
AutoMoveThroughTPA(p-1, -1, node);
end;
end;

while (arrived = false) do
begin
cd := AngleBetweenPoints(charx, chary, x, y);
for p := 0 to high(paths[curpath].connection) do
begin
if (c > DegreeDiff(cd, AngleBetweenPoints(FarthestEndX(paths[paths[curpath].connection[p]].index), FarthestEndY(paths[paths[curpath].connection[p]].index), x, y))) and (p <> lastpath) and (Pathable(paths[paths[curpath].connection[p]].index) = true) then
begin
c := AngleBetweenPoints(FarthestEndX(paths[paths[curpath].connection[p]].index), FarthestEndY(paths[paths[curpath].connection[p]].index), x, y);
n := p;
end;
end;
c := 360;
TakePath(paths[paths[curpath].connection[n]].index);
lastpath := curpath;
curpath := n;
end;
end;

begin
Initialize;
ClearDebug;
MoveTo(TPt(5,0));
Move(0,7);
end.

YoHoJo

2009-12-19 23:27:03

Its a cool login procedure dude. But we are looking for a script that autos on runescape, multiplayer, antiban/randoms, works well, good standards, bitmaps/dtms/basic scripting strategies, etc etc etc. You are well on your way, but we still need to see some more effort! =D

cycrosism

2009-12-19 23:55:48

You need to apply with a script that uses the SRL include. Voted no

Bebe

2009-12-20 00:01:26

From: cycrosism
You need to apply with a script that uses the SRL include. Voted no

Do you not know how to read code? Why would he use SRL when it is geared towards Runescape and his script is stuff for Runescape Classic :rolleyes:

MylesMadness

2009-12-20 09:27:23

From: Bebe
Do you not know how to read code? Why would he use SRL when it is geared towards Runescape and his script is stuff for Runescape Classic :rolleyes:
Do you not know how to understand his statement? He meant that the code has to use srl, therefor be for rs2.

Awkwardsaw

2009-12-20 09:50:46

so in order to use

typesend(text)

or mouse(x, y, rx, ry, left)

it HAS to be in rs2? your argument is invalid.

fero, just make that into a rsc script, and im sure you will get in :) also try to use the srl-rsc include. that has the normal srl, and other stuff that works, that you are re-creating :)

if you want stuff to be added/ fixed in there, just PM me :)

also, i like your attitude, and i can tell you are a skilled(enough :D) scripter. i vote yes

cycrosism

2009-12-20 21:17:24

From: Bebe
Do you not know how to read code? Why would he use SRL when it is geared towards Runescape and his script is stuff for Runescape Classic :rolleyes:


Well, I looked on this page http://www.villavu.com/forum/showthread.php?t=1288 And Benland100 said that we have to look for

3. People scripting with the SRL include


Why apply for SRL members with a script that doesn't use the SRL include?

Bebe

2009-12-20 21:19:43

lol i get the point.. i was wrong. End of it.

Feroc1ty

2009-12-20 21:24:45

So you're going to deny the community of scripts simply because a person doesn't want to use an include which doesn't really do anything except slow down the compile time ten fold?

Good thinking, goodnight, you can close this.

mormonman

2009-12-20 22:01:36

From: Feroc1ty
So you're going to deny the community of scripts simply because a person doesn't want to use an include which doesn't really do anything except slow down the compile time ten fold?

Good thinking, goodnight, you can close this.


Really? Wow you are an idiot. Who cares about compiling time? Honestly I was going to vote yes because I like that you choose to do you own thing, but I would never in a hundred years vote yes for a guy like you. Being a tool on the internet is just stupid. You have absolutely the worst attitude I have seen on these forums, and it is comparable to some idiots on rsbot.org

Feroc1ty

2009-12-20 23:41:50

From: mormonman
Really? Wow you are an idiot. Who cares about compiling time? Honestly I was going to vote yes because I like that you choose to do you own thing, but I would never in a hundred years vote yes for a guy like you. Being a tool on the internet is just stupid. You have absolutely the worst attitude I have seen on these forums, and it is comparable to some idiots on rsbot.org


You seem to be either have no observation skills whatsoever, or simply can't comprehend what I'm trying to say.

I said "close this," as in I don't give a fuck as in if I get SRL member or not, so your little "I was gonna… but now that you…" isn't really gonna change anyone's opinion.


Now, if you don't want this to get out of hand with me winning yet another flame war, closing this thread would be the best option.

Wanted

2009-12-20 23:58:51

From: Feroc1ty
me winning yet another flame war, closing this thread would be the best option.


"Win" a flame war?

That's rich kid, see you again in a month… hopefully you'll lose the hotheadedness by then.

YoHoJo

2009-12-21 01:58:26

Feroc1ty not a very good starting attitude dude, rules are rules, and no one was trying to be rude with you, just explaining what's needed in order to become a member.

If you wish, please take their advice, and try again in at least one month, if not, then good luck with your stay at the forums and other endeavors!