RunUo.Korean.Forum    :: RunUo Document 2.0 RC1 (Beta):: 
Statistics  Archive (html)  S-BLOG  [RSS FEED]   

 
  RunUo.Korean.Forum
ÀæÀºÁú¹®  ÀæÀºÁú¹®    °Ë»ö   °Ë»ö    ȸ¿ø¸®½ºÆ®  È¸¿ø¸®½ºÆ®   À¯Àú±×·ì  À¯Àú±×·ì   Gabbly äÆÃ¿­±â  Ã¤ÆÃ¿­±â 
 
ȸ¿ø°¡ÀÔ  ::  ·Î±×ÀÎ ÂÊÁö ÇÔ È®ÀÎ
 
RunUo.Korean.Forum ¢º Systems & Misc ¢º ·Î±×.
»õ ±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù.´äº¯±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù. Post Printing
¡Ø TOPIC : ·Î±×. ÀÌÀü ±Û :: ´ÙÀ½ ±Û
±Û ¾´ÀÌ ¸Þ¼¼Áö ³»¿ë
miryongbum
ÀÛ¼º±ÛÁ¦¸ñ : ·Î±×.   ±Û ÀÛ¼º½Ã°£ : 2004-03-24 ¼ö 10:05 am ±ÛÀ» ÀοëÇÏ¿© ÀÛ¼ºÇÕ´Ï´Ù.

Third Cicle [1]
Third Cicle [1]

°¡ÀÔÀÏ: 2004³â 01¿ù 20ÀÏ
°Ô½Ã¹°: 39
ÁÖ ¼Ò: /

ÆÄƼê·Î±×¿Í ÀϹÝäÆÃ·Î±×, ·Î±ä,·Î±×¾Æ¿ô,ÆÐ½ºÆ®¿öÅ© ·Î±×¸¦ ÀúÀåÇÕ´Ï´Ù.
logrecorder.cs´Â Ä¿½ºÅÒÆú´õ¿¡ ³Ö¾îÁֽðí PartyCommand.cs´Â ¿£Áø-ÆÄƼÆú´õ¾È¿¡ ³Ö¾îÁֽøéµË´Ï´Ù.¿øº» ¹é¾÷ÇØµÎ¼¼¿ä
ÆÄƼ·Î±×´Â htmÀ¸·Î µÇÀÖ´ø°É ÇѱÛÀÌ ±úÁ®¼­ ÀÓÀÇ·Î txtÆÄÀÏ·Î º¯È¯ÇÞÀ¸´Ï
À» ¼öÁ¤ÇØÁÖ¼¼¿ä.
ÆÄƼê·Î±×´Â ¸ÞÀÎÆú´õ¿¡ ÀúÀåµÇ°í ³ª¸ÓÁö´Â LogÆú´õ¾È¿¡ ÀúÀåµË´Ï´Ù.
ê·Î±×´Â ³¯Â¥º°·Î ÀúÀåµÇ¸ç ·Î±ä,·Î±×¾Æ¿ô ·Î±×´Â Äɸ¯ÅÍ À̸§À¸·Î ÀúÀåµË´Ï´Ù.


logrecorder.cs
ÄÚµå : 

using System;
using System.IO;
using Server;
using Server.Network;
using System.Collections;

