Aller au contenu
  • 0

Impossibilité de supprimer un fichier (WildSkript)


Question

Posté(e)

Bonjour le monde,

J'ai besoin de pouvoir remettre une map mini jeu à zero afin de pouvoir redémarrer des parties.

Pour cela j'ai fait ce code:

command /fileremove <text>:
   permission:skript.setup
   trigger:
       df "%arg%"
       send "Hello"

command /directorycopy <text> <text>:
   permission:skript.setup
   trigger:
       copy directory "%arg-1%" to "%arg-2%"

 

Pour l'instant je n'ai pas tout fait avec une seul commande ou un événement pour faire des tests mais voici le principe: - Je créer une map quelconque avec multiverse via la commande /mv create NomMapTemp normal

- Je décharge la map du plugin via la commande /mv unload NomMapTemp

- J'essaie de supprimer le dossier region du monde via la commande /fileremove NomMapTemp/region(Etape qui coince)

- Puis je copie le dossier region de la map sans modification par les joueurs via la commande /directorycopy NomMapOriginal/region NomMapTemp

- Enfin je recharge la map via /mv load NomMapTemp

Le problème c'est qu'au moment de la suppression du dossier région, il ne se passe rien.

J'ai essayer en faisant toute les étapes sauf la 3ème que je fais manuellement et ça fonctionnais.

J'ai regardé les logs au cas ou il y aurait une erreur mais rien juste un "hello" que j'ai mis pour voir si la commande s’exécutait correctement.

Voilà je vous remercie de votre réponse future

10 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour,

J'ai essayer comme tu as fais effectivement, ça n'as pas l'air de fonctionner.

Je fais un truc similaire pour changer mes maps ressources, mais ça change tout le dossier map je ne sais pas si ça t'ennui ou pas.

Faudra juste l'adapter pour toi avec le copy de map.

#==================================
# CHANGEMENT DES MAPS RESSOURCES
#==================================
options:
   nomaps: "melandryss" or "Survie"
   logo: &7[&eC4C-Maps&7]
command /map <text> <text> [<text>]:
   permission: sk.modo
   permission message: &4Tu n'as pas l'autorisation d'utiliser cette commande !
   usage: &4/map <change(pourmapressource)/create/delete> <nomdelamap> <NORMAL/NETHER/END>
   trigger:
       if arg 1 is "change":
           if arg 2 is not {@nomaps}:
               if arg 3 is set:
                   if file "%arg-2%" exists:
                       broadcast "{@logo}: &7Changement de la map ressource &e%arg-2% &7en cours..."
                       wait 1 second
                       broadcast "{@logo}: &7Suppression du portail de la map &e%arg-2%"
                       make console execute command "/cg world delete %arg-2%"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppression du portail effectué !"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppresion du warp de la map &e%arg-2%..."
                       wait 1 second
                       make console execute command "/delwarp %arg-2%"
                       wait 2 seconds
                       broadcast "{@logo}: &7Warp supprimé !"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppression de la map &e%arg-2% &7en cours..."
                       wait 1 second
                       make console execute command "/mv delete %arg-2%"
                       wait 5 seconds
                       make console execute command "/mvconfirm"
                       wait 30 seconds
                       broadcast "{@logo}: &7Suppression de la map effectué !"
                       wait 3 seconds
                       broadcast "{@logo}: &7La map &e%arg-2% &7est en cours de création..."
                       make console execute command "/mv create %arg-2% %arg-3%"
                       wait 1 minute
                       broadcast "{@logo}: &7La map &e%arg-2% &7a été remplacé"
                       wait 2 seconds
                       broadcast "{@logo}: &7En attente d'un modo pour la création du spawn"
                       wait 2 seconds
                       broadcast "{@logo}: &7Un modo vous préviendra quand le spawn sera posé et le portail de téléportation créé !"
                   else:
                       send "{@logo}: &4Le nom de la map saisi n'existe pas. Merci de passer par cette commande: &4/map <change/create/delete> <nomdelamap> <NORMAL/NETHER/END>"
               else:
                   send "{@logo}: Vous devez spécifier le type de map &e(NORMAL/NETHER/END)&7."
           else:
               send "{@logo}: &4Attention, vous ne pouvez pas remplacer la map &e%arg-2% &4sans passer par l'administrateur."
       if arg 1 is "create":
           if file "%arg-2%" doesn't exists:
               send "{@logo}: &7La map &e%arg-2% &7est en cours de création..." to player
               make console execute command "/mv create %arg-2% %arg-3%"
               wait 1 minute
               send "{@logo}: &7La map &e%arg-2% &7a été remplacé" to player
               wait 2 seconds
               send "{@logo}: &7En attente d'un modo pour la création du spawn" to player
               wait 2 seconds
               send "{@logo}: &7Un modo vous préviendra quand le spawn sera posé et le portail de téléportation créé !" to player
           else:
               send "{@logo}: La map %arg 2% existe déjà !" to player
       if arg 1 is "delete":
           if arg 2 is not {@nomaps}:
               send "{@logo}: &7Suppression de la map &e%arg-2% &7en cours..." to player
               wait 1 second
               make console execute command "/mv delete %arg-2%"
               wait 3 seconds
               make console execute command "/mvconfirm"
               wait 30 seconds
               send "{@logo}: &7La map %arg 2% a été supprimé !" to player
           else:
               send "{@logo}: &4Attention, vous ne pouvez pas remplacer la map &e%arg-2% &4sans passer par l'administrateur."

