SRL Archive - First Scripts

Bone Picker + Burier


Rune Hacker

2007-03-24 02:58:51

This is my first script. It Pickes up bones from the ground and burys them. It works very good and ide like some people to look through it to see if there is antyhing that should be changed, removed, added, or whatever. Are there any failsafes i might need or something? Ide love some feedback on this script. Tyvm.


(Also, can a forum mod please change the title of this thread to "Prayer Up Easy" if possible lol)
//------------------------------------------------------------------------\\
// ________ _____ __ \\
// ___ __ \____________ _____ ______________ __ / / /_______ \\
// __ /_/ /_ ___/ __ `/_ / / / _ \_ ___/ _ / / /___ __ \ \\
// _ ____/_ / / /_/ /_ /_/ // __/ / / /_/ / __ /_/ / \\
// /_/ /_/ \__,_/ _\__, / \___//_/ \____/ _ .___/ \\
// /____/ /_/ \\
// __________ \\
// ___ ____/_____ ____________ __ \\
// __ __/ _ __ `/_ ___/_ / / / \\
// _ /___ / /_/ /_(__ )_ /_/ / \\
// /_____/ \__,_/ /____/ _\__, / \\
// /____/ \\
//------------------------------------------------------------------------\\
// Setup Lines : 34-36 \\
// 42-68 \\
//------------------------------------------------------------------------\\
// \\
//------------------------------------------------------------------------\\
// Instructions \\
//------------------------------------------------------------------------\\
// 1. Set Runescape on low detail and on Very Bright. \\
// 2. Join a crowded world where people dont pick up thier bones. \\
// 3. Start logged in or out where lots of bones are laying around. \\
// 4. Click on play and watch it get your prayer up for you. \\
//------------------------------------------------------------------------\\
program BoneBurier;
{.include SRL\SRL.scar}

Var
Buried, Picked: Integer;

const
Bonecolor = 15066600; //bone color on ground
RunDirection = 'N'; //direction you run away from random events(N,E,S,W)
Skillforlamp = 'Prayer'; //what to use a genie lamp on

//-------------------------------Players----------------------------------\\

procedure DeclarePlayers;
begin
HowManyPlayers := 4;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :='Username'; //Username goes here.
Players[0].Pass :='Password'; //Password goes here.
Players[0].Nick :='sern'; //Type 3-4 letters of your runescape username.
Players[0].Integer1 := 56; //Bones to bury until it switches players.
Players[0].Active :=true; //Is this player active?

Players[1].Name :='Username';
Players[1].Pass :='Password';
Players[1].Nick :='sern';
Players[1].Integer1 := 56;
Players[1].Active :=false;

Players[2].Name :='Username';
Players[2].Pass :='Password';
Players[2].Nick :='sern';
Players[2].Integer1 := 56;
Players[2].Active :=false;

Players[3].Name :='Username';
Players[3].Pass :='Password';
Players[3].Nick :='sern';
Players[3].Integer1 := 56;
Players[3].Active :=false;

end;

//-------------------------------Anti Ban---------------------------------\\

procedure Stopban;
begin
LeaveScreenEvery(4 + random(7));
RandomRClickEvery(3+Random(9));
PickUpMouseEvery(6 + random(5));
RandomChatEvery(11 + Random(6));
HoverEvery(7+random(5),'prayer');
LeaveScreenEvery(10 + Random(10));
RandomRClickEvery(8+Random(8));
RandomRClickEvery(5 + random(5));
end;

//------------------------------Progress Report-----------------------------\\

Procedure ProgressReport;
begin
Writeln('//----------------------------------------\\');
Writeln('//--------Progress On Bone Burying--------\\');
Writeln('//----------------------------------------\\');
Writeln('//-----Ran for '+TimeRunning+'--------\\');
Writeln('//-----Picked up '+IntToStr(picked)+' bones-----------------\\');
WriteLn('//-----Buried '+IntToStr(Buried)+' bones--------------------\\')
WriteLn('//-----Gained '+IntToStr((Buried)*5)+' xp total----------------\\')
Writeln('//----------------------------------------\\');
end;

//-----------------------------Anti Randoms-------------------------------\\

