public static void InvokeClientVersionReceived(ClientVersionReceivedArgs e) { if (ClientVersionReceived != null) { ClientVersionReceived(e); } }
public static void InvokeClientVersionReceived(ClientVersionReceivedArgs e) { ClientVersionReceived?.Invoke(e); }
public static void InvokeClientVersionReceived( ClientVersionReceivedArgs e ) { if( ClientVersionReceived != null ) ClientVersionReceived( e ); }
private static void EventSink_ClientVersionReceived( ClientVersionReceivedArgs e ) { string kickMessage = null; NetState state = e.State; ClientVersion version = e.Version; if ( state.Mobile.AccessLevel > AccessLevel.Player ) return; if( Required != null && m_OldClientResponse == OldClientResponse.Kick && version < Required ) { kickMessage = String.Format( "This server requires your client version be at least {0}.", Required ); } else if( !AllowGod || !AllowRegular || !AllowUOTD ) { if( !AllowGod && version.Type == ClientType.God ) kickMessage = "This server does not allow god clients to connect."; else if( !AllowRegular && version.Type == ClientType.Regular ) kickMessage = "This server does not allow regular clients to connect."; else if( !AllowUOTD && state.IsUOTDClient ) kickMessage = "This server does not allow UO:TD clients to connect."; if( !AllowGod && !AllowRegular && !AllowUOTD ) { kickMessage = "This server does not allow any clients to connect."; } else if( AllowGod && !AllowRegular && !AllowUOTD && version.Type != ClientType.God ) { kickMessage = "This server requires you to use the god client."; } else if( kickMessage != null ) { if( AllowRegular && AllowUOTD ) kickMessage += " You can use regular or UO:TD clients."; else if( AllowRegular ) kickMessage += " You can use regular clients."; else if( AllowUOTD ) kickMessage += " You can use UO:TD clients."; } } if( kickMessage != null ) { state.Mobile.SendMessage( 0x22, kickMessage ); state.Mobile.SendMessage( 0x22, "You will be disconnected in {0} seconds.", KickDelay.TotalSeconds ); Timer.DelayCall( KickDelay, delegate { if( state.Socket != null ) { Console.WriteLine( "Client: {0}: Disconnecting, bad version", state ); state.Dispose(); } } ); } else if( Required != null && version < Required ) { switch( m_OldClientResponse ) { case OldClientResponse.Warn: { state.Mobile.SendMessage( 0x22, "Your client is out of date. Please update your client.", Required ); state.Mobile.SendMessage( 0x22, "This server recommends that your client version be at least {0}.", Required ); break; } case OldClientResponse.Annoy: { SendAnnoyGump( state.Mobile ); break; } } } }
private static void EventSink_ClientVersionReceived( ClientVersionReceivedArgs e ) { string kickMessage = null; NetState state = e.State; ClientVersion version = e.Version; if ( state.Mobile == null || state.Mobile.AccessLevel > AccessLevel.Player ) return; if( Required != null && version < Required && ( m_OldClientResponse == OldClientResponse.Kick ||( m_OldClientResponse == OldClientResponse.LenientKick && (DateTime.UtcNow - state.Mobile.CreationTime) > m_AgeLeniency && state.Mobile is PlayerMobile && ((PlayerMobile)state.Mobile).GameTime > m_GameTimeLeniency ))) { kickMessage = String.Format( "O servidor requer que a versão do seu cliente seja pelo menos {0}.", Required ); } else if( !AllowGod || !AllowRegular || !AllowUOTD ) { if( !AllowGod && version.Type == ClientType.God ) kickMessage = "This server does not allow god clients to connect."; else if( !AllowRegular && version.Type == ClientType.Regular ) kickMessage = "This server does not allow regular clients to connect."; else if( !AllowUOTD && state.IsUOTDClient ) kickMessage = "This server does not allow UO:TD clients to connect."; if( !AllowGod && !AllowRegular && !AllowUOTD ) { kickMessage = "This server does not allow any clients to connect."; } else if( AllowGod && !AllowRegular && !AllowUOTD && version.Type != ClientType.God ) { kickMessage = "This server requires you to use the god client."; } else if( kickMessage != null ) { if( AllowRegular && AllowUOTD ) kickMessage += " You can use regular or UO:TD clients."; else if( AllowRegular ) kickMessage += " You can use regular clients."; else if( AllowUOTD ) kickMessage += " You can use UO:TD clients."; } } if( kickMessage != null ) { state.Mobile.SendMessage( 0x22, kickMessage ); state.Mobile.SendMessage( 0x22, "Você será desconectado em {0} segundos.", KickDelay.TotalSeconds ); Timer.DelayCall( KickDelay, delegate { if( state.Socket != null ) { Console.WriteLine( "Client: {0}: Disconnecting, bad version", state ); state.Dispose(); } } ); } else if( Required != null && version < Required ) { switch( m_OldClientResponse ) { case OldClientResponse.Warn: { state.Mobile.SendMessage( 0x22, "Your client is out of date. Please update your client.", Required ); state.Mobile.SendMessage( 0x22, "This server recommends that your client version be at least {0}.", Required ); break; } case OldClientResponse.LenientKick: case OldClientResponse.Annoy: { SendAnnoyGump( state.Mobile ); break; } } } }
public static void InvokeClientVersionReceived(ClientVersionReceivedArgs e) { if (ClientVersionReceived != null) { foreach (ClientVersionReceivedHandler currentDelegate in ClientVersionReceived.GetInvocationList()) { try { currentDelegate.Invoke(e); } catch (Exception ex) { // Log an exception EventSink.InvokeLogException(new LogExceptionEventArgs(ex)); } } } }