my $logdir = 'c:/path/to/your/logs/'; my $mychar = ''; $mychar = $1 if $world->WorldName() =~ /Realms of Despair - (\w+)/; my $mychar2 = lc($mychar); sub time { ($sec,$min,$hrs,$day,$mon,$year) = localtime(time); $year += 1900; $mon += 1; $mon = '0'.$mon if length($mon) < 2; $day = '0'.$day if length($day) < 2; $hrs = '0'.$hrs if length($hrs) < 2; $min = '0'.$min if length($min) < 2; $sec = '0'.$sec if length($sec) < 2; } sub logchan { my ($name) = @_; my $char = $world->GetTriggerInfo($name,101); my $text = $world->GetTriggerInfo($name,102); my $logfile = ''; if ($name =~ /^tells(\d)/) { if ($1 == 1) { $char = $char.' -> '.$mychar; } elsif ($1 == 2) { $char = $mychar.' -> '.$char; } else { $world->note('Problem logging tells, digit passed was: '.$1);exit;} $logfile = $mychar2.'_tells.log'; } if (($name =~ /^says/) || ($name =~ /^guild/) || ($name =~ /^council/) || ($name =~ /^race/) || ($name =~ /^quest/) || ($name =~ /^traffic/)) { chomp $name;chop $name; $char = $mychar if $char eq 'You'; $logfile = $mychar2.'_'.$name.'.log'; } if ($name =~ /avchat/) { $logfile = $mychar2.'_avchat.log'; } &time; my $error = 0; $world->closelog() if $world->islogopen() == 0; $error = $world->openlog($logdir.$logfile,true); if ($error == 0) { $world->writelog('['.$year.'.'.$mon.'.'.$day.'.'.$hrs.'.'.$min.'.'.$sec.'] <'.$char.'> '.$text); $world->closelog(); if ($name eq 'tells1') { my $tells = $world->GetVariable('tells'); $tells++; $world->SetVariable('tells',$tells); } } else { $world->tell('Error opening logfile '.$logdir.$logfile."\n"); } }