namespace Server.Misc
{
public class LogRecorder
{
public static void Initialize()
{
//Login & Logout
EventSink.Login += new LoginEventHandler( EventSink_Login );
EventSink.Logout += new LogoutEventHandler( EventSink_Logout );
//Fastwalk
Mobile.FwdMaxSteps = 4;
Mobile.FwdEnabled = true;
Mobile.FwdUOTDOverride = false;
Mobile.FwdAccessOverride = AccessLevel.GameMaster;
EventSink.FastWalk += new FastWalkEventHandler( OnFastWalk );
EventSink.Speech += new SpeechEventHandler( OnSpeech );
if ( !Directory.Exists( "logs" ) ) Directory.CreateDirectory( "logs" );
}
private static void EventSink_Login( LoginEventArgs args )
{
Stream fileStream = null;
StreamWriter writeAdapter = null;
Mobile m = args.Mobile;
try
{
fileStream = File.Open("logs/"+args.Mobile.Name+".log", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
writeAdapter = new StreamWriter(fileStream);
writeAdapter.WriteLine(args.Mobile.Name + " " + DateTime.Now + " Login" );
writeAdapter.Close();
}
catch
{
Console.WriteLine( "Record Error......{0} Login",args.Mobile.Name );
return;
}
}
private static void EventSink_Logout( LogoutEventArgs args )
{
Stream fileStream = null;
StreamWriter writeAdapter = null;
Mobile m = args.Mobile;
try
{
fileStream = File.Open("logs/"+args.Mobile.Name+".log", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
writeAdapter = new StreamWriter(fileStream);
writeAdapter.WriteLine(args.Mobile.Name + " " + DateTime.Now + " Logout" );
writeAdapter.Close();
}
catch
{
Console.WriteLine( "Record Error......{0} Logout",args.Mobile.Name );
return;
}
}
private static void OnFastWalk( FastWalkEventArgs e )
{
Stream fileStream = null;
StreamWriter writeAdapter = null;
try
{
fileStream = File.Open("logs/"+e.NetState.Mobile.Name+".log", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
writeAdapter = new StreamWriter(fileStream);
writeAdapter.WriteLine(e.NetState.Mobile.Name + " " + DateTime.Now + " Fast movement detected" );
writeAdapter.Close();
}
catch
{
Console.WriteLine( "Record Error......{0} Fast movement detected",e.NetState.Mobile.Name );
return;
}
}
public static void OnSpeech( SpeechEventArgs e )
{
string msg = String.Format( "({0}): {1}", e.Mobile.Name, e.Speech );
Stream fileStream = null;
StreamWriter writeAdapter = null;
try
{
fileStream = File.Open( String.Format( "logs/chat.{0}.log", DateTime.Now.ToLongDateString() ), FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
writeAdapter = new StreamWriter(fileStream);
writeAdapter.WriteLine("< " + msg + " >" + " at " + DateTime.Now );
writeAdapter.Close();
}
catch
{
Console.WriteLine( "Record Error......{0}",msg );
return;
}
}
}
}


PartyCommand.cs

ÄÚµå : 

using System;
using Server;
using System.IO;
using Server.Network;

namespace Server.Engines.PartySystem
{
   public class PartyCommandHandlers : PartyCommands
   {
      private static string PartyLog = Path.Combine(Core.BaseDirectory , "PartyLog.txt");
      private static StreamWriter logger2 = new StreamWriter(PartyLog, true);

      public static void Initialize()
      {
         PartyCommands.Handler = new PartyCommandHandlers();
      }

      public override void OnAdd( Mobile from )
      {
         Party p = Party.Get( from );

         if ( p != null && p.Leader != from )
            from.SendLocalizedMessage( 1005453 ); // You may only add members to the party if you are the leader.
         else if ( p != null && (p.Members.Count + p.Candidates.Count) >= Party.Capacity )
            from.SendLocalizedMessage( 1008095 ); // You may only have 10 in your party (this includes candidates).
         else
            from.Target = new AddPartyTarget( from );
      }

      public override void OnRemove( Mobile from, Mobile target )
      {
         Party p = Party.Get( from );

         if ( p == null )
         {
            from.SendLocalizedMessage( 3000211 ); // You are not in a party.
            return;
         }

         if ( p.Leader == from && target == null )
         {
            from.SendLocalizedMessage( 1005455 ); // Who would you like to remove from your party?
            from.Target = new RemovePartyTarget();
         }
         else if ( (p.Leader == from || from == target) && p.Contains( target ) )
         {
            p.Remove( target );
         }
      }

      public override void OnPrivateMessage( Mobile from, Mobile target, string text )
      {
         if ( text.Length > 128 || (text = text.Trim()).Length == 0 )
            return;

         Party p = Party.Get( from );

         if ( p != null && p.Contains( target ) )
         {
            string data2 = String.Format("Private Message: {0} {1} {2}", from, target, text + "<BR>");
            logger2.Write(DataTimestamp2 + " " + data2);
            logger2.Flush();
            Console.WriteLine(DataTimestamp2 + "Private Message: {0}, {1}, {2}", from, target, text);
            p.SendPrivateMessage( from, target, text );
         }
         else
            from.SendLocalizedMessage( 3000211 ); // You are not in a party.
      }

      public override void OnPublicMessage( Mobile from, string text )
      {
         if ( text.Length > 128 || (text = text.Trim()).Length == 0 )
            return;

         Party p = Party.Get( from );

         if ( p != null )
         {
            string data2 = String.Format("Party Message: {0} {1}", from, text + "<BR>");
            logger2.Write(DataTimestamp2 + " " + data2);
            logger2.Flush();
            Console.WriteLine(DataTimestamp2 + "Party Message: {0} {1}", from, text);
            p.SendPublicMessage( from, text );
         }
         else
            from.SendLocalizedMessage( 3000211 ); // You are not in a party.
      }

      private static string DataTimestamp2
      {
         get
         {
            string time = String.Format("[{0:D2}:{1:D2}:{2:D2}] ",DateTime.Now.Hour,DateTime.Now.Minute,DateTime.Now.Second);
            string date = String.Format("[{0:D2}/{1:D2}/{2:D2}] ",DateTime.Now.Year ,DateTime.Now.Month,DateTime.Now.Day);
            return date + " " + time;
         }
      }

      public override void OnSetCanLoot( Mobile from, bool canLoot )
      {
         Party p = Party.Get( from );

         if ( p == null )
         {
            from.SendLocalizedMessage( 3000211 ); // You are not in a party.
         }
         else
         {
            PartyMemberInfo mi = p[from];

            if ( mi != null )
            {
               mi.CanLoot = canLoot;

               if ( canLoot )
                  from.SendLocalizedMessage( 1005447 ); // You have chosen to allow your party to loot your corpse.
               else
                  from.SendLocalizedMessage( 1005448 ); // You have chosen to prevent your party from looting your corpse.
            }
         }
      }

      public override void OnAccept( Mobile from, Mobile sentLeader )
      {
         Mobile leader = from.Party as Mobile;
         from.Party = null;

         Party p = Party.Get( leader );

         if ( leader == null || p == null || !p.Candidates.Contains( from ) )
            from.SendLocalizedMessage( 3000222 ); // No one has invited you to be in a party.
         else if ( (p.Members.Count + p.Candidates.Count) <= Party.Capacity )
            p.OnAccept( from );
      }

      public override void OnDecline( Mobile from, Mobile sentLeader )
      {
         Mobile leader = from.Party as Mobile;
         from.Party = null;

         Party p = Party.Get( leader );

         if ( leader == null || p == null || !p.Candidates.Contains( from ) )
            from.SendLocalizedMessage( 3000222 ); // No one has invited you to be in a party.
         else
            p.OnDecline( from, leader );
      }
   }
}
¡è ¸Ç À§·Î °¡±â ¡è
ȸ¿ø ÇÁ·ÎÇÊ º¸±â ÂÊÁö º¸³»±â
ÀÌÀü °Ô½Ã¹°º¸±â :
»õ ±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù.´äº¯±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù. ÇöÀçÆäÀÌÁö : 1/1

RunUo.Korean.Forum ¢º Systems & Misc ¢º ·Î±×.
¹Ù·Î°¡±â:


°Ô½Ã¹° ÀÛ¼º : (X)
´äº¯±Û ÀÛ¼º : (X)
°Ô½Ã¹° ¼öÁ¤ : (X)
°Ô½Ã¹° »èÁ¦ : (X)
ÅõÇ¥ Çϱâ : (X)
ÆÄÀÏ ¾÷·Îµå : (X)
ÆÄÀÏ ´Ù¿î·Îµå : (0)



DAJ Glass (1.0.5) template by Dustin Baccetti // template edit by GangPung
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB 2001, 2002 phpBB Group, Translated by zzangga

DNS Powered by DNSEver.com