Aller au contenu
  • 0

Montures


Question

Posté(e) (modifié)

 

Bonjour !

Alors récemment j'ai fait un Skript de Montures, sauf que j'aimerais le peaufiner(mais c'est compliqué)

Version: 1.8.8 /ViaVersion

Gui :

fait avec SkQuery, me taper pas mon Tuske marche pas 😢

command /montures:
	trigger:
		open chest with 6 rows named "Montures" to player
		wait 2 ticks

		format slot 9 of player with white wool named "&aMouton" with lore "&8Monture de Mouton||&aCommun|| ||&7Cette monture vous permet de monter à dos ||&7d'un monton. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7mouton de compagnie! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture sheep"]

		format slot 10 of player with porkchop named "&aCochon" with lore "&8Monture de Cochon||&aCommun|| ||&7Cette monture vous permet de monter à dos ||&7d'un cochon. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7cochon de compagnie! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture pig"]

		format slot 11 of player with iron horse armor named "&aSilverfish" with lore "&8Monture de Silverfish||&aCommun|| ||&7Cette monture vous permet de monter à dos ||&7d'un Silverfish. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7poisson d'argent! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture silver"]

		format slot 12 of player with fish named "&9Chat" with lore "&8Monture de Chat||&9Rare|| ||&7Cette monture vous permet de monter à dos ||&7d'un chat. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7félin! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture chat"]

		format slot 13 of player with feather named "&9Poule" with lore "&8Monture de Poule||&9Rare|| ||&7Cette monture vous permet de monter à dos ||&7d'une poule. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7gallinacé! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture poule"]

		format slot 14 of player with leather named "&9Vache" with lore "&8Monture de Vache||&9Rare|| ||&7Cette monture vous permet de monter à dos ||&7d'une vache. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7vache de compétition! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture cow"]

		format slot 15 of player with bone named "&9Loup" with lore "&8Monture de Loup||&9Rare|| ||&7Cette monture vous permet de monter à dos ||&7d'un loup. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7loup sauvage! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture loup"]

		format slot 16 of player with fermented spider eye named "&5Araignée" with lore "&8Monture d'Araignée||&5Epique|| ||&7Cette monture vous permet de monter à dos ||&7d'une araignée. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7araignée! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture spider"]

		format slot 17 of player with rotten flesh named "&5Zombie" with lore "&8Monture de Zombie||&5Epique|| ||&7Cette monture vous permet de monter à dos ||&7d'un zombie. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7zombie! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture zombie"]

		format slot 18 of player with coal named "&5Chauve-Souris" with lore "&8Monture de Chauve-Souris||&5Epique|| ||&7Cette monture vous permet de monter à dos ||&7d'une chauve souris. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7Bat-Man! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture bat"]

		format slot 19 of player with carrot named "&5Lapin" with lore "&8Monture de Lapin||&5Epique|| ||&7Cette monture vous permet de monter à dos ||&7d'un lapin. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7rongeur! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture lapin"]

		format slot 20 of player with emerald named "&5Villageois" with lore "&8Monture de Villageois||&5Epique|| ||&7Cette monture vous permet de monter à dos ||&7d'un villageois. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7villageois! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture villager"]


		format slot 21 of player with block of iron named "&6Golem" with lore "&8Monture de Golem||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un golem. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7homme de fer! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture golem"]


		format slot 22 of player with ender pearl named "&6Enderman" with lore "&8Monture d'Enderman||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un enderman. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7créature de l'end! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture enderman"]

		format slot 23 of player with blaze powder named "&6Blaze" with lore "&8Monture de Golem||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un blaze. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7helicopere de feu! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture blaze"]

		format slot 24 of player with skull of "Herobrine" parsed as offline player named "&6Herobrine" with lore "&8Monture Herobrine||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un herobrine. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7herobrine! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture herobrine"]

		format slot 25 of player with ender eye named "&6Endermite" with lore "&8Monture d'Endermite||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'une endermite. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7bestiole violette! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture endermite"]

		format slot 26 of player with slime named "&6Slime" with lore "&8Monture de Slime||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un slime. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7cube de gelatine! || ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture slime"]

		format slot 27 of player with 397:1 named "&6Bébé Wither" with lore "&8Monture de Wither||&6Legendaire|| ||&7Cette monture vous permet de monter à dos ||&7d'un bébé wither. Vous allez pouvoir naviguer ||&7dans toutes la map à la découverte d'endroit avec votre fidèle||&7wither! || ||&cUniquement pour le staff!|| ||&eClique Droit &7pour faire apparaître||&bClique Gauche &7pour ajouter aux favoris." to close then run [make player execute command "/monture wither"]

		format slot 48 of player with arrow named "&bRetour" to run [execute player command "§cosmetiques"]