on tab completer for "map":
   add "change" to completions
   add "create" to completions
   add "delete" to completions

  • 0
Posté(e)
Bonjour,

J'ai essayer comme tu as fais effectivement, ça n'as pas l'air de fonctionner.

Je fais un truc similaire pour changer mes maps ressources, mais ça change tout le dossier map je ne sais pas si ça t'ennui ou pas.

Faudra juste l'adapter pour toi avec le copy de map.

#==================================
# CHANGEMENT DES MAPS RESSOURCES
#==================================
options:
   nomaps: "melandryss" or "Survie"
   logo: &7[&eC4C-Maps&7]
command /map <text> <text> [<text>]:
   permission: sk.modo
   permission message: &4Tu n'as pas l'autorisation d'utiliser cette commande !
   usage: &4/map <change(pourmapressource)/create/delete> <nomdelamap> <NORMAL/NETHER/END>
   trigger:
       if arg 1 is "change":
           if arg 2 is not {@nomaps}:
               if arg 3 is set:
                   if file "%arg-2%" exists:
                       broadcast "{@logo}: &7Changement de la map ressource &e%arg-2% &7en cours..."
                       wait 1 second
                       broadcast "{@logo}: &7Suppression du portail de la map &e%arg-2%"
                       make console execute command "/cg world delete %arg-2%"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppression du portail effectué !"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppresion du warp de la map &e%arg-2%..."
                       wait 1 second
                       make console execute command "/delwarp %arg-2%"
                       wait 2 seconds
                       broadcast "{@logo}: &7Warp supprimé !"
                       wait 2 seconds
                       broadcast "{@logo}: &7Suppression de la map &e%arg-2% &7en cours..."
                       wait 1 second
                       make console execute command "/mv delete %arg-2%"
                       wait 5 seconds
                       make console execute command "/mvconfirm"
                       wait 30 seconds
                       broadcast "{@logo}: &7Suppression de la map effectué !"
                       wait 3 seconds
                       broadcast "{@logo}: &7La map &e%arg-2% &7est en cours de création..."
                       make console execute command "/mv create %arg-2% %arg-3%"
                       wait 1 minute
                       broadcast "{@logo}: &7La map &e%arg-2% &7a été remplacé"
                       wait 2 seconds
                       broadcast "{@logo}: &7En attente d'un modo pour la création du spawn"
                       wait 2 seconds
                       broadcast "{@logo}: &7Un modo vous préviendra quand le spawn sera posé et le portail de téléportation créé !"
                   else:
                       send "{@logo}: &4Le nom de la map saisi n'existe pas. Merci de passer par cette commande: &4/map <change/create/delete> <nomdelamap> <NORMAL/NETHER/END>"
               else:
                   send "{@logo}: Vous devez spécifier le type de map &e(NORMAL/NETHER/END)&7."
           else:
               send "{@logo}: &4Attention, vous ne pouvez pas remplacer la map &e%arg-2% &4sans passer par l'administrateur."
       if arg 1 is "create":
           if file "%arg-2%" doesn't exists:
               send "{@logo}: &7La map &e%arg-2% &7est en cours de création..." to player
               make console execute command "/mv create %arg-2% %arg-3%"
               wait 1 minute
               send "{@logo}: &7La map &e%arg-2% &7a été remplacé" to player
               wait 2 seconds
               send "{@logo}: &7En attente d'un modo pour la création du spawn" to player
               wait 2 seconds
               send "{@logo}: &7Un modo vous préviendra quand le spawn sera posé et le portail de téléportation créé !" to player
           else:
               send "{@logo}: La map %arg 2% existe déjà !" to player
       if arg 1 is "delete":
           if arg 2 is not {@nomaps}:
               send "{@logo}: &7Suppression de la map &e%arg-2% &7en cours..." to player
               wait 1 second
               make console execute command "/mv delete %arg-2%"
               wait 3 seconds
               make console execute command "/mvconfirm"
               wait 30 seconds
               send "{@logo}: &7La map %arg 2% a été supprimé !" to player
           else:
               send "{@logo}: &4Attention, vous ne pouvez pas remplacer la map &e%arg-2% &4sans passer par l'administrateur."

