Bonjour/bonsoir à tous !
Cette petite fonction renvoi tout simplement le volume d'un pavé, à partir de seulement 2 sommets opposés de celui-ci, comme sur l'image ci-dessous: (les deux blocs rouge représentes les positions à envoyer en paramètre)
Voici quelques exemples:
set {tavar} to getVolume({loc.1} , {loc.2} , player's world)
if getVolume({loc.1} , {loc.2} , player's world) is greater than 100:
message "Votre cube fait %getVolume({loc.1} , {loc.2} , player's world)% blocs !!"
Voilà, j'espère que ça vous sera utile :D
function getVolume(A: location , B: location , w: world) :: number: # renvoie le volume d'un parallélépipède rectangle (si vous comprenez pas les point faites un dessin, ça aide)
# A et B sont les extrémités du parallélépipède rectangle. w sera toujours player's world (mais obligé de le préciser en argument)
set {_C} to location at x-pos of {_A} , y-pos of {_B} , z-pos of {_A} in world {_w} # on créé quelques points nécéssaires au calcul
set {_D} to location at x-pos of {_A} , y-pos of {_B} , z-pos of {_B} in world {_w}
set {_E} to location at x-pos of {_B} , y-pos of {_B} , z-pos of {_A} in world {_w}
set {_AC} to distance between {_A} and {_C} +1 # on calcul la hauteur,
set {_CD} to distance between {_C} and {_D} +1 # la longeur,
set {_CE} to distance between {_E} and {_C} +1 # et la largeur
return {_AC} * {_CD} * {_CE} # et on renvoi le produit des 3, qui équivaut au volume de la zone
# avantage : permet de vérifier la taille de la zone sans lag