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

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

  1. Offline

    ZachBora

    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.


    Usage:
    • /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

    Hydrosis

    So would we use the /msg command from this plugin in the future or would we still be able to use commandbook? Won't matter too much since commandbook is very configurable.
     
  3. Offline

    ZachBora

    I did some thinking and I'll do a check for the presence of permission from commandbook or from my plugin. If the user has either he'll be able to whisper.
     
  4. Offline

    ZachBora

    Updated to 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).
     
  5. Offline

    Hydrosis

    /r doesn't work for most people. It only works for me (i hve all cmds). Also, they have the perm from commandbook to use /r.
     
  6. Offline

    ZachBora

    Is that using version 2.3? Do they have an error message? Is there an error in your log?
     
  7. Offline

    TheMaa

    Is it possible to add so people can use Scandinavian letters?
    Btw, nice plugin! Most useful plugin on my server ^^ Love /nochat :p
    Regards, TheMaa .
     
  8. Offline

    Hydrosis

    Never mind. A restart seems to have done the trick.
     
  9. Offline

    ZachBora

    I expect that to work if you save the config file as UTF-8. It's what I had to do to make it accept special characters.
     
  10. Offline

    Hydrosis

    Can you add colors to the config?
     
  11. Offline

    ZachBora

    Yes I guess I could do that. Good idea!
     
  12. Offline

    destruktoid

    wow.. i thought u only made mods zach.. keep up the good work anyway:)
     
  13. Offline

    ZachBora

    I've only made 1 mod. To be able to film on my second account. But up to now I've got a couple plugins.
     
  14. Offline

    TheMaa

    Thanks! I didn't know that.
     
  15. Offline

    ZachBora

    On the recommended build it won't be required anymore I think. Yesterday I started fixing my code and all my accents where gone after loading the french file with UTF-8 encoding. Worked once I converted to AINSI.

    If you can send me your configuration file I can verify what is needed to make it work before I release an update.
     
  16. Offline

    TheMaa

    Add TheMaa95 on skype.
     
  17. Offline

    ZachBora

    Uploaded version 2.4 to BukkitDev
     
  18. Offline

    Hydrosis

    I don't know if this is possible, but I think it would be cool if we can have random messages appear for login/logout. Like if we were able to write 5 different login/logout messages and the plugin would randomly choose 1 when the person signs in/out.
     
  19. Offline

    ZachBora

    That isn't hard to do but not sure what the purpose would be? I actually put that in because I was tired of losing the game ^^
     
  20. Offline

    Hydrosis

    I use it to make the game funnier. Right now here are the two I am using (you can use them if you want :D):
    PlayerJoin: '%player% joined the server. Sssssay hi!'
    PlayerQuit: '%player% left the server. Now we can talk about them behind their back!'
     
  21. Offline

    ZachBora

    Lol, ok I'll think about seperating this from PlayerStatus and make 2 files that will contain random messages.
     
  22. Offline

    TheMaa

    Can you add color support? Would be great :D
     
  23. Offline

    ZachBora

    Yes, it is in the ThingsToDo list.
     
  24. Offline

    REALDrummer

    This plugin is simple and very nice, but there are two things I would really love to change:
    (1) I would really appreciate an ability to turn the login and logout message customizations on and off. By this, I don't mean enable the default messages because I can just keep the default message in the caption-english.yml file. I mean that there are other plugins which can customize the login and logout messages for ops and users separately or even give every player a unique login and logout message. I want to use these plugins, but because login and logout customization is an option in this plugin, this plugin just takes over and doesn't allow the other plugins to work. It would be nice if you could either allow every player to make their own login and logout messages or just make an enable/disable ability for login and logout custom messages.
    (2)ENABLE CHAT COLORS!!!!...please? Most custom message plugins allow the server owner to color the messages themselves using &0-&f colors. (Yes, that "0" is a zero.) I would really appreciate that addition!
    Thank you so much again for taking the time to read this comment and to make this plugin. It's very useful and it would be even more useful with these two additions. Thanks.
     
  25. Offline

    ZachBora

    You're very lucky I read this before I finished the update. I quickly added configs to disable the custom login/logout. Please note disabling those will make them show up with /nochat Enabled.

    http://dev.bukkit.org/server-mods/playerstatus/
    Version 2.5 now available here : http://dev.bukkit.org/media/files/547/98/PlayerStatus.jar
    • Allow people to Enable or Disable custom Login and Logout messages. Please note that with these disabled, players with /nochat will see the login and logout messages.
    • Placed the colors in the captions. Colors can now be customized.
    • Added randomization to Login and Logout messages. The default configuration files contain quotes, try to find what they refer to!
     
  26. Offline

    REALDrummer


    Thank you very much for creating the plugin, thank you for taking the time to read my comment, and thank you for taking the time to fix the issues and to reply quickly. I appreciate your effort.
     
  27. Offline

    Sayomie

    I am using PermissionsEX and can not get the nodes to work, Do you know if is possible to give it PermissionsEx support or if it should be working.

    Thx
     
    EarlyLegend likes this.
  28. Offline

    EarlyLegend

    As above - my players cannot use /afk or /dnd etc and more importantly my moderators cannot /mute! I need PEX support asap! Pleeeaaase! D:
     
  29. Offline

    ZachBora

    What about the other commands? I need to know if it's only those or all commands that aren't working.
     
  30. Offline

    EarlyLegend

    No commands work at all :L
    The only thing that works in the login and logout messages :p I can use commands if I am an OP though, if that helps...
     
  31. Offline

    ZachBora

    I'll look tonight to add PEX support. I was told to support "superperms" and that would make PEX work but I guess either my superperms support doesn't work or I've been lied to.
     

Share This Page