on tab completer for "map":
   add "change" to completions
   add "create" to completions
   add "delete" to completions

Sa utilise pas wildskript

  • 0
Posté(e)

Bonsoir,

merci pour ces réponses mais ce que j'aimerais c'est régénérer des parties de minis jeux comme un Rush ou un Tower mais pas de régénérer la map ressource d'un survie, pvp faction ou autre.

Également, ça ne me dérange pas de régénérer tout le dossier de la map mais multiverse n'arrive pas a reload le monde quand je supprime tout le dossier je suppose que ça doit être parce-que les maps se charge uniquement au démarrage du serveur.

Si il y a d'autres idées je suis preneur ^^

  • 0
Posté(e)

Oui je vérifie meme dans le FTP qu'il n'y ais plus de dossier et il n'y est plus mais par contre il ne peux pas réimporter une map du meme nom (Sauf si c'est celle qui vient d'etre supprimé) sans redémarrer le serveur ce qui est problématique.

  • 0
Posté(e)

Bon finalement j'ai découvert comment faire, il me suffisait de supprimer l'intérieur du dossier region avant de le supprimer lui meme voici le code que j'ai fait:

command /restartminigame <text>:
   permission:skript.setup
   trigger:
       set {NumberGameName} to 2
       set {NewGameInCreate} to "%arg%%{NumberGameName}%"
       while file {NewGameInCreate} exists:
           add 1 to {NumberGameName}
           set {NewGameInCreate} to "%arg%%{NumberGameName}%"

       make the console execute "/mv create %{NewGameInCreate}% normal"
       make the console execute "/mv unload %{NewGameInCreate}%"
       df "%{NewGameInCreate}%/region/r.0.0.mca"
       df "%{NewGameInCreate}%/region/r.0.-1.mca"
       df "%{NewGameInCreate}%/region/r.-1.0.mca"
       df "%{NewGameInCreate}%/region/r.-1.-1.mca"
       df "%{NewGameInCreate}%/region/"
       copy directory "%arg%/region" to "%{NewGameInCreate}%/region"
       make the console execute "/mv load %{NewGameInCreate}%"
       send "Copie effectué"

 

Au début j'ai également fait en sorte que le code créer une partie en fonction des mondes déja créer si par exemple il y a déja 3 rush de lancer avec pour nom Rush2 Rush3 et Rush4 Le code fera en sorte de créer une nouvelle partie appelé Rush5. Je passe en résolu pour les gens ayant le meme probleme.

×
×
  • Créer...

Information importante

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.