IPB

Welcome Guest ( Log In | Register )

1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 
Reply to this topicStart new topic
> CCX Plugin -Documentation (OLD), Documentation
Snap
post Oct 18 2007, 02:33 AM
Post #1


The following post is supplementry information
*****

Group: Global Moderators
Posts: 2,922
Joined: 29-January 06
From: Eugene Oregon
Member No.: 31



Under Development

- I just kinda threw everything i've written about this CC System in here...
So - don't mind the inconsistencies, some stuff is more up to date than other stuff.

This plugin will replace the current Custom Command system in 2.7


This will eventually turn into the Guide/FAQ to the system.

Download:
No Stable Release



Current Documentation - .txt style

A sophisticated .cchelp/cmdhelp [search] should be included with the first stable release.
- This .cchelp command will cover all the functions, commands, and other FAQ's.

Current Commands:
[b]
.addcc
.delcc
.renamecc
.clipcc
.cclist
.showcc
.testcc

("cmd" instead of "cc" will be allowed for all these commands)





My CCX System is continuing to grow in power but I thought I'd post what I have so far - via example.

Top Questions:
  1. Newbs wont be able to use it.
    This really isn't an issue - all the regular CC commands they already have will work fine. - They can continue to use the syntax they are used to.
    - This simply expands upon the basic concept of StealthBot's CCsystem, giving people more variables - and new-functions.
    Also, I think it's a bad idea to underestimate the intelligence of the SB community - I know more than a few people who learned VBs JUST for StealthBot. - And without learning VBs newbies will be able to take advantage of the more-simple aspects to the CC System.
  2. Why use it when you could just script it?
    - As an advanced VBs Scripter I'm personally finding that using this CC Style syntax is more fit for the bot world. - When reading the demonstration below, consider how long(and how many lines) it would take to write the same thing in VBs. - Also consider how the command could have been written by a friend, or fellow clan member.
    I would also like to point out that this is intended to be as a COMPLIMENT to plugins -
    Using a RegisterFunction Sub - to add a function for use in the CC system
    And using a RUNCC Sub - to execute a cc (if existing)

    This could be used to customize plugins by running event-style CC's when conditions arise in the plugin.
    For example, you could have it run a CC when someone turns trivia off: CCX.RunCC("Trivia_Off")
    The user could choose to add this CC or not. If he did add the cc, it would be executed when trivia was turned off. He use it to - turn greetings back on - or whatever.

    As you can see - this helps make plugins more customizable, and can improve the power of the CC system itself. - Making your plugins powerful, but keeping them easily expanded and customized by the user.

  3. SECURITY! Ahh!
    Indeed, this CC system does give you quiet a bit of power - access to using the addcc command gives the user a lot of control over the bot.
    While this will require attention, it really isn't any more severe then the current CC system. - And, I intend to add levels to the addcc command, limiting the use of certain functions and variables by the user.
So here's some examples of it's usage.


Me> I'll start out simple and add some fun commands.
Me> !addcc give 10 /me gives %1 a refreshing %rest
Bot> Command "give" [10 access/no flags] added.
Me> !give bob glass of coke
Bot gives bob a refreshing glass of coke>


