☯ Essentials A ☯

Script ☯ Essentials A ☯ Alpha 6.0

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

jackYodil

Member
Jan 28, 2017
28
5
0
32
jackYodil submitted a new resource:

☯ Essentials A ☯ - A simple remake of essentials!

3VZF01M.png

A simple remake of essentials! It fits all your needs! What this skript does is, It replaces all of the essentials stuff and makes it more easier! and better. I will be updating this as much as possible. This skript is so easy to use! just open the .sk file and be creative!

YLn4MnG.png

» Fully customizable!
» A lot like essentials!
» Can be used for factions and HCF!

oL8heNl.png

» All of...

Read more about this resource...
 
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:

code_language.skript:
delete {EssentialsA::*}

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.
 
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:

code_language.skript:
delete {EssentialsA::*}

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.


It's good but aliases won't work essentials will override it.