Procedure AntiRandoms;
Begin
FindNormalRandoms;
FindTalk;
FindLamp(Skillforlamp);
UseBoxSolver := True
UseCerterSolver := True
UseSandwichSolver :=True
FindMod;
FindMime;
FindDead;
FindMaze;
DwarfItem;
FindDemon;
Solvepinball;
FindScapeRune;
Stopban;
if (findfight) then begin
RunAwayDirection(RunDirection);
SleepAndMoveMouse(9500+Random(2500));
RunBack;
if InBlack then
begin
Players[CurrentPlayer].Active := false;
Writeln(Players[CurrentPlayer].Name + ' is stuck in a random event!');
ProgressReport;
NextPlayer(True);
wait(3000 + random(3000));
end;
if FindDead then
begin
Players[CurrentPlayer].Active := false;
Writeln(Players[CurrentPlayer].Name + ' has died!');
ProgressReport;
NextPlayer(True);
wait(3000 + random(3000));
end;
end;
end;

//------------------------------Responding--------------------------------\\

Procedure AutoRespond;
begin
if(InChat('Prayer lvls?') or
InChat('Prayer lvls') or
InChat('Prayer lvl?') or
InChat('Prayer lvl') or
InChat('Pray lvls?') or
InChat('Pray lvls') or
InChat('Pray lvl?') or
InChat('Pray lvl')) then
begin
TypeSend(IntToStr(GetSkillLevel('Prayer')))
end;

if (InChat('Cooking lvls?') or
InChat('Cooking lvls') or
InChat('Cooking lvl?') or
Inchat('Cookin lvls?') or
InChat('Cookin lvls') or
Inchat('Cookin lvl?') or
InChat('Cookin lvl') or
InChat('Cook lvls?') or
Inchat('Cook lvls') or
InChat('Cook lvl?') or
InChat('Cook lvl')) then
begin
TypeSend(IntToStr(GetSkillLevel('Cooking')))
end;
AntiRandoms;
ProgressReport;
end;

//------------------------------Bury bones--------------------------------\\

Procedure Bury;
var
Boneinv: Integer;
begin
Boneinv := DTMFromString('78DA633CC6C4C0B09B91011530229140FA085' +
'0CD66026A2E00D51C20A0662750CD4E026A0E03D51CC5AF06001F' +
'BF07A1');
repeat;
if(FindDTM(Boneinv, x, y, 550, 200, 745, 465))then
MMouse(x, y, 1, 1);
if (IsUpText('Bury') or IsUpText('ury')) then
GetMousePos(x, y);
wait(100+random(75))
Mouse(x, y, 3, 3, True);
Buried:=Buried+1;
wait(500+random(200))
SRLRandomsReport;
AntiRandoms;
until(invcount >= 2)
ProgressReport;
FreeDTM(Boneinv);
end;

//-----------------------------Pick up bones------------------------------\\

Procedure Pickup;
var
Takebonewhite, Takeboneyellow: Integer;
Begin
Takebonewhite := BitmapFromString(59, 1, 'z78DA737343000324' +
'E086216EEA626A6262EE86034064914937BC00D92E4CBDA8E6581' +
'A9818404854970CBC382689E92F00146F4FAE');
Takeboneyellow := BitmapFromString(59, 1, 'z78DA73737373333' +
'0700393C8C00D43DCD4C5D4C4C41C591C9984C82293B85462DA85' +
'A917D51C4B0313030889EA928117C72431FD050090804D72');
repeat;
if(Findcolor(x,y,Bonecolor,5,5,515,340))then
MMouse(x,y,1,1);
if (IsUpText('Bone') or IsUpText('ones') or IsUpText('eathe') or IsUpText('aw chic') or IsUpText('hicke')) then
GetMousePos(x,y);
Mouse(x, y, 1, 1, False);
if(FindBitmap(Takebonewhite, x, y)) or (FindBitmap(Takeboneyellow, x, y))then
MMouse(x,y,1,1);
GetMousePos(x,y);
Mouse(x, y, 1, 1, True);
Flag;
wait(300+random(200))
Picked:=Picked+1;
SRLRandomsReport;
AntiRandoms;
until(invcount >= 5)
if(invcount >= 5)then
Bury;
Freebitmap(Takebonewhite);
Freebitmap(Takeboneyellow);
end;

//------------------------------------------------------------------------\\

