Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Member of the Month (MOTM) Compatible with new version.
#1
Okay, so this is just a rip of MOTD, because I was bored, and wanted to see what I could do with my spare time. Member Of The Month is this creation.

[spoiler]Server
Find:
Code:
CSetMotd

Above it add:
Code:
CSetMotm

Then find:
Code:
' set MOTD
    MOTD = GetVar(App.Path & "\data\motd.ini", "MOTD", "Msg")

Above it add:
Code:
' set MOTM
    MOTM = GetVar(App.Path & "\data\motm.ini", "MOTM", "Msg")

Then find:
Code:
' Used for MOTD
Public MOTD As String

Above it add:
Code:
' Used for MOTM
Public MOTM As String

Then find:
Code:
Case CSetMotd
            HandleSetMotd Index, Parse

Above it add:
Code:
Case CSetMotm
            HandleSetMotm Index, Parse

Then find:
Code:
' Send them MOTD
    If LenB(MOTD) > 0 Then
        Call PlayerMsg(Index, "MOTD: " & MOTD, BrightCyan)
    End If

Above it add:
Code:
' Send them MOTM
    If LenB(MOTM) > 0 Then
        Call PlayerMsg(Index, "MOTM: " & MOTM, BrightCyan)
    End If

Then find:
Code:
' :::::::::::::::::::::
' :: Set MOTD packet ::
' :::::::::::::::::::::
Sub HandleSetMotd(ByVal Index As Long, ByRef Parse() As String)
Dim MOTD As String

    ' Prevent hacking
    If GetPlayerAccess(Index) < ADMIN_MAPPER Then
        Call HackingAttempt(Index, "Admin Cloning")
        Exit Sub
    End If
    
    MOTM = Trim$(Parse(1))
    Call PutVar(App.Path & "\data\motd.ini", "MOTD", "Msg", MOTD)
    Call GlobalMsg("MOTD changed to: " & MOTD, BrightCyan)
    Call AddLog(GetPlayerName(Index) & " changed MOTD to: " & MOTD, ADMIN_LOG)
End Sub

Above it add:
Code:
' :::::::::::::::::::::
' :: Set MOTM packet ::
' :::::::::::::::::::::
Sub HandleSetMotm(ByVal Index As Long, ByRef Parse() As String)
Dim MOTM As String

    ' Prevent hacking
    If GetPlayerAccess(Index) < ADMIN_MAPPER Then
        Call HackingAttempt(Index, "Admin Cloning")
        Exit Sub
    End If
    
    MOTD = Trim$(Parse(1))
    Call PutVar(App.Path & "\data\motm.ini", "MOTM", "Msg", MOTM)
    Call GlobalMsg("MOTM changed to: " & MOTM, BrightCyan)
    Call AddLog(GetPlayerName(Index) & " changed MOTM to: " & MOTM, ADMIN_LOG)
End Sub

Client

Find:
Code:
' MOTD change
                Case "/motd"
                    If GetPlayerAccess(MyIndex) >= ADMIN_MAPPER Then
                        If UBound(Command) >= 1 Then
                            'If Len(MyText) > 0 Then
                                SendMOTDChange Command(1)
                            'End If
                        End If
                    End If

Above it add:
Code:
' MOTM change
                Case "/motm"
                    If GetPlayerAccess(MyIndex) >= ADMIN_MAPPER Then
                        If UBound(Command) >= 1 Then
                            'If Len(MyText) > 0 Then
                                SendMOTMChange Command(1)
                            'End If
                        End If
                    End If

Now find:
Code:
Sub SendMOTDChange(ByVal MOTD As String)
Dim Packet As String

    Packet = CSetMotd & SEP_CHAR & MOTD & END_CHAR
    Call SendData(Packet)
End Sub

Above it add:
Code:
Sub SendMOTMChange(ByVal MOTM As String)
Dim Packet As String

    Packet = CSetMotm & SEP_CHAR & MOTM & END_CHAR
    Call SendData(Packet)
End Sub

Now find:
Code:
CSetMotd

Above it add:
Code:
CSetMotm
[/spoiler]
Thats it! I know this was a really shitty tutorial, but it gets the idea across, right? So now, just type /motm "Char name", without the quotation marks... Yup. Shitty code, shitty tut, but it works.
Reply
#2
wouldnt it be better to have a vote
where they nominate someone
and then the have a deadline
once the deadline is met announce the MOTM
Reply
#3
doomteam1 Wrote:wouldnt it be better to have a vote
where they nominate someone
and then the have a deadline
once the deadline is met announce the MOTM

Well yeah, how thats done is up to you. This is just the basic script. In my project, it's gonna be decided by the staff. Smile
Reply
#4
This won't work in the newest version of MS4.
Reply
#5
Dugor Wrote:This won't work in the newest version of MS4.

That's the same as saying that the MOTD will not work. I checked what he had done with this code and wrote it without checking this one out. It's just a copy/paste of MOTD, but changing everything that is MOTD to MOTM Smile

So: This code works, even with 3.75b (of course).
Reply
#6
He may have updated it?

At the time it most likely didn't work.
Reply
#7
Jesus christ this tut is an embarassment. I might rewrite it to make shit based off of being the MotM
Reply
#8
Nean Wrote:Jesus christ this tut is an embarassment. I might rewrite it to make shit based off of being the MotM

How can it be an embarassment? It's just copy/pasting MOTD and changing the same variable over and over again :b. It's good to understand how the MOTD works anyway Big Grin
Reply
#9
Read a text file, send the contents of said text file to the client when they login.

Super simple.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)