1. Le sneak fait disparaître la monture
Je pense qu'il existe une expression pour vérifier si le joueur est sur quelque chose.
Mais sinon j'ai trouver un évènement, au lieu de faire en sneak, essaye :
on dismount:
if {monture.%player%}:
make server execute command "npc remove %player%"
set {monture.%player%} to false
message "&cVotre monture vient de disparaître"
2. Les montures ne spawn pas
Réalise des tests pour voir si les coordonnées sont correcte, si la commande s'exécute bien,... 3. Les joueurs peuvent monter sur les montures des autres
Aucune idée si sa fonctionne mais quelques choses dans ce style :
1. Détecter l'évènement de clique sur un Citizen (on npc right click)
2. Vérifier si le nom de la monture = le nom du joueur
Oui : stop
Non : cancel event Documentation sur les Citizens (skript) 4. Les montures vont très lentement
Encore une fois, c'est Citizen qui gère ça mais cherche sur leur doc si il y a quelques choses pour t'aider : Documentation Citizens 5. Les joueurs peuvent avoir plusieurs monture
Lors de la commande /monture avant de vérifier si arg 1 vaut … ou … fais :
command /monture [<text>]:
trigger:
if {monture.%player%}: //Signifie : Si true alors on arrête la commande sinon on continue
message "&cVous avez déjà une monture !"
stop
if arg 1 is "villager":
Petit conseil d'amélioration :
1. tu répètes trop de fois :
set {monture.%player%} to true
make server execute command "npc controllable"
make server execute command "npc speed 15"
Tu devrais faire une variable au début de ton code qui retient : false
ensuite quand tu entre dans un argument valide tu met cet variable sur true
à la fin de ton code tu fais :
if {_maVariable}:
set {monture.%player%} to true
make server execute command "npc controllable"
make server execute command "npc speed %arg 2%"
J'utilise %arg 2% car pourquoi ne pas créer un argument pour la vitesse ? Sa simplifierais tout.
Mais si tu veux pas que les joueurs aient accès à la vitesse mais aux /monture tu peux vérifier si arg 2 est précisé si il a la permission sinon tu le met sur une variable par défaut.
Si tu modifies pour utiliser ce que je t'ai mis la, pense à faire aussi le point 2. Sa te retirera 50% de t'es lignes.
2. Pour commencer, tu parles FR alors pourquoi ne pas mettre des arguments FR (Villager = Villageois,...) sa te permettrais de retirer la ligne pour afficher la monture et simplement faire:
send "&bVous avez fait spawn votre &e%arg 1%&b." to player
3. Si tu ne fais pas la méthode 2, tu pourrais au lieu de faire --type villager faire : --type %arg 1%, mais vu que tu utilises parfois des npc par défaut sans type, alors fait la méthode 2. J'ai un skript de monture mais qui fait spawn des mobs, pas des citizens, je vais te l'envoyer voir si sa peut t'aider 🙂
(Le skript à quelques bug à régler)
J'espère t'avoir été utile et que ton Skript s'améliorera avec mes conseils x)
mount.sk