Type du skript : Connaitre le bloc avec ses coordonnées
Description du script :
Bonsoir, j'ai fait un programme qui sauvegarde l'emplacement d'un chest dans un fichier et qui le supprime quand il est détruit par un joueur. J'essaie de faire la même chose mais lorsqu'il explose. Donc juste avant une explosion je loop-block et je récupere les coordonnées de tout les chests dans un rayon de 5 blocs autour de l'event-location. Ensuite j'attends 2 seconds et là je ne sais pas comment faire 😕 Voici ce que j'ai fais :
if block in location at {_xloc},{_yloc},{_zloc} is not a chest:
J'aimerai pouvoir regarder un bloc avec ses coordonnées (qui sont chacunes dans une variable) pour voir si le chest est toujours là. Je crois que l'on peux faire ça avec un loop-block mais je ne trouve pas comment 😕
J'espère que vous pourrez m'aider 😄
Voici le code de cette partie en vrac :
Révélation
on explosion prime:
if file "C.A.T/Chest/explosion.txt" does not exist:
create file "C.A.T/Chest/explosion.txt"
loop blocks in radius 5 around event-location:
if loop-block is chest:
set {_xloc} to x-pos of loop-block's location
set {_yloc} to y-pos of loop-block's location
set {_zloc} to z-pos of loop-block's location
set {_xloc} to floor({_xloc})
set {_yloc} to floor({_yloc})
set {_zloc} to floor({_zloc})
set {_line} to line count of file "C.A.T/Chest/explosion.txt"
add 1 to {_line}
write "%{_xloc}%;%{_yloc}%;%{_zloc}%" at line {_line} to file "C.A.T/Chest/explosion.txt"
wait 2 second
set {_line} to line count of file "C.A.T/Chest/explosion.txt"
broadcast {_line}
loop {_line} time:
set {_name} to line {_line} in file "C.A.T/Chest/explosion.txt"
if file "C.A.T/Chest/%{_name}%" exists:
set {_xloc} to line 1 in file "C.A.T/Chest/%{_name}%"
set {_yloc} to line 2 in file "C.A.T/Chest/%{_name}%"
set {_zloc} to line 3 in file "C.A.T/Chest/%{_name}%"
set {_xloc} to {_xloc} parsed as an number
set {_yloc} to {_yloc} parsed as an number
set {_zloc} to {_zloc} parsed as an number
if block in location at {_xloc},{_yloc},{_zloc} is not a chest:
#------------------------------------------------------------------------------
# LOGS
#------------------------------------------------------------------------------
set {_proprio} to line 4 in file "C.A.T/Chest/%{_xloc}%;%{_yloc}%;%{_zloc}%.txt"
set {_date} to now
set {_date} to {_date} formatted human-readable as "dd-MM-yyyy"
if file "C.A.T/Logs/%{_date}%.log.txt" does not exist:
create file "C.A.T/Logs/%{_date}%.log.txt"
set {_line} to line count of file "C.A.T/Logs/%{_date}%.log.txt"
add 1 to {_line}
set {_hour} to now
set {_hour} to {_hour} formatted human-readable as "[HH:mm:ss]"
write "%{_hour}%%{_proprio}%'s chest exploded in x:%{_xloc}%,y:%{_yloc}%,z:%{_zloc}%" at line {_line} to file "C.A.T/Logs/%{_date}%.log.txt"
#------------------------------------------------------------------------------
# LOGS
#------------------------------------------------------------------------------
delete file "C.A.T/Chest/%{_xloc}%;%{_yloc}%;%{_zloc}%.txt"
remove 1 from {_line}
broadcast "Fini"
broadcast {_line}
#delete file "C.A.T/Chest/explosion.txt"
Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.
Question
Thoomass
Version de Minecraft : 1.12.2
Version de Skript : 2.4 beta7
Addons utilisés: SkQuery-4.1.1,Skript-db-0.2.0,skript-mirror-0.19.1,skUtilities-0.9.2
Type du skript : Connaitre le bloc avec ses coordonnées
Description du script :
Bonsoir, j'ai fait un programme qui sauvegarde l'emplacement d'un chest dans un fichier et qui le supprime quand il est détruit par un joueur. J'essaie de faire la même chose mais lorsqu'il explose. Donc juste avant une explosion je loop-block et je récupere les coordonnées de tout les chests dans un rayon de 5 blocs autour de l'event-location. Ensuite j'attends 2 seconds et là je ne sais pas comment faire 😕 Voici ce que j'ai fais :
if block in location at {_xloc},{_yloc},{_zloc} is not a chest:J'aimerai pouvoir regarder un bloc avec ses coordonnées (qui sont chacunes dans une variable) pour voir si le chest est toujours là. Je crois que l'on peux faire ça avec un loop-block mais je ne trouve pas comment 😕
J'espère que vous pourrez m'aider 😄
Voici le code de cette partie en vrac :
on explosion prime: if file "C.A.T/Chest/explosion.txt" does not exist: create file "C.A.T/Chest/explosion.txt" loop blocks in radius 5 around event-location: if loop-block is chest: set {_xloc} to x-pos of loop-block's location set {_yloc} to y-pos of loop-block's location set {_zloc} to z-pos of loop-block's location set {_xloc} to floor({_xloc}) set {_yloc} to floor({_yloc}) set {_zloc} to floor({_zloc}) set {_line} to line count of file "C.A.T/Chest/explosion.txt" add 1 to {_line} write "%{_xloc}%;%{_yloc}%;%{_zloc}%" at line {_line} to file "C.A.T/Chest/explosion.txt" wait 2 second set {_line} to line count of file "C.A.T/Chest/explosion.txt" broadcast {_line} loop {_line} time: set {_name} to line {_line} in file "C.A.T/Chest/explosion.txt" if file "C.A.T/Chest/%{_name}%" exists: set {_xloc} to line 1 in file "C.A.T/Chest/%{_name}%" set {_yloc} to line 2 in file "C.A.T/Chest/%{_name}%" set {_zloc} to line 3 in file "C.A.T/Chest/%{_name}%" set {_xloc} to {_xloc} parsed as an number set {_yloc} to {_yloc} parsed as an number set {_zloc} to {_zloc} parsed as an number if block in location at {_xloc},{_yloc},{_zloc} is not a chest: #------------------------------------------------------------------------------ # LOGS #------------------------------------------------------------------------------ set {_proprio} to line 4 in file "C.A.T/Chest/%{_xloc}%;%{_yloc}%;%{_zloc}%.txt" set {_date} to now set {_date} to {_date} formatted human-readable as "dd-MM-yyyy" if file "C.A.T/Logs/%{_date}%.log.txt" does not exist: create file "C.A.T/Logs/%{_date}%.log.txt" set {_line} to line count of file "C.A.T/Logs/%{_date}%.log.txt" add 1 to {_line} set {_hour} to now set {_hour} to {_hour} formatted human-readable as "[HH:mm:ss]" write "%{_hour}%%{_proprio}%'s chest exploded in x:%{_xloc}%,y:%{_yloc}%,z:%{_zloc}%" at line {_line} to file "C.A.T/Logs/%{_date}%.log.txt" #------------------------------------------------------------------------------ # LOGS #------------------------------------------------------------------------------ delete file "C.A.T/Chest/%{_xloc}%;%{_yloc}%;%{_zloc}%.txt" remove 1 from {_line} broadcast "Fini" broadcast {_line} #delete file "C.A.T/Chest/explosion.txt"
Modifié par Thoomass1 réponse à cette question
Messages recommandés