Begin
SetupSRL;
DisguiseScar('iTunes');
Activateclient;
DeclarePlayers;
repeat
If (Not(LoggedIn)) then
begin
Loginplayer;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
HighestAngle;
Setrun(true);
Makecompass('N')
end;
repeat
Pickup;
Bury;
AntiRandoms;
until(LoggedIn) and (Buried >= Players[CurrentPlayer].Integer1)
If(LoggedIn) and (Buried >= Players[CurrentPlayer].Integer1)then
Writeln('Bones to bury has been reached, switching players.')
Logout;
ProgressReport;
Wait(20000+random(10000))
NextPlayer(True);
until (false);
end.
I just need some ideas where i might be able to put failsafes and other things that could improve this.

Rune Hacker

2007-03-24 13:40:21

Well, here is 1 progress report

//——————————————–\\
//———-Progress On Bone Burying———-\\
//——————————————–\\
//——Ran for 41 Minutes and 14 Seconds—–\\
//——Picked up 37 bones total————–\\
//——Buried 36 bones total—————–\\
//——Gained 180 xp total——————-\\
//——————————————–\\

I know it can go much longer though, i was just getting bored so i stopped it so i could do other things on my comp.

Rune Hacker

2007-03-24 22:24:02

I fixed the script so it goes MUCH faster now


//——————————————–\\
//———-Progress On Bone Burying———-\\
//——————————————–\\
//——Ran for 6 Minutes and 42 Seconds—-\\
//——Picked up 27 bones total————–\\
//——Buried 33 bones total—————–\\
//——Gained 165 xp total——————-\\
//——————————————–\\

R0b0t1

2007-03-24 23:21:34

Ooooh pretty good, for a first.

Rune Hacker

2007-03-24 23:34:01

Thx, im still trying to fix the "Bonestobury" so it sill switch players when its doen the required bone count and i think other then that, its almost flawless from what i think lol. But im still lookin for other sugestions

x_²

2007-03-25 05:42:12

i have a question. why would you switch players if you where training prayer?

Boreas

2007-03-25 08:55:39

Why not?

nielsie95

2007-03-25 09:50:40

If one players gets an unsolveabe Random (Leo) it could switch to the next player :).

Rune Hacker

2007-03-25 14:07:50

You know its not safe to let a player auto for like 3 hours or more in a day because that increases its chance to get banned very greatly. Hvaing it switch every 30 min or so would be best. Ide love to try to find a way for it to switch players every 30 mins or but i havent yet, though i am still looking for a way to fix this problem.

legendaryhero90

2007-03-26 00:18:56

From: x_²
i have a question. why would you switch players if you where training prayer?


cuz the leo random kills all bone burying scripts…

that is until someone makes a leo solver

Rune Hacker

2007-03-27 22:03:12

I still need someone to tell me why it won't switch players when the amount of bones you wanted buried is reached.

Santa_Clause

2007-03-28 03:00:59

Apparently, Fawki's Goblin Scheduler has a Leo Solver. Ask him if he could help you make one. I doubt he has any time though ;)

Rune Hacker

2007-03-29 21:46:40

I am still looking for help on whats wrong with my "bonestobury" const because it wont switch players when the bones to bury you want is reached.

ATX12

2007-06-01 23:32:48

Failed when compiling
Line 76: [Error] (14826:1): Unknown identifier 'LeaveScreenEvery' in script

help plz thanks for the script tho

Naum

2007-06-02 06:05:14

nice script!

blahblah123

2007-06-21 09:05:44

i cant get the script to work it says this at the bottom:

Failed when compiling
Line 502: [Error] (14912:1): Unknown identifier 'LeaveScreenEvery' in script D:\Program Files\SCAR 3.06\Scripts\Prayer Up Easy v1.4.scar

tymu888

2007-09-25 09:56:32

i cant use it , error on line 1 . unexeptcing start .

SaiKo HaWaIIaN

2007-09-26 07:27:52

From: Rune Hacker
I still need someone to tell me why it won't switch players when the amount of bones you wanted buried is reached.


would it be that the players.active is set to false? another thing is that buried: integer; is constantly growing so once your first player reaches the set "integer1:= 53" the rest reach it also. so maybe make another integer "buried2" or something to use for switching characters. reset buried2to = 0 just before switching players.

Eugeniu