Me> Okay now I'll add a nice little email thing.
Me> !addcc setemail 10 Email Set to %withdl(Email_%user,%1,true)
Bot> Command "setemail" [10 access/no flags] added.
Me> Great, now they have a way to set their email address, now for their friends to find it.
Me> !addcc email 10 %if(%getdl(Email_%1),%1's email is %getdl(Email_%1),No email provided by %1)
Bot> Command "email" [10 access/no flags] added.
Me> !setemail [email protected]
Bot> Email Set to [email protected]
Me> !email Snap
Bot> Snap's email is [email protected]
Me> This command would make more sense if it was named contact.
Me> !renamecc email contact
Bot> Command renamed: email -> contact
Me> !contact Bobnewheart
Bot> No email provided by Bobnewheart

Me> Great, working perfectly. - Now how about a 'choose' command, that would be handy.

Me> !addcc choose 10 I recommend: %item(%all,%rand(1,%args))
Bot> Command "choose" [10 access/no flags] added.
Me> Hmm, what game should I play...
Me> !choose Fastest BGH LostTemple UMS
Bot> I recommend: BGH




ADVANCED CC's

Here I'll add some commands for custom notes:

/addcc addnote 10 Note: "%rest" Added.%withdl(Notes_%user,&%rest+-+)
/addcc notes 10 You have %count(%getdl(Notes_%user),+-+) note(s) to read a note type %triggerReadnote [number]
/addcc readnote 10 %if(%item(%getdl(Notes_%user),%1,+-+),Note #%1. : %item(%getdl(Notes_%user),%1,+-+),That note did not exist - use the %triggerAddnote command to add a note)
/addcc delnote 10 %setdl(Notes_%user,%xitem(%getdl(Notes_%user),%1,+-+))Note #%1. Removed.
/addcc clearnotes 10 %setdl(Notes_%user,)Your notes have been deleted.

Here's them in use:

/notes
----- You have 0 note(s) to read a note type !Readnote [number]
/addnote Remember this please
----- Note: "Remember this please" Added.
/notes
----- You have 1 note(s) to read a note type !Readnote [number]
/readnote 1
----- Note #1. : Remember this please
/addnote Please remember this too! smile.gif
----- Note: "Please remember this too! smile.gif" Added.
/delnote 1
----- Note #1. Removed.
/readnote 1
----- Note #1. : Please remember this too!


Using a GUI you could indent (using tabs) your more advanced CC's like this:
CODE
readnote command [10] access [no flags]

%if(%item(%getdl(Notes_%user),%1,+-+),
   Note #%1. : %item(%getdl(Notes_%user),%1,+-+),
   That note did not exist - use the %triggerAddnote command to add a note
)






:: The below documentation will be replaced with HTML and will be downloaded with the plugin itself. ::


CODE


CCX DOCUMENTATION

   INDEX:
      INTRODUCTION
      BASIC USE
         COMMANDS
         EXAMPLES
      ARGUMENTS
         ADVANCED
      FUNCTIONS
         EXPLANATION *
         PRIORITY 1 *
         PRIORITY 2 *
      PROGRAMMERS HEAVEN
         REGISTER FUNCTION
[*] In progress.

FUNCTIONS:
   EXPLANATION:
    Functions are simply varriables with "arguements". These arguements (listed inside the function) impact the varriable.
    Example: %ucase(hello world) will result in: HELLO WORLD  (Ucase standing for Upper-Case)
    A yell command could be created like this:
    !addcc yell 20 %upper(%rest)
    Functions can be "nested" (Function within a function) to create more complex CC's.
    !addcc choose 10/ I recommend: %item(%all,%rand(1,%args))
    !choose Cats Dogs Fish Hamsters
    <bot> I recommend: Cats
    
    There are no limits to nesting functions.
    Some Plugins may add more functions to allow further customization. To see if functions have been added type /Rfunctions.
    - For information on how to create functions using plugins see PROGRAMMERS HEAVEN
    
   PRIORITY 1 Functions: (EXECUTES FIRST - IN NESTING ORDER - 1st Pass)
   %round (NUMBER,TO DECIMAL)
      Notes:
         Rounds a number to the Xth decimal.
         %round(22.1234,1) -> 22.1
   %if (TEST,True Response,[False Response] = NULL)
      Notes:
         The most powerful function of all. - A simple if statment, simular to the popular IIF function.
   %switch (Compare String,String,Response,String,Response - ETC) - Often understood as a PARAM ARRAY
      Notes:
         Attempts to copy the Switch method - avaliable in most programming languages
         A very handy function.
      Example:
         !addcc pickgame 10/ %switch(%rand(1,3),1,Starcraft,2,Diablo,3,Warcraft)
        
   %for (START,STOP,STRING TO SAY,[Varriable to replace with Number] = %i)
      Notes:
         Every language gotz to have one of these.
         %i is default, but you can have it replace any string to be replaced with the number.
         - Currently no other functions can be accessed inside this loop - rendering it somewhat useless.
        
   !addcc dofor 10/ Look! I can count to 4!: %for(1,4,,%i)
   %rand (LOWEST,HIGHEST)
      Notes:
         Picks a number between LOWEST and HIGHEST randomly
         - See the Choose command.
   %mid (STRING,START,[HOW DEEP]) - {This function may be upgraded to mimic PHP's StrStr function}
      Notes:
         Mimics VBs's Mid function.
   %item (STRING,POSITION OF ITEM,[SEPERATOR] = Space)
      Notes:
         Selects an item out of a string. Intended to nullify the need for arrays.
   %xitem (STRING,POSITION OF ITEM TO REMOVE,[SEPERATOR] = Space)
      Notes:
         The oppisit of %item, this function instead of picking one out, it removes one out.

   %count (STRING,WHAT)
      Notes:
         This was intended to replace the UBound function.
         Returns the amount of WHAT is located in STRING
      %count(HELLO,L) -> 2 (2 L's in HELLO)
  
   %instr (STRING,STRING2,[COMPARE])
      Notes:
         Mimic of VBs's instr function. - Returns the amount of charactors in STRING2 is located in STRING
   %chr (NUMBER CODE)
      Notes:
         Mimics VBs's Chr function (Found in almost any programming language)
   %[email protected] (USERNAME)
      Notes:
         Removes the # or @ suffix at the end of a username.
         [email protected] -> Bob
   %getdl (DL NAME,[LOCATION ENTRY] = main)
      Notes:
         Returns the data stored in a DATALIST.
      See:
         %withdl, %setdl
   %getgid (USERNAME,NUMBER KEY)
      Notes:
         Mimics StealthBot's GetInternalDataByUsername
   %seco (SECONDS)
      Notes:
         Seconds to Orgin.
         Returns what time it was X seconda go
      Example:
         !addcc lasttalked 10/ %if(%getgid(%1, 7) = -5,"%1" is not in channel!,%1 Last talked %secf(%getgid(%1, 7)) ago {%seco(%getgid(%1, 7))})
   %secf (SECONDS)
      Notes:
         Seconds to Full. 60 = 1:00.
         2147 = 35:47
         - For use with the %gid function
      Example:
         !addcc lasttalked 10/ %if(%getgid(%1, 7) = -5,"%1" is not in channel!,%1 Last talked %secf(%getgid(%1, 7)) ago {%seco(%getgid(%1, 7))})


   PRIORITY 2 Functions: (EXECUTES AFTER ALL PRIORITY 1 FUNCTIONS - 2nd Pass.)
   Function Name (Arguements sepertaed by comma - Optional arguements in [brackets])
  
   %die (STRING) - SPECIAL
      Returns:
         Arguement untouched.
      Notes:
         This function acts like PHP's die. It will respond with the arguements, and everything else is ignored.
      Example:
         !addcc TestDie 10 %if(%user<>Snap,%die(This CC will only work for Snap))Hi Snap I Wuv your CC System!
      Result:
         <bob>!testdie
         <Bot>This CC will only work for Snap
        
   %redirect (CUSTOM COMMAND, []) SPECIAL, See %runcc
      Returns:
         The CustomCommand supplied by Args
      Notes:
         This function is simular to %die - except that it uses a custom command.
      Example:
         None
        
   %wait (STRING, [Time Amount] = 5) - SPECIAL, See %do
      Returns:
         NULL
      Notes:
         Executes string like %do after time is up.
         - This does NOT padq it simply adds the message to the Que after time runs out.
         *May use escaped CCX Text using @ instead of %
  
   %makecc (NAME,ACCESS/FLAGS,TEXT,[Allow Rename] = False,[Return Response] = False)
      Returns:
         If Return Resonse = True, it will return with: "Created CC [name]" or "CC Already existed"
      Notes:
         Creates a Custom Command.
  
   %setdl (DL NAME,NEW SETTING,[RETURN RESULT] = False,[LOCATION ENTRY] = main)
  
   %withdl (DL NAME,OPERATION,[RETURN RESULT] = False,[LOCATION ENTRY] = main)
      Operations:
         & - Appends to.
            %setdl(MYVAR,Hello)
            %withdl(MYVAR,& World)


--------------------
~Life is all busy and stuff right now. - Car accident, lots of dr. appointments... Other stuff too. I still <3 StealthBot.net - - I'll be around.
Thinking about PMing me? Post it instead! CCX Forums | SnapNJacks Trivia Forums
IPB Image
IPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
The-Black-Ninja
post Oct 18 2007, 10:17 AM
Post #2


Pure Sex
********

Group: Moderators
Posts: 7,756
Joined: 13-August 06
Member No.: 7,372



Almost looks like a Plugin System within itself tongue.gif I know for a fact that many, MANY people who aren't that great at scripting will grab this as soon as they can. I'm not sure where or if I can help, but if I can, I will.


--------------------
IPB Image

-My Plugins :: Thanks Pyro :)
IPB ImageIPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Snap
post Oct 19 2007, 02:23 AM
Post #3


The following post is supplementry information
*****

Group: Global Moderators
Posts: 2,922
Joined: 29-January 06
From: Eugene Oregon
Member No.: 31



Well, I'm finding that it's at least taking as long - if not longer - to simply write the documentation for most of the features than to write the code for them.

I've decided on using XML to document most of this, it will be my first time using XML so, the experience should be good.

Once done, I should be able to use VBs's XML object to output the most up-to-date help, and PHP's SimpleXML to create a detailed guide.

All the cool things about CCX wont be very cool if there's no docs.

I'm planning on a Beta before Monday.
- From there, I'll see if I can answer some Script-Requests using CCX. (And keep adding more features to it until I can)

And then, ether I'll ether put a lot of work into creating a Scriptable Dynamic UI Form in VB w/ Swent and HDx, and/or create a simple .exe like defines Plugin Creator.

@The-Black-Ninja
If I think of anything that can be delegated, you'll be the first one I'll call smile.gif.


--------------------
~Life is all busy and stuff right now. - Car accident, lots of dr. appointments... Other stuff too. I still <3 StealthBot.net - - I'll be around.
Thinking about PMing me? Post it instead! CCX Forums | SnapNJacks Trivia Forums
IPB Image
IPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
J.Powers
post Oct 27 2007, 01:29 PM
Post #4


Why are you looking here?
***

Group: Members
Posts: 312
Joined: 25-August 07
From: Quebec, Canada
Member No.: 28,191



in the examples you were using this like
QUOTE
Me> !addcc email 10 %if(%getdl(Email_%1),%1's email is %getdl(Email_%1),No email provided by %1

But for someone like me who doesn't have the slightest of a clue how any of this works.. how would we then add CC and stuff, well i mean i know how to add em now with the custome command window while being in bot, but if i wanna do more advanced stuff like the e-mail or notes and other cool things.... how would i do that

This post has been edited by pizzly: Oct 27 2007, 01:30 PM


--------------------
IPB Image
"When the Power of Love overcomes the Love for Power, The world will know Peace."
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Pyro
post Oct 27 2007, 01:34 PM
Post #5


huh?
********

Group: Root Administrators
Posts: 9,073
Joined: 23-February 07
From: Orlando, Florida
Member No.: 19,243



This system will still do everything how the old system did it. And that's what this thread is for, documentation on the more "advanced" commands. Note: This system is not yet complete.


--------------------
Pyro
Chieftain of Clan BoT.
Host of pyro.no-ip.biz
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
J.Powers
post Oct 27 2007, 01:40 PM
Post #6


Why are you looking here?
***

Group: Members
Posts: 312
Joined: 25-August 07
From: Quebec, Canada
Member No.: 28,191



So im guessing this new system is to easy the creating of plugin like commands and to make it more user friendly and stuff correct?


--------------------
IPB Image
"When the Power of Love overcomes the Love for Power, The world will know Peace."
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Snap
post Oct 27 2007, 03:30 PM
Post #7


The following post is supplementry information
*****

Group: Global Moderators
Posts: 2,922
Joined: 29-January 06
From: Eugene Oregon
Member No.: 31



You'd have to learn - or ask.
It's only as powerful as your knowledge allows. - There will be plenty of examples of advanced CC examples eventually.

I'll have some sort of repository of CC Collections that you can browse through.


--------------------
~Life is all busy and stuff right now. - Car accident, lots of dr. appointments... Other stuff too. I still <3 StealthBot.net - - I'll be around.
Thinking about PMing me? Post it instead! CCX Forums | SnapNJacks Trivia Forums
IPB Image
IPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
J.Powers
post Oct 27 2007, 04:00 PM
Post #8


Why are you looking here?
***

Group: Members
Posts: 312
Joined: 25-August 07
From: Quebec, Canada
Member No.: 28,191



That's cool, im rlly intrested in learning to do it myself, but it;s always more fun learning it from someone then reading boring ass books.. ill look foward to this release and stuff...
Keep it comming snap

-Jess

This post has been edited by pizzly: Oct 27 2007, 04:01 PM


--------------------
IPB Image
"When the Power of Love overcomes the Love for Power, The world will know Peace."
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
1ruleyou
post Mar 25 2008, 10:37 PM
Post #9


Get Some!
***

Group: Members
Posts: 482
Joined: 26-September 06
From: Utah
Member No.: 8,948



QUOTE(pizzly @ Oct 27 2007, 04:00 PM) *

That's cool, im rlly intrested in learning to do it myself, but it;s always more fun learning it from someone then reading boring ass books.. ill look foward to this release and stuff...
Keep it comming snap

-Jess


I totally agree i want to learn it too but i have dyslexia and hate to read!!!


--------------------
Latest: Tell me what you think by clicking on it!
IPB Image
A Graphics Forum! Talk about anything graphics!
-------Click it. You know you want to click it-----
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Tohuw
post Mar 26 2008, 12:54 PM
Post #10


#1 Beta Slacker
**

Group: Beta Testers
Posts: 15
Joined: 23-November 06
From: NOYB
Member No.: 12,733



I love reading. How do you create a command with multiple permissions settings? Like if I wanted a command to be available to someone with 10 access, or an A, s, or O flag
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
PhiX
post Mar 26 2008, 02:17 PM
Post #11


Notice the ownage.
********

Group: Global Moderators
Posts: 10,862
Joined: 15-January 07
From: GeRmAnY (GMT +1:00)
Member No.: 16,204



I'm afraid this feature isn't fully implemented yet. At the moment you can only add a command which requires both access and flags. The syntax would be "/addcc test 10/bla test".


--------------------
PhiX
--------------------
I do not provide support via PM or IM, please use the forums.
SBs Help Tool - Please only double click my name if I told you to do so.
--------------------

Whore of Clan BoT

JBLS: phix.no-ip.org (click for stats) IPB Image
--------------------
QUOTE(Clan BoT)
[20:33:50.063] <[email protected]> I'm not showing any respect to a bunch of script kiddie faggots.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Tohuw
post Mar 26 2008, 10:42 PM
Post #12


#1 Beta Slacker
**

Group: Beta Testers
Posts: 15
Joined: 23-November 06
From: NOYB
Member No.: 12,733



QUOTE(PhiX @ Mar 26 2008, 04:17 PM) *

I'm afraid this feature isn't fully implemented yet. At the moment you can only add a command which requires both access and flags. The syntax would be "/addcc test 10/bla test".


Ah. Well, good to know.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
comp666
post Mar 31 2008, 10:15 PM
Post #13


Rookie
*

Group: Members
Posts: 3
Joined: 31-March 08
Member No.: 35,349



Is there any way to call a command within a custom command? For example, with the default custom command system I could have the bot whisper itself with a new command:

me: .sayhi (<-this had the bot run a command called ".hello")
bot:<To comp666> .hello
bot:<From comp666> .hello
bot:comp666 says hello

This method doesn't seem to work with the plugin. I get:

me:%if(%getdl(%1)<=%getdl(%2),/w *comp666 .sayhello)
bot:/w *comp666 .sayhello
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
AbsoluteMSTR
post Mar 31 2008, 11:49 PM
Post #14


Full Member
***

Group: Beta Testers
Posts: 125
Joined: 5-August 07
Member No.: 27,229



add %url where it opens a url. Would be nice to do a lot of stuff.

couldn't you also add .runcc so you dont have to .addcc then run it and afterwards delete it. Unless thats what .testcc does.

also the url would be good to send data to website and receive data


--------------------
I offer hosting for ghost hosting on a dedicated server. PM for info
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
PhiX
post Apr 1 2008, 09:09 AM
Post #15


Notice the ownage.
********

Group: Global Moderators
Posts: 10,862
Joined: 15-January 07
From: GeRmAnY (GMT +1:00)
Member No.: 16,204



QUOTE(comp666 @ Apr 1 2008, 06:15 AM) *
Is there any way to call a command within a custom command? For example, with the default custom command system I could have the bot whisper itself with a new command:

me: .sayhi (<-this had the bot run a command called ".hello")
bot:<To comp666> .hello
bot:<From comp666> .hello
bot:comp666 says hello

This method doesn't seem to work with the plugin. I get:

me:%if(%getdl(%1)<=%getdl(%2),/w *comp666 .sayhello)
bot:/w *comp666 .sayhello
Use "//sayhi" instead of "/sayhi".


--------------------
PhiX
--------------------
I do not provide support via PM or IM, please use the forums.
SBs Help Tool - Please only double click my name if I told you to do so.
--------------------

Whore of Clan BoT

JBLS: phix.no-ip.org (click for stats) IPB Image
--------------------
QUOTE(Clan BoT)
[20:33:50.063] <[email protected]> I'm not showing any respect to a bunch of script kiddie faggots.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
comp666
post Apr 2 2008, 12:55 AM
Post #16


Rookie
*

Group: Members
Posts: 3
Joined: 31-March 08
Member No.: 35,349



that worked, thanks.

is there any way to get %setdl to set the dl value to an evaluated expression?
I want to do something like this:

/addcc data 99 %setdl(%1, /eval (%2+%3))

so when I type:

.data name 2 2

it'll set "data" to 4

thanks.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
DaRK_IMMoRTAL
post Aug 19 2008, 03:38 AM
Post #17


Jr. Member
**

Group: Members
Posts: 42
Joined: 21-July 06
Member No.: 6,659



hey will you be adding anti-spam with this? it is quite needed in SB. thanks in advance. cant~wait. happy.gif" (so bot doesn't get flooded)

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
HannahG
post Aug 20 2008, 01:28 AM
Post #18


Jr. Member
**

Group: Banned
Posts: 41
Joined: 8-August 08
Member No.: 40,427



anti-spam is not something they were planning on adding. It is probably something you could request though.


--------------------
<3<3 Hannah
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
riffruff
post Aug 20 2008, 07:33 AM
Post #19


I riffruff
********

Group: Sr. Members
Posts: 3,727
Joined: 19-February 06
From: USA
Member No.: 278



Snap isn't active anymore -- I don't think he's working on that still.

This post has been edited by riffruff: Aug 20 2008, 07:34 AM


--------------------
What you should tell your girlfriend...
QUOTE
ALL men see in only 16 colors, like Windows default settings. Peach, for example, is a fruit, not a color. Pumpkin is also a fruit. We have no idea what mauve is.

QUOTE
Women, learn to work the toilet seat. You're a big girl. If it's up, put it down. We need it up, you need it down. You don't hear us complaining about you leaving it down.

http://riffruff.mybrute.com
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Snap
post Feb 24 2009, 09:45 PM
Post #20


The following post is supplementry information
*****

Group: Global Moderators
Posts: 2,922
Joined: 29-January 06
From: Eugene Oregon
Member No.: 31



Anyone want to help write some documentation for CCX?
I started re-writing it to relate to my recent update to 1.7.
But - if anyone wants to help - with any part of it - that would rock.

http://snapnjacks.com/CCXDoc.php
~ PM me or respond here if you want to.

This post has been edited by Snap: Feb 24 2009, 09:45 PM


--------------------
~Life is all busy and stuff right now. - Car accident, lots of dr. appointments... Other stuff too. I still <3 StealthBot.net - - I'll be around.
Thinking about PMing me? Post it instead! CCX Forums | SnapNJacks Trivia Forums
IPB Image
IPB Image
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 10th December 2019 - 03:18 PM
Skin by Andrea
Website Legal Information | Hosted by LunarPages