AdReferral.sk

Created by YoshYz

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.

#  ____    _____   _____   _____   ____    ____       _      _          ____    ___    ____    _____   ____  
# |  _ \  | ____| |  ___| | ____| |  _ \  |  _ \     / \    | |        / ___|  / _ \  |  _ \  | ____| / ___| 
# | |_) | |  _|   | |_    |  _|   | |_) | | |_) |   / _ \   | |       | |     | | | | | | | | |  _|   \___ \ 
# |  _ <  | |___  |  _|   | |___  |  _ <  |  _ <   / ___ \  | |___    | |___  | |_| | | |_| | | |___   ___) |
# |_| \_\ |_____| |_|     |_____| |_| \_\ |_| \_\ /_/   \_\ |_____|    \____|  \___/  |____/  |_____| |____/ 
#

#Author: YoshYz
#Version: v1.3
#Only Skript Needed

#==========================================================================================================#
# -------------------------------------------------------------------------------------------------------- #
#                                             OPTIONS                                                      #
# -------------------------------------------------------------------------------------------------------- #
#==========================================================================================================#

options:
    permissionMessage: &cYou don't have the permission to execute this command.
    prefix: &9▪ Referral&9>
    reward_command: /eco give [player] 1200
	
#==========================================================================================================#
# -------------------------------------------------------------------------------------------------------- #
#                                           MAIN COMMAND                                                   #
# -------------------------------------------------------------------------------------------------------- #
#==========================================================================================================#

command /referral [<text>] [<text>]:
    trigger:
        if argument-1 isn't set:
            if player has permission "referral.use":
                if {referrals::referral::%uuid of player%} isn't set:
                    set {percent_%%} to 10
                    loop 3 times:
                        set {percent_%%} to a random integer between {percent_%%}+5 and ({percent_%%}+7)*2
                        if {percent_%%} < 100:
                            message " {@prefix} &7Creating your unique code... &8[&a%{percent_%%}%%%&8]"
                        else:
                            stop loop
                    message ""
                    set {_numbers} to "%random integer between 1000 and 999999%" parsed as integer
                    set {_char} to "%player's name%"
                    set {_char} to the first (index of "%player's name%" in {_char} + 4) characters of {_char} 
                    set {referrals::referral::%uuid of player%} to "%{_char}%_%{_numbers}%"
                    set {referrals::%{referrals::referral::%uuid of player%}%::uses} to 0
                    add {referrals::referral::%uuid of player%} to {referral::codes::*}
                    set {referrals::%{referrals::referral::%uuid of player%}%::owner} to "%player's name%"
                    message " {@prefix} &7Your unique code is&8: &b%{referrals::referral::%uuid of player%}% &8[&a100%%&8]"
                    stop
                else:
                    message " {@prefix} &7Your unique code is&8: &b%{referrals::referral::%uuid of player%}%"
                    message " {@prefix} &7Your code was used for &a%{referrals::%{referrals::referral::%uuid of player%}%::uses}% &7times."
                    stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop
        if argument-1 is "use":
            if player has permission "referral.use":
                if argument-2 is set:
                    loop {referral::codes::*}:
                        if arg-2 is loop-value:
                            loop {referral::%uuid of player%::codes::*}:
                                if loop-value-2 is arg-2:
                                    message " {@prefix} &7You already used this referral code."
                                    stop
                            if {referrals::%loop-value%::owner} isn't player's name:
                                add "%loop-value%" to {referral::%uuid of player%::codes::*}
                                add 1 to {referrals::%loop-value%::uses}
                                message " {@prefix} &7You used the referral code of &a%{referrals::%loop-value%::owner}%&7."
                                message " {@prefix} &7Use &b/referral claim &7to claim your reward."
                                set {_player} to "%{referrals::%loop-value%::owner}%" parsed as offlineplayer
                                set {_uuid} to "%uuid of {_player}%"
                                if {_player} is online:
                                    message " {@prefix} &a%player% &7used your referral code." to {_player}
                                    message " {@prefix} &7Use &b/referral claim &7to claim your reward." to {_player}
                                add 1 to {referrals::claims::%{_uuid}%}
                                add 1 to {referrals::claims::%uuid of player%}
                                stop
                            else:
                                message " {@prefix} &7You can't claim your own referral code."
                                stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop
        if argument-1 is "codes" or "list":
            if player has permission "referral.admin":
                loop {referral::codes::*}:
                    message " {@prefix} &3%loop-index%&8) &a%{referrals::%loop-value%::owner}% &8- &b%loop-value%"
                stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop
        if argument-1 is "claim":
            if player has permission "referral.use":
                if {referrals::claims::%uuid of player%} > 0:
                    remove 1 from {referrals::claims::%uuid of player%}
                    set {_command} to "{@reward_command}"
                    replace all "[player]" with "%player%" in {_command}
                    make console execute command "%{_command}%"
                    message " {@prefix} &7You claimed your reward."
                    message " {@prefix} &7You still have &a%{referrals::claims::%uuid of player%}% &7rewards to claim."
                    stop
                else:
                    message " {@prefix} &7You don't have anything to claim."
                    stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop
        if argument-1 is "reset", "delete" or "del":
            if player has permission "referral.admin":
                if argument-2 is set:
                    set {_player} to "%arg-2%" parsed as offlineplayer
                    set {_uuid} to "%uuid of {_player}%"
                    remove {referrals::referral::%{_uuid}%} from {referral::codes::*}
                    clear {referrals::%{referrals::referral::%{_uuid}%}%::*}
                    delete {referrals::referral::%{_uuid}%}
                    message " {@prefix} &7You have reset the &a%arg-2%&7's referral."
                    stop
                else:
                    message " {@prefix} &7You have to write the player's name."
                    stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop
        if argument-1 is "info", "ver", "version" or "author":
            message " {@prefix} &aYoshYz Version&8: &7v1.3"
            stop
        if argument-1 is "help":
            if player has permission "referral.use":
                message "&f&l&m---------------------------------------"
                message "&a&l                   REFERRAL CODES"
                message " &9▪ /referral help"
                message " &9▪ /referral ver"
                message " &9▪ /referral"
                message " &9▪ /referral use [<code>]"
                message " &9▪ /referral claim"
                message " &9▪ /referral reset [<player>]"
                message " &9▪ /referral codes/list"
                message "&f&l&m---------------------------------------"
                stop
            else:
                message " {@prefix} {@permissionMessage}"
                stop