2007-09-26 21:08:41

From: Rune Hacker
Well, here is 1 progress report

//——————————————–\\
//———-Progress On Bone Burying———-\\
//——————————————–\\
//——Ran for 41 Minutes and 14 Seconds—–\\
//——Picked up 37 bones total————–\\
//——Buried 36 bones total—————–\\
//——Gained 180 xp total——————-\\
//——————————————–\\

I know it can go much longer though, i was just getting bored so i stopped it so i could do other things on my comp.


From: Rune Hacker
I fixed the script so it goes MUCH faster now


//——————————————–\\
//———-Progress On Bone Burying———-\\
//——————————————–\\
//——Ran for 6 Minutes and 42 Seconds—-\\
//——Picked up 27 bones total————–\\
//——Buried 33 bones total—————–\\
//——Gained 165 xp total——————-\\
//——————————————–\\


BIG, BIG difference there is right there…

toxicf

2007-09-28 17:34:30

Nice script, haven't ran it yet, but i like the InChat('prayer lvl') and the DisguiseScar('iTunes'). good use of srl

Aser

2007-09-28 23:49:07

The bones to bury probelm could be…I'm not sure here

that you used an "=" for checking if then number is reached instead of

">" or "<" this could cause problems if it burries more than one bone before it checks if the value is reached…

don't know because I was a little bit to lazy to read the whole thing.

Maiki

2007-10-01 10:02:23

From: JuvenileHall
error on line 39 ''Integer1'', could u some help what should i do?


I have the same error

dritar

2007-10-01 13:04:02

[BANANA]It doesnt pick up bones on my comp :o what happens?[/BANANA]

dritar

2007-10-04 11:34:43

Variable's "Intenger1, leavescreenevery and etc doesnt work, so the script doesnt work too.

Naum

2007-10-05 12:14:55

For the player switch you could do

if timefrommark(300000)then
Nextplayer(true);

cracker667

2007-10-07 00:20:33

[BANANA][+]Looks Good[+][/BANANA]

cracker667

2007-10-07 00:21:33

Sry double post lol i was doing sumthin n it didnt show my post
:google:

DillonSykes

2007-10-07 01:42:33

Thanks for this, Ill try it out.

Sgt Soul

2007-10-07 05:25:55

i like it, could do with a bit more detail then it would rock

IdTapDatt

2007-10-12 21:48:30

nice i'm gonna use this on the minotaurs in stronghold of security

runeman11

2007-10-12 22:11:50

nice script

niqje

2007-10-13 13:31:01

From: Rune Hacker
This is my first script. It Pickes up bones from the ground and burys them. It works very good and ide like some people to look through it to see if there is antyhing that should be changed, removed, added, or whatever. Are there any failsafes i might need or something? Ide love some feedback on this script. Tyvm.


(Also, can a forum mod please change the title of this thread to "Prayer Up Easy" if possible lol)
//------------------------------------------------------------------------\\
// ________ _____ __ \\
// ___ __ \____________ _____ ______________ __ / / /_______ \\
// __ /_/ /_ ___/ __ `/_ / / / _ \_ ___/ _ / / /___ __ \ \\
// _ ____/_ / / /_/ /_ /_/ // __/ / / /_/ / __ /_/ / \\
// /_/ /_/ \__,_/ _\__, / \___//_/ \____/ _ .___/ \\
// /____/ /_/ \\
// __________ \\
// ___ ____/_____ ____________ __ \\
// __ __/ _ __ `/_ ___/_ / / / \\
// _ /___ / /_/ /_(__ )_ /_/ / \\
// /_____/ \__,_/ /____/ _\__, / \\
// /____/ \\
//------------------------------------------------------------------------\\
// Setup Lines : 34-36 \\
// 42-68 \\
//------------------------------------------------------------------------\\
// \\
//------------------------------------------------------------------------\\
// Instructions \\
//------------------------------------------------------------------------\\
// 1. Set Runescape on low detail and on Very Bright. \\
// 2. Join a crowded world where people dont pick up thier bones. \\
// 3. Start logged in or out where lots of bones are laying around. \\
// 4. Click on play and watch it get your prayer up for you. \\
//------------------------------------------------------------------------\\
program BoneBurier;
{.include SRL\SRL.scar}

