BanditEagle Posted April 30, 2021 Share Posted April 30, 2021 I have made a new skript which I call "Staff Status". The skript includes features such as: - Reloading skript broadcast - Join/leave for new joins, members, donators, and staff - Staff chat - Fake join and leave broadcasts for staff - Hide join/leave broadcasts for staff [if true, you will automatically be vanished on join, if you have Essentials] - Allowing setting specific broadcasts to false (including reloading skript, staff join/leave, donator join/leave, member join/leave, and first join) I hope I did a good job and I hope you guys will like it! Link to the spigot: https://www.spigotmc.org/resources/staff-status.91861/ Let me know if there are any bugs you find, or any features I should add! If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
BanditEagle Posted April 30, 2021 Author Share Posted April 30, 2021 Update: The new link to the skript is here: https://www.spigotmc.org/resources/staff-utilities.91861/ If you guys have any suggestions for me to add, or any bugs or optimization, etc, let me know! I think I will be releasing a slightly optmizied version of it later today. Keep an eye out for it! If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
_Tarna_ Posted April 30, 2021 Share Posted April 30, 2021 Nice skript but I found some things you could change/improve if {firstJoin::%uuid of player%} is true: stop else: Why not just use like if {var} is not true or if it is false. Then There would be no need for an else. else: {@memberstatus} is true set {_msg} to "&7[&2Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) stop Another thing is that you put stop at the end of a lot of things where they are not needed. Its already the end of that part of the skript so the stop isn't needed. You do similar stuff in a lot of other places too. loop all players: send "%{_msg}%" to loop-player If you just wanted to send it to all players, wouldn't just send " " to all players work. function StaffChat(msg: text): loop all players: send "&7[&2Staff Chat&7] &f%uncolored loop-player's displayname% &2| &f%{_msg}%" to loop-player where [input has permission "staff.chat"] Why are you looping all players if you are using a filter? It should be send " " to players where [input has permission " "]. Discord - tarna256 In-game name - _Tarna_ Website - https://tarna.dev Paste Site: https://paste.tarna.dev --------------------------------------------------------- [VIP] - 7/27/2020 Community Support - 7/8/20 | 11/3/20 Helper - 11/3/20 - 2/21/21 Moderator - 2/21/21 - 5/17/21 - 5/17/21 - now Moderator - 12/20/22 - now --------------------------------------------------------- Link to comment Share on other sites More sharing options...
BanditEagle Posted April 30, 2021 Author Share Posted April 30, 2021 Thank you @Tarnerd for the comments! It's helped a lot. 10 minutes ago, Tarnerd said: Why not just use like if {var} is not true or if it is false. Then There would be no need for an else. for this one, I'm going to keep it as is, but im going to do this: on join: if {firstJoin::%uuid of player%} is true: delete {firstJoin::%uuid of player%} else: This way, it will be a temporary variable and there will be less variables saved overall. However, with the rest of the stuff, I will definitely be implementing those! Thanks for the help! If you have any suggestions on what I could add, please let me know! If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
_Tarna_ Posted April 30, 2021 Share Posted April 30, 2021 21 minutes ago, BanditEagle said: Thank you @Tarnerd for the comments! It's helped a lot. for this one, I'm going to keep it as is, but im going to do this: on join: if {firstJoin::%uuid of player%} is true: delete {firstJoin::%uuid of player%} else: This way, it will be a temporary variable and there will be less variables saved overall. However, with the rest of the stuff, I will definitely be implementing those! Thanks for the help! If you have any suggestions on what I could add, please let me know! Also just realized, you don't really need a variable to see if a player has joined before. Skript has a condition where you can do if player has played before. But if you wanted to give a way to easily reset that, then you could just keep that. Using if player has played before checks if the user has a playerdata file. Discord - tarna256 In-game name - _Tarna_ Website - https://tarna.dev Paste Site: https://paste.tarna.dev --------------------------------------------------------- [VIP] - 7/27/2020 Community Support - 7/8/20 | 11/3/20 Helper - 11/3/20 - 2/21/21 Moderator - 2/21/21 - 5/17/21 - 5/17/21 - now Moderator - 12/20/22 - now --------------------------------------------------------- Link to comment Share on other sites More sharing options...
BanditEagle Posted April 30, 2021 Author Share Posted April 30, 2021 Interesting. So something like this? #SECTION: BROADCAST IF NEW PLAYER on first join: {@firstjoinstatus} is true BroadcastAll("&7[&aNew Join&7] &a%player% &2has joined the server!") #SECTION: CHECKING PLAYER'S STATUS AND BROADCASTING FOR JOINS on join: if player has played before: stop @Tarnerd If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
_Tarna_ Posted April 30, 2021 Share Posted April 30, 2021 14 minutes ago, BanditEagle said: Interesting. So something like this? #SECTION: BROADCAST IF NEW PLAYER on first join: {@firstjoinstatus} is true BroadcastAll("&7[&aNew Join&7] &a%player% &2has joined the server!") #SECTION: CHECKING PLAYER'S STATUS AND BROADCASTING FOR JOINS on join: if player has played before: stop @Tarnerd No just use a join even. no need for first join on join: if player has played before: # stuff that happens if the player has joined before else: # this is first join stuff You actually may need to use on connect instead of on join. Since on connect triggers before the player fully joins the server and on join triggers after the player is on the server. Discord - tarna256 In-game name - _Tarna_ Website - https://tarna.dev Paste Site: https://paste.tarna.dev --------------------------------------------------------- [VIP] - 7/27/2020 Community Support - 7/8/20 | 11/3/20 Helper - 11/3/20 - 2/21/21 Moderator - 2/21/21 - 5/17/21 - 5/17/21 - now Moderator - 12/20/22 - now --------------------------------------------------------- Link to comment Share on other sites More sharing options...
BanditEagle Posted April 30, 2021 Author Share Posted April 30, 2021 UPDATED TO V1.1: In this version, I made some optimization fixes, and I also realized that there was an issue with the staff chat, and quickly fixed that. Also, I made a trello for the ideas I have of adding to the skript, and it just makes it easier to keep track of everything! Here is the trello: https://trello.com/b/vrAmgg8q/updating-the-skript Here is the new link to the updated version of the skript. Hope you guys like it! (Remember, if you notice any issues with it, any optimizations I can do, or any ideas for me to add, please let me know! It helps me a ton!) https://www.spigotmc.org/resources/staff-utilities.91861/updates If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
SuperOrca Posted April 30, 2021 Share Posted April 30, 2021 what is trello Likes are appreciated Username: SuperOrca Discord: Link to Profile Rank: [VIP] Joined Minehut: August 10, 2017 Joined Forums: June 10, 2019 Experienced in Python, Java (mainly spigot), Javascript (node.js, basics of react.js), and Web Development. DM on discord me if you want a custom discord bot for your server (i'm bored). Link to comment Share on other sites More sharing options...
BanditEagle Posted April 30, 2021 Author Share Posted April 30, 2021 4 minutes ago, SuperOrca said: what is trello Think of it as a whiteboard which you update to keep track of what you have done and what you plan on doing. Now put that in a website. That is basically what Trello is. If you click on the link, you should see what I mean. If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
Houlton Posted May 1, 2021 Share Posted May 1, 2021 (edited) 37 minutes ago, BanditEagle said: UPDATED TO V1.1: In this version, I made some optimization fixes, and I also realized that there was an issue with the staff chat, and quickly fixed that. Also, I made a trello for the ideas I have of adding to the skript, and it just makes it easier to keep track of everything! Here is the trello: https://trello.com/b/vrAmgg8q/updating-the-skript Here is the new link to the updated version of the skript. Hope you guys like it! (Remember, if you notice any issues with it, any optimizations I can do, or any ideas for me to add, please let me know! It helps me a ton!) https://www.spigotmc.org/resources/staff-utilities.91861/updates Maybe make this into a github repo so that we can suggest changes without using the minehut forums. Also have one variable per player for some things isn't really the best, so I made some changes below, I have commented out the old code so you know what I'm doing. For those who are aware of my 'normal' methods of first joins and other parts, I didn't want to completely remake the skript, just try to help people understand that there are other ways. #————————————————————————————————DO NOT REMOVE THIS SECTION————————————————————————————————# # MADE BY: BANDITEAGLE # DISCORD: BanditEagle#2481 # MINEHUT FORUMS PROFILE: https://forums.minehut.com/profile/276950-banditeagle/ # SPIGOT PROFILE: https://www.spigotmc.org/members/banditeagle.935281/ # You are allowed to share this skript, but please mention that this is made by me. # Staff Usages Skript v1.0 #————————————————————————————————DO NOT REMOVE THIS SECTION————————————————————————————————# #————————————————————————————————OPTIONS————————————————————————————————# options: #SECTION: RELOAD SKRIPTS reloadAlert: true #set to false if you don't want to advertise reloads reloadedMsg: "&bThe skript &2<skript>.sk &bhas been reloaded in &a<reloadtime>!" #Do not change <skript> or <reloadtime> as those are needed. Rest can be changed to your liking. reloadingMsg: "&bThe skript &2<skript>.sk &bis being reloaded. &c&lThis may cause lag, please be patient." #Do not change <skript> as it's needed. Rest can be changed to your liking. #SECTION: BROADCASTING JOIN/LEAVE STATUS staffstatus: true #set to false if you don't want to broadcast staff join/leaves donatorstatus: true #set to false if you don't want to broadcast donator join/leaves memberstatus: true #set to false if you don't want to broadcast member join/leaves firstjoinstatus: true #set to false if you don't want to broadcast new joins #————————————————————————————————OPTIONS————————————————————————————————# #————————————————————————————————ON 'X'————————————————————————————————# #SECTION: RELOADING SKRIPT on load: if {@reloadAlert} is true: set {loading} to true set {_msg} to {@reloadedMsg} if {reloadTime} is not set: set {reloadTime} to now ReloadSkript({_msg}) delete {reloadTime} #SECTION: RELOADING SKRIPT on unload: if {@reloadAlert} is true: set {reloadTime} to now set {loading} to false set {_msg} to {@reloadingMsg} ReloadSkript({_msg}) #SECTION: BROADCAST IF NEW PLAYER on first join: #set {firstJoin::%uuid of player%} to true add player's uuid to {firstjoined::*} {@firstjoinstatus} is true set {_msg} to "&7[&aNew Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) #SECTION: CHECKING PLAYER'S STATUS AND BROADCASTING FOR JOINS on join: #if {firstJoin::%uuid of player%} is true: if {firstjoined::*} contains player's uuid: #delete {firstJoin::%uuid of player%} remove player's uuid from {firstjoined::*} stop else: if player has permission "staff.status": #SECTION: BROADCAST IF STAFF IS NOT HIDDEN {@staffstatus} is true #if {hideStatus::%uuid of player%} is false: if {hidestatus::*} doesn't contain player's uuid: set {_msg} to "&7[&2&l&nStaff Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) #else if {hideStatus::%uuid of player%} is true: else if {hidestream::*} contain player's uuid: wait 1 tick make player execute command "/vanish" #SECTION: BROADCAST IF DONATOR else if player has permission "donator.status": {@donatorstatus} is true set {_msg} to "&7[&2&lDonator Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) #SECTION: BROADCAST IF MEMBER else: {@memberstatus} is true set {_msg} to "&7[&2Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) stop #SECTION: CHECKING PLAYER'S STATUS AND BROADCASTING FOR LEAVES on quit: #SECTION: BROADCAST IF STAFF IS NOT HIDDEN if player has permission "staff.status": {@staffstatus} is true #if {hideStatus::%uuid of player%} is false: if {hidestatus::*} doesn't contain player's uuid: set {_msg} to "&7[&2&l&nStaff Leave&7] &a%player% &2has left the server!" BroadcastAll({_msg}) #SECTION: BROADCAST IF DONATOR else if player has permission "donator.status": {@donatorstatus} is true set {_msg} to "&7[&2&lDonator Leave&7] &a%player% &2has left the server!" BroadcastAll({_msg}) #SECTION: BROADCAST IF MEMBER else: {@memberstatus} is true set {_msg} to "&7[&2Leave&7] &a%player% &2has left the server!" BroadcastAll({_msg}) #stop #SECTION: STAFFCHAT [CHAT] on chat: if player has permission "staff.chat": set {_m} to uncolored message if {_m} starts with "##": replace first "##" in {_msg} with "" StaffChat({_msg}) #————————————————————————————————ON 'X'————————————————————————————————# #————————————————————————————————FUNCTIONS————————————————————————————————# #SECTION: RELOADING SKRIPT function ReloadSkript(msg: text): if {loading} is true: replace "<skript>" in {_msg} with script replace "<reloadtime>" in {_msg} with "%difference between {reloadTime} and now%" send "%{_msg}%" to all players else: replace "<skript>" in {_msg} with script send "%{_msg}%" to all players #SECTION: BROADCASTING function BroadcastAll(m: text): set {_prefix} to {@prefix} set {_msg} to "%{_prefix}% %{_msg}%" send "%{_msg}%" to all players #SECTION: STAFFCHAT [FUNCTION] function StaffChat(msg: text): send "&7[&2Staff Chat&7] &f%uncolored loop-player's displayname% &2| &f%{_msg}%" to players where [input has permission "staff.chat"] #————————————————————————————————FUNCTIONS————————————————————————————————# #————————————————————————————————COMMANDS————————————————————————————————# #SECTION: STAFF HIDESTATUS command /hidestatus [<text>]: permission: staff.hideStatus trigger: if arg-1 is not set: make player execute command "/hidestatus help" #SECTION: BROADCAST STATUS else if arg-1 is "off": #set {hideStatus::%uuid of player%} to false remove player's uuid from {hidestatus::*} send "&7[&2HideStatus&7] &2-- &aEveryone will be able to see your join & leave messages now. Beware." #SECTION: HIDE YOUR STATUS else if arg-1 is "on": #set {hideStatus::%uuid of player%} to true add player's uuid to {hidestatus::*} send "&7[&2HideStatus&7] &2-- &aWhen you leave or join players won't see this." #SECTION: AUTHOR else if arg-1 is "author": send " " send "&2&l&nThis skript was developed by:&a BanditEagle." send " " send "&bDiscord: &aBanditEagle##2481" send "&bMinehut Forums: &aBanditEagle" send " " send "&2Add me for questions, requests, or just chatting!" send " " #SECTION: HELP else if arg-1 is "help": send "" send "&2&lWhat it does:" send "&7[&2HideStatus&7] &2-- &aTurning this on will hide you when you join or leave, and will put you into vanish when you join." send "&7[&2HideStatus&7] &2-- &aTurning this off will broadcast you joining or leaving the server." send "" send "&2&lHow to use it:" send "&2/hidestatus &con &2-- &cTurn it on" send "&2/hidestatus &coff &2-- &cTurn it off" send "&2/hidestatus &chelp &2-- &cSee how to use the command" send "&2/hidestatus &cauthor &2-- &cSee who created this." send "" stop #SECTION: STAFF FAKE JOIN/LEAVE command /fakestatus [<text>]: permission: staff.fakeStatus trigger: if arg-1 is not set: make player execute command "/fakestatus help" #SECTION: FAKE LEAVE else if arg-1 is "leave": set {_msg} to "&7[&2Staff Leave&7] &a%player% &2has left the server!" BroadcastAll({_msg}) #SECTION: FAKE JOIN else if arg-1 is "join": set {_msg} to "&7[&2Staff Join&7] &a%player% &2has joined the server!" BroadcastAll({_msg}) #SECTION: AUTHOR else if arg-1 is "author": send " " send "&2&l&nThis skript was developed by:&a BanditEagle." send " " send "&bDiscord: &aBanditEagle##2481" send "&bMinehut Forums: &aBanditEagle" send " " send "&2Add me for questions, requests, or just chatting!" send " " #SECTION: HELP else if arg-1 is "help": send "" send "&2&lHow to use it:" send "&2/fakestatus &cjoin &2-- &cSend a fake broadcast of your join" send "&2/fakestatus &cleave &2-- &cSend a fake broadcast of your leave" send "&2/fakestatus &chelp &2-- &cSee how to use the command" send "&2/fakestatus &cauthor &2-- &cSee who created this" send "" stop #SECTION: STAFFCHAT [COMMAND] command /staffchat [<text>]: aliases: /sc permission: staff.chat trigger: if arg-1 is not set: send "&cError: incorrect command usage." else: set {_msg} to uncolored arg-1 StaffChat({_msg}) stop #————————————————————————————————COMMANDS————————————————————————————————# Edited May 1, 2021 by Houlton I'm just a known player who been playing since the 24 July 2019. ➤ Please don't DM me for support, go here (if you don't mind waiting) or join Minehut's Discord (which is more active) if you need assistance. Link to comment Share on other sites More sharing options...
BanditEagle Posted May 1, 2021 Author Share Posted May 1, 2021 (edited) @Houlton Thanks for the help! I probably should make a Github for it you are right. I'm going to be following @Tarnerd's advice for the new joins, but other than that your idea of {hideStatus} variable helped a lot! Thank you! Edited May 1, 2021 by BanditEagle If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
BanditEagle Posted May 1, 2021 Author Share Posted May 1, 2021 I have created a GitHub for this skript! You can now more easily write your concerns or ideas you want to see on here! https://github.com/BanditEagle/Staff-Utilities If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
BanditEagle Posted May 2, 2021 Author Share Posted May 2, 2021 Hey everyone, I have just updated the skript to v1.2! This includes some optimizations and a ton of new features! You can find the specific details of this over on the Github or the SpigotMC page! https://www.spigotmc.org/resources/staff-utilities.91861/updates https://github.com/BanditEagle/Staff-Utilities/releases/tag/v1.2 ***Note, there might be some bugs or issues that occur with the skript, especially since it is relatively new features. If you notice anything, or are just confused and want to ask for help, please go on over to the GitHub and create a new issue there! Thank you! https://github.com/BanditEagle/Staff-Utilities/issues If I have helped you out in your post or you liked what I posted, please upvote and react to my post! It helps me a lot! Some Minehut Links: Server Rules • Staff Applications • News & Updates • Reports • Appeals Minehut: VIP (07/04/2021 --> Current)Elestra/Versa Realms: Manager (12/04/2021 --> Current) If you have any questions contact me!My Discord: BanditEagle#2481My Spigot Profile: https://www.spigotmc.org/members/banditeagle.935281/My IGN: BanditEagle Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now