[CHAT] PlayerStatus v2.6 - /afk /dnd /nomsg /nochat /ignore /mute [1337]

Discussion in 'Inactive/Unsupported Plugins' started by ZachBora, Sep 25, 2011.

  1. Offline


    PlayerStatus - /afk /dnd /nomsg /nochat functionalities

    Get the new version 2.4+ from BukkitDev here : http://dev.bukkit.org/server-mods/playerstatus/

    Version: v2.3

    This plugin allows players to set their status to AFK and/or DND. They can also disable chat messages received along with /me or disable private messages received.

    New in version 2! Fully configurable plugin Captions : Every messages can be configured in the config.yml file to your own language. Added /mute and /ignore.

    • /playerstatus : Displays the list of commands and your currently enabled statuses.
    • /playerstatus <name> : Displays the currently toggled functions of another player.
    • /afk : Sets your status as AwayFromKeyboard. This will add [AFK] in front of your name in chat and notify people sending you private messages.
    • /dnd : Sets your status as DoNotDisturb. This will add [DND] in front of your name in chat and notify people sending you private messages. You will still receive them.
    • /nochat : This removes for you every message people type in chat including /me. Messages from other plugins and server will still go through.
    • /nomsg : This will block private messages from the commands /msg and /tell.
    • /ignore <name> : Allows a player to ignore another one. Removes the ignored player from regular chat, from /me and from private messages. Only the player using /ignore stops seeing that player's messages. Ignored players aren't persistent.
    • /ignorelist : Displays the list of currently ignored players. Ignored players aren't persistent.
    • /mute <name> : Makes that person unable to speak in chat and to use /me. Muted players aren't persistent.
    • /playerstatuslang <language> : Allows to change the language file used. If language file is name "caption-french.yml" do /playerstatuslang french
    • /moderate : Mutes everyone except people with moderate permission. Useful when server gets out of control or to make big announcements. Players can still /msg and /tell.
    Permission Plugin :

    Tested with Permissions 2, should work on Permissions 3 and SuperPerms.

    Permission nodes :
    Show Spoiler
    /afk - PlayerStatus.afk
    /dnd - PlayerStatus.dnd
    /nochat - PlayerStatus.nochat
    /nomsg - PlayerStatus.nomsg
    /ignore - PlayerStatus.ignore
    /ignorelist - PlayerStatus.ignore
    /mute - PlayerStatus.mute
    /playerstatuslang - PlayerStatus.config
    /moderate - PlayerStatus.moderate

    Default Main Configuration :
    Show Spoiler

    # PlayerStatus configuration
    Language: english
    TimeBetweenAFKDND: '30000'
    TimeDisableDND: '5000'

    Default Caption Configuration :
    Show Spoiler

    # PlayerStatus Caption configuration
    AFKPrefix: '[AFK]'
    DNDPrefix: '[DND]'
    ErrDisableDND: 'You cannot disable DND this soon. Please wait %t% seconds.'
    ErrEnableAFK: 'You cannot go AFK this soon. Please wait %t% seconds.'
    ErrEnableDND: 'You cannot go DND this soon. Please wait %t% seconds.'
    ErrMsgFormat: 'Too few arguments. /msg <target> <message...>'
    ErrNoReply: 'Noone to reply to!'
    ErrSpecifyLanguage: 'Too few arguments. /playerstatuslang <language>'
    MsgAfk: '%player% is now AFK.'
    MsgCantMsgSelf: 'Can''t message yourself.'
    MsgCurrentlyIgnored: 'Currently ignored players :'
    MsgDisabled: 'Disabled'
    MsgDnd: '%player% is now DND.'
    MsgEnabled: 'Enabled'
    MsgHelpAfk: 'To toggle Away From Keyboard.'
    MsgHelpDnd: 'To toggle Do Not Disturb.'
    MsgHelpIgnore: 'To ignore someone.'
    MsgHelpIgnorelist: 'To list ignored people. The lists reset upon server restart.'
    MsgHelpNochat: 'To disable chat.'
    MsgHelpNomsg: 'To disable Private Messages.'
    MsgHelpPlayerStatus: 'To display status of that player.'
    MsgIgnoreSyntax: 'Syntax : /ignore <playername>'
    MsgModerationOff: 'The Chat is no longer moderated !'
    MsgModerationOn1: '!!ATTENTION The Chat is now moderated!!'
    MsgModerationOn2: 'Only allowed people can speak'
    MsgNoChatFalse: 'You are now seeing chat.'
    MsgNoChatTrue: 'You are no longer seeing chat.'
    MsgNoMsgFalse: 'You are now receiving messages.'
    MsgNoMsgTrue: 'You are no longer receiving messages.'
    MsgNotAfk: '%player% is no longer AFK.'
    MsgNotDnd: '%player% is no longer DND.'
    MsgNotPlayerIsIgnored: '%player% is no longer being ignored.'
    MsgPermissionDenied: 'Permissions Denied'
    MsgPlayerAlreadyMuted: '%player% is already muted. Use /unmute to unmute.'
    MsgPlayerIsAFK: 'Player %player% is AFK and might not receive your message!'
    MsgPlayerIsDND: 'Player %player% is DND and might not receive your message!'
    MsgPlayerIsIgnored: '%player% is being ignored.'
    MsgPlayerIsNoMsg: 'Player %player% is blocking all incoming messages!'
    MsgPlayerIsNotMuted: '%player% is not muted.'
    MsgPlayerMuted: 'You cannot talk you are muted.'
    MsgPlayerNotFound: 'Player %player% not found!'
    MsgPrivateFrom: '(From %player%):'
    MsgPrivateTo: '(To %player%):'
    MsgSetPlayerMuted: '%player1% was muted by %player2%.'
    MsgSetPlayerUnmuted: '%player1% was unmuted by %player2%.'
    MsgStatusOf: 'Status of'
    MsgTooManyPlayerFound: 'More than one player found! Use @<name> for exact matching.'
    PlayerJoin: '%player% joined the server.'
    PlayerQuit: '%player% left the server.'

    French Caption configuration : (French/Français)
    Show Spoiler
    # PlayerStatus configuration
    AFKPrefix: '[AFK]'
    DNDPrefix: '[DND]'
    PlayerJoin: '%player% s''est joint au serveur.'
    PlayerQuit: '%player% a quitté le serveur.'
    MsgPermissionDenied: Permissions refusées
    MsgHelpPlayerStatus: Pour afficher le statut de ce joueur.
    MsgHelpAfk: Activer Loin du clavier (AFK).
    MsgHelpDnd: Activer Ne pas déranger (DND).
    MsgHelpNomsg: Désactiver les messages privés.
    MsgHelpNochat: Désactiver le chat.
    MsgHelpIgnore: Ignorer quelqu'un.
    MsgHelpIgnorelist: Lister les personnes ignorées. La liste se réinitialise au redémarrage.
    MsgStatusOf: Statut de
    MsgTooManyPlayerFound: Plus d'un joueur trouvé! Utilisez @<nom> pour le nom exacte.
    MsgPlayerNotFound: Le joueur %player% n'a pas été trouvé!
    MsgCurrentlyIgnored: 'Liste des joueurs ignorés :'
    MsgEnabled: Activé
    MsgDisabled: Désactivé
    MsgNoMsgFalse: Vous recevez les messages.
    MsgNoMsgTrue: Vous ne recevez plus les messages.
    MsgNoChatTrue: Vous ne voyez plus le chat.
    MsgNoChatFalse: Vous voyez le chat.
    MsgNotDnd: '%player% n''est plus DND.'
    MsgDnd: '%player% est DND.'
    MsgNotAfk: '%player% n''est plus AFK.'
    MsgAfk: '%player% est AFK.'
    MsgNotPlayerIsIgnored: '%player% n''est plus ignoré.'
    MsgPlayerIsIgnored: '%player% est ignoré.'
    MsgSetPlayerMuted: '%player1% est devenu muet grace à %player2%.'
    MsgSetPlayerUnmuted: '%player1% n''est plus muet grace à %player2%.'
    MsgPlayerAlreadyMuted: '%player% est déjà muet. Utilisez /unmute pour qu''il ne le soit plus.'
    MsgPlayerIsNotMuted: '%player% n''est pas muet.'
    MsgPlayerMuted: Vous ne pouvez pas parler car vous êtes muet.
    MsgCantMsgSelf: Vous ne pouvez pas écrire à vous-même.
    MsgPrivateTo: '(à %player%):'
    MsgPlayerIsDND: '%player% est DND et ne recevra peut-être pas votre message!'
    MsgPlayerIsAFK: '%player% est AFK et ne recevra peut-être pas votre message!'
    MsgPlayerIsNoMsg: '%player% bloque tout les messages privés!'
    MsgPrivateFrom: '(De %player%):'
    ErrMsgFormat: Trop peu d'argument. /msg <joueur> <message...>
    ErrDisableDND: 'Vous ne pouvez pas désactivé DND sitôt. Attendez %t% secondes.'
    ErrEnableAFK: 'Vous ne pouvez pas activé AFK sitôt. Attendez %t% secondes.'
    ErrEnableDND: 'Vous ne pouvez pas activé DND sitôt. Attendez %t% secondes.'
    ErrNoReply: 'Personne à qui répondre!'
    ErrSpecifyLanguage: 'Trop peu d''argument. /playerstatuslang <langue>'
    MsgIgnoreSyntax: 'Syntaxe : /ignore <joueur>'
    MsgModerationOff: 'Le chat n''est plus modéré !'
    MsgModerationOn1: '!!ATTENTION Le chat est maintenant modéré!!'
    MsgModerationOn2: 'Seule les personnes autorisées peuvent parler'

    To-do list :
    • Remove "X was slain by Y" when /nochat is on Still need to set a config for this.
    • Make the main config file just the language and create config files for each language. Main config file will just contain the language filename. This people can switch language easily.
    • Add a cooldown on /afk and /dnd. I'm thinking 20sec to disable it and 10min to reenable. Will try to put that in a config.yml
    • Add /ignore command and /ignorelist. Will make it so OPs messages still work if someone ignores them.
    • Make /msg and /tell go through when sender is OP even if recipient has /nomsg.
    • Add command to remove login/logout messages or integrate it with /nochat.
    • Put a command to mute everyone except Admins. At the same time, add command to allow some people to speak. This will be used for intense discussion when server has too many people on. Mute people will received error message telling them to use /msg instead.
    • Allow channels and such. Channel creator will be allowed to /kick /ban /mute people from the channel. Might make this into a seperator plugin that will use some features of this one to work.
    • Add a config for events that disable /AFK : PlayerMove, Chat/Command. Also make other player unable to move you if possible.
    • Disable /AFK on PlayerMove. Also make other player unable to move you if possible.
    • Add a config to make AFKed player invincible (Will add this once I managed to prevent people from pushing players)
    • Add a config for timer on AFK. This to prevent people running in PVP from going AFK and being immortal instantly.
    • Make /reply or /r work once you've received a /tell or /msg
    • Add persistence to /ignore and /mute. For the other commands I'll have to think about it.
    • Put the colors inside the config file
    Changelog :
    Version 2.3
    • Reworked the way configuration files work. There is now a main configuration file (config.yml) to store the language and cooldown settings and other configuration file for captions based on the language.
    • Added /playerstatuslang to change the language used in-game.
    • Added /moderate command to mute everyone except people with the PlayerStatus.moderate permission
    • Fixed /r to allow to reply to whispers
    • Display a message when someone muted tried to use /me
    • Added a cooldown to disable /DND and another cooldown to enable /AFK and /DND.
    • Remove /AFK if the player speaks (doesn't remove if player whispers).
    Version 2.2
    • Replaced names displayed for the Name instead of the Displayname. (getDisplayName() -> getName()).
    • Removed Played slain messages. Need to set a config for this.
    Version 2.1

    • Fixed /nochat and /ignore.
    Version 2.0

    • Major code rewritten, thus version change. About 95% of the code was altered.
    • Added /ignore and /ignorelist
    • Added /mute
    • /nochat now hides login, logout and messages from players going Afk or Dnd
    • If a player with /op whispers a player with /nomsg, the whisper will still go through.
    • Made every messages configurable! Every text is now in the config.yml and can be edited to your own server language.
    • Added configuration for the caption of AFK and DND.
    • Added configuration for the displayed text when a player joins and leaves the game.
    Version 1.0

    • Initial release.
    rileyrazor1, Orcem12 and Butkicker12 like this.
  2. Offline


    Does this mean you have added in the commands /msg and /r and /reply? I'm confused.
  3. Offline


    Will this conflict with essentials? If I use essentials should I use this? etc..
  4. Offline


    I don't support essentials
  5. Offline


    as in, will it work with it or you just don't like essentials?
  6. Offline


    It means that if it doesn't work I will not do anything. I have never tested it nor will I.
  7. Offline


    Long time no see ZachBora. You will notice that this thread has now been placed into the Inactive Plugin subforum.
    If you wish to revive this plugin, please ensure that you update and test compatibility with the latest recommended Bukkit build before reporting your original post, asking for it to be moved back to the release forum.

    Thanks for your time.

Share This Page