Jump to content

5 Screenshots

  • 168
  • 2
  • 145.18 kB

depends on

Works with

About MyChat

MyChat – a powerful and versatile chat system for players, offering extensive customization and exciting features that introduce new ways to communicate and interact on your server.MyChat-.png.3e887a3d2292283fe77015acc8913de3.png

Functions:

1. Chat Customization

  • Prefixes, colors, and formatting
  • CAPS lock prevention (hello everyone. THIS IS MY CHAT PLUGIN. it works perfectly. → Hello everyone. This is my chat plugin. It works perfectly.)
  • Forbidden words and nickname replacement
  • Temporary chat blocks and player-specific mutes

2. Mentions & Private Messaging

  • Mention players (@player)
  • Mention all players (@everyone) – requires permission
  • Mention groups – requires permission
  • Send private messages (/msg)
  • Quickly reply to the last player you messaged.
  • Sound notifications for messages and mentions
  • Personal Rename System
  • Group Messaging by Status

MyChat-Tegs.gif.caa82b28ce6510a613d5d11d7ff58524.gif

3. Chat Moderation & Anti-Spam

  • Chat and voice mute (/mute <chat/voice> <sec> <reason>)
  • Temporary timeouts to prevent spam
  • Automatic message replacement for bad words
  • Log all actions to Discord (messages, mutes, blocked words)

4. Dynamic Messages & Auto Responses

  • Custom chat commands with variables (online count, joining players, etc.)
  • Automatic messages on player join/leave
  • Auto-responder for specific keywords
  • Timed messages in chat

Commands:

  • /chat - open the settings interface
  • /msg <player> <message> – private message
  • /reply – quickly respond to the last player you talked to
  • /mute <player> <chat/voice> <time> <reason> – mute player
  • /unmute <player> <chat/voice> <reason> – unmute player
  • /rename <player> <name> – assign a custom name visible only to you
  • /rename <player> – remove your custom name for that player
  • /<group.name> <message> - send a message to all players with a specific status

Permissions:

  • mychat.admin – access to administrative commands (mute, unmute, etc.)
  • mychat.mention.everyone – allows mentioning all players with '@everyone'

Configuration:

