Cooldown On Event
Script Description
When we rightclick a block holding a stick, it will turn to bedrock. But we must wait 30 seconds before doing this again. If we don't, then it will send a message saying how long is left until we can do it again.
Part 1: Creating The Event
Let's create our event. Since it's a right click, we're going to be using the Right Click Event.
Part 2: Creating The Cooldown
Creating a cooldown is very easy in Skript. Here is the idea behind it.
Basically, we'll set a variable to the time right now when the player right clicks. The next time the player right clicks, we can check how long they waited by checking the difference of the variable and the time right now. If they have waited long enough, we can execute the code, and reset the variable from earlier.
So, let's do this. I'm going to get the global list variable named cooldown
and the brstick::%player's uuid%
index of it. We're going to set a local variable named waited
to the difference between the list variable and now. To do this we can use the now
expression.
Part 3: How Long Is The Wait?
For this tutorial, I'm going to make it so the player will have to wait 30 seconds. To do this, in the next line, I'm going to add an if statement
to check if our wait
variable is less than 30 seconds. If it is, we'll send to the player how long they'll have to wait before right clicking again. Finally, we'll use the stop
effect to stop the rest of the code from executing since the cooldown is not over yet.
Part 4: Executing The Code
Now we can be sure that the player has waited 30 seconds when executing the next line of code. We're going to get the clicked block and set it to to bedrock. Then finally, we're going to reset the cooldown variable used in the second line.
Last updated