⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modguild.vb.svn-base

📁 MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
💻 SVN-BASE
字号:
Public Module modGuild

#Region "clsGuild"

    Public Class clsGuild

#Region "GuildVariables"

        Public GuildName As String 'Guild Name
        Public GuildNotice As String
        Public GuildMembers As New Hashtable 'Key = PlayerName, Value = GuildMember

#End Region

#Region "AddMember"

        Public Sub AddMember(ByVal PlayerName As String)

        End Sub

#End Region
#Region "DeleteMember"

        Public Sub DeleteMember(ByVal PlayerName As String)

        End Sub

#End Region
#Region "UpdateNotice"

        Public Sub UpdateNotice(ByVal Notice As String)

        End Sub

#End Region

    End Class

#End Region
#Region "clsGuildMember"

    Public Class clsGuildMember
        Public PlayerName As String
        Public GuildRank As GuildRanks
        Public RankTitle As String
        Public RankNumber As Integer
    End Class

#End Region

#Region "LoadGuilds"

    Public Sub LoadGuilds()
        Dim List As Hashtable
        List = GetGuildList()

        'No guilds to load
        If List.Count = 0 Then Exit Sub

        Try
            Dim en As IDictionaryEnumerator = List.GetEnumerator

            While en.MoveNext
                Dim DR As System.Data.SqlClient.SqlDataReader
                Dim StrSql As String = "Select * From TBL_Guilds Where GuildName='" & en.Value & "'"
                Dim SqlComm As New System.Data.SqlClient.SqlCommand(StrSql, SqlConnAcc)
                Dim Guild As clsGuild
                Dim GuildMember As clsGuildMember
                DR = SqlComm.ExecuteReader

                Guild = New clsGuild
                Guild.GuildName = en.Value
                Guild.GuildNotice = ReadGuildNotice(Config.GuildFolder & en.Value & ".txt")

                Do While DR.Read()
                    GuildMember = New clsGuildMember
                    GuildMember.PlayerName = DR.Item("PlayerName")
                    GuildMember.RankNumber = DR.Item("RankNumber")
                    GuildMember.RankTitle = DR.Item("RankTitle")
                    GuildMember.GuildRank = DR.Item("GuildRank")
                    Guild.GuildMembers.Add(GuildMember.PlayerName, GuildMember)
                Loop

                GuildList.Add(Guild.GuildName, Guild)

                DR.Close()
                SqlComm.Dispose()
                DR = Nothing
                SqlComm = Nothing
            End While

        Catch ex As Exception
            MessageBox.Show("Reading guilds failed." & vbCrLf & ex.Message)
        End Try
    End Sub

#Region "GetGuildList"

    Private Function GetGuildList() As Hashtable
        Try
            Dim DR As System.Data.SqlClient.SqlDataReader
            Dim StrSql As String = "Select * From TBL_Guilds"
            Dim SqlComm As New System.Data.SqlClient.SqlCommand(StrSql, SqlConnAcc)
            Dim tGuildList As New Hashtable
            Dim tGuildName As String
            DR = SqlComm.ExecuteReader

            Do While DR.Read
                tGuildName = DR.Item("GuildName")
                If tGuildList.Contains(tGuildName) = False Then
                    tGuildList.Add(tGuildName, tGuildName)
                End If
            Loop

            DR.Close()
            SqlComm.Dispose()
            DR = Nothing
            SqlComm = Nothing
            Return tGuildList
        Catch ex As Exception
            MessageBox.Show("Reading guilds failed." & vbCrLf & ex.Message)
        End Try

    End Function

#End Region
#Region "ReadGuildNotice"

    Private Function ReadGuildNotice(ByVal Path As String) As String
        If Not System.IO.File.Exists(Path) Then
            'Create the file
            System.IO.File.Create(Path)
            Return ""
        End If

        Dim DataStream As System.IO.TextReader
        DataStream = System.IO.File.OpenText(Path)
        Return DataStream.ReadToEnd
    End Function

#End Region

#End Region
#Region "GetGuildName"

    Public Function GetGuildName(ByVal PlayerName As String) As String
        Dim en As IDictionaryEnumerator = GuildList.GetEnumerator
        Dim Guild As clsGuild

        While en.MoveNext
            'Set guild to current record
            Guild = en.Value

            'If our player is in the Members list
            If Guild.GuildMembers.Contains(PlayerName) Then
                'Return the guild name
                Return Guild.GuildName
            End If

        End While
    End Function

#End Region
#Region "GetGuildTitle"

    Public Function GetGuildTitle(ByVal PlayerName As String) As String
        Dim en As IDictionaryEnumerator = GuildList.GetEnumerator
        Dim Guild As clsGuild

        While en.MoveNext
            'Set guild to current record
            Guild = en.Value

            'If our player is in the Members list
            If Guild.GuildMembers.Contains(PlayerName) Then
                'Return the guild title
                Dim GuildMember As clsGuildMember = Guild.GuildMembers(PlayerName)
                Return GuildMember.RankTitle
            End If

        End While
    End Function

#End Region
#Region "GetGuildRank"

    Public Function GetGuildRank(ByVal PlayerName As String) As GuildRanks
        Dim en As IDictionaryEnumerator = GuildList.GetEnumerator
        Dim Guild As clsGuild

        While en.MoveNext
            'Set guild to current record
            Guild = en.Value

            'If our player is in the Members list
            If Guild.GuildMembers.Contains(PlayerName) Then
                'Return the guild rank
                Dim GuildMember As clsGuildMember = Guild.GuildMembers(PlayerName)
                Return GuildMember.GuildRank
            End If

        End While
    End Function

#End Region

#Region "GuildRanks"

    Public Enum GuildRanks
        NormalMember = 0
        CoLeader = 1
        Leader = 2
    End Enum

#End Region

End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -