Discuss Scratch
- Discussion Forums
- » Help with Scripts
- » Adding a cooldown to In-game Button scripts
- DNQ_brwn
- Scratcher
11 posts
Adding a cooldown to In-game Button scripts
Hi, I'm working on a remaster of fnajs1, how do I add a cooldown do this script so it doesn't glitch?
- lion334
- Scratcher
100+ posts
Adding a cooldown to In-game Button scripts
Greetings!
There's Multiple ways to do so. I'll explain the easiest here to keep this message brief and short.
So you're using
First, we gotta clear what a “Sprite click” means. Basically it means that the Mouse Pointer is on the Sprite itself and the left mouse button is pressed. We can resemble this with the following blocks:
Out of these two statements we can form a boolean:
And finally, we can form the final result:
Alternatively you can use
Sincerely, lion334
There's Multiple ways to do so. I'll explain the easiest here to keep this message brief and short.
So you're using
when this sprite clicked
First, we gotta clear what a “Sprite click” means. Basically it means that the Mouse Pointer is on the Sprite itself and the left mouse button is pressed. We can resemble this with the following blocks:
<mouse down?> //Mouse Left Button Pressed?
<touching [Mouse Pointer v] ?> //Is the Mouse on me?
Out of these two statements we can form a boolean:
<<mouse down?> and <touching [Mouse Pointer v] ?>>
And finally, we can form the final result:
when green flag clicked //You can also use "If I start as a clone" if you're planning on getting a clone clicked
forever
if <<mouse down?> and <touching [Mouse Pointer v] ?>> then
Your Code
wait (5) secs //This is your cooldown
end
end
Alternatively you can use
when green flag clicked
forever
wait until <<mouse down?> and <touching [Mouse Pointer v] ?>>
Your Code
wait (5) secs //This is your cooldown
end
Sincerely, lion334
- platypus3333
- Scratcher
37 posts
Adding a cooldown to In-game Button scripts
You have to use the second option. The if statement won't stop being checked by the wait () seconds block. -snip-
Last edited by platypus3333 (June 14, 2023 15:16:28)
when green flag clicked
check out some of my games
if <you like the games> then
leave a ((love) / (fav)) on them
change [ my followers] by (1)
end
- lion334
- Scratcher
100+ posts
Adding a cooldown to In-game Button scripts
Actually… it will.You have to use the second option. The if statement won't stop being checked by the wait () seconds block. -snip-
Having the code made using
when green flag clickedor
when I start as a clone
will automatically make this block getting played once, therefore you cannot get two “true” returns in the mouse-click boolean. Having the Block repeat itself makes it able that you can use the “is clicked” again, once the cooldown (in my example 5 seconds) ran out.
I think you meant this block:
when I receive [ v]
So yea, both methods work just fine.
- DNQ_brwn
- Scratcher
11 posts
Adding a cooldown to In-game Button scripts
Actually… it will.You have to use the second option. The if statement won't stop being checked by the wait () seconds block. -snip-
Having the code made usingwhen green flag clickedorwhen I start as a clone
will automatically make this block getting played once, therefore you cannot get two “true” returns in the mouse-click boolean. Having the Block repeat itself makes it able that you can use the “is clicked” again, once the cooldown (in my example 5 seconds) ran out.
I think you meant this block:when I receive [ v]
So yea, both methods work just fine.
Thanks but I meant the when sprite clicked block
when this sprite clicked
if <(costume #) = [X]> then
switch costume to [Y v]
broadcast [A v]
else
switch costume to [Z v]
broadcast [B v]
end
When you click the button, it will glitch the costume animation if you keep clicking the button, that kind of glitch basically.
Last edited by DNQ_brwn (June 14, 2023 16:22:40)
- lion334
- Scratcher
100+ posts
Adding a cooldown to In-game Button scripts
Yea…. thats the Question of the post I answered in my first response I think. Must be a misunderstanding.Actually… it will.You have to use the second option. The if statement won't stop being checked by the wait () seconds block. -snip-
Having the code made usingwhen green flag clickedorwhen I start as a clone
will automatically make this block getting played once, therefore you cannot get two “true” returns in the mouse-click boolean. Having the Block repeat itself makes it able that you can use the “is clicked” again, once the cooldown (in my example 5 seconds) ran out.
I think you meant this block:when I receive [ v]
So yea, both methods work just fine.
Thanks but I meant the when sprite clicked blockwhen this sprite clicked
if <(costume #) = [X]> then
switch costume to [Y v]
broadcast [A v]
else
switch costume to [Z v]
broadcast [B v]
end
When you click the button, it will glitch the costume animation if you keep clicking the button, that kind of glitch basically.
Basically in my first Post I'm explaining a fix for the Problem. It works the same as the Script you're trying to use, except it has a cooldown. Else it's exactly the same, it detects when a Sprite is clicked and then executes the code - but with a cooldown.
Last edited by lion334 (June 14, 2023 19:08:34)
- Mave_LOLL
- Scratcher
1 post
Adding a cooldown to In-game Button scripts
how do I set a cool down for a move for a character?
- lion334
- Scratcher
100+ posts
Adding a cooldown to In-game Button scripts
how do I set a cool down for a move for a character?
I reckon you've got a Movement-Script:
Movement Script
Therefore, my version of doing a cooldown would be this:
when green flag clicked
forever
if <[0] < (Cooldown)> then
wait (0.1) secs
change [Cooldown v] by (-0.1) //You can't just do "Wait Cooldown Seconds" and then set it to 0, as this would mean that if a Cooldown is added ontop of another, it would be ignored.
end
end
if <(Cooldown) < [0.01]> then //Updated Movement Script
Movement Script
end
set [Cooldown v] to [2] //Set a fixed cooldown
change [Cooldown v] by (2) //Or add to a cooldown
This should solve your problem.
Sincerely,
lion334
- GamerMYM
- Scratcher
97 posts
Adding a cooldown to In-game Button scripts
.]
Last edited by GamerMYM (March 31, 2024 14:10:14)
Hey! It’s GamerMYM here! You found me! —I'm a gamer who loves to play all sorts of games (appropriate), but I'm especially fond of building games. I'm always up for a challenge, and I love working together with others to complete tasks and achieve goals! — I'm a developer who loves to create fun and engaging games for players of all ages. I'm especially passionate about building and designing new worlds for players to explore. I'm also a big fan of collaborating with other developers to create even better games. I'm always looking for new and innovative ways to improve the Scratch experience. I'm a big believer in the community and I love interacting with people and hearing their feedback. I'm also a team player and I'm always willing to go the extra mile to help my team succeed. Remember, Never give up, & DOnt quIT. #StayCool
- Discussion Forums
- » Help with Scripts
- » Adding a cooldown to In-game Button scripts