Version de Minecraft : 1.15.2
Version de Skript : 2.4.1
Addons utilisés: Ersatz
Type du skript : Création d'un Skript de respawn automatique au point défini le plus proche.
Description du script :
Bonjour à tous, j'essaye de mettre en place un système de respawn sur mon serveur. Les joueurs peuvent définir un point de respawn en utilisant les feux de camps disséminés sur la map.
Lorsqu'un Player meurt, j'aimerais qu'il soit respawn soit à son feu de camp, soit au point de respawn le plus proche (village, ville, etc).
Actuellement les joueurs respawn effectivement à leurs derniers checkpoints définis. Mais lorsqu'ils sont en dehors de la distance autorisée avec un feux de camps, ils respawn toujours au spawn de la map et non au point de respawn définis par les {graveyard::}.
Quelqu'un a une idée ?
Merci par avance pour votre aide !
Le Skript :
on Skript start:
#Husnar
set {graveyard::1} to location(1445, 63, 4834, world("worldmap"), 0, 0)
#Grotte
set {graveyard::2} to location(1325, 137, 5137, world("worldmap"), 0, 0)
on death of player:
set {lp.%player%} to player's location
set {%player%.distance} to distance between {lp.%player%} and {%player%.checkpoint}
on respawn:
if {%player%.distance} is smaller than 75:
set respawn location to {%player%.checkpoint}
send "&9Voix: &eHum... Pas simple n'est-ce pas ?" to player
else:
#Village
set {graveyard::1} to location(1445, 63, 4834, world("worldmap"), 0, 0)
#Grotte
set {graveyard::2} to location(1325, 137, 5137, world("worldmap"), 0, 0)
set {_distance::1} to distance between {lp.%player%} and {graveyard::1}
set {_distance::2} to distance between {lp.%player%} and {graveyard::2}
set {_min} to {distance::1}
loop {_distance::*}:
if {_min} is smaller than loop-value:
set {_min} to loop-value
set {_index} to loop-index
set respawn location to {graveyard::%{_index}%}
send "&9Voix: &eHum... Le dernier feu de camp était visiblement trop loin %player%."
on right click on a campfire:
set {%player%.checkpoint} to player's location
play sound "minecraft:block.fire.extinguish" for player
send "&6Point de sauvegarde enregistré." to player