#================================# #> Created by Theindo448 <# # # #> Version: 1.3.1 Release <# # # #> Skript: ChatManager448 <# #================================# #===========[DEPENDENCIES]==================# # # --[FOR 1.9+]-- # # Skript: https://github.com/SkriptLang/Skript/releases/ # SkQuery: https://www.spigotmc.org/resources/skquery-1-9-1-15.36631/ # #===========================================# # # --[FOR 1.8x]-- # # Skript: https://github.com/Matocolotoe/Skript-1.8/releases/ # SkQueryLime: https://cdn.discordapp.com/attachments/697442955555897394/697456620774359110/SkQueryLime.jar # #[NOTE] = The Skript plugin that has been forked by Matocolotoe is actually still under development. Maybe some systems have errors # #===========================================# #-------------------------Changelogs---------------------- # # 1.3.1 Changelogs: # #- "Strict" mode can detect players when using a command (Usually this system detects the msg command) # # [This update will make "Strict" mode to more aggressively] # # ***This additional system will not work "If a system use Type [Censored]"*** # ***I recommend using the "Block" type so that the additional system can work properly*** # #- Fixed wrong GUI Name "Mentions" #- Changed some messages #- "Debug mode" and the "Log system" can be used properly #- Created new GUI for "Reset Options" #- Shorten the contents of messages on "List" (for players) #- Removed unused Prefix ID # #-------------------------Changelogs---------------------- #-##=====================================[License]====================================================##-# # # This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. # To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ # #-##=====================================[License]====================================================##-# #--------------------------------------------IMPORTANT!!-------------------------------------------- # #Note: Don't change this skript if you don't know what you are doing! # # List Permissions: # #- chatmanager.bypass.* (Player can use all system from this skript) #- chatmanager.bypass (Only bypassed the Chat Manager Feature) #- chatmanager.bypass.cmdspy #- chatmanager.bypass.antispam #- chatmanager.bypass.antibadword #- chatmanager.bypass.antiadv #- chatmanager.bypass.blockcmd #- chatmanager.bypass.commandcooldown #- chatmanager.bypass.chatmute #- chatmanager.admin (Player can use all commands from this skript) #- chatmanager.loop.* (The Player will get all messages from the system) #- chatmanager.loop.cmdspy #- chatmanager.loop.badword #- chatmanager.loop.update #- chatmanager.loop.adv #- chatmanager.loop.antispam #- chatmanager.loop.blockcmd #- chatmanager.loop.commandcooldown # #--------------------------------------------IMPORTANT!!-------------------------------------------- options: #--[You can change the messages here]-- debugprefix: &8[&aChat&3Debug&8] prefix: &8[&aChat&eManager&8] antiadvertisePREFIX: &7(&bAntiAdvertise&7) antibadwordPREFIX: &7(&dAntiBadword&7) commandspyPREFIX: &7(&6CommandSpy&7) commandcooldownPREFIX: &7(&aCommandCooldown&7) antispamPREFIX: &7(&eAntiSpam&7) blockcommandPREFIX: &7(&cBlockCommands&7) antiadvertiseID: (AntiAdvertise) antibadwordID: (AntiBadword) blockcommandID: (BlockCommands) lineprefix: &a> &7&m----------&8[&aChat&eManager&8]&7&m---------- &a< line: &a> &7&m-------------------------------- &a< nopermission: &cYou don't have permission for that! CommandCooldown-BlockMSG: &cYou can't use commands by spamming! Please wait for %difference between {_commandcooldownTimespam} and {_commandcooldownwaited}%&c to use command again!. AntiSpam-BlockMSG: &cYou can't spamming in the chat! Please wait for %difference between {_Timespam} and {_waited}%&c to chat again!. AntiBadword-BlockMSG: &cDon't say bad word in chat! AntiAdvertise-BlockMSG: &cDon't advertise in chat! GlobalChat-BlockMSG: &cYou can't chat now! Only staff can chat! MentionSOUND: ENTITY_EXPERIENCE_ORB_PICKUP fileLogSystem: chatmanager448/VL-CM448.log #------{{IF YOU DON'T KNOW WHAT YOU ARE DOING THEN DO NOT EDIT THIS SKRIPT IN THIS POINT!}}------ version: 1.3.1 filename: ChatManager448 updatelink: https://pastebin.com/raw/ZekQ8yk2 linkredirect: https://bit.ly/2Zo3lPy permission: chatmanager.bypass.* #------{{IF YOU DON'T KNOW WHAT YOU ARE DOING THEN DO NOT EDIT THIS SKRIPT IN THIS POINT!}}------ variables: {cm448.chat.mute} = false {cm448.system.adv} = false {cm448.system.badword} = false {cm448.system.spam} = false {cm448.system.block} = false {cm448.commandspy.system} = false {cm448.system.commandcooldown} = false {cm448.logsystem} = false {cm448.debug} = false {cm448.mentionToggle} = false {cm448.cdchat.%player%} = false {cm448.antispam} = "3 seconds" {cm448.CommandCooldown} = "5 seconds" {cm448.updatealert.%player%} = true {cm448.AntiAdvertise.BlockType} = "Block" {cm448.AntiBadwords.BlockType} = "Block" {cm448.AntiAdvertise.ProtectLevel} = "Normal" {cm448.AntiBadword.ProtectLevel} = "Normal" #---------- Setup ----------# on chat: if {cm448.CommandCooldown2.addwords.%player%} is set: cancel event set {_commandcooldownTEMPMSG} to message if {_commandcooldownTEMPMSG} is not "done": wait 1 tick if {cm448-CommandCooldown-TempData::*} doesn't contain "%{_commandcooldownTEMPMSG}%": add "%{_commandcooldownTEMPMSG}%" to {cm448-CommandCooldown-TempData::*} add "/%{_commandcooldownTEMPMSG}%" to {cm448-CommandCooldown-Words::*} send "{@prefix} &aSuccessfully add &e%{_commandcooldownTEMPMSG}%&a. List Words: &e%{cm448-CommandCooldown-Words::*}%&a. Add more words or write &cdone &ato complete the setup {@commandcooldownPREFIX}" to player stop trigger if {cm448-CommandCooldown-TempData::*} contains "%{_commandcooldownTEMPMSG}%": send "{@prefix} &cThat command is already added!" to player stop trigger else: delete {cm448.CommandCooldown2.addwords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsCommandCooldown" stop trigger else if {cm448.CommandCooldown2.removewords.%player%} is set: cancel event set {_commandcooldownTEMPMSG} to message if {_commandcooldownTEMPMSG} is not "done": wait 1 tick if {cm448-CommandCooldown-TempData::*} contains "%{_commandcooldownTEMPMSG}%": remove "%{_commandcooldownTEMPMSG}%" from {cm448-CommandCooldown-TempData::*} remove "/%{_commandcooldownTEMPMSG}%" from {cm448-CommandCooldown-Words::*} send "{@prefix} &aSuccessfully remove &e%{_commandcooldownTEMPMSG}%&a. List Words: &e%{cm448-CommandCooldown-Words::*}%&a. Remove more words or write &cdone &ato complete the setup {@commandcooldownPREFIX}" to player stop trigger if {cm448-CommandCooldown-TempData::*} doesn't contain "%{_commandcooldownTEMPMSG}%": send "{@prefix} &cThat command is already removed!" to player stop trigger else: delete {cm448.CommandCooldown2.removewords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsCommandCooldown" stop trigger else if {cm448.AntiBadwords2.addwords.%player%} is set: cancel event if message is not "done": wait 1 tick if {cm448-AntiBadwords-Words::*} doesn't contain message: add message to {cm448-AntiBadwords-Words::*} send "{@prefix} &aSuccessfully add &e%message%&a. List Words: &e%{cm448-AntiBadwords-Words::*}%&a. Add more words or write &cdone &ato complete the setup {@antibadwordPREFIX}" to player stop trigger if {cm448-AntiBadwords-Words::*} contains message: send "{@prefix} &cThat word is already added!" to player stop trigger else: delete {cm448.AntiBadwords2.addwords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsAntiBadword" stop trigger else if {cm448.AntiBadwords2.removewords.%player%} is set: cancel event if message is not "done": wait 1 tick if {cm448-AntiBadwords-Words::*} contains message: remove message from {cm448-AntiBadwords-Words::*} send "{@prefix} &aSuccessfully remove &e%message%&a. List Words: &e%{cm448-AntiBadwords-Words::*}%&a. Remove more words or write &cdone &ato complete the setup {@antibadwordPREFIX}" to player stop if {cm448-AntiBadwords-Words::*} doesn't contain message: send "{@prefix} &cThat word is already removed!" to player stop trigger else: delete {cm448.AntiBadwords2.removewords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsAntiBadword" else if {cm448.CommandSpy2.addwords.%player%} is set: cancel event set {_commandspyTEMPMSG} to message if {_commandspyTEMPMSG} is not "done": wait 1 tick if {cm448-CommandSpy-TempData::*} doesn't contain {_commandspyTEMPMSG}: add "%{_commandspyTEMPMSG}%" to {cm448-CommandSpy-TempData::*} add "/%{_commandspyTEMPMSG}%" to {cm448-CommandSpy-Words::*} send "{@prefix} &aSuccessfully add &e%{_commandspyTEMPMSG}%&a. List Commands: &e%{cm448-CommandSpy-Words::*}%&a. Add more whitelist commands or write &cdone &ato complete the setup {@commandspyPREFIX}" to player stop trigger if {cm448-CommandSpy-TempData::*} contains {_commandspyTEMPMSG}: send "{@prefix} &cThat command is already added!" to player stop trigger else: delete {cm448.CommandSpy2.addwords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsCommandSpy" stop trigger else if {cm448.CommandSpy2.removewords.%player%} is set: cancel event set {_commandspyTEMPMSG} to message if {_commandspyTEMPMSG} is not "done": wait 1 tick if {cm448-CommandSpy-TempData::*} contains {_commandspyTEMPMSG}: remove "%{_commandspyTEMPMSG}%" from {cm448-CommandSpy-TempData::*} remove "/%{_commandspyTEMPMSG}%" from {cm448-CommandSpy-Words::*} send "{@prefix} &aSuccessfully remove &e%{_commandspyTEMPMSG}%&a. List Commands: &e%{cm448-CommandSpy-Words::*}%&a. Remove more whitelist commands or write &cdone &ato complete the setup {@commandspyPREFIX}" to player stop trigger if {cm448-CommandSpy-TempData::*} doesn't contain {_commandspyTEMPMSG}: send "{@prefix} &cThat command is already removed!" to player stop trigger else: delete {cm448.CommandSpy2.removewords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsCommandSpy" stop trigger else if {cm448.BlockCommands2.addwords.%player%} is set: cancel event set {_blockcmdTEMPMSG} to message if {_blockcmdTEMPMSG} is not "done": wait 1 tick if {cm448-BlockCommands-TempData::*} doesn't contain {_blockcmdTEMPMSG}: add "%{_blockcmdTEMPMSG}%" to {cm448-BlockCommands-TempData::*} add "/%{_blockcmdTEMPMSG}%" to {cm448-BlockCommands-Words::*} send "{@prefix} &aSuccessfully add &e%{_blockcmdTEMPMSG}%&a. List Commands: &e%{cm448-BlockCommands-Words::*}%&a. Add more blacklist commands or write &cdone &ato complete the setup {@blockcommandPREFIX}" to player stop trigger if {cm448-BlockCommands-TempData::*} contains {_blockcmdTEMPMSG}: send "{@prefix} &cThat command is already added!" to player stop trigger else: delete {cm448.BlockCommands2.addwords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsBlockCommands" stop trigger else if {cm448.BlockCommands2.removewords.%player%} is set: cancel event set {_blockcmdTEMPMSG} to message if {_blockcmdTEMPMSG} is not "done": wait 1 tick if {cm448-BlockCommands-TempData::*} contains {_blockcmdTEMPMSG}: remove "%{_blockcmdTEMPMSG}%" from {cm448-BlockCommands-TempData::*} remove "/%{_blockcmdTEMPMSG}%" from {cm448-BlockCommands-Words::*} send "{@prefix} &aSuccessfully remove &e%{_blockcmdTEMPMSG}%&a. List Commands: &e%{cm448-BlockCommands-Words::*}%&a. Remove more blacklist commands or write &cdone &ato complete the setup {@blockcommandPREFIX}" to player stop trigger if {cm448-BlockCommands-TempData::*} doesn't contain {_blockcmdTEMPMSG}: send "{@prefix} &cThat command is already removed!" to player stop trigger else: delete {cm448.BlockCommands2.removewords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsBlockCommands" stop trigger else if {cm448.AntiAdvertise2.addwords.%player%} is set: cancel event if message is not "done": wait 1 tick if {cm448-AntiAdvertise-Words::*} doesn't contain message: add message to {cm448-AntiAdvertise-Words::*} send "{@prefix} &aSuccessfully add &e%message%&a. List Words: &e%{cm448-AntiAdvertise-Words::*}%&a. Add more words or write &cdone &ato complete the setup {@antiadvertisePREFIX}" to player stop trigger if {cm448-AntiAdvertise-Words::*} contains message: send "{@prefix} &cThat word is already added!" to player stop trigger else: delete {cm448.AntiAdvertise2.addwords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsAntiAdvertise" stop trigger else if {cm448.AntiAdvertise2.removewords.%player%} is set: cancel event if message is not "done": wait 1 tick if {cm448-AntiAdvertise-Words::*} contains message: remove message from {cm448-AntiAdvertise-Words::*} send "{@prefix} &aSuccessfully remove &e%message%&a. List Words: &e%{cm448-AntiAdvertise-Words::*}%&a. Remove more words or write &cdone &ato complete the setup {@antiadvertisePREFIX}" to player stop trigger if {cm448-AntiAdvertise-Words::*} doesn't contain message: send "{@prefix} &cThat word is already removed!" to player stop trigger else: delete {cm448.AntiAdvertise2.removewords.%player%} send "{@prefix} &aSuccessfully completed setup" to player make player execute command "/cm settingsAntiAdvertise" stop trigger else if {cm448.AntiSpam2.changecooldown.%player%} is set: cancel event if message is not "done": wait 1 tick set {_cm448.antispam.setupTimeMSG} to "seconds" set {_antispammsg} to message wait 1 tick if {_antispammsg} contains {_cm448.antispam.setupTimeMSG}: if {_antispammsg} is {_cm448.antispam.setupTimeMSG}: set {cm448.antispam} to {_antispammsg} send "{@prefix} &aSuccessfully changed to &e%{_antispammsg}%&a. Change cooldown time again or write &cdone &ato complete the setup {@antispamPREFIX}" to player send "&7> Current Cooldown Time: &e%{cm448.antispam}%" to player if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.antispam.setupTimeMSG}%" to player stop trigger else: set {cm448.antispam} to {_antispammsg} send "{@prefix} &aSuccessfully changed to &e%{_antispammsg}%&a. Change cooldown time again or write &cdone &ato complete the setup {@antispamPREFIX}" to player send "&7> Current Cooldown Time: &e%{cm448.antispam}%" to player if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.antispam.setupTimeMSG}%" to player stop trigger else: send "{@prefix} &cYou must write down the type of time specified!" to player send "&7> Example: 3 seconds" to player if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.antispam.setupTimeMSG}%" to player stop trigger else: delete {cm448.AntiSpam2.changecooldown.%player%} send "{@prefix} &aSuccessfully completed setup!" to player make player execute command "/cm settingsAntiSpam" stop trigger else if {cm448.CommandCooldown2.changecooldown.%player%} is set: cancel event if message is not "done": wait 1 tick set {_cm448.CommandCooldown.setupTimeMSG} to "seconds" set {_CommandCooldownmsg} to message wait 1 tick if {_CommandCooldownmsg} contains {_cm448.CommandCooldown.setupTimeMSG}: if {_CommandCooldownmsg} is {_cm448.CommandCooldown.setupTimeMSG}: set {cm448.CommandCooldown} to {_CommandCooldownmsg} send "{@prefix} &aSuccessfully changed to &e%{_CommandCooldownmsg}%&a. Change cooldown time again or write &cdone &ato complete the setup {@commandcooldownPREFIX}" to player send "&7> Current Cooldown Time: &e%{cm448.CommandCooldown}%" if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.CommandCooldown.setupTimeMSG}%" to player stop trigger else: set {cm448.CommandCooldown} to {_CommandCooldownmsg} send "{@prefix} &aSuccessfully changed to &e%{_CommandCooldownmsg}%&a. Change cooldown time again or write &cdone &ato complete the setup {@commandcooldownPREFIX}" to player send "&7> Current Cooldown Time: &e%{cm448.CommandCooldown}%" if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.CommandCooldown.setupTimeMSG}%" to player stop trigger else: send "{@prefix} &cYou must write down the type of time specified!" to player send "&7> Example: 5 seconds" to player if {cm448.debug} = true: send "{@debugprefix} &7%{_cm448.CommandCooldown.setupTimeMSG}%" to player stop trigger else: delete {cm448.CommandCooldown2.changecooldown.%player%} send "{@prefix} &aSuccessfully completed setup!" to player make player execute command "/cm settingsCommandCooldown" stop trigger #---------- Update Notification ----------# on join: if {cm448.updatealert.%player%} is true: if player has permission "chatmanager.loop.update" or "{@permission}": wait 10 ticks send "{@prefix} &aChecking a new updates..." to player wait 1 seconds if text from "{@updatelink}" is not "{@version}": set {_update.version} to text from "{@updatelink}" wait 0.4 seconds send "{@line}" to player send "{@prefix} &eAn Updates are Available!" to player send "&7> &eNew Version: &a&l%{_update.version}%" to player send "&7> &eYour skript version: &7(&c{@version}&7)" to player send formatted "&7> &eDownload New Version Now: &6&nClick here" to player send "{@line}" to player set {chatmanager448.newupdates.notif} to "&6Updates Available!" else if text from "{@updatelink}" is "{@version}": send "{@prefix} &aThe skript is running with the latest version &6&l(&e{@version}&6&l)" to player set {chatmanager448.newupdates.notif} to "" else: send "{@prefix} &cError: Failed to check the updates, Please contact &6Theindo448." to player #---------- System Properties ----------# on command: if sender is player: if {cm448.system.block} is true: set {_blockcmdplayermessage} to command if player has permission "chatmanager.bypass.blockcmd", "chatmanager.bypass" or "{@permission}": stop trigger else: loop {cm448-BlockCommands-Words::*}: if loop-value contains {_blockcmdplayermessage}: cancel event send "{@nopermission}" to player if {cm448.logsystem} is true: log "{@prefix} {@blockcommandID} %player% > %complete command%" to "{@fileLogSystem}" if {cm448.debug} = true: send "{@debugprefix} &6Found &ccommand that has been blocked from %player%'s chat &7(&cBlockCommands&7)" to console stop trigger else: if {cm448.debug} = true: send "{@debugprefix} &cNo command found that has been blocked from %player%'s chat &7(&cBlockCommands&7)" to console stop trigger if {cm448.commandspy.system} is true: set {_cmdspyplayermessage} to command if player has permission "chatmanager.bypass.cmdspy", "chatmanager.bypass" or "{@permission}": stop trigger else: wait 0.2 seconds loop all players: if loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.cmdspy" or "{@permission}": if player is not loop-player: loop {cm448-CommandSpy-Words::*}: if loop-value-2 contains {_cmdspyplayermessage}: if {cm448.debug} = true: send "{@debugprefix} &cNo command exceptions were found from %player% &7(&6CommandSpy&7)" to console send "{@line}" to loop-player send "{@prefix} &cCommand Spy" to loop-player send "&c%player% &6executed command &e%complete command%" to loop-player send "{@line}" to loop-player stop trigger else: if {cm448.debug} = true: send "{@debugprefix} &cFound exception command from %player% &7(&6CommandSpy&7)" to console if {cm448.system.commandcooldown} is true: if sender is player: if player has permission "chatmanager.bypass.commandcooldown", "chatmanager.bypass" or "{@permission}": stop trigger else: set {_commandcooldownmsg} to command loop {cm448-CommandCooldown-Words::*}: loop-value contains {_commandcooldownmsg} set {_commandcooldownwaited} to difference between {cm448.commandcooldown.%player%.lastused} and now set {_commandcooldownTimespam} to "%{cm448.commandcooldown}%" parsed as timespan if {_commandcooldownwaited} is less than {_commandcooldownTimespam}: send "{@prefix} {@CommandCooldown-BlockMSG}" to player cancel event stop trigger set {cm448.commandcooldown.%player%.lastused} to now on command: if sender is player: if {cm448.system.adv} is true: set {_advplayermessage} to complete command if player has permission "chatmanager.bypass.antiadv", "chatmanager.bypass" or "{@permission}": stop trigger else: if {cm448.AntiAdvertise.ProtectLevel} is "Strict": replace all " ", "/", "^", "*", "##", ".", "$$", "<", ">", "\", "/", ":", ";", "[", "]", "{", "}", "(", ")", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "{}", "[]", "()", "<>", "=", "-", "&", "@", "~", ",", "!", """", "'", "|", "%%", "Aa","Bb", "Cc", "Dd", "Ee", "Ff", "Gg", "Hh", "Ii", "Jj", "Kk", "Ll", "Mm", "Nn", "Oo", "Pp", "Qq", "Rr", "Ss", "Tt", "Uu", "Vv", "Ww", "Xx", "Yy", and "Zz" with "" in {_advplayermessage} loop {cm448-AntiAdvertise-Words::*}: if {_advplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s chat &7(&bAntiAdvertise&7)" to console message "{@line}" to console message "{@prefix} &cAdvertisement Block System" to console message "&7%player% &b> &a/%complete command%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antiadvertiseID} %player% > /%complete command%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &eAdvertisement Block System" to loop-player message "&7%player% » &a/%complete command%" to loop-player message "{@line}" to loop-player if {cm448.AntiAdvertise.BlockType} is "Block": send "{@prefix} {@AntiAdvertise-BlockMSG}" to player cancel event else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s chat&7(&bAntiAdvertise&7)" to console if {cm448.system.badword} is true: set {_badwordplayermessage} to complete command if player has permission "chatmanager.bypass.antibadword", "chatmanager.bypass" or "{@permission}": stop trigger else: if {cm448.AntiBadword.ProtectLevel} is "Strict": replace all " ", "/", "^", "*", "##", ".", "$$", "<", ">", "\", "/", ":", ";", "[", "]", "{", "}", "(", ")", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "{}", "[]", "()", "<>", "=", "-", "&", "@", "~", ",", "!", """", "'", "|", "%%", "Aa","Bb", "Cc", "Dd", "Ee", "Ff", "Gg", "Hh", "Ii", "Jj", "Kk", "Ll", "Mm", "Nn", "Oo", "Pp", "Qq", "Rr", "Ss", "Tt", "Uu", "Vv", "Ww", "Xx", "Yy", and "Zz" with "" in {_badwordplayermessage} loop {cm448-AntiBadwords-Words::*}: if {_badwordplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s &cchat &7(&dAntiBadword&7)" to console message "{@line}" to console message "{@prefix} &6Badword Block System" to console message "&6%player% &7> &c/%complete command%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antibadwordID} %player% > /%complete command%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &6Badword Block System" to loop-player message "&6%player% &7» &c/%complete command%" to loop-player message "{@line}" to loop-player if {cm448.AntiBadwords.BlockType} is "Block": send "{@prefix} {@AntiBadword-BlockMSG}" to player cancel event else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s &cchat &7(&dAntiBadword&7)" to console on chat: if sender is player: if {cm448.chat.mute} is true: if player has permission "chatmanager.bypass.chatmute", "chatmanager.bypass" or "{@permission}": stop trigger else: message "{@prefix} {@GlobalChat-BlockMSG}" to player cancel event if {cm448.system.adv} is true: set {_advplayermessage} to message if player has permission "chatmanager.bypass.antiadv", "chatmanager.bypass" or "{@permission}": stop trigger else: if {cm448.AntiAdvertise.ProtectLevel} is "Normal": loop {cm448-AntiAdvertise-Words::*}: if {_advplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s chat &7(&bAntiAdvertise&7)" to console message "{@line}" to console message "{@prefix} &cAdvertisement Block System" to console message "&7%player% &b> &a%message%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antiadvertiseID} %player% > %message%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &eAdvertisement Block System" to loop-player message "&7%player% » &a%message%" to loop-player message "{@line}" to loop-player if {cm448.AntiAdvertise.BlockType} is "Block": send "{@prefix} {@AntiAdvertise-BlockMSG}" to player cancel event if {cm448.AntiAdvertise.BlockType} is "Censored": if {_advplayermessage} is loop-value: replace all loop-value in the message with "***" else: replace all loop-value in the message with "***" else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s chat&7(&bAntiAdvertise&7)" to console if {cm448.AntiAdvertise.ProtectLevel} is "Strict": replace all " ", "/", "^", "*", "##", ".", "$$", "<", ">", "\", "/", ":", ";", "[", "]", "{", "}", "(", ")", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "{}", "[]", "()", "<>", "=", "-", "&", "@", "~", ",", "!", """", "'", "|", "%%", "Aa","Bb", "Cc", "Dd", "Ee", "Ff", "Gg", "Hh", "Ii", "Jj", "Kk", "Ll", "Mm", "Nn", "Oo", "Pp", "Qq", "Rr", "Ss", "Tt", "Uu", "Vv", "Ww", "Xx", "Yy", and "Zz" with "" in {_advplayermessage} loop {cm448-AntiAdvertise-Words::*}: if {_advplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s chat &7(&bAntiAdvertise&7)" to console message "{@line}" to console message "{@prefix} &cAdvertisement Block System" to console message "&7%player% &b> &a%message%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antiadvertiseID} %player% > %message%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &eAdvertisement Block System" to loop-player message "&7%player% » &a%message%" to loop-player message "{@line}" to loop-player if {cm448.AntiAdvertise.BlockType} is "Block": send "{@prefix} {@AntiAdvertise-BlockMSG}" to player cancel event if {cm448.AntiAdvertise.BlockType} is "Censored": if {_advplayermessage} is loop-value: replace all loop-value in the message with "***" else: replace all loop-value in the message with "***" else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s chat&7(&bAntiAdvertise&7)" to console if {cm448.system.badword} is true: set {_badwordplayermessage} to message if player has permission "chatmanager.bypass.antibadword", "chatmanager.bypass" or "{@permission}": stop trigger else: if {cm448.AntiBadword.ProtectLevel} is "Normal": loop {cm448-AntiBadwords-Words::*}: if {_badwordplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s &cchat &7(&dAntiBadword&7)" to console message "{@line}" to console message "{@prefix} &6Badword Block System" to console message "&6%player% &7> &c%message%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antibadwordID} %player% > %message%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &6Badword Block System" to loop-player message "&6%player% &7» &c%message%" to loop-player message "{@line}" to loop-player if {cm448.AntiBadwords.BlockType} is "Block": send "{@prefix} {@AntiBadword-BlockMSG}" to player cancel event if {cm448.AntiBadwords.BlockType} is "Censored": if {_badwordplayermessage} is loop-value: replace all loop-value in the message with "***" else: replace all loop-value in the message with "***" else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s &cchat &7(&dAntiBadword&7)" to console if {cm448.AntiBadword.ProtectLevel} is "Strict": replace all " ", "/", "^", "*", "##", ".", "$$", "<", ">", "\", "/", ":", ";", "[", "]", "{", "}", "(", ")", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "{}", "[]", "()", "<>", "=", "-", "&", "@", "~", ",", "!", """", "'", "|", "%%", "Aa","Bb", "Cc", "Dd", "Ee", "Ff", "Gg", "Hh", "Ii", "Jj", "Kk", "Ll", "Mm", "Nn", "Oo", "Pp", "Qq", "Rr", "Ss", "Tt", "Uu", "Vv", "Ww", "Xx", "Yy", and "Zz" with "" in {_badwordplayermessage} loop {cm448-AntiBadwords-Words::*}: if {_badwordplayermessage} contains loop-value: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &6Found &cthe word blacklist in the %player%'s &cchat &7(&dAntiBadword&7)" to console message "{@line}" to console message "{@prefix} &6Badword Block System" to console message "&6%player% &7> &c%message%" to console message "{@line}" to console if {cm448.logsystem} is true: log "{@prefix} {@antibadwordID} %player% > %message%" to "{@fileLogSystem}" loop all players: loop-player has permission "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": message "{@line}" to loop-player message "{@prefix} &6Badword Block System" to loop-player message "&6%player% &7» &c%message%" to loop-player message "{@line}" to loop-player if {cm448.AntiBadwords.BlockType} is "Block": send "{@prefix} {@AntiBadword-BlockMSG}" to player cancel event if {cm448.AntiBadwords.BlockType} is "Censored": if {_badwordplayermessage} is loop-value: replace all loop-value in the message with "***" else: replace all loop-value in the message with "***" else: if {cm448.debug} = true: {cm448.spam.detection.%player%} is not set send "{@debugprefix} &cNo word blacklist found in %player%'s &cchat &7(&dAntiBadword&7)" to console if {cm448.system.spam} is true: if player has permission "chatmanager.bypass.antispam", "chatmanager.bypass" or "{@permission}": stop trigger else: set {_waited} to difference between {cm448.antispam.%player%.lastused} and now set {_Timespam} to "%{cm448.antispam}%" parsed as timespan if {_waited} is less than {_Timespam}: set {cm448.spam.detection.%player%} to true send "{@prefix} {@AntiSpam-BlockMSG}" to player cancel event if {cm448.debug} = true: send "{@debugprefix} &6Stop Spamming message from %player% &7(&eAntiSpam&7)" to console stop trigger set {cm448.antispam.%player%.lastused} to now delete {cm448.spam.detection.%player%} on chat: if {cm448.mentionToggle} = true: loop all players: if message contains "%loop-player%": replace all "%loop-player%" with "&e&l@%loop-player%&r" in message play sound "{@MentionSOUND}" with volume 1 to loop-player send action bar "&6Someone just mentioned you in chat" to loop-player #---------- Commands ----------# command /chatmanager [] [] []: description: Set the chatmanager aliases: /cm trigger: if executor is player: if player has permission "chatmanager.admin.*" or "chatmanager.admin.core" or "{@permission}": if arg 1 is not set: make player execute command "/cm gui" stop trigger if arg 1 is "help" or "gui": open chest with 3 rows named "{@prefix} &aMain Menu" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI." to close format slot 11 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI." to run [make player execute command "/chatmanager help"] format slot 12 of player with paper named "&bInformation" with lore "&7Click to show the information." to run [make player execute command "/chatmanager info"] format slot 13 of player with iron sword named "&6Reload" with lore "&7Click to reload the skript." to run [make player execute command "/chatmanager reload"] format slot 15 of player with water bucket named "&aUtilities" with lore "&7Click to open GUI for Utilities." to run [make player execute command "/chatmanager utilities"] format slot 14 of player with redstone named "&eSystem Config" with lore "&7Click to open GUI for System Config." to run [make player execute command "/chatmanager system"] stop trigger if arg 1 is "updateselect": open chest with 3 rows named "&aUpdate System" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager utilities"] format slot 11 of player with redstone named "&aUpdate Notifications" with lore "&7Click to enable/disable Update Notifications." to run [make player execute command "/chatmanager updatealert"] format slot 15 of player with paper named "&eCheck Updates" with lore "&7Click to check the new updates." to run [make player execute command "/cm checkupdate"] stop trigger if arg 1 is "utilities": open chest with 3 rows named "{@prefix} &aUtilities" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager help"] format slot 11 of player with minecart with chest named "&aUpdate System" with lore "&7Click to open GUI for update system." to run [make player execute command "/chatmanager updateselect"] format slot 12 of player with lapis lazuli block named "&cGlobal Chat" with lore "&7Click to mute the globalchat." to run [make player execute command "/chatmanager chatmute"] format slot 13 of player with paper named "&eMention" with lore "&7Click to open GUI for Player Mention." to run [make player execute command "/chatmanager mention"] format slot 14 of player with water bucket named "&dClearchat" with lore "&7Click to open GUI for clearchat." to run [make player execute command "/chatmanager clearchat"] format slot 15 of player with stick named "&3Debug" with lore "&7Click to open GUI for Debug." to run [make player execute command "/chatmanager debug"] stop trigger if arg 1 is "mention": open chest with 3 rows named "{@prefix} &eMention" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager utilities"] format slot 13 of player with paper named "&eToggle" with lore "&7Set the &eMention &7system to be turned on / off" and "&7Current Status: &e%{cm448.mentionToggle}%" to run [make player execute command "/chatmanager mention-Toggle"] stop trigger if arg 1 is "mention-Toggle": if {cm448.mentionToggle} = false: set {cm448.mentionToggle} to true send "{@prefix} &aSuccessfully enabled &eMention &asystem&a!" to player send "{@prefix} &a%player% &ajust enabled the &eMention &asystem" to console stop trigger if {cm448.mentionToggle} = true: set {cm448.mentionToggle} to false send "{@prefix} &c%player% &cjust disabled the &eMention &csystem" to console send "{@prefix} &cSuccessfully disabled &eMention &csystem&c!" to player stop trigger if arg 1 is "debug": open chest with 3 rows named "{@prefix} &3Debug" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager utilities"] format slot 13 of player with paper named "&3Toggle" with lore "&7&7Set the &3Debug &7system to be turned on / off" and "&7Current Status: &3%{cm448.debug}%" to run [make player execute command "/chatmanager debug-Toggle"] stop trigger if arg 1 is "debug-Toggle": if {cm448.debug} = false: set {cm448.debug} to true send "{@prefix} &aSuccessfully enabled &3Debug Mode&a!" to player send "{@prefix} &a%player% &ajust enabled the &3Debug Mode" to console stop trigger if {cm448.debug} = true: set {cm448.debug} to false send "{@prefix} &c%player% &cjust disabled the &3Debug Mode" to console send "{@prefix} &cSuccessfully disabled &3Debug Mode&c!" to player stop trigger if arg 1 is "checkupdate": send "{@prefix} &aChecking a new updates ...." to player wait 1 seconds if text from "{@updatelink}" is not "{@version}": set {_update.version} to text from "{@updatelink}" wait 0.4 seconds send "{@line}" to player send "{@prefix} &eAn Updates are Available!" to player send "&7> &eNew Version: &a&l%{_update.version}%" to player send "&7> &eYour skript version: &7(&c{@version}&7)" to player send formatted "&7> &eDownload New Version Now: &6&nClick here" to player send "{@line}" to player set {chatmanager448.newupdates.notif} to "&6Updates Available!" stop trigger else if text from "{@updatelink}" is "{@version}": send "{@prefix} &aThe skript is running with the latest version &6&l(&e{@version}&6&l)" to player set {chatmanager448.newupdates.notif} to "" stop trigger else: send "{@prefix} &cError: Failed to check the updates, Please contact &6Theindo448." to player stop trigger if arg 1 is "resetall": set {_user} to player set {cm448.chat.mute} to false set {cm448.system.adv} to false set {cm448.system.badword} to false set {cm448.system.spam} to false set {cm448.system.block} to false set {cm448.system.commandcooldown} to false set {cm448.commandspy.system} to false set {cm448.updatealert.%{_user}%} to true set {cm448.CommandCooldown} to "5 seconds" set {cm448.antispam} to "3 seconds" set {cm448.AntiAdvertise.ProtectLevel} to "Normal" set {cm448.AntiBadword.ProtectLevel} to "Normal" set {cm448.AntiAdvertise.BlockType} to "Block" set {cm448.AntiBadwords.BlockType} to "Block" delete {cm448-AntiBadwords-Words::*} delete {cm448-CommandSpy-Words::*} delete {cm448-CommandSpy-TempData::*} delete {cm448-BlockCommands-Words::*} delete {cm448-BlockCommands-TempData::*} delete {cm448-AntiAdvertise-Words::*} delete {cm448-CommandCooldown-Words::*} delete {cm448-CommandCooldown-TempData::*} delete {cm448.AntiBadwords2.addwords.%{_user}%} delete {cm448.AntiAdvertise2.addwords.%{_user}%} delete {cm448.BlockCommands2.addwords.%{_user}%} delete {cm448.CommandSpy2.addwords.%{_user}%} delete {cm448.CommandCooldown2.addwords.%{_user}%} delete {cm448.AntiBadwords2.removewords.%{_user}%} delete {cm448.AntiAdvertise2.removewords.%{_user}%} delete {cm448.BlockCommands2.removewords.%{_user}%} delete {cm448.CommandSpy2.removewords.%{_user}%} delete {cm448.CommandCooldown2.removewords.%{_user}%} delete {cm448.AntiSpam2.changecooldown.%{_user}%} delete {cm448.CommandCooldown2.changecooldown.%{_user}%} wait 0.2 seconds send "{@prefix} &aSuccessfully reset all &evariables&a!" to player stop trigger if arg 1 is "resetsystem": set {cm448.chat.mute} to false set {cm448.system.adv} to false set {cm448.system.badword} to false set {cm448.system.spam} to false set {cm448.system.block} to false set {cm448.system.commandcooldown} to false set {cm448.commandspy.system} to false set {cm448.CommandCooldown} to "5 seconds" set {cm448.antispam} to "3 seconds" set {cm448.AntiAdvertise.ProtectLevel} to "Normal" set {cm448.AntiBadword.ProtectLevel} to "Normal" set {cm448.AntiAdvertise.BlockType} to "Block" set {cm448.AntiBadwords.BlockType} to "Block" wait 0.2 seconds send "{@prefix} &aSuccessfully reset all &esystem&a!" to player stop trigger if arg 1 is "resetdata": delete {cm448-AntiBadwords-Words::*} delete {cm448-CommandSpy-Words::*} delete {cm448-CommandSpy-TempData::*} delete {cm448-BlockCommands-Words::*} delete {cm448-BlockCommands-TempData::*} delete {cm448-AntiAdvertise-Words::*} delete {cm448-CommandCooldown-Words::*} delete {cm448-CommandCooldown-TempData::*} wait 0.2 seconds send "{@prefix} &aSuccessfully reset all &edata&a!" to player stop trigger if arg 1 is "logsystem": if {cm448.logsystem} is false: set {cm448.logsystem} to true send "{@prefix} &aSuccessfully enabled &3Log System" stop trigger else: set {cm448.logsystem} to false send "{@prefix} &cSuccessfully disabled &3Log System" stop trigger if arg 1 is "updatealert": if {cm448.updatealert.%player%} is false: set {cm448.updatealert.%player%} to true send "{@prefix} &aUpdate Notification has been enabled!" to player stop trigger else: set {cm448.updatealert.%player%} to false send "{@prefix} &cUpdate Notification has been disabled!" to player stop trigger if arg 1 is "info" or "about": send "{@lineprefix}" send "&7> &aCreator: &eTheindo448" send "&7> &aVersion: &c{@version}" send "&7> &aType: &eRegular Version" send "&7>" send "&7> &aLicence: &6&nClick here" send "&7> &aLink: &6&nClick here" send "{@line}" stop trigger if arg 1 is "rel" or "reload": reload skript "{@filename}" wait 2 ticks send "{@prefix} &aThe skript has been reloaded!" to player stop trigger #---------------------------------------------------------------------------------------------------------------- if arg 1 is "system": open chest with 6 rows named "{@prefix} &eSystem" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager help"] format slot 40 of player with dispenser named "&3Log system" with lore "&7Click to set this system to be turned on / off", "&7Current Status: &3%{cm448.logsystem}%", "", "&7Note: Proof of violation from the player will be stored in" and "plugins/Skript/logs/{@fileLogSystem}" to run [make player execute command "/chatmanager logsystem"] format slot 42 of player with chest named "&6List" with lore "&7Click to show the list all systems (+ status)" to run [make player execute command "/chatmanager listsystems"] format slot 25 of player with piston named "&aCommand Cooldown &7System" with lore "&7Click to open settings for &aCommand Cooldown &7system" to run [make player execute command "/chatmanager settingsCommandCooldown"] format slot 24 of player with paper named "&bAnti Advertise &7System" with lore "&7Click to open settings for &bAnti Advertise &7system" to run [make player execute command "/chatmanager settingsAntiAdvertise"] format slot 23 of player with iron bars named "&cBlock Commands &7System" with lore "&7Click to open settings for &cBlock Commands &7system" to run [make player execute command "/chatmanager settingsBlockCommands"] format slot 21 of player with hopper named "&6CommandSpy &7System" with lore "&7Click to open settings for &6CommandSpy &7system" to run [make player execute command "/chatmanager settingsCommandSpy"] format slot 20 of player with minecart named "&eAnti Spam &7System" with lore "&7Click to open settings for &eAnti Spam &7system" to run [make player execute command "/chatmanager settingsAntiSpam"] format slot 19 of player with redstone comparator named "&dAnti Badwords &7System" with lore "&7Click to open settings for &dAnti Badwords &7system" to run [make player execute command "/chatmanager settingsAntiBadword"] format slot 38 of player with flint and steel named "&cReset Options" with lore formatted "&7Click to open the Reset GUI" to run [make player execute command "/chatmanager resetoptions"] stop trigger if arg 1 is "resetoptions": open chest with 3 rows named "{@prefix} &cReset Options" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 11 of player with lava bucket named "&cReset All" with lore formatted "&7Click to reset all system in Main System" and "" and "&c(Including &l&nSaved Data, Toggle System, and More variables&c)" to close then run [make player execute command "/chatmanager resetall"] format slot 13 of player with redstone torch named "&cReset &eData" with lore formatted "&7Click to reset all data in Main System" and "" and "&c(Including &l&nSaved Data&c)" to close then run [make player execute command "/chatmanager resetdata"] format slot 15 of player with tnt named "&cReset &6Settings" with lore "&7Click to reset all settings in Main System" and "" and "&c(Including &l&nToggle System&c)" to close then run [make player execute command "/chatmanager resetsystem"] stop trigger #Settings For AntiBadword if arg 1 is "settingsAntiBadword": open chest with 3 rows named "&2Settings for &dAntiBadword" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsAntiBadword"] format slot 11 of player with emerald block named "&aAdd Words" with lore "&7Click to add words" to close then run [make player execute command "/cm setupAdd-for-AntiBadword"] format slot 12 of player with gold block named "&eList Words" with lore "&7Click to check the words" to close then run [make player execute command "/cm setupList-for-AntiBadword"] format slot 13 of player with redstone block named "&cRemove Words" with lore "&7Click to remove words" to close then run [make player execute command "/cm setupRemove-for-AntiBadword"] format slot 14 of player with bow named "&6System Type" with lore "&7Click to change system type on &dAnti Badword &7system" and "&7Current System Type: &e%{cm448.AntiBadwords.BlockType}%" to run [make player execute command "/cm sysType-AntiBadword"] format slot 15 of player with magenta wool named "&dToggle" with lore "&7Set the &dAnti Badword &7system to be turned on / off" and "&7Current Status: &d%{cm448.system.badword}%" to run [make player execute command "/cm badword"] format slot 22 of player with stick named "&aProtection Level" with lore "&7Click to change the protection level on this system", "&7List Protection Level: &6Normal&7/&cStrict" and "&7Current Level: &e%{cm448.AntiBadword.ProtectLevel}%" to run [make player execute command "/cm ProtectLevel-AntiBadword"] stop trigger if arg 1 is "ProtectLevel-AntiBadword": if {cm448.AntiBadword.ProtectLevel} is "Normal": set {cm448.AntiBadword.ProtectLevel} to "Strict" send "{@prefix} &aSuccessfully changed to &e%{cm448.AntiBadword.ProtectLevel}%" to player stop trigger if {cm448.AntiBadword.ProtectLevel} is "Strict": set {cm448.AntiBadword.ProtectLevel} to "Normal" send "{@prefix} &aSuccessfully changed to &e%{cm448.AntiBadword.ProtectLevel}%" to player stop trigger if arg 1 is "sysType-AntiBadword": if {cm448.AntiBadwords.BlockType} is "Censored": set {cm448.AntiBadwords.BlockType} to "Block" loop all players: if loop-player has permission "chatmanager.loop.badword", "chatmanager.loop.*" or "{@nopermission}": send "{@prefix} &aThe system type has been changed to '%{cm448.AntiBadwords.BlockType}%'" to loop-player stop trigger if {cm448.AntiBadwords.BlockType} is "Block": set {cm448.AntiBadwords.BlockType} to "Censored" loop all players: if loop-player has permission "chatmanager.loop.badword", "chatmanager.loop.*" or "{@nopermission}": send "{@prefix} &aThe system type has been changed to '%{cm448.AntiBadwords.BlockType}%'" to loop-player stop trigger if arg 1 is "setupAdd-for-AntiBadword": set {cm448.AntiBadwords2.addwords.%player%} to true send "{@prefix} &aWhat words do you want to add? Write &cdone &ato cancel the setup" stop trigger if arg 1 is "setupList-for-AntiBadword": send "{@line}" send "{@prefix} &eList Words &7(&dAntiBadword&7)" send "" send "&e%{cm448-AntiBadwords-Words::*}%" send "" send "{@line}" stop trigger if arg 1 is "setupRemove-for-AntiBadword": set {cm448.AntiBadwords2.removewords.%player%} to true send "{@prefix} &aWhat words do you want to &eremove&a? Write &cdone &ato cancel the setup" stop trigger #Settings for CommandSpy if arg 1 is "settingsCommandSpy": open chest with 3 rows named "&2Settings for &6CommandSpy" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsCommandSpy"] format slot 11 of player with emerald block named "&aAdd Command" with lore "&7Click to add whitelist command" to close then run [make player execute command "/cm setupAdd-for-CommandSpy"] format slot 12 of player with gold block named "&eList Commands" with lore "&7Click to check the whitelist commands" to close then run [make player execute command "/cm setupList-for-CommandSpy"] format slot 13 of player with redstone block named "&cRemove Command" with lore "&7Click to remove whitelist command" to close then run [make player execute command "/cm setupRemove-for-CommandSpy"] format slot 15 of player with orange wool named "&6Toggle" with lore "&7Set the &6CommandSpy &7system to be turned on / off" and "&7Current Status: &6%{cm448.system.adv}%" to run [make player execute command "/cm cmdspy"] stop trigger if arg 1 is "setupAdd-for-CommandSpy": set {cm448.CommandSpy2.addwords.%player%} to true send "{@prefix} &aWhat commands do you want to add? Write &cdone &ato cancel the setup" stop trigger if arg 1 is "setupList-for-CommandSpy": send "{@line}" send "{@prefix} &eList Command(s) &7(&6CommandSpy&7)" send "" send "&e%{cm448-CommandSpy-Words::*}%" send "" send "{@line}" stop trigger if arg 1 is "setupRemove-for-CommandSpy": set {cm448.CommandSpy2.removewords.%player%} to true send "{@prefix} &aWhat commands do you want to &eremove&a? Write &cdone &ato cancel the setup" stop trigger #Settings for BlockCommands if arg 1 is "settingsBlockCommands": open chest with 3 rows named "&2Settings for &cBlockCommands" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsBlockCommands"] format slot 11 of player with emerald block named "&aAdd Command" with lore "&7Click to add blacklist command" to close then run [make player execute command "/cm setupAdd-for-BlockCommands"] format slot 12 of player with gold block named "&eList Commands" with lore "&7Click to check the blacklist commands" to close then run [make player execute command "/cm setupList-for-BlockCommands"] format slot 13 of player with redstone block named "&cRemove Command" with lore "&7Click to delete blacklist command" to close then run [make player execute command "/cm setupRemove-for-BlockCommands"] format slot 15 of player with red wool named "&cToggle" with lore "&7Set the &cBlock Commands &7system to be turned on / off" and "&7Current Status: &c%{cm448.system.block}%" to run [make player execute command "/cm blockcmd"] stop trigger if arg 1 is "setupAdd-for-BlockCommands": set {cm448.BlockCommands2.addwords.%player%} to true send "{@prefix} &aWhat command do you want to add? Write &cdone &ato cancel the setup" stop trigger if arg 1 is "setupList-for-BlockCommands": send "{@line}" send "{@prefix} &eList Commands &7(&cBlockCommands&7)" send "" send "&e%{cm448-BlockCommands-Words::*}%" send "" send "{@line}" stop trigger if arg 1 is "setupRemove-for-BlockCommands": set {cm448.BlockCommands2.removewords.%player%} to true send "{@prefix} &aWhat commands do you want to &eremove&a? Write &cdone &ato cancel the setup" stop trigger #Settings For AntiAdvertise if arg 1 is "settingsAntiAdvertise": open chest with 3 rows named "&2Settings for &bAntiAdvertise" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsAntiAdvertise"] format slot 11 of player with emerald block named "&aAdd Words" with lore "&7Click to add words" to close then run [make player execute command "/cm setupAdd-for-AntiAdvertise"] format slot 12 of player with gold block named "&eList Words" with lore "&7Click to check the words" to close then run [make player execute command "/cm setupList-for-AntiAdvertise"] format slot 13 of player with redstone block named "&cRemove Words" with lore "&7Click to delete words" to close then run [make player execute command "/cm setupRemove-for-AntiAdvertise"] format slot 14 of player with bow named "&6System Type" with lore "&7Click to change system type on &bAnti Advertise &7system" and "&7Current System Type: &e%{cm448.AntiAdvertise.BlockType}%" to run [make player execute command "/cm sysType-AntiAdvertise"] format slot 15 of player with light blue wool named "&bToggle" with lore "&7Set the &bAnti Advertise &7system to be turned on / off" and "&7Current Status: &b%{cm448.system.adv}%" to run [make player execute command "/cm advertise"] format slot 22 of player with stick named "&aProtection Level" with lore "&7Click to change the protection level on this system", "&7List Protection Level: &6Normal&7/&cStrict" and "&7Current Level: &e%{cm448.AntiAdvertise.ProtectLevel}%" to run [make player execute command "/cm ProtectLevel-AntiAdvertise"] stop trigger if arg 1 is "ProtectLevel-AntiAdvertise": if {cm448.AntiAdvertise.ProtectLevel} is "Normal": set {cm448.AntiAdvertise.ProtectLevel} to "Strict" send "{@prefix} &aSuccessfully changed to &e%{cm448.AntiAdvertise.ProtectLevel}%" to player stop trigger if {cm448.AntiAdvertise.ProtectLevel} is "Strict": set {cm448.AntiAdvertise.ProtectLevel} to "Normal" send "{@prefix} &aSuccessfully changed to &e%{cm448.AntiAdvertise.ProtectLevel}%" to player stop trigger if arg 1 is "sysType-AntiAdvertise": if {cm448.AntiAdvertise.BlockType} is "Censored": set {cm448.AntiAdvertise.BlockType} to "Block" loop all players: if loop-player has permission "chatmanager.loop.adv", "chatmanager.loop.*" or "{@nopermission}": send "{@prefix} &aThe system type has been changed to '%{cm448.AntiAdvertise.BlockType}%'" to loop-player stop trigger if {cm448.AntiAdvertise.BlockType} is "Block": set {cm448.AntiAdvertise.BlockType} to "Censored" loop all players: if loop-player has permission "chatmanager.loop.adv", "chatmanager.loop.*" or "{@nopermission}": send "{@prefix} &aThe system type has been changed to '%{cm448.AntiAdvertise.BlockType}%'" to loop-player stop trigger if arg 1 is "setupAdd-for-AntiAdvertise": set {cm448.AntiAdvertise2.addwords.%player%} to true send "{@prefix} &aWhat words do you want to add? Write &cdone &ato cancel the setup" stop trigger if arg 1 is "setupList-for-AntiAdvertise": send "{@line}" send "{@prefix} &eList Words &7(&bAntiAdvertise&7)" send "" send "&e%{cm448-AntiAdvertise-Words::*}%" send "" send "{@line}" stop trigger if arg 1 is "setupRemove-for-AntiAdvertise": set {cm448.AntiAdvertise2.removewords.%player%} to true send "{@prefix} &aWhat words do you want to &eremove&a? Write &cdone &ato cancel the setup" stop trigger #Settings For AntiSpam if arg 1 is "settingsAntiSpam": open chest with 3 rows named "&2Settings for &eAntiSpam" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsAntiSpam"] format slot 12 of player with emerald named "&aCooldown Time" with lore "&7Click to change cooldown time for &eAnti Spam" and "&7Current Cooldown Time: &e%{cm448.antispam}%" to close then run [make player execute command "/cm setupChange-for-AntiSpam"] format slot 14 of player with yellow wool named "&eToggle" with lore "&7Set the &eAnti Spam &7system to be turned on / off" and "&7Current Status: &e%{cm448.system.spam}%" to run [make player execute command "/cm spam"] stop trigger if arg 1 is "setupChange-for-AntiSpam": set {cm448.AntiSpam2.changecooldown.%player%} to true send "{@prefix} &aChoose the cooldown time on the AntiSpam system. Write &cdone &ato cancel the setup" send "&7> Example: 3 seconds" send "&7> Current Cooldown Time: &e%{cm448.antispam}%" stop trigger #Settings for CommandCooldown if arg 1 is "settingsCommandCooldown": open chest with 3 rows named "&2Settings for &aCommandCooldown" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List System" to run [make player execute command "/chatmanager system"] format slot 8 of player with grass named "&aRefresh" with lore "&7Click to refresh the GUI" to run [make player execute command "/cm settingsCommandCooldown"] format slot 11 of player with emerald block named "&aAdd Command" with lore "&7Click to add command" to close then run [make player execute command "/cm setupAdd-for-CommandCooldown"] format slot 12 of player with gold block named "&eList Commands" with lore "&7Click to check the commands" to close then run [make player execute command "/cm setupList-for-CommandCooldown"] format slot 13 of player with redstone block named "&cRemove Command" with lore "&7Click to remove command" to close then run [make player execute command "/cm setupRemove-for-CommandCooldown"] format slot 14 of player with iron ingot named "&aCooldown Time" with lore "&7Click to change cooldown time for &aCommand Cooldown" and "&7Current Cooldown Time: &e%{cm448.commandcooldown}%" to close then run [make player execute command "/cm setupChange-for-CommandCooldown"] format slot 15 of player with green wool named "&aToggle" with lore "&7Set the &aCommand Cooldown &7system to be turned on / off" and "&7Current Status: &a%{cm448.system.commandcooldown}%" to run [make player execute command "/cm commandcooldown"] stop trigger if arg 1 is "setupChange-for-CommandCooldown": set {cm448.CommandCooldown2.changecooldown.%player%} to true send "{@prefix} &aChoose the cooldown time on the 'Command Cooldown' system. Write &cdone &ato cancel the setup" send "&7> Example: 5 seconds" send "&7> Current Cooldown Time: &e%{cm448.CommandCooldown}%" stop trigger if arg 1 is "setupAdd-for-CommandCooldown": set {cm448.CommandCooldown2.addwords.%player%} to true send "{@prefix} &aWhat command do you want to add? Write &cdone &ato cancel the setup" stop trigger if arg 1 is "setupList-for-CommandCooldown": send "{@line}" send "{@prefix} &eList Commands &7(&aCommandCooldown&7)" send "" send "&e%{cm448-CommandCooldown-Words::*}%" send "" send "{@line}" stop trigger if arg 1 is "setupRemove-for-CommandCooldown": set {cm448.CommandCooldown2.removewords.%player%} to true send "{@prefix} &aWhat command do you want to &eremove&a? Write &cdone &ato cancel the setup" stop trigger #---------------------------------------------------------------------------------------------------------------- if arg 1 is "listsystems": wait 1 tick send "{@line}" send "{@prefix} &bList all systems (+ Status)" send "" send "&8>=- &7Systems:" send "" send formatted "&8> &d&lAntiBadword" send formatted "&8> &e&lAntiSpam" send formatted "&8> &6&lCommandSpy" send formatted "&8> &c&lBlockCommands" send formatted "&8> &b&lAntiAdvertise" send formatted "&8> &a&lCommandCooldown" send "" send "&8>=- &7Utilities:" send "" send "&8> &eChatMute: &6%{cm448.chat.mute}%" send "&8> &eMention: &6%{cm448.mentionToggle}%" send "&8> &eDebug: &6%{cm448.debug}%" send "&8> &eLog System: &6%{cm448.logsystem}%" send "{@line}" stop trigger if arg 1 is "commandcooldown": if {cm448.system.commandcooldown} is false: set {cm448.system.commandcooldown} to true send "{@prefix} &aThe Command Cooldown system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.commandcooldown" or "{@permission}": send "{@prefix} &aThe Command Cooldown system has been enabled by &e%player%" to loop-player else: set {cm448.system.CommandCooldown} to false send "{@prefix} &cThe Command Cooldown system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.commandcooldown" or "{@permission}": send "{@prefix} &cThe Command Cooldown system has been disabled by &e%player%" to loop-player if arg 1 is "advertise" or "adv": if {cm448.system.adv} is false: set {cm448.system.adv} to true send "{@prefix} &aThe Anti Advertise system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": send "{@prefix} &aThe Anti Advertise system has been enabled by &e%player%" to loop-player else: set {cm448.system.adv} to false send "{@prefix} &cThe Anti Advertise system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": send "{@prefix} &cThe Anti Advertise system has been disabled by &e%player%" to loop-player if arg 1 is "badword" or "badwords" or "toxic": if {cm448.system.badword} is false: set {cm448.system.badword} to true send "{@prefix} &aThe Anti Badword system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": send "{@prefix} &aThe Anti Badword system has been enabled by &e%player%" to loop-player else: set {cm448.system.badword} to false send "{@prefix} &cThe Anti Badword system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": send "{@prefix} &cThe Anti Badword system has been disabled by &e%player%" to loop-player if arg 1 is "spam" or "spamming": if {cm448.system.spam} is false: set {cm448.system.spam} to true send "{@prefix} &aThe Anti Spam system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.antispam" or "{@permission}": send "{@prefix} &aThe Anti Spam system has been enabled by &e%player%" to loop-player else: set {cm448.system.spam} to false send "{@prefix} &cThe Anti Spam system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.antispam" or "{@permission}": send "{@prefix} &cThe Anti Spam system has been disabled by &e%player%" to loop-player if arg 1 is "chatmute": if {cm448.chat.mute} is false: set {cm448.chat.mute} to true broadcast "{@prefix} &cThe GlobalChat has been disabled! Only staff can chat now!" else: set {cm448.chat.mute} to false broadcast "{@prefix} &aThe GlobalChat has been enabled! You can chat now!" if arg 1 is "blockcmd" or "blockcommand": if {cm448.system.block} is false: set {cm448.system.block} to true send "{@prefix} &aThe Block Commands system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin.*", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.blockcmd" or "{@permission}": send "{@prefix} &aThe Block Commands system has been enabled by &e%player%" to loop-player else: set {cm448.system.block} to false send "{@prefix} &cThe Block Commands system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin.*", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.blockcmd" or "{@permission}": send "{@prefix} &cThe Block Commands system has been disabled by &e%player%" to loop-player if arg 1 is "commandspy" or "cmdspy": if {cm448.commandspy.system} is false: set {cm448.commandspy.system} to true send "{@prefix} &aThe CommandSpy system has been enabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin.*", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.cmdspy" or "{@permission}": send "{@prefix} &aThe CommandSpy system has been enabled by &e%player%" to loop-player else: set {cm448.commandspy.system} to false send "{@prefix} &cThe CommandSpy system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin.*", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.cmdspy" or "{@permission}": send "{@prefix} &cThe CommandSpy system has been disabled by &e%player%" to loop-player if arg 1 is "clearchat": open chest with 3 rows named "&aClearchat" to player wait 2 tick format slot 0 of player with redstone block named "&cClose" with lore "&7Click to close the GUI" to close format slot 1 of player with arrow named "&cBack" with lore "&7Back to List Commands" to run [make player execute command "/chatmanager utilities"] format slot 11 of player with stone named "&aClear &e50 &alines" with lore "&7Click to clear 50 lines on chat" to close then run [make player execute command "/chatmanager clearchat50"] format slot 12 of player with coal ore named "&aClear &e100 &alines" with lore "&7Click to clear 100 lines on chat" to close then run [make player execute command "/chatmanager clearchat100"] format slot 13 of player with iron ore named "&aClear &e150 &alines" with lore "&7Click to clear 150 lines on chat" to close then run [make player execute command "/chatmanager clearchat150"] format slot 14 of player with gold ore named "&aClear &e200 &alines" with lore "&7Click to clear 200 lines on chat" to close then run [make player execute command "/chatmanager clearchat200"] format slot 15 of player with diamond ore named "&aClear &e500 &alines" with lore "&7Click to clear 500 lines on chat" to close then run [make player execute command "/chatmanager clearchat500"] stop trigger if arg 1 is "clearchat50": loop all players: loop 50 times: message " " to loop-player #wait 0.4 seconds #//Remove "#" and this message if you want to enable broadcast message #send "{@prefix} &aThe chat has been cleared by &b%player%&7!" to loop-player #//Remove "#" and this message if you want to enable broadcast message if arg 1 is "clearchat100": loop all players: loop 100 times: message " " to loop-player #wait 0.4 seconds #//Remove "#" and this message if you want to enable broadcast message #send "{@prefix} &aThe chat has been cleared by &b%player%&7!" to loop-player #//Remove "#" and this message if you want to enable broadcast message if arg 1 is "clearchat150": loop all players: loop 150 times: message " " to loop-player #wait 0.4 seconds #//Remove "#" and this message if you want to enable broadcast message #send "{@prefix} &aThe chat has been cleared by &b%player%&7!" to loop-player #//Remove "#" and this message if you want to enable broadcast message if arg 1 is "clearchat200": loop all players: loop 200 times: message " " to loop-player #wait 0.4 seconds #//Remove "#" and this message if you want to enable broadcast message #send "{@prefix} &aThe chat has been cleared by &b%player%&7!" to loop-player #//Remove "#" and this message if you want to enable broadcast message if arg 1 is "clearchat500": loop all players: loop 500 times: message " " to loop-player #wait 0.4 seconds #//Remove "#" and this message if you want to enable broadcast message #send "{@prefix} &aThe chat has been cleared by &b%player%&7!" to loop-player #//Remove "#" if you want to enable broadcast message else: send "{@prefix} {@nopermission}" if executor is console: if arg 1 is not set: make console execute command "/cm help" stop trigger if arg 1 is "help": send "{@line}" send "{@prefix} &aCommands &7[&c{@version}&7] %{chatmanager448.newupdates.notif}%" send "" send "&a/cm help &7- &bShow the list commands" send "&a/cm about &7- &bShow the information about the skript" send "&a/cm config &7- &bSet the system" send "&a/cm reload &7- &bReload the skript" send "&a/cm update &7- &bCheck the new updates" send "{@line}" stop trigger if arg 1 is "info" or "about": send "{@lineprefix}" send "&7> &aCreator: &eTheindo448" send "&7> &aVersion: &c{@version}" send "&7> &aType: &eRegular Version" send "&7>" send "&7> &aLicence: &6&nhttp://creativecommons.org/licenses/by-sa/4.0/" send "&7> &aLink: &6&n{@linkredirect}" send "{@line}" stop trigger if arg 1 is "reload": reload skript "{@filename}" wait 2 ticks send "{@prefix} &aSuccessfully reloaded!" stop trigger if arg 1 is "update": send "{@prefix} &aChecking a new updates..." wait 1 seconds if text from "{@updatelink}" is not "{@version}": set {update.version} to text from "{@updatelink}" wait 0.4 seconds send "{@line}" send "{@prefix} &e&nAn Updates are Available!" send "&7> &eNew Version: &a&l%{update.version}%" send "&7> &eYour skript version: &7(&c{@version}&7)" send "&7> &eDownload New Version Now: &6&n{@linkredirect}" send "{@line}" set {chatmanager448.newupdates.notif} to "&6Updates Available!" stop trigger else if text from "{@updatelink}" is "{@version}": send "{@prefix} &aThe skript is running with the latest version &6&l(&e{@version}&6&l)" set {chatmanager448.newupdates.notif} to "" stop trigger else: send "{@prefix} &cError: Failed to check the updates, contact &6Theindo448." stop trigger if arg 1 is "config": if arg 2 is not set: make console execute command "/cm config help" stop trigger if arg 2 is "help": arg 3 is not set: send "{@line}" send "{@prefix} &eSystem Configuration" send "" send "&ePage: 1/3" send "" send "&a/cm config help [1/2/3] &7- &bShow the list system commands" send "&a/cm config badword &7- &bTurn On/Turn Off the AntiBadword system" send "&a/cm config adv &7- &bTurn On/Turn Off the AntiBadword system" send "&a/cm config chatmute &7- &bTurn On/Turn Off the ChatMute" send "&a/cm config blockcmd &7- &bTurn On/Turn Off the BlockCommands system" send "{@line}" stop trigger arg 3 is "1": send "{@line}" send "{@prefix} &eSystem Configuration" send "" send "&ePage: 1/3" send "" send "&a/cm config help [1/2/3] &7- &bShow the list system commands" send "&a/cm config badword &7- &bTurn On/Turn Off the AntiBadword system" send "&a/cm config adv &7- &bTurn On/Turn Off the AntiBadword system" send "&a/cm config chatmute &7- &bTurn On/Turn Off the ChatMute" send "&a/cm config blockcmd &7- &bTurn On/Turn Off the BlockCommands system" send "{@line}" stop trigger arg 3 is "2": send "{@line}" send "{@prefix} &eSystem Configuration" send "" send "&ePage: 2/3" send "" send "&a/cm config spam &7- &bTurn On/Turn Off the AntiSpam system" send "&a/cm config list &7- &bCheck the status of all systems" send "&a/cm config resetData &7- &bReset all data (except Debug Mode)" send "&a/cm config resetall &7- &bReset all variables (except Debug Mode)" send "&a/cm config resetsettings &7- &bReset all settings (except Debug Mode)" send "{@line}" stop trigger arg 3 is "3": send "{@line}" send "{@prefix} &eSystem Configuration" send "" send "&ePage: 3/3" send "" send "&a/cm config commandcooldown &7- &bTurn On/Turn Off the CommandCooldown system" send "&a/cm config debug &7- &bTurn On/Turn Off the Debug Mode" send "&a/cm config mention &7- &bTurn On/Turn Off the Mention system" send "&a/cm config logsystem &7- &bTurn On/Turn Off the Log system" send "{@line}" stop trigger if arg 2 is "logsystem": if {cm448.logsystem} is false: set {cm448.logsystem} to true send "{@prefix} &aSuccessfully enabled &3Log System" stop trigger else: set {cm448.logsystem} to false send "{@prefix} &cSuccessfully disabled &3Log System" stop trigger if arg 2 is "debug": if {cm448.debug} = false: set {cm448.debug} to true send "{@prefix} &aYou &ajust enabled the &3Debug Mode" to console stop trigger if {cm448.debug} = true: set {cm448.debug} to false send "{@prefix} &cYou &cjust disabled the &3Debug Mode" to console stop trigger if arg 2 is "mention": if {cm448.mentionToggle} = false: set {cm448.mentionToggle} to true send "{@prefix} &aSuccessfully enabled &eMention &asystem&a!" to player send "{@prefix} &a%player% &ajust enabled the &eMention &asystem" to console stop trigger if {cm448.mentionToggle} = true: set {cm448.mentionToggle} to false send "{@prefix} &c%player% &cjust disabled the &eMention &csystem" to console send "{@prefix} &cSuccessfully disabled &eMention &csystem&c!" to player stop trigger if arg 2 is "commandcooldown": if {cm448.system.commandcooldown} is false: set {cm448.system.commandcooldown} to true send "{@prefix} &aYou have been enabled The " to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.commandcooldown" or "{@permission}": send "{@prefix} &aThe Command Cooldown system has been enabled by &eConsole" to loop-player else: set {cm448.system.CommandCooldown} to false send "{@prefix} &cThe Command Cooldown system has been disabled by &e%player%" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.commandcooldown" or "{@permission}": send "{@prefix} &cThe Command Cooldown system has been disabled by &eConsole" to loop-player if arg 2 is "advertise" or "adv": if {cm448.system.adv} is false: set {cm448.system.adv} to true send "{@prefix} &aYou have been enabled The AntiAdvertise" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": send "{@prefix} &aThe AntiAdvertise system has been enabled by &eConsole" to loop-player else: set {cm448.system.adv} to false send "{@prefix} &cYou have been disabled The AntiAdvertise" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.adv" or "{@permission}": send "{@prefix} &cThe AntiAdvertise system has been disabled by &eConsole" to loop-player if arg 2 is "badword" or "badwords" or "toxic": if {cm448.system.badword} is false: set {cm448.system.badword} to true send "{@prefix} &aYou have been enabled The AntiBadword" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": send "{@prefix} &aThe AntiBadword system has been enabled by &eConsole" to loop-player else: set {cm448.system.badword} to false send "{@prefix} &cYou have been disabled The AntiBadword" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.badword" or "{@permission}": send "{@prefix} &cThe AntiBadword system has been disabled by &eConsole" to loop-player if arg 2 is "spam" or "spamming": if {cm448.system.spam} is false: set {cm448.system.spam} to true send "{@prefix} &aYou have been enabled The AntiSpam" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.antispam" or "{@permission}": send "{@prefix} &aThe AntiSpam system has been enabled by &eConsole" to loop-player else: set {cm448.system.spam} to false send "{@prefix} &cYou have been disabled The AntiSpam" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.antispam" or "{@permission}": send "{@prefix} &cThe AntiSpam system has been disabled by &eConsole" to loop-player if arg 2 is "chatmute": if {cm448.chat.mute} is false: set {cm448.chat.mute} to true send "{@prefix} &cYou have been disabled The GlobalChat" to console loop all players: send "{@prefix} &cThe GlobalChat has been disabled! Only staff can chat now!" to loop-player else: set {cm448.chat.mute} to false send "{@prefix} &aYou have been enabled The GlobalChat" to console loop all players: send "{@prefix} &aThe GlobalChat has been enabled! You can chat now!" to loop-player if arg 2 is "blockcmd" or "blockcommand": if {cm448.system.block} is false: set {cm448.system.block} to true send "{@prefix} &aYou have been enabled The Block Commands" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.blockcmd" or "{@permission}": send "{@prefix} &aThe Block Commands system has been enabled by &eConsole" to loop-player else: set {cm448.system.block} to false send "{@prefix} &cYou have been disabled The Block Commands" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.blockcmd" or "{@permission}": send "{@prefix} &cThe Block Commands system has been disabled by &eConsole" to loop-player if arg 2 is "commandspy" or "cmdspy": if {cm448.commandspy.system} is false: set {cm448.commandspy.system} to true send "{@prefix} &aYou have been enabled The CommandSpy" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.cmdspy" or "{@permission}": send "{@prefix} &aThe CommandSpy system has been enabled by &eConsole" to loop-player else: set {cm448.commandspy.system} to false send "{@prefix} &cYou have been disabled The CommandSpy" to console loop all players: if loop-player has permission "chatmanager.admin", "chatmanager.admin.core", "chatmanager.loop.*" or "chatmanager.loop.cmdspy" or "{@permission}": send "{@prefix} &cThe CommandSpy system has been disabled by &eConsole" to loop-player if arg 2 is "reset" or "resetall": set {cm448.chat.mute} to false set {cm448.system.adv} to false set {cm448.system.badword} to false set {cm448.system.spam} to false set {cm448.system.block} to false set {cm448.system.commandcooldown} to false set {cm448.commandspy.system} to false set {cm448.updatealert.%{_user}%} to false set {cm448.CommandCooldown} to "5 seconds" set {cm448.antispam} to "3 seconds" set {cm448.AntiAdvertise.ProtectLevel} to "Normal" set {cm448.AntiBadword.ProtectLevel} to "Normal" set {cm448.AntiAdvertise.BlockType} to "Block" set {cm448.AntiBadwords.BlockType} to "Block" delete {cm448-AntiBadwords-Words::*} delete {cm448-CommandSpy-Words::*} delete {cm448-CommandSpy-TempData::*} delete {cm448-BlockCommands-Words::*} delete {cm448-BlockCommands-TempData::*} delete {cm448-AntiAdvertise-Words::*} delete {cm448-CommandCooldown-Words::*} delete {cm448-CommandCooldown-TempData::*} wait 1 tick send "{@prefix} &aSuccessfully reset all &nvariables!" stop trigger if arg 2 is "resetsettings": set {cm448.chat.mute} to false set {cm448.system.adv} to false set {cm448.system.badword} to false set {cm448.system.spam} to false set {cm448.system.block} to false set {cm448.system.commandcooldown} to false set {cm448.commandspy.system} to false set {cm448.CommandCooldown} to "5 seconds" set {cm448.antispam} to "3 seconds" set {cm448.AntiAdvertise.ProtectLevel} to "Normal" set {cm448.AntiBadword.ProtectLevel} to "Normal" set {cm448.AntiAdvertise.BlockType} to "Block" set {cm448.AntiBadwords.BlockType} to "Block" wait 0.4 seconds send "{@prefix} &aSuccessfully reset all &nsettings!" stop trigger if arg 2 is "resetdata": delete {cm448-AntiBadwords-Words::*} delete {cm448-CommandSpy-Words::*} delete {cm448-CommandSpy-TempData::*} delete {cm448-BlockCommands-Words::*} delete {cm448-BlockCommands-TempData::*} delete {cm448-AntiAdvertise-Words::*} delete {cm448-CommandCooldown-Words::*} delete {cm448-CommandCooldown-TempData::*} wait 0.4 seconds send "{@prefix} &aSuccessfully reset all &ndata!" stop trigger if arg 2 is "list": wait 1 tick send "{@line}" send "{@prefix} &bList all systems (+ Status)" send "" send "&7> &aSystems:" send "&7>= &eAntiBadword: &6%{cm448.system.badword}%" send "&7>=--| &eMode: &6%{cm448.AntiBadword.ProtectLevel}%" send "&7>=--| &eType: &6%{cm448.AntiBadwords.BlockType}%" send "&7>= &eAntiSpam: &6%{cm448.system.spam}%" send "&7>=--| &eCooldown Time: &6%{cm448.antispam}%" send "&7>= &eCommandSpy: &6%{cm448.commandspy.system}%" send "&7>= &eBlockCommands: &6%{cm448.system.block}%" send "&7>= &eAntiAdvertise: &6%{cm448.system.adv}%" send "&7>=--| &eMode: &6%{cm448.AntiAdvertise.ProtectLevel}%" send "&7>=--| &eType: &6%{cm448.AntiAdvertise.BlockType}%" send "&7>= &eCommandCooldown: &6%{cm448.system.commandcooldown}%" send "&7>=--| &eCooldown Time: &6%{cm448.CommandCooldown}%" send "" send "&7> &aUtilities:" send "&7>= &eChatMute: &6%{cm448.chat.mute}%" send "&7>= &eMention: &6%{cm448.mentionToggle}%" send "&7>= &eDebug: &6%{cm448.debug}%" send "&7>= &eLog System: &6%{cm448.logsystem}%" send "{@line}" stop trigger #---------- Messages output to console ----------# on skript load: if {chatmanager448.newupdates.notif} is not set: set {chatmanager448.newupdates.notif} to "" message "{@line}" to console message "{@prefix} &7Version: &c{@version}" to console message " " to console message "&aCreated by &bTheindo448" to console message " " to console message "{@line}" to console wait 0.5 seconds if {cm448.debug} = true: send "{@debugprefix} &3Debug Mode &ais enabled!" to console if {cm448.debug} = false: send "{@debugprefix} &3Debug Mode &cis disabled!" to console if {cm448.logsystem} is true: send "{@prefix} &bLog system &ais enabled!" to console if {cm448.logsystem} is false: send "{@prefix} &bLog System &cis disabled!" to console wait 1.2 seconds message "{@prefix} &aChecking a new updates ...." to console wait 1 seconds if text from "{@updatelink}" is not "{@version}": set {_update.version} to text from "{@updatelink}" wait 0.4 seconds message "{@line}" to console message "{@prefix} &e&nAn Updates are Available!" to console message "&7> &eNew Version: &a&l%{_update.version}%" to console message "&7> &eYour skript version: &7(&c{@version}&7)" to console message "&7> &eDownload New Version Now: &6&n{@linkredirect}" to console message "{@line}" to console set {chatmanager448.newupdates.notif} to "&6Updates Available!" else if text from "{@updatelink}" is "{@version}": message "{@prefix} &aYou are using the latest version &6&l(&e{@version}&6&l)" to console set {chatmanager448.newupdates.notif} to "" else: message "{@prefix} &cError: Failed to check the updates, contact &6Theindo448." to console #-##=====================================[License]====================================================##-# # # This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. # To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ # #-##=====================================[License]====================================================##-#