Montures :

Citation

 


command monture [<text>]:
	trigger:
		if arg 1 is "villager":
			send "&bVous avez fait spawn votre &eVillager (large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type villager"
			make server execute command "npc controllable"
			make server execute command "npc speed 7"
		if arg 1 is "enderman":
			send "&bVous avez fait spawn votre &eEnderMan(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type enderman"
			make server execute command "npc controllable"
			make server execute command "npc speed 7"
		if arg 1 is "bat":
			send "&bVous avez fait spawn votre &eChauve Souris(small)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type bat"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "sheep":
			send "&bVous avez fait spawn votre &eMouton(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type sheep"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "pig":
			send "&bVous avez fait spawn votre &eCochon(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type pig"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "silver":
			send "&bVous avez fait spawn votre &eSilverFish&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type silverfish"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "chat":
			send "&bVous avez fait spawn votre &eChat(small)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type cat"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "poule":
			send "&bVous avez fait spawn votre &ePoule(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type chicken"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "cow":
			send "&bVous avez fait spawn votre &eVache(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type cow"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "loup":
			send "&bVous avez fait spawn votre &eLoup(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type wolf"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "spider":
			send "&bVous avez fait spawn votre &eAraignée(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type spider"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "zombie":
			send "&bVous avez fait spawn votre &eZombie&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type zombie"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "golem":
			send "&bVous avez fait spawn votre &eGolem(large)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type irongolem"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "blaze":
			send "&bVous avez fait spawn votre &eBlaze&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type blaze"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "herobrine":
			send "&bVous avez fait spawn votre &eHerobrine&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn"
			make server execute command "npc skin Herobrine"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "endermite":
			send "&bVous avez fait spawn votre &eEndermite(small)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type endermite"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"
		if arg 1 is "slime":
			send "&bVous avez fait spawn votre &eSlime(small)&b." to player
			set {monture.%player%} to true
			make server execute command "npc create %player% --at %x-coordinate of player's location%:%y-coordinate of player's location%:%z-coordinate of player's location%:IceSpawn --type slime"
			make server execute command "npc controllable"
			make server execute command "npc speed 15"

 

 

 

Mais il y'a plusieurs petits soucis:

- Si le joueur ce sneak avant d'être montée sur la monture, la monture s'enlève quand même, 

Citation

on sneak toggle:
	if {monture.%player%} is true:
		make server execute command "npc remove %player%"
		set {monture.%player%} to false
		message "&bVotre monture à &edisparu&b."

 

- De temps en temps, la monture ne spawn pas,

- Les autres joueurs peuvent monter sur la monture d'une autre monture,

- Les montures vont très lentement,

- Le joueur peut avoir plusieurs montures en même temps.

 

Voilà les problèmes que je n'arrive pas à résoudre..

En espérant de l'aide !

 

(j'ai oublier aussi j'ai fait ça)

Citation

on teleport:
	if {monture.%player%} is true:		
		make server execute command "npc remove %player%"
		set {monture.%player%} to false

on quit:
	if {monture.%player%} is true:		
		make server execute command "npc remove %player%"
		set {monture.%player%} to false

on kick:
	if {monture.%player%} is true:		
		make server execute command "npc remove %player%"
		set {monture.%player%} to false

 

Modifié par IsKronos

2 réponses à cette question

Messages recommandés

  • 0
Posté(e)

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

  • J'aime 2
  • 0
Posté(e)
Il y a 2 heures, Natix35 a dit :

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

Ouah,

alors là je m’attendais pas à ce que soit aussi pointilleux et argumentée un gros merci à toi pour ton aide ! 

+1 like 

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.