#!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>RoT Mud List</TITLE></HEAD>\n"; print "<BODY>\n"; # Replace 'Realms of Thoth' in the next line with your muds name. print "<center><H1>Realms of Thoth Mud List</H1>"; print "(This list is automatically updated by the mud ad message base in the game)<BR>\n"; print "</center><HR><P>\n"; # Set the next line to point to the muds.not in your area directory. open(IN, "/Rot/area/muds.not") || die("</BODY>\n</HTML>\n"); $a = 0; while (<IN>) { chomp; chomp; chomp; ($key,$rest) = split(' ', $_, 2); if ($key eq "Sender") { $a++; chop $rest; $Sender{$a} = $rest; } elsif ($key eq "Date") { chop $rest; $Date{$a} = $rest; } elsif ($key eq "Stamp") { $Stamp{$a} = $rest; } elsif ($key eq "Name") { chop $rest; $Name{$a} = $rest; } elsif ($key eq "Base") { chop $rest; $Base{$a} = $rest; } elsif ($key eq "Address") { chop $rest; $Address{$a} = $rest; } elsif ($key eq "Port") { $Port{$a} = $rest; } elsif ($key eq "WWW") { chop $rest; $rest =~ s/\[-\]/\~/g; $WWW{$a} = $rest; } } close IN; print "<FONT SIZE=4>\n"; foreach $key (sort bynum(keys(%Sender))) { $out = sprintf("<FONT COLOR=\"#FF0000\">Name:</FONT> %s<BR>\n", &color($Name{$key})); print $out; $out = sprintf("<FONT COLOR=\"#FF0000\">Code Base:</FONT> %s<BR>\n", &color($Base{$key})); print $out; ($newadd)=split(' ', $Address{$key}); $out = sprintf("<FONT COLOR=\"#FF0000\">Telnet:</FONT> <A HREF=\"telnet://%s:%s\">%s port %s</A>\n", &nocolor($newadd), $Port{$key}, &nocolor($Address{$key}), $Port{$key}); print $out; if (&nocolor($WWW{$key}) =~ /\./) { $out = sprintf("<BR>\n<FONT COLOR=\"#FF0000\">WWW:</FONT> <A HREF=\"%s\">%s</A>\n", &nocolor($WWW{$key}), &nocolor($WWW{$key})); print $out; } print "<P><HR><P>\n"; } print "</FONT>\n"; print "Return to <A HREF=\"http://www.rot.com/rot\">Realms of Thoth</A> home page.<BR>\n"; print "</BODY>\n</HTML>\n"; exit; sub nocolor { local($name,$outname); $name = $_[0]; undef @orig; @orig = split(//, $name); $count = @orig; push(@orig, " "); $outname = ""; $fonts = 0; for ($b = 0; $b < $count; $b++) { $tmp = "$orig[$b]$orig[$b+1]"; $tmp2 = $orig[$b]; if ($tmp eq "{{"){ $tmp2 = "{"; $b++; } elsif ($tmp2 eq "{") { $tmp2 = ""; $b++; } $tmp3 = "${outname}${tmp2}"; $outname = $tmp3; } return $outname; } sub color { local($name,$outname); $name = $_[0]; undef @orig; @orig = split(//, $name); $count = @orig; push(@orig, " "); $outname = ""; $fonts = 0; for ($b = 0; $b < $count; $b++) { $tmp = "$orig[$b]$orig[$b+1]"; $tmp2 = $orig[$b]; if ($tmp eq "{z") { if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#000000\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#000000\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{b")||($tmp eq "{4")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#000099\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#000099\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{c")||($tmp eq "{6")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#009999\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#009999\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{g")||($tmp eq "{2")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#009900\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#009900\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{m")||($tmp eq "{5")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#990099\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#990099\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{r")||($tmp eq "{1")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#990000\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#990000\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{w")||($tmp eq "{7")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#CCCCCC\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#CCCCCC\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{y")||($tmp eq "{3")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#999900\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#999900\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{B")||($tmp eq "{\$")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#0000FF\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#0000FF\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{C")||($tmp eq "{^")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#00FFFF\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#00FFFF\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{G")||($tmp eq "{@")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#00FF00\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#00FF00\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{M")||($tmp eq "{%")||($tmp eq "{-")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#FF00FF\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#FF00FF\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{R")||($tmp eq "{!")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#FF0000\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#FF0000\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{W")||($tmp eq "{&")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#FFFFFF\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#FFFFFF\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{Y")||($tmp eq "{#")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#FFFF00\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#FFFF00\">"; $fonts = 1; } $b++; } elsif (($tmp eq "{D")||($tmp eq "{8")||($tmp eq "{*")){ if ($fonts == 0) { $tmp2 = "<FONT COLOR=\"#666666\">"; $fonts = 1; } else { $tmp2 = "</FONT><FONT COLOR=\"#666666\">"; $fonts = 1; } $b++; } elsif ($tmp eq "{{"){ $tmp2 = "{"; $b++; } elsif (($tmp eq "{x")||($tmp eq "{X")||($tmp eq "{0")){ if ($fonts == 1) { $tmp2 = "</FONT>"; $fonts = 0; } else { $tmp2 = ""; } $b++; } elsif ($tmp2 eq "{") { if ($fonts == 1) { $tmp2 = "</FONT>"; $fonts = 0; } else { $tmp2 = ""; } $b++; } $tmp3 = "${outname}${tmp2}"; $outname = $tmp3; } return $outname; } sub bynum { $a <=> $b; }