Résolu GUI/Menu en Vanilla?

EntrezUnPseudo

Architecte en herbe
26 Janvier 2014
145
35
135
Salut !;)

J'étais en train de naviguer sur youtube pour approfondir mes connaissances en command block et la je tombe sur une vidéo de ce que je cherchais :eek:

Je ne sais pas mettre de spoiler ( Ok je suis nul )

La vidéo :

J'ai compris ( enfin je crois ) une seul chose : c'est dans un dispenser et on choisis le kit. Mais le reste : Comment ouvre-t'il le dispenser avec une carte ? Comment la carte active un circuit ? J'aimerais bien savoir donc si vous y connaissez en command block , je compte sur vous ! :oops:


Cordialement , Dasly
 
Pour t'expliquer :
Il y a dans ce système 2 types de Input : la carte, et l'oeuf renommé.
Déjà, pour interpréter ces deux input :
La carte vierge a pour ID 395. Lorsque la carte devient rempli (quand on fait clic droit avec elle), elle passe de l'ID 395 à l'ID 358. Une clock de commandblock ultra rapide va faire un /testfor d'un joueur qui aurait donc cette carte d'ID 358. Après, on met un comparateur. Note : cette précision dans le testfor n'est compatible qu'en 1.8.
Pour l'Oeuf, il y a deux méthodes ;
Comme l'Oeuf est renommé, on peux prétendre à un /kill @e[type=Ghast,name=CustomName], avec un comparateur à la suite.
Ou alors, il se base sur un objectif de scoreboard de type stat.useItem.383 (383 étant l'ID des oeufs de spawn) ; dans ce cas, il fait un /testfor @a[score_min_ObjectifOeufDeSpawn=1,score_ObjectifOeufDeSpawn=1]. Cette méthode est compatible en 1.7 et je la trouve plus précise car on peut mettre le @a[...] dans chaque commande.

Une fois cela fait, on a un commandblock qui viendra faire la commande /spawnpoint <joueur> , puis on le téléporte dans un portail de l'End. Tu apparais dans la direction du dispenser et comme tu auras laissé ton clic droit enfoncé comme précisé sur le nom de l'item en début de vidéo, tu ouvriras le dispenser. Après, 2 possibilités :
- Soit les commandblock font un /testforblock pour savoir quel item tu as pris (et donc qu'il n'y a pas DANS LE DISPENSER), ou ils font un /testfor pour voir quel item tu as pris DANS TON INVENTAIRE.
Ensuite, ça t'enlève l'item de sélection, ça le replace dans le dispenser (ça fait un /setblock du dispenser ou bien un /blockdata (1.8) ). Puis ça active une série de commandblock de /give pour donner les objets selon la classe. Enfin, ça te téléporte dans le portail de sortie de l'End et donc tu respawn à l'ancien endroit grâce au spawnpoint.
Pour savoir comment le gars obtient une impulsion à partir de l'ouverture de l'inventaire, j'en ai aucune idée, cela dit.

Je vois trois gros défauts dans le système :
- Si le joueur meurt, il respawn là où il a choisi sa dernière classe.
- On peut pas avoir de maps, pour les afficher ou se repérer tout simplement.
- L'End étant relativement aménagé en son spawn, il faut d'abord empêcher les endermen de prendre des blocs et tuer l'EnderDragon pour éviter qu'il ne bute le joueur. Après, ça va être difficile de récolter de l'endstone par la suite sauf en griefant le système :/
 
Salut

Avec les dernières nouveautés de la 1.8, il n'est plus indispensable d'utiliser le spawnpoint, ni le nether.
Lorsque l'on a besoin de tp le joueur, il suffit de positionner un objet (WhiterSkull avec les directions à 0 par exemple).
Si il y a plusieurs joueurs a gérer, on peut aussi donner des ids aux joueurs (via le scoreboard), et on donne la même id au skull.
Quand on ramène le joueur, il suffis de le tp au skull ayant la même id, et de supprimer le skull.