Je me suis permis de modifier ton code, pour le rendre plus compact et plus opti, et en enlevant les bugs (tu avais mis un "stop loop", donc si un joueur était protégé, la loop s'arrêtait et la pluie se dissipait. Ce que tu voulais c'était un "continue", qui sert a passer a la prochaine valeur dans une loop).
every 10 minutes:
pluieacide()
command /pluieacidestart:
permission: pluieacide.start
trigger:
pluieacide(true)
function pluieacide(wait: boolean=false):
if {_wait}:
broadcast "&c&lAttention ! &cPluie acide dans 30 secondes !"
wait 30 seconds
broadcast "&c&lAttention ! &cLa pluie acide commence !"
set the weather of all the worlds to rain
loop 30 times: # durée de la pluie en secondes
wait 1 second
loop all players where input's gamemode is survival:
set {_x} to x-coordinate of loop-player
set {_z} to z-coordinate of loop-player
set {_pos} to location at ({_x}, 255, {_z}) in world of loop-player
loop blocks within position of loop-player and {_pos}:
if loop-block is not air:
broadcast "Vous êtes protégés."
continue
damage loop-player by 1 heart
set the weather of all the worlds to sun
broadcast "&cLa pluie acide se dissipe !"
si tu veux lancer la pluie sans compte a rebours de 30s, alors c'est pluiacide(). Sinon c'est pluisacide(true)
Pas bête ca pourrait fonctionner !
edit : dsl double post j'ai pas fait gaffe