The script you've created is around 1600 lines. This would be fine if it wasn't for the fact that there is a massive (and I mean MASSIVE) amount of useless command duplication. For example, you created a command called /vanish and then created a separate command called /v with exactly the same function. Use aliases, not an extra 20 lines per each command.
code_language.skript:
command /vanish [<player>]:
aliases: /v
trigger:
#do stuff
Not very hard to do ^
As well as this, you've taken up more space on recreating mechanics that are already done for you in Skript.
e.g:
You created a freeze command:
code_language.skript:
command /freeze [<player>]:
aliases: /ss
permission: essentialsa.freeze
permission message: {@error-prefix} {@no-perms-message}
trigger:
if arg-1 is not set:
message "{@error-prefix}&7 /freeze <player>"
stop
if arg-1 is set:
if arg-1 is command sender:
message "{@error-prefix} &7You cannot freeze yourself!"
stop
if {freeze.%arg-1%} is not set:
message "{@freeze-prefix} &7You have froze &3%arg-1%&7!"
message "{@freeze-prefix} &7You have been frozen!" to arg-1
message "{@freeze-prefix} &7Please join TeamSpeak! IP: &3{@Teamspeak}" to arg-1
set {freeze.%arg-1%} to location of arg-1
stop
else:
message "{@freeze-prefix} &7You have unfroze &3%arg-1%&7!"
message "{@freeze-prefix} &7You have been unfrozen!" to arg-1
clear {freeze.%arg-1%}
stop
on any movement:
if {freeze.%player%} is set:
teleport player to {freeze.%player%}
stop
However, you could've saved more than 10 lines by just using the effect:
code_language.skript:
set freeze state of player to true
Finally, you could've used just
one variable for this entire script. By using loads of little and randomly named variables (e.g "{freeze.%arg-1%}"), it makes it almost impossible to clean up the script / remove all variables.
You could've done every single variable in one list variable:
code_language.skript:
{EssentialsA::freeze::%arg-1%}
{EssentialsA::warps::%arg-1%}
That way, if I wanted to clean / clear up the script, all I need to do is:
All in all, I think you should try doing much smaller projects. It is clear that you do not have a lot of experience in Skript (Not an insult, everyone was there once.). Trying big projects like this often lead to inefficient or broken scripts. I see that you've put a lot of effort into this and I respect that but you should start small and slowly expand upon your Skript knowledge.