# Changelog # # - Complete Rebrand # - Fixed Experimental Anti Ad ( Still in testing phase ) # - Actually added the prefix variable to the start of some messages! ( DUH ) # - The new permission node is FrostChat. instead of ChatCore. # - Added an OnLoadMessage function and in config # - Converted {@ReportDelayInt} into {@ReportDelayNew} # - Removed the Domain Count - Cause its broken smh # - Removed Anti Hacksuation - Pointless # - Rechecked all of the words to reduce lag, Make sure theres no copies. ( E.g "F*** off" is removed because "F***" is there already # - Now default to using the Experimental Anti Advertisment module. Please submit some code and give us feedback. YOU WILL BE CREDITED # FrostChat 3.2.0 is finally here # #------------------------------------ # Big thanks to jackYodil, Hyperbyte, hazzlewood and BasicL in the Spigot reviews section for helping me bug fix. # Please have a read through all of the configuration section. This Skript is extremely customizable. # Made some changes to the config and updated it ( Now V 1.3 ) # And Yes I understand the bugs, once i learn how to fix them they will be fixed! I promise! options: # ---------------------------------------------- Start of Configuration ---------------------------------------------- # Version: 3.2.0 Prefix: &7[&bServerName&7] &b # This will be displayed as the prefix to most things in this Skript. This is the first thing you should edit / configure. NoPermissionMessage: &7Sorry &7, You can't execute this command as you do not have the required permissions! # This is the default "No permission" message, edit this to whatever you want! SkriptName: FrostChat # Make sure to enter the same name you saved your Skript as! # AntiSwear: "bitch", "cunt", "dick", "penis", "fuck", "f u" or "motherfucker" # If you think any more words should be added or want to add another world to the list feel free to add it following the format! DiscordLink: discord.me/yourlink # Type in your discord link above so players know where to report a potential hacker. ChatFormat: &9%player's displayname%&8: &f%message% # Default Chat Format # # Please type your exact essentials chat format however replacing {DISPLAYNAME} with %player's displayname% and {MESSAGE} with %message%! CommandProtectionMsg: &cYou may not execute this command. Your abuse and actions have been sent to administrators! # This is the default "Command protection error" message, edit this to whatever you want! ReportDelayNew: 60 seconds # Default Timeout # # How long do you want players to have to wait before sending another report? **SECONDS ONLY** # The time method saved / How long you want it to be. It can be [ minutes / hours / seconds / days ] # Now {@ReportDelayNew} # ReportDelayInt: seconds # Default Timeout # # The time method saved / How long you want it to be. It can be [ minutes / hours / seconds / days ] #--- OKAY THIS WORKS --- ReportDelayMessage: &7Sorry, you must wait &b60 Seconds&7 before you can report another player to prevent spam. # Default Message # # The message sent back to a player after they try to report another player during the cooldown ReportAdmins: * # Default Option set to * # # The admin permission that allows only certain people to see reports that are sent by players. [e.g rank.admin - FrostChat.admin etc] # UseExperimentalAntiAd: false # Give us some feedback about how this can be changed and submit some code, you will be credited! # # The experimental anti advertisement module is a more powerful ad blocker which is currently still in the testing phase # AdvertiseAlertStaff: true # Default to true # It can become spammy # Set this to true if you wish to force the Skript to alert staff when players advertise a blocked link! # # Still currently in the testing phase. # CurseAlertStaff: true # Default to true # It can become spammy # Set this to true if you wish to force the Skript to alert staff when players curse! # # Still currently in the testing phase. # OnLoadMessage: true # Default to true # # Lets you know if the skript needs updating or not + more info ( Sorta pointless I know )# # Coming Soon Below # OnLoadPermission: * # Default to * # # The permission required to be able to see the on load message. ( OnLoadMessage needs to be set to true ) # ---------------------------------------------- End of Configuration ---------------------------------------------- # # On Load Function # on load: if {@OnLoadMessage} is true: broadcast "&8&m--------------------" broadcast "&bFrostChat {@Version} &fskript by FrostedWeFall loaded!" broadcast "&8&m--------------------" if {@OnLoadMessage} is false: stop # Updater Module # on join: if player has permission "FrostChat.updatechecker" or "FrostChat.*" or "FrostChat.admin.*": if text from "https://pastebin.com/raw/HqKptVgh" is "3.2.0": send "&a&lCOMPLETE&7! You have the latest version of &bFrostChat 3&7!" if text from "https://pastebin.com/raw/HqKptVgh" is not "3.2.0": send "&c&lWARNING&7! You have not got the latest version of &bFrostChat 3&7! Please download the &clatest version&7!" command /updatechecker: description: Checks to see if you have the latest stable build installed! usage: /updatechecker aliases: /uc, /checkupdate, /cu, /FrostChat:updatechecker, /FrostChat:uc, /FrostChat:checkupdate, /FrostChat:cu permission: FrostChat.admin permission message: {@NoPermissionMessage} trigger: if text from "https://pastebin.com/raw/HqKptVgh" is "3.2.0": send "&a&lCOMPLETE&7! You have the latest version of &bFrostChat 3&7!" if text from "https://pastebin.com/raw/HqKptVgh" is not "3.2.0": send "&c&lWARNING&7! You have not got the latest version of &bFrostChat 3&7! Please download the &clatest version&7!" # Checks your ping by sending a message back to you! command /ping: description: Checks your ping by sending a message back to you! usage: /ping aliases: /p, /pi, /FrostChat:ping, /FrostChat:p, /FrostChat:pi permission: FrostChat.player permission message: {@NoPermissionMessage} trigger: send "%nl%&7%player% - &b%player's ping%ms%nl%" command /fc [] []: description: Reload command for FrostChat 3 usage: /fc [] [] permission: FrostChat.admin permission message: {@NoPermissionMessage} trigger: if arg 1 is "reload": make console execute command "/sk reload {@SkriptName}" wait 4 seconds if arg 1 is "disable": set {Chat} to false broadcast "{@Prefix} &c%player% has disabled the server chat." if arg 1 is "enable": set {Chat} to true broadcast "{@Prefix} &a%player% has enabled the server chat." # STILL IN EARLY TESTING # if arg 1 is "addword" or "add": if {@UseExperimentalAntiAd} is false: send "&cYou must set '{UseExperimentalAntiAd}' to true at the top of the Skript in the config" if {@UseExperimentalAntiAd} is true: if arg 2 is set: add arg 2 to {BlockedDomains::List::*} send "&7Sufcessfully added the domain &a%arg-2% to {BlockedDomains::List::*}" if arg 2 is not set: send "&cYou must specify a domain to be added to the list of blocked domains" stop if arg 1 is "removeword" or "delword": if {@UseExperimentalAntiAd} is false: send "&cYou must set '{UseExperimentalAntiAd}' to true at the top of the Skript in the config" if {@UseExperimentalAntiAd} is true: if arg 2 is set: remove arg 2 from {BlockedDomains::List::*} send "&7Sufcessfully removed the domain" if arg 1 is "list" or "listwords": if {@UseExperimentalAntiAd} is false: send "&cYou must set '{{UseExperimentalAntiAd}' to true at the top of the Skript in the config" if {@UseExperimentalAntiAd} is true: send "&cList of Domains!" loop {BlockedDomains::List::*}: send "%{BlockedDomains::List::*}%" # NEW IN 3.2.0 # if arg 1 is "reset" or "resetwords": if {@UseExperimentalAntiAd} is false: send "&cYou must set '{{UseExperimentalAntiAd}' to true at the top of the Skript in the config" if {@UseExperimentalAntiAd} is true: send "&4Sucessfully reset all listed domains!" delete {BlockedDomains::List::*} # END OF TESTING CODE if arg 1 is not set: send "&7Incorrect Syntax! Missing arg at /fc [] <- &f[HERE]" on chat: if {Chat} is false: if player does not have permission "FrostChat.bypass": cancel event send "&7You can not currently send messages whilst chat is muted" if {Chat} is true: stop # Help Menu # command /FChat: description: Main command and help menu for FrostChat 3 aliases: /frostchat permission: FrostChat.FrostChat permission message: {@NoPermissionMessage} trigger: send "&7" send "&b/fc &a[reload/disable/enable/list/addword/removeword/reset] &8- &7Reloads the Skript or Disables / Enables Chat" send "&b/FrostChat &8- &7Opens up this menu" send "&b/ping &8- &7Checks the players ping &f( Response time )" send "&b/updatechecker &8- &7Checks to see if you require an update" send "&b/FrostChat3 &8- &7The main information command for FrostChat 3" send "&b/report [user] [reason] &8- &7Allows you to report any user" send "&7" send "&7Legend >> &a[] &8= &7Required &f| &b<> &8= &7Optional" command /FrostChat3: description: The information command about FrostChat3 usage: /FrostChat3 aliases: /FrostChat:FrostChat3 permission: FrostChat.FrostChat permission message: {@NoPermissionMessage} trigger: send "&7" send "&b&lFrostChat 3" send "&7Created By - &bFrostedWeFall" send "&7Version - &b{@Version}" send "&7" # EXPERIMENTAL POWERFUL ANTI ADVERTISE # if {@UseExperimentalAntiAd} is true: if message contains {BlockedDomains::List::*}: if player does not have permission "FrostChat.bypass": cancel event message "&7-------------------------------------------" message "&bAdvertising is against the rules. You will be" message "&bpermanently banned from the server if you attempt" message "&bto advertise." message "&7-------------------------------------------" stop loop all players: if player has permission "FrostChat.moderator": if {@AdvertiseAlertStaff} is true: send "&c%player% &7tried to Advertise and say ""&c%message%""" to loop-player if {@AdvertiseAlertStaff} is false: stop # Anti Swear 1 BETA # on chat: if message contains {@AntiSwear}: if player does not have permission "FrostChat.bypass": cancel event message "&7-------------------------------------------" message "&bSwearing / Cursing is against the rules. You will be" message "&bpermanently muted from the server if you attempt" message "&bto swear / curse again." message "&7-------------------------------------------" loop all players: if player has permission "FrostChat.moderator": if {@CurseAlertStaff} is true: send "&c%player% &7tried to Curse and say ""&c%message%""" to loop-player if {@CurseAlertStaff} is false: stop # Commands # command /report [] []: description: Report players with this command. usage: /report [] [] permission: FrostChat.player trigger: if arg 1 is not set: send "&7Usage: &b/report " stop if arg 2 is not set: send "&7Usage: &b/report " stop if arg 1 is a player: if arg 2 is set: set {_waited} to difference between {FrostChatreport.%player%.lastused} and now if {_waited} is less than {@ReportDelayNew} seconds: message "{@ReportDelayMessage}" stop if arg-1 is "%player%": message "&cError: You can not report yourself!" stop loop all players: loop-player has the permission "{@ReportAdmins}": send "&7&m--------------------------------" to loop-player send "&b&lNEW REPORT" to loop-player send "&7Reported Player: &b%arg-1%" to loop-player send "&7Reporting Player: &b%player%" to loop-player send "&7Reason: &3%arg-2%" to loop-player send "&7&m--------------------------------" to loop-player set {FrostChatreport.%player%.lastused} to now message "{@Prefix} &7You have &asucessfully reported &7%arg-1% &7for &7%arg-2%&7." # Command Protection 1 ALPHA # command /pl: trigger: send "&fPlugins (1): &aFrostChat3" command /plugins: trigger: send "&fPlugins (1): &aFrostChat3" command /?: trigger: send "&b--------- &fHelp: Index (0/0) &b--------------------" command /help: trigger: send "&b---- &6Help &b-- &6Page &c1&6/&c1 &b----" command /bukkit:?: trigger: send "&b--------- &fHelp: Index (0/0) &b--------------------" command /bukkit:help: trigger: send "&b--------- &fHelp: Index (0/0) &b--------------------" command /bukkit:pl: trigger: send "&fPlugins (1): &aFrostChat3" command /bukkit:plugins: trigger: send "&fPlugins (1): &aFrostChat3" command /version: trigger: send "{@CommandProtectionMsg}" command /bukkit:version: trigger: send "{@CommandProtectionMsg}" command /icanhasbukkit: trigger: send "{@CommandProtectionMsg}" command /ver: trigger: send "{@CommandProtectionMsg}" command /bukkit:ver: trigger: send "{@CommandProtectionMsg}"