Aller au contenu
  • 0

ne pas compter les blocks sous le joueur


Question

Posté(e)

Version de Minecraft : 1.8.8
Version de Skript : 2.6.5

Addons utilisés: aucun

Type du skript : sélection de block random autour d'un joueur 

Description du script :

Bonjour, j'ai un script qui check tout les blocks autour d'un joueur mais je voudrais exclure les block sous le joueur, comment faire ?

on consume of water bottle:
    if name of player's tool is "&4&l» &b&lTP Potion":
        set {_block} to random element out of blocks in radius 3 of player
        show mob spawner flames at {_block}'s location
        wait 40 tick
        show mob spawner flames at {_block}'s location
        wait 20 tick
        show mob spawner flames at {_block}'s location
        teleport player to {_block}'s location

olitesses et des bouts de codes que vous avez déjà regroupé, des screenshots des erreurs ainsi que tout le nécessaire qui peut contribuer à la résolution de votre problème.

1 réponse à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour,

ça fait un très très long moment que je n'ai pas touché à skript mais la nostalgie m'a fait revenir ton problème est quelque chose de plutôt basique si tu veux progresser en skript il faut impérativement que tu apprenne à utiliser les boucles c'est la base de toutes forme d'algorithme qu'on retrouve dans tout les langages de programmation et qui à été introduit à skript dès les débuts. N'hésite pas non plus à aller chercher les solutions dans la documentation il y a de quoi faire de gros projet avec et c'est le meilleur moyen de progresser.

Enfin bref.

 

Sache qu'il n'y a jamais qu'une seul solution à un problème avec un peu de recherche tu aurais pu avoir  cette solution peu optimisé mais qui fonctionne
 

on consume of water bottle:
   if name of player's tool is "&4&l» &b&lTP Potion":
      loop ( all blocks in radius 3 around player's location ):
          if ( ceil(y-coordinate of loop-block) <= y-coordinate of player ):
              set {_block} to random element out of blocks in radius 3 of player
              while ( ceil(y-coordinate of {_block}) <= y-coordinate of player ):
                  set {_block} to random element out of blocks in radius 3 of player
              show mob spawner flames at {_block}'s location
              wait 40 tick
              show mob spawner flames at {_block}'s location
              wait 20 tick
              show mob spawner flames at {_block}'s location
              teleport player to {_block}'s location
              stop

Et en cherchant plus loin tu aurais pu avoir cette solution plus optimisé 

 

on consume of water bottle:
	if name of player's tool is "&4&l» &b&lTP Potion":
		set {_block} to random element out of blocks in radius 3 of player
		while ( ceil(y-coordinate of {_block}) <= y-coordinate of player ):
			set {_block} to random element out of blocks in radius 3 of player
		show mob spawner flames at {_block}'s location
		wait 40 tick
		show mob spawner flames at {_block}'s location
		wait 20 tick
		show mob spawner flames at {_block}'s location
		teleport player to {_block}'s location

Tout simplement on boucle à l'infini tant que la coordonné du block choisi est inférieur ou égale à celle du joueur lorsque ce n'est plus le cas alors on tp

l'instruction :

ceil(y-coordinate of loop-block)

Permet d'arrondir la coordonnée du block choisi à l'entier supérieur.

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.