Spoiler
{
  "Settings: General": {
    "Notification type (1 - chat | 2 - toast | 3 - both)": 3,
    "Chat message format": "%info%: %message%",
    "Apply text typography corrections": true,
    "Message send cooldown (sec)": 8,
    "Chat Commands": {
      "Commands to open the chat interface": [
        "chat",
        "cs"
      ],
      "Commands to send private messages": [
        "pm",
        "msg",
        "privatemessage"
      ],
      "Commands to reply or repeat the last message": [
        "r",
        "reply"
      ],
      "Commands to mute players": [
        "mute"
      ],
      "Commands to unmute players": [
        "unmute"
      ],
      "Commands to set a custom nickname": [
        "rename",
        "customname"
      ]
    }
  },
  "Settings: Mentions": {
    "Enable player mentions": true,
    "Mention sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab",
    "Everyone mention": {
      "Trigger words for everyone mention": [
        "everyone",
        "all",
        "все"
      ],
      "Mention color": "#B8A9C9",
      "Sound notification": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab"
    }
  },
  "Settings: Broadcast": {
    "Random join messages": {
      "Avatar (SteamID)": 0,
      "Sound notification": null,
      "Messages": {
        "en": [
          "%nick% got into this server from %country%",
          "%nick% crashed on server from %country%"
        ],
        "ru": [
          "%nick% залетел на этот сервер из %country%",
          "%nick% упал на сервер из %country%"
        ]
      }
    },
    "Random leave messages": {
      "Avatar (SteamID)": 0,
      "Sound notification": null,
      "Messages": {
        "en": [
          "%nick% is out of the game :(",
          "%nick% dropped from the server"
        ],
        "ru": [
          "%nick% вышел из игры :(",
          "%nick% выпал с сервера"
        ]
      }
    },
    "Timed broadcast messages (seconds)": {
      "3600": {
        "Avatar (SteamID)": 0,
        "Sound notification": "assets/bundled/prefabs/fx/invite_notice.prefab",
        "Messages": {
          "en": [
            "We are waiting for you in our store - <color=#84B4DD>server.store</color>",
            "Tired of pharma?\nSo why haven't you logged into - <color=#84B4DD>server.store</color> yet"
          ],
          "ru": [
            "Ждем вас в нашем магазине - <color=#84B4DD>server.store</color>",
            "Устал от фарма?\nТак почему же ты еще не зашел на - <color=#84B4DD>server.store</color>"
          ]
        }
      }
    }
  },
  "Settings: Auto-reply": {
    "0": {
      "Trigger words": [
        "wipe",
        "вайп"
      ],
      "Reply": {
        "en": {
          "Avatar (SteamID)": 0,
          "Message": "The wipe will take place on October 7."
        },
        "ru": {
          "Avatar (SteamID)": 0,
          "Message": "Вайп произойдет 7 октября."
        }
      }
    },
    "1": {
      "Trigger words": [
        "admin",
        "moder",
        "админ",
        "модер"
      ],
      "Reply": {
        "en": {
          "Avatar (SteamID)": 0,
          "Message": "The administration is always watching you!"
        },
        "ru": {
          "Avatar (SteamID)": 0,
          "Message": "Администрация всегда наблюдает за вами!"
        }
      }
    }
  },
  "Settings: Blocked words": {
    "Mask for blocked words": "***",
    "Block links in chat": true,
    "Allowed links": [
      "server.store",
      "server.stats"
    ],
    "Forbidden words in nicknames": [
      "negr",
      "faggot",
      "idiot"
    ],
    "Forbidden words in messages": [
      "negr",
      "faggot",
      "idiot"
    ]
  },
  "Settings: Custom commands": {
    "info": {
      "en": {
        "Avatar (SteamID)": 0,
        "Message": "Welcome %nick% to our server!\nYou are connecting from %country%."
      },
      "ru": {
        "Avatar (SteamID)": 0,
        "Message": "Добро пожаловать, %nick%, на наш сервер!\nВы зашли из %country%."
      }
    },
    "pop": {
      "en": {
        "Avatar (SteamID)": 0,
        "Message": "There are %online% active players online, %sleepers% sleeping.\n%incoming% joining.\nYour ping: %ping% ms."
      },
      "ru": {
        "Avatar (SteamID)": 0,
        "Message": "На сервере сейчас %online% активных игроков, %sleepers% спят.\nЗаходят %incoming%.\nВаш пинг: %ping% мс."
      }
    }
  },
  "Settings: Sounds": {
    "Chat mention sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab",
    "Private message sound": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab"
  },
  "Settings: Statuses": {
    "default": {
      "Prefix types": [
        "[%prefix%]"
      ],
      "Prefixes": [
        "PLAYER"
      ],
      "Prefix colors": [
        "#BBC47E"
      ],
      "Nickname colors": [
        "#FFFFFF"
      ],
      "Message colors": [
        "#FFFFFF"
      ],
      "Personal mention color": "#84B4DD",
      "Permission for group broadcast messages": "mychat.moder",
      "Group mention settings": {
        "Trigger words for group mention": [
          "default"
        ],
        "Mention color": "#BBC47E",
        "Sound notification": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab",
        "Permission for group mention": "mychat.moder"
      }
    },
    "vip": {
      "Prefix types": [
        "[%prefix%]",
        "%prefix% |",
        "%prefix% ·"
      ],
      "Prefixes": [
        "VIP",
        "†"
      ],
      "Prefix colors": [
        "#E0947A",
        "#BBC47E"
      ],
      "Nickname colors": [
        "#84B4DD",
        "#D1B283"
      ],
      "Message colors": [
        "#FFFFFF",
        "#84B4DD"
      ],
      "Personal mention color": "#84B4DD",
      "Permission for group broadcast messages": "mychat.moder",
      "Group mention settings": {
        "Trigger words for group mention": [
          "vip"
        ],
        "Mention color": "#D1B283",
        "Sound notification": "assets/bundled/prefabs/fx/notice/loot.drag.dropsuccess.fx.prefab",
        "Permission for group mention": "mychat.moder"
      }
    }
  },
  "Settings: Logging": {
    "Global chat logging": {
      "Webhook URL": "https://discord.com/api/webhooks/XX/XXX",
      "Avatar": "%playerAvatar%",
      "Display name": "%playerNick%",
      "Message template": "%playerPrefix% %playerNick%: %message%"
    },
    "Team chat logging": {
      "Webhook URL": "https://discord.com/api/webhooks/XX/XXX",
      "Avatar": "%playerAvatar%",
      "Display name": "%playerNick%",
      "Message template": "[TEAM] %playerPrefix% %playerNick%: %message%"
    },
    "Private chat logging": {
      "Webhook URL": "https://discord.com/api/webhooks/XX/XXX",
      "Avatar": "%playerAvatar%",
      "Display name": "%playerNick%",
      "Message template": "%playerPrefix% %playerNick% отправил %targetNick%: %message%"
    },
    "Chat/voice mute logs": {
      "Webhook URL": "https://discord.com/api/webhooks/XX/XXX",
      "Avatar": "%adminAvatar%",
      "Display name": "%adminNick%",
      "Message template": "%adminNick% выдал <мут/размут> <чата/голосового чата> игроку %targetNick%\nПричина: %reason%\nВремя: %time%"
    }
  }
}

API:

Spoiler
PlayerSettings API_GetPlayerSettings(ulong userID) - Returns players chat customization settings.
bool API_IsMuteChat(ulong userID) - Checks if the player currently has an active chat mute.
bool API_IsMuteVoice(ulong userID) - Checks if the player currently has an active voice mute.
void API_SendMessageToPlayer(ulong userID, string message, string prefix = null, string avatarID = "0") - Sends a message directly to a player in chat.

public class PlayerSettings
{
    public string prefixType, prefix, prefixColor, nickColor, messageColor;
    public bool onPrivateMessage, onMention, onSound;
}

Hooks:

Spoiler
OnPlayerMuted(BasePlayer admin, BasePlayer target, double time, string reason, bool isVoice)  Called when a player is muted (chat or voice)
OnPlayerUnmuted(BasePlayer admin, BasePlayer target, string reason, bool isVoice)  Called when a player is unmuted
OnSendBadWord(BasePlayer player, string defMessage)  Called when a forbidden word is detected in a message

myst1c's Collection

User Feedback

2.1m

Downloads

Total number of downloads.

9.8k

Customers

Total customers served.

142.7k

Files Sold

Total number of files sold.

3m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.