Solved List Variable Help

  • 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!

  • LOOKING FOR A VERSION OF SKRIPT?

    You can always check out skUnity Downloads for downloads and any other information about Skript!

Status
Not open for further replies.

CKR367

Member
Feb 1, 2017
64
2
0
Hello, I am trying to create an achievement where if a player breaks 10 cobble, it displays a message, and adds the player to a list variable. For some reason, the player can get the achievement multiple times... Can someone help me? I am new to list variables, sorry.

code_language.skript:
on break:
    if event-block is cobble:
        if {achievement.bc::%player%} does not exist:
            add 1 to {amount.bc.%player%}
            if {amount.bc.%player%} is equal to 10:
                add event-player to {achievement.bc::*}
                delete {amount.bc.%player%}
                broadcast "&a%player% &7broke 10 cobble"
                stop

Skript Version: Bensku Dev26f
Addons: 1.11 SkQuery Lime (Latest), SkRayFall (Latest)
 
Last edited:
code_language.skript:
on break:
    if event-block is cobble:
        if {achievement.bc::%player%} is not set:
            if {amount.bc.%player%} >= 10:
                add event-player to {achievement.bc::*}
                delete {amount.bc.%player%}
                broadcast "&a%player% &7broke 10 cobble"
            else:
                add 1 to {amount.bc.%player%}
        else:
            send "%player% already broke 10 cobble"
 
code_language.skript:
on break:
    if event-block is cobble:
        if {achievement.bc::%player%} is not set:
            if {amount.bc.%player%} >= 10:
                add event-player to {achievement.bc::*}
                delete {amount.bc.%player%}
                broadcast "&a%player% &7broke 10 cobble"
            else:
                add 1 to {amount.bc.%player%}
        else:
            send "%player% already broke 10 cobble"

Sadly, still displays the message that the player broke cobble several times. Thanks for the attempt though :emoji_thumbsup:
 
code_language.skript:
on break:
    if event-block is cobble:
        if {achievement.bc::%player%} is not set:
            if {amount.bc.%player%} is not set:
                set {amount.bc.%player%} to 0
            if {amount.bc.%player%} <= 8:
                add 1 to {amount.bc.%player%}
            else:
                set {achievement.bc::%player%} to true
                send "You finished"
                delete {amount.bc.%player%}
        else:
            send "Already"

command /reset:
    trigger:
        delete {achievement.bc::*}
Sorry I feel stupid :emoji_grinning:. But there you go. I testet it and work fine.
 
Status
Not open for further replies.