Var
Buried, Picked: Integer;

const
Bonecolor = 15066600; //bone color on ground
RunDirection = 'N'; //direction you run away from random events(N,E,S,W)
Skillforlamp = 'Prayer'; //what to use a genie lamp on

//-------------------------------Players----------------------------------\\

procedure DeclarePlayers;
begin
HowManyPlayers := 4;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :='Username'; //Username goes here.
Players[0].Pass :='Password'; //Password goes here.
Players[0].Nick :='sern'; //Type 3-4 letters of your runescape username.
Players[0].Integer1 := 56; //Bones to bury until it switches players.
Players[0].Active :=true; //Is this player active?

Players[1].Name :='Username';
Players[1].Pass :='Password';
Players[1].Nick :='sern';
Players[1].Integer1 := 56;
Players[1].Active :=false;

Players[2].Name :='Username';
Players[2].Pass :='Password';
Players[2].Nick :='sern';
Players[2].Integer1 := 56;
Players[2].Active :=false;

Players[3].Name :='Username';
Players[3].Pass :='Password';
Players[3].Nick :='sern';
Players[3].Integer1 := 56;
Players[3].Active :=false;

end;

//-------------------------------Anti Ban---------------------------------\\

procedure Stopban;
begin
LeaveScreenEvery(4 + random(7));
RandomRClickEvery(3+Random(9));
PickUpMouseEvery(6 + random(5));
RandomChatEvery(11 + Random(6));
HoverEvery(7+random(5),'prayer');
LeaveScreenEvery(10 + Random(10));
RandomRClickEvery(8+Random(8));
RandomRClickEvery(5 + random(5));
end;

//------------------------------Progress Report-----------------------------\\

Procedure ProgressReport;
begin
Writeln('//----------------------------------------\\');
Writeln('//--------Progress On Bone Burying--------\\');
Writeln('//----------------------------------------\\');
Writeln('//-----Ran for '+TimeRunning+'--------\\');
Writeln('//-----Picked up '+IntToStr(picked)+' bones-----------------\\');
WriteLn('//-----Buried '+IntToStr(Buried)+' bones--------------------\\')
WriteLn('//-----Gained '+IntToStr((Buried)*5)+' xp total----------------\\')
Writeln('//----------------------------------------\\');
end;

//-----------------------------Anti Randoms-------------------------------\\

Procedure AntiRandoms;
Begin
FindNormalRandoms;
FindTalk;
FindLamp(Skillforlamp);
UseBoxSolver := True
UseCerterSolver := True
UseSandwichSolver :=True
FindMod;
FindMime;
FindDead;
FindMaze;
DwarfItem;
FindDemon;
Solvepinball;
FindScapeRune;
Stopban;
if (findfight) then begin
RunAwayDirection(RunDirection);
SleepAndMoveMouse(9500+Random(2500));
RunBack;
if InBlack then
begin
Players[CurrentPlayer].Active := false;
Writeln(Players[CurrentPlayer].Name + ' is stuck in a random event!');
ProgressReport;
NextPlayer(True);
wait(3000 + random(3000));
end;
if FindDead then
begin
Players[CurrentPlayer].Active := false;
Writeln(Players[CurrentPlayer].Name + ' has died!');
ProgressReport;
NextPlayer(True);
wait(3000 + random(3000));
end;
end;
end;

//------------------------------Responding--------------------------------\\

Procedure AutoRespond;
begin
if(InChat('Prayer lvls?') or
InChat('Prayer lvls') or
InChat('Prayer lvl?') or
InChat('Prayer lvl') or
InChat('Pray lvls?') or
InChat('Pray lvls') or
InChat('Pray lvl?') or
InChat('Pray lvl')) then
begin
TypeSend(IntToStr(GetSkillLevel('Prayer')))
end;

if (InChat('Cooking lvls?') or
InChat('Cooking lvls') or
InChat('Cooking lvl?') or
Inchat('Cookin lvls?') or
InChat('Cookin lvls') or
Inchat('Cookin lvl?') or
InChat('Cookin lvl') or
InChat('Cook lvls?') or
Inchat('Cook lvls') or
InChat('Cook lvl?') or
InChat('Cook lvl')) then
begin
TypeSend(IntToStr(GetSkillLevel('Cooking')))
end;
AntiRandoms;
ProgressReport;
end;

