GUIAnnouncements

Moved

Total Downloads: 11,756 - First Release: Jul 13, 2015 - Last Update: Oct 20, 2017

5/5, 66 likes
  1. If I suspend a restart, does it stop the announcements til I resume?

    If that's the case, that might be why. But the still server still restarts normally, on a daily basis without announcement. I resumed the suspended one yesterdag. I'll be able to tell if that fixed it.
     
  2. If a restart has been suspended, and not resumed and that time gets passed, then it will put in the console that the suspended restart has passed and it is getting the next time to restart.
     
  3. Seems to have stopped working. I saw a message about an airdrop but that was it. Any ideas would be great.

    Current plugins
    1. buildingowners
    2. clans
    3. craftingcontroller
    4. dayvote
    5. deathnotes
    6. friendlyfire
    7. guiannouncements
    8. nodecay
    9. removertool
    10. rustio
    11. signartist
    Here is my config:
    Code:
    {
      "Automatic Announcements": {
        "AirdropAnnouncement": true,
        "AirdropAnnouncementLocation": false,
        "AutomaticTimedAnnouncements": false,
        "AutomaticTimedAnnouncementsList": [
          "Automatic Timed Announcement 1",
          "Automatic Timed Announcement 2",
          "Automatic Timed Announcement 3"
        ],
        "AutomaticTimedAnnouncementsRepeat": "00:30:00",
        "HelicopterAnnouncement": true,
        "HelicopterDeathAnnouncement": true,
        "HelicopterDeathAnnouncementWithKiller": true,
        "NewPlayerAnnouncements": false,
        "NewPlayerAnnouncementsList": [
          "New player announcement 1.",
          "New player announcement 2.",
          "New player announcement 3."
        ],
        "NewPlayerAnnouncementsShowTimes": 4,
        "RespawnAnnouncements": true,
        "RespawnAnnouncementsList": [
          "Respawn announcement 1.",
          "Respawn announcement 2.",
          "Respawn announcement 3."
        ],
        "RestartAnnouncements": false,
        "RestartAnnouncementsWhen": [
          "12:00:00",
          "11:00:00",
          "10:00:00",
          "09:00:00",
          "08:00:00",
          "07:00:00",
          "06:00:00",
          "05:00:00",
          "04:00:00",
          "03:00:00",
          "02:00:00",
          "01:00:00",
          "00:45:00",
          "00:30:00",
          "00:15:00",
          "00:05:00"
        ],
        "RestartServer": false,
        "RestartTimes": [
          "08:00:00",
          "20:00:00"
        ],
        "WelcomeAnnouncement": true,
        "WelcomeBackAnnouncement": true
      },
      "Formatting": {
        "AnnouncementShowDuration": 10.0,
        "FadeInTime": 0.5,
        "FadeOutTime": 0.5,
        "FontSize": 18,
        "WelcomeAnnouncementDuration": 20.0
      },
      "Third Party Plugin Support": {
        "DoNotOverlayLustyMap": false,
        "LustyMapPosition": "Left"
      }
    }
     
    Last edited by a moderator: Nov 28, 2016
  4. So you have helicopter, airdrop, respawn announcements and welcome announcements set true. I would suggest testing them all out yourself if possible. Respawn and welcome messages should be easy. If they don't appear when they should ie. after you wake up then check your server console/log for errors. Nothing has changed and all announcements use the same "mini api" in the plugin itself, so if one event makes an announcement they all should.

    Other than that, I am having no issues with it at all on my server at the moment.
     
  5. @enims I am assuming that you are fine now that I have not heard from you since :)
     
  6. @JoeSheep Would it be possible to add players joining/leaving server notifications ? Would be great ^.^
     
  7. I could indeed do that. Only reason I hadn't yet is because I thought it may become a bit spammy.
     
  8. Can you add support to animated text messages?

    WHY?
    Let's be real, animated text looks awesome, but that's not the only reason I believe this should be added... A good way to show your server off is by looking professional and creative, different than all the others, having animated broadcasts and text really pushes the server to the next level (and the plugin!). This would also support more complex messages such as scroll text, color flashing, and other unique thought out animations. A great example of these complex messages in use would be to illustrate long broadcasts or important. If you wanted to explain for example in-depth but it looked utterly long and just messy, scroll text can support that. Another example of complex test could be the flashing text. This is not too complex, but it can be eye-catching, having a shopping sale with 50% in the title is great, but to really get the word out, it may be necessary to animate objects or the deals!

    Commands:
    /announcelist - Shows the saved animated announcements.
    /announceload (name) (time: optional) - Displays the saved animation text, and option to display it for a period of time
    (and similar console commands, of course ^-^)

    Config:

    This is a small chunk of the config but can be simply used to help get the main config idea understood!
    {
    "Automatic Announcements": {
    "AirdropAnnouncement": true,
    "AirdropAnnouncementAnimated": true, //Option to use animated or static text. False uses static, true uses animated.
    "AirdropAnnouncementMessage:" "Airdrop", //Animated file name (below)
    "AirdropAnnouncementLocation": false,
    "AirdropAnnouncementLocationAnimated": false, //Option to use animated or static text. False uses static, true uses animated.
    "AirdropAnnouncementLocationMessage:" "None", //Animated file name (below), fill in none if false
    "AutomaticTimedAnnouncements": false, //Static messages
    "AutomaticTimedAnnouncementsList": [
    "Automatic Timed Announcement 1",
    "Automatic Timed Announcement 2",
    "Automatic Timed Announcement 3"
    "AutomaticTimedAnimatedAnnouncements": false, //Animated messages
    "AutomaticTimedAnimatedAnnouncementsList": [ //Because it is a list, we wont use the same method above
    "ServerSale", //Searches for file name "ServerSale" found below
    "LongMessage" //Searches for file name "LongMessage"
    ],

    Next I will be showing the format for the animated messages, this is the easiest method I could think of, but allows all you would need for the animated message. The animated messages are edited in the config file, not the language file due to the needs of the complexity and plugin feedback. (this format might not work but you get the idea)

    Note: in order to make your own text files you must paste this SAME format and only edit the editable areas to make it work properly.
    ],
    "FileName": "ServerSale", //Name of the file, can be used in /announceload ServerSale (time) and in the config where it supports it
    "Repeat": true, //Should the message repeat itself
    "RepeatAmount": 15, //If repeat is true, it will repeat the message below 10 times, which is roughly a display time of 60 seconds
    "AnimatedAnnouncement": [
    "MessageSettings": "00:20:00", //The layout works like this: fade in, time, fade out. Meassured like this: 00:10:00, time = 1 second
    "Winter sale! All items up to <color=orange>50% off</color>!",
    "MessageSettings": "00:20:00",
    "Winter sale! All items up to <color=red>50% off</color>!"
    ],

    The finally result is the flashing of red and orange at approximately 2 seconds per frame (text message) for a display time of 60 seconds!

    For the sake of my time and yours I wont display the scroll text config, but rather you can view some here if you would like to see it: -+Scrolling GIF - Find & Share on GIPHY

    Thanks for reading! If you like this idea give it a like, I think server owners should really use this.
     
  9. Certainly an interesting idea. I never really thought of this plugin being used as a means of advertising promotions.
    I will have to brush up on the API and see if these are supported. If not then I may have to do it a slightly odd way.

    Either way, I will add it to my list to look into.
     
  10. Thank you! I know it's definitely going to be a harder one to take on if it gets complicated, or just long and repetitive. Regardless, I really want to use this for multiple reasons than just promotions, I would love to have animated text, in general, to spice up the messages! I did come from the Minecraft community, and this idea is very much similar to this plugin: TitleManager

    Some key points I think you should take in are these parts of the plugin:
    variables · Puharesource/TitleManager Wiki · GitHub << the variables
    scripts · Puharesource/TitleManager Wiki · GitHub << A few possible effects you could also use this for (recommend seeing)
    animations 2.0.0 · Puharesource/TitleManager Wiki · GitHub << Another way of understanding how this works and explained
    MVdW Effects | SpigotMC - High Performance Minecraft << this is a different plugin but shows plenty of examples of other uses

    With this all being said, I really appreciate you reading this and REALLY want to see this take action! :) If you need more suggestions let me know, I personally think this should be implemented in.
     
  11. That's useful. I run a Minecraft server on a network myself.
    If the CUI doesn't support things like that, then I have one idea of how else to do it but it will be somewhat long winded.
     
  12. So you're planning to add it? :) Also, what network, I may have heard of it.
     
  13. It's called ShockNetwork.
     
  14. Awesome, I'll go check it out! :)
     
  15. So my server restarts every 4 hours: 4am, 8am, 12pm, 16pm, 20pm, 24am. I would like for this plugin to announce everytime the server is about to restart, I can't get it to do it, please if someone would help me with this I'd appreciate it!
     
  16. Can you copy in your config in the code tags please?
     
  17. Code:
    {
      "Automatic Announcements": {
        "AirdropAnnouncement": false,
        "AirdropAnnouncementLocation": false,
        "AutomaticTimedAnnouncements": false,
        "AutomaticTimedAnnouncementsList": [
          "Automatic Timed Announcement 1",
          "Automatic Timed Announcement 2",
          "Automatic Timed Announcement 3"
        ],
        "AutomaticTimedAnnouncementsRepeat": "00:15:00",
        "HelicopterAnnouncement": false,
        "HelicopterDeathAnnouncement": false,
        "HelicopterDeathAnnouncementWithKiller": false,
        "NewPlayerAnnouncements": true,
        "NewPlayerAnnouncementsList": [
          "Welcome, type /town to begin your journey.",
          "The Town is the only zone with PVP protection.",
          "If you need any help, or think something is not correct, let an admin know."
        ],
        "NewPlayerAnnouncementsShowTimes": 4,
        "RespawnAnnouncements": false,
        "RespawnAnnouncementsList": [
          "Respawn announcement 1.",
          "Respawn announcement 2.",
          "Respawn announcement 3."
        ],
        "RestartAnnouncements": true,
        "RestartAnnouncementsWhen": [
          "03:00:00",
          "02:00:00",
          "01:00:00",
          "00:45:00",
          "00:30:00",
          "00:15:00",
          "00:05:00"
        ],
        "RestartServer": false,
        "RestartTimes": [
          "20:32:00",
          "8:00:00"
        ],
        "WelcomeAnnouncement": true,
        "WelcomeBackAnnouncement": true
      },
      "Formatting": {
        "AnnouncementShowDuration": 10.0,
        "FadeInTime": 1.0,
        "FadeOutTime": 3.0,
        "FontSize": 16,
        "WelcomeAnnouncementDuration": 15.0
      },
      "Third Party Plugin Support": {
        "DoNotOverlayLustyMap": false,
        "LustyMapPosition": "Left"
      }
    }
     
  18. You haven't set RestartServer to true and you haven't put your times in under RestartTimes. You will then need to adjust RestartAnnouncementsWhen to announce how ever long you want and as many times you want before each restart. It's all on the same 24 hour clock, just put in when you want it to do something.
     
    Last edited by a moderator: Dec 11, 2016
  19. When I changed all to this :
    Code:
    {
      "Automatic Announcements": {
        "AirdropAnnouncement": false,
        "AirdropAnnouncementLocation": false,
        "AutomaticTimedAnnouncements": false,
        "AutomaticTimedAnnouncementsList": [
          "Automatic Timed Announcement 1",
          "Automatic Timed Announcement 2",
          "Automatic Timed Announcement 3"
        ],
        "AutomaticTimedAnnouncementsRepeat": "00:15:00",
        "HelicopterAnnouncement": false,
        "HelicopterDeathAnnouncement": false,
        "HelicopterDeathAnnouncementWithKiller": false,
        "NewPlayerAnnouncements": true,
        "NewPlayerAnnouncementsList": [
          "Welcome, type /town to begin your journey.",
          "The Town is the only zone with PVP protection.",
          "If you need any help, or think something is not correct, let an admin know."
        ],
        "NewPlayerAnnouncementsShowTimes": 3,
        "RespawnAnnouncements": false,
        "RespawnAnnouncementsList": [
          "Respawn announcement 1.",
          "Respawn announcement 2.",
          "Respawn announcement 3."
        ],
        "RestartAnnouncements": true,
        "RestartAnnouncementsWhen": [
          "01:00:00",
          "00:45:00",
          "00:30:00",
          "00:15:00",
          "00:05:00"
        ],
        "RestartServer": true,
        "RestartTimes": [
          "04:00:00",
          "08:00:00",
          "12:00:00",
          "16:00:00",
          "20:00:00",
          "24:00:00"
        ],
        "WelcomeAnnouncement": true,
        "WelcomeBackAnnouncement": true
      },
      "Formatting": {
        "AnnouncementShowDuration": 10.0,
        "FadeInTime": 1.0,
        "FadeOutTime": 3.0,
        "FontSize": 16,
        "WelcomeAnnouncementDuration": 15.0
      },
      "Third Party Plugin Support": {
        "DoNotOverlayLustyMap": false,
        "LustyMapPosition": "Left"
      }
    }
    It gave me an error on Rust when re-loading it, I restarted the server as well and nothing:
    Code:
    Connected to Steam
    [Oxide] 02:02 [Info] Updating Rust:IO ...
    [Oxide] 02:02 [Error] Failed to call hook 'OnServerInitialized' on plugin 'GUIAnnouncements v1.17.48' (FormatException: String was not recognized as a valid DateTime.)
    [Oxide] 02:02 [Debug]   at System.DateTime.Parse (System.String s, IFormatProvider provider, DateTimeStyles styles) [0x00000] in <filename unknown>:0
      at System.DateTime.Parse (System.String s, IFormatProvider provider) [0x00000] in <filename unknown>:0
      at System.DateTime.Parse (System.String s) [0x00000] in <filename unknown>:0
      at (wrapper delegate-invoke) System.Func`2<string, System.DateTime>:invoke_DateTime__this___string (string)
      at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[System.String,System.DateTime].MoveNext () [0x00000] in <filename unknown>:0
      at System.Collections.Generic.List`1[System.DateTime].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0
      at System.Collections.Generic.List`1[System.DateTime]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0
      at System.Linq.Enumerable.ToList[DateTime] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.GUIAnnouncements.RestartAnnouncementsStart () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.GUIAnnouncements.OnServerInitialized () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.GUIAnnouncements.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.Plugin.CallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
     
  20. Your last restart time of 24:00:00 is invalid, essentially the hour 24 doesn't exist, it is actually 00:00:00. So replace 24:00:00 with 00:00:00 and you should be good.