Just so you know, we don't know the file format for every file. If it's just a bunch of random characters, it's probably a .zip or .jar.
#------------------------------------------------#
# #
# AdavcedSS #
# Script by gioggino #
# Version: 1.0 #
# Spigot/Paper: 1.9+ #
# #
#------------------------------------------------#
#COMPATIBLE WITH: PermisisonsEx, Groupmanager, zPermissions, Multiverse
# Change those options to adapt this skript to your server
options:
prefix: &8[&9Advanced&fSS&8]
sslocation: -67, 49, 264 # coordinates of the screenshare world
ssworld: "World" # name of the screenshare world
defaultlocation: -61, 64, 264 # coordinates of the default world
defaultworld: "World" # name of the default world
#--------------------------------------------#
# DON'T CHANGE ANYTHING BELOW THIS POINT #
# IF YOU DON'T KNOW WHAT ARE YOU DOING #
# SOME CHANGES MAY BREAK THE WOLE SKRIPT #
# vvv vvv vvv vvv vvv vvv vvv vvv vvv vvv #
#--------------------------------------------#
variables:
{freeze.%player%} = 0 # Changing this variable will break part of the skript
# Custom chat format
on chat:
if player is in world {@ssworld}:
cancel event
if player has permission "advancedss.screenshare":
send "&9[STAFF] &r%player% &7&l> &r%message%" to all players in radius 20 of player
else:
send "&c[SUSPECT] &r%player% &7&l> &r%message%" to all players in radius 20 of player
# Main command
command /screenshare [<offline player>] [<text>]:
aliases: /ss
executable by: players and console
permission: advancedss.screenshare
permission message: &r{@prefix} &rYou don't have permission to use that
description: Advancedss screenshare command
usage: /screenshare <player> [<text>]
trigger:
if arg-1 is set:
if arg-1 is online:
set {_sslocation} to location {@sslocation} in world {@ssworld}
set {_defaultlocation} to location {@defaultlocation} in world {@defaultworld}
if arg-2 is "end": # end the screenshare
set {screensharing.%player%} to 0
set tablist name of arg-1 to "%arg-1%"
set tablist name of player to "%player%"
send "&r{@prefix} &rScreenshare ended" to player
send "&r{@prefix} &rScreenshare ended" to arg-1
set {freeze.%player%} to 0
teleport arg-1 to {_defaultlocation}
teleport player to {_defaultlocation}
else if arg-2 Is set: # If custom message is set
send title "&7&l<< &r&4SCREEN&fSHARE&7&l >>" with subtitle "%player% wants to screenshare you" to arg-1
send "&8&m-------------------&8[ &4SCREEN&fSHARE &r&8]&r&8&m--------------------" to arg-1
send "" to arg-1
send "&4Requested by: &r%player%" to arg-1
send "&4Message: &r%arg-2%" to arg-1
send "&4Instructions: &rgive <link:https://anydesk.com/downloads><tooltip:&6Click to download>&6Anydesk &rcode and join <suggest command:ts.link.here><tooltip:&6Click for link>&6Teamspeak" to arg-1
send "&4Time: &r3 minutes" to arg-1
send "&4Attention: &rQuit = tempban 35 days, Admission = tempban 20 days" to arg-1
send "" to arg-1
send "&8&m-----------------------------------------------------" to arg-1
send "&r{@prefix} &rScreenshare request sent" to player
send "&r{@prefix} &rActions:" and "<suggest command:/tempban <player> 30d Cheating (ss) -s><tooltip:&cHack found: 30 days>&c[HACKING]" and "<suggest command:/tempban <player> 35d SS refused -s><tooltip:&6SS refused: 35 days>&6[REFUSED]" and "<suggest command:/tempban <player> 20d Hack admitted -s><tooltip:&eHack admitted: 20 days>&e[ADMITTED]" and "<suggest command:/screnshare <player> end><tooltip:&aNo Hack found>&a[CLEAN]" to player
set tablist name of arg-1 to "&c[SUSPECT] &r%arg-1%"
set tablist name of player to "&9[STAFF] &r%player%"
teleport arg-1 to {_sslocation}
teleport player to arg-1
clear inventory of arg-1
set {freeze.%player%} to 1
else: # same code but without custom message
send title "&7&l<< &r&4SCREEN&fSHARE&7&l >>" with subtitle "%player% wants to screenshare you" to arg-1
send "&8&m-------------------&8[ &4SCREEN&fSHARE &r&8]&r&8&m--------------------" to arg-1
send "" to arg-1
send "&4Requested by: &r%player%" to arg-1
send "&4Instructions: &rgive <link:https://anydesk.com/downloads><tooltip:&6Click to download>&6Anydesk &rcode and join <suggest command:ts.link.here><tooltip:&6Click for link>&6Teamspeak" to arg-1
send "&4Time: &r3 minutes" to arg-1
send "&4Attention: &rQuit = tempban 35 days, Admission = tempban 20 days" to arg-1
send "" to arg-1
send "&8&m-----------------------------------------------------" to arg-1
send "&r{@prefix} &rScreenshare request sent" to player
send "&r{@prefix} &rActions:" and "<suggest command:/tempban <player> 30d Cheating (ss) -s><tooltip:&cHack found: 30 days>&c[HACKING]" and "<suggest command:/tempban <player> 35d SS refused -s><tooltip:&6SS refused: 35 days>&6[REFUSED]" and "<suggest command:/tempban <player> 20d Hack admitted -s><tooltip:&eHack admitted: 20 days>&e[ADMITTED]" and "<suggest command:/screnshare <player> end><tooltip:&aNo Hack found>&a[CLEAN]" to player
set tablist name of arg-1 to "&c[SUSPECT] &r%arg-1%"
set tablist name of player to "&9[STAFF] &r%player%"
teleport arg-1 to {_sslocation}
teleport player to arg-1
clear inventory of arg-1
set {freeze.%player%} to 1
while {freeze.%player%} is 1:
wait 1 ticks
teleport arg-1 to arg-1
stop
# Error handling
else if arg-1 has played before:
send "&r{@prefix} &r&6%arg-1% is offline"
else:
send "&r{@prefix} &r&6%arg-1% has never played on this server"
else:
send "&r{@prefix} &rYou need to specify a player to screenshare" to player
# Reload command (give this permisison to only who have acces to server's console)
command /screensharereload:
aliases: /ssreload
executable by: players and console
permission: advancedss.reload
permission message: &r{@prefix} &rYou don't have permission to use that
description: Advancedss reload plugin command
usage: /screensharereload
trigger:
execute console command "/sk reload advancedss"
send "&r{@prefix} &rSkript reloaded" to player
# Help command
command /screensharehelp [<text>]:
aliases: /sshelp
executable by: players and console
permission: advancedss.screenshare
permission message: &r{@prefix} &rYou don't have permission to use that
description: Advancedss help command
usage: /screensharehelp <page>
trigger:
set {_num} to arg-1 parsed as an integer
if {_num} is 1:
send "&8&m--------------------&8[ &9Advanced&fSS &r&8]&r&8&m--------------------"
send "&e/ss <player> &8- &7Use this command to ask for a screenshare to a player"
send "&e/ss <player> [<text>] &8- &7Use this command to add a custom message to the screenshare request (optional)"
send "&e/ss <player> end &8- &7Use this command to end the screenshare"
send "&e/ssreload &8- &7Use this command to reload the skript"
send "&8&m---------------------&8[ &9Page &f1/2 &r&8]&r&8&m--------------------"
else if {_num} is 2:
send "&8&m--------------------&8[ &9Advanced&fSS &r&8]&r&8&m--------------------"
send ""
send " Credits:"
send ""
send "&6Skript made by: &rgioggino"
send "&6Version: &r1.0"
send "&6Special thanks to: &rTheDiamond2111, skUnity forum and minehut for the help"
send ""
send "&8&m---------------------&8[ &9Page &f2/2 &r&8]&r&8&m--------------------"
else if {_num} is greater than 2:
send "&r{@prefix} &rPage %{_num}% doesn't exist" to player
else:
send "&r{@prefix} &rYou need to specify an help page" to player