//------------------------------Bury bones--------------------------------\\

Procedure Bury;
var
Boneinv: Integer;
begin
Boneinv := DTMFromString('78DA633CC6C4C0B09B91011530229140FA085' +
'0CD66026A2E00D51C20A0662750CD4E026A0E03D51CC5AF06001F' +
'BF07A1');
repeat;
if(FindDTM(Boneinv, x, y, 550, 200, 745, 465))then
MMouse(x, y, 1, 1);
if (IsUpText('Bury') or IsUpText('ury')) then
GetMousePos(x, y);
wait(100+random(75))
Mouse(x, y, 3, 3, True);
Buried:=Buried+1;
wait(500+random(200))
SRLRandomsReport;
AntiRandoms;
until(invcount >= 2)
ProgressReport;
FreeDTM(Boneinv);
end;

//-----------------------------Pick up bones------------------------------\\

Procedure Pickup;
var
Takebonewhite, Takeboneyellow: Integer;
Begin
Takebonewhite := BitmapFromString(59, 1, 'z78DA737343000324' +
'E086216EEA626A6262EE86034064914937BC00D92E4CBDA8E6581' +
'A9818404854970CBC382689E92F00146F4FAE');
Takeboneyellow := BitmapFromString(59, 1, 'z78DA73737373333' +
'0700393C8C00D43DCD4C5D4C4C41C591C9984C82293B85462DA85' +
'A917D51C4B0313030889EA928117C72431FD050090804D72');
repeat;
if(Findcolor(x,y,Bonecolor,5,5,515,340))then
MMouse(x,y,1,1);
if (IsUpText('Bone') or IsUpText('ones') or IsUpText('eathe') or IsUpText('aw chic') or IsUpText('hicke')) then
GetMousePos(x,y);
Mouse(x, y, 1, 1, False);
if(FindBitmap(Takebonewhite, x, y)) or (FindBitmap(Takeboneyellow, x, y))then
MMouse(x,y,1,1);
GetMousePos(x,y);
Mouse(x, y, 1, 1, True);
Flag;
wait(300+random(200))
Picked:=Picked+1;
SRLRandomsReport;
AntiRandoms;
until(invcount >= 5)
if(invcount >= 5)then
Bury;
Freebitmap(Takebonewhite);
Freebitmap(Takeboneyellow);
end;

//------------------------------------------------------------------------\\

Begin
SetupSRL;
DisguiseScar('iTunes');
Activateclient;
DeclarePlayers;
repeat
If (Not(LoggedIn)) then
begin
Loginplayer;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
HighestAngle;
Setrun(true);
Makecompass('N')
end;
repeat
Pickup;
Bury;
AntiRandoms;
until(LoggedIn) and (Buried >= Players[CurrentPlayer].Integer1)
If(LoggedIn) and (Buried >= Players[CurrentPlayer].Integer1)then
Writeln('Bones to bury has been reached, switching players.')
Logout;
ProgressReport;
Wait(20000+random(10000))
NextPlayer(True);
until (false);
end.
I just need some ideas where i might be able to put failsafes and other things that could improve this.



nice! i tested it works very well

Cruel100

2007-10-13 19:48:46

Cool! I like the antiban and bury bones… and big bones?

spikehead818

2007-10-13 22:42:40

i got
Line 49: [Error] (14744:12): Unknown identifier 'INTEGER1' in script

dont realy no how to fix

line 49– Players[0].Integer1 := 56; //Bones to bury until it switches players.

killer1

2007-10-13 22:43:53

nice im gunna make pure prayer and see how high i can get lol

s3bu

2008-06-12 11:54:15

Doesn't work.. errors :confused:

xSaintias

2008-06-29 23:47:47

From: spikehead818
i got
Line 49: [Error] (14744:12): Unknown identifier 'INTEGER1' in script

dont realy no how to fix

line 49– Players[0].Integer1 := 56; //Bones to bury until it switches players.


same…… help?

eugenius1

2008-06-30 12:20:01

old script not updated….

Raskolnikov

2008-07-01 13:06:51

Nice gravedig! 10-13-2007, 06:48 PM


Cut em2 it

Hobbit

2008-07-01 20:19:01

Closed.
Will reopen if author wishes to update.