Aller au contenu
  • 0

SKRIPT BLOCKS PIEGE ! Besoins d'aide


Question

Posté(e)

Bonjours / Bonsoir !

 

Je fais un serveur faction et j'ai eu l'idée d'y rajoutais des blocks piégé !

 

J'ai d'abords choisis le block qui sera piégé pour ma part j'ai choisi les portails de l'end ^^ Donc le block fonctionne bien MAIS petit bémol même avec un portail de l'end normale le joueur est piégé ( propulsé en l'air ) J'aimerais que seul les block de portail de l'end qui se nomme (Block Piégé ) propulse le joueur : / C'est surtout la deuxième partit du code qui pose un problème à partir d e"on walking on end portal frame:"

 

Le code :

command /pportal [<player>]:
   permission: op
   permission message: &7[&6Nex EP] &cTu n'as pas la permissions !
   trigger:
       if arg 1 is set:
           give end portal frame named "&cBlock Piégé !" to arg 1
           message "&7[&6Nex EP] &cTu as reçu un block piégé !"
       else:
           message "&7[&6Nex EP] &cPrécise un joueur !"
on walking on end portal frame:
   create a safe explosion of force 2
   loop players in radius 10 around event-location:
       push loop-player upwards at speed 5
       message "&7[&6Nex EP] &cTu as marché sur un block piégé !"

 

 

Merci d'avance ! Cordialement DofyGame.

13 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Je suis au regret de te dire que les blocks ayant été posé perde leur name et lore donc pas de possibilité faire la différence a moins de rajouté une condition du style loop blocks under end portal frame: ....

  • 0
Posté(e)

Bonjour,

Il y a selon moi 2 moyen de parvenir à tes fins:

 

1/ (À tester) Tu ajoutes, lors de la pose du bloc, "trapped:1" (c'est un exemple) aux NBT du bloc. Cette solution a l'avantage qu'il suffit alors par la suite de simplement tester la présence de ce NBT dans "event-block".

2/ (Sûr) Tu ajoute non pas aux NBT, mais à une variable liste le bloc piégé. Il faudra alors être sur de retirer le bloc de la liste lors de la destruction de celui-ci.

  • 0
Posté(e)
Je suis au regret de te dire que les blocks ayant été posé perde leur name et lore donc pas de possibilité faire la différence a moins de rajouté une condition du style loop blocks under end portal frame: ....

Il y a moyens que tu me fasses un exemple avec une condition ?

  • 0
Posté(e)
Bonjour,

Il y a selon moi 2 moyen de parvenir à tes fins:

 

1/ (À tester) Tu ajoutes, lors de la pose du bloc, "trapped:1" (c'est un exemple) aux NBT du bloc. Cette solution a l'avantage qu'il suffit alors par la suite de simplement tester la présence de ce NBT dans "event-block".

2/ (Sûr) Tu ajoute non pas aux NBT, mais à une variable liste le bloc piégé. Il faudra alors être sur de retirer le bloc de la liste lors de la destruction de celui-ci.

Je vais pas te mentir ... J'ai rien compris x )

  • 0
Posté(e)

Il a raison ca doit être faisable avec les NBT mais je ne m'aventurerais pas dedans je ne m'y connais pas assé.

Sinon pour la condition par exemple:

on walk on end portal frame:
   set {_piege} to event-block
   loop blocks below {_piege}:
       if loop-block is emerald block:
           create a safe explosion of force 2 at the player
           push player upwards at speed 5
           stop loop
       if loop-block isn't emerald block or end portal frame:
           stop loop

  • 0
Posté(e)
Il a raison ca doit être faisable avec les NBT mais je ne m'aventurerais pas dedans je ne m'y connais pas assé.

Sinon pour la condition par exemple:

on walk on end portal frame:
   set {_piege} to event-block
   loop blocks below {_piege}:
       if loop-block is emerald block:
           create a safe explosion of force 2 at the player
           push player upwards at speed 5

Je suis débutant je comprends pas trop ^^ J'attends de voir la réponse de RebellCraft ^^

  • 0
Posté(e)

@DofyGame Ok x')

Bon, l'idée, c'est que lorsque tu va poser ton portail de l'end, ça va ajouter à une variable liste la position du bloc posé.

Lorsque tu va marcher sur un bloc de portail de l'end, tu va ajouter une condition pour vérifier que la position du bloc sur lequel marche le joueur est contenue dans la variable liste; si c'est le cas, ton bloc est bien piégé, sinon c'est un bloc "normal".

Dans ce cas, tu devra aussi retirer le bloc de la variable liste si celui-ci venait à être cassé.

 

@Aligatoror Malheureusement, après tests, les NBT ne sont pas sauvegardés sur des blocs "non-conteneurs" :/

  • 0
Posté(e)
@DofyGame Ok x')

Bon, l'idée, c'est que lorsque tu va poser ton portail de l'end, ça va ajouter à une variable liste la position du bloc posé.

Lorsque tu va marcher sur un bloc de portail de l'end, tu va ajouter une condition pour vérifier que la position du bloc sur lequel marche le joueur est contenue dans la variable liste; si c'est le cas, ton bloc est bien piégé, sinon c'est un bloc "normal".

Dans ce cas, tu devra aussi retirer le bloc de la variable liste si celui-ci venait à être cassé.

 

@Aligatoror Malheureusement, après tests, les NBT ne sont pas sauvegardés sur des blocs "non-conteneurs" :/

Pourrais tu me faire un exemple ?

  • 0
Posté(e)

on walk on end portal frame:
   set {_piege} to event-block's location
   loop {piege.list::*}:
       if loop-value is {_piege}:
           create a safe explosion of force 2 at the player
           push player upwards at speed 5

command /addlocation:
   trigger:
       if target block is an end portal frame:
           add targeted block's location to {piege.list::*}

on break of an end portal frame:
   set {_verif.piege} to event-block's location
   loop {piege.list::*}:
       if loop-value is {_verif.piege}:
           remove loop-value from {piege.list::*}

 

Ça c'est sa technique ^^

×
×
  • 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.