Aller au contenu

Messages recommandés

Posté(e)

Bonjour/Bonsoir, aujourd'hui on se retrouve pour mon premier tutoriel !

J'ai remarqué une tendance dans le création de skript de rush/hikabrain. Dans ce tutoriel très simple je vais donc vous apprendre à détecter la personne qui allume une TNT (avec un briquet uniquement) ce qui vous permet donc d'ensuite savoir si tel équipe à détruit le lit de tel autre équipe et d'alors lui rajouter une récompense par exemple(comme sur funcraft).

 

Ici on va faire en sorte que lorsqu'une TNT explose on envoie à tout les joueurs: "<joueur> à fait exploser une TNT !"

 

Tout d'abord on définit l’événement:

 

on rightclick with flint and steel: #quand on fait clique droit avec un briquet:
   if event-block is tnt: #si le bloc atteint est une TNT

 

Puis on annule l’événement pour créer une TNT que l'on va pouvoir enregistrer dans une variable:

 

        cancel event #annulation de l'événement
       set event-block to air #suppression du bloc de TNT
       spawn an primed tnt at location of event-block #on place une TNT allumée
       set {_tnt} to last spawned primed tnt #que l'on sauvegarde dans la variable locale {_tnt}

 

Ce qui donne finalement:

on rightclick with flint and steel:
   if event-block is tnt:
       cancel event
       set event-block to air
       spawn an primed tnt at location of event-block
       set {_tnt} to last spawned primed tnt

 

Cela revient à créer l'action classique de Minecraft qui fait que lorsque l'on fait clique droit sur une TNT une TNT allumée apparaît. Cependant ici on a pu reconnaître la TNT est l'enregistrer.

 

Maintenant il faut détecter quand la TNT explose pour savoir quand on envoie le message "<joueur> à fait exploser une TNT !".

 

Pour cela on va attendre deux secondes, car une TNT n'explose pas aussi vite.

 

        wait 2 second #rien de sorcier mais évitera de trop faire lag !

 

Puis on va regarder toutes les TNT allumées est si la TNT trouvée est la TNT {_tnt} que nous avons défini avant on va mettre la variable {_find} à true pour dire que l'on a trouvé la TNT (vous allez comprendre):

 

            loop all primed tnt: #on regarde toutes les TNT allumées
               if loop-entity is {_tnt}: #si on trouve la TNT {_tnt} que l'on a fait spawn avant
                   set {_find} to true #on met la variable {_find} à true

 

Puis on attend 1 tick puis si {_find} n'est pas mise alors on n'a pas trouvé la TNT cela signifie donc que la TNT a explosée est l'on peut donc envoyer notre message:

 

            wait 1 tick
           if {_find} is not set: #si on a pas trouvé la TNT
               broadcast "&b%player% &7a fait explosé une &4TNT &7!" #envoie du message

 

On va répéter l'action 5 fois toutes les secondes jusqu'à ce que nous ne trouvions plus la TNT:

 

        loop 5 times: #on répète l'action 5 fois
           loop all primed tnt:
               if loop-entity is {_tnt}:
                   set {_find} to true
           wait 1 tick
           if {_find} is not set:
               broadcast "&b%player% &7a fait explosé une &4TNT &7!"
               stop loop #on arrête larépétition
           else: #si on a trouvé la TNT
               clear {_fin} #on nettoie la variable {_find}  
               wait 1 second #on attend une seconde avant de reprendre

 

Ce qui donne enfin:

 

on rightclick with flint and steel:
   if event-block is tnt:
       cancel event
       set event-block to air
       spawn an primed tnt at location of event-block
       set {_tnt} to last spawned primed tnt
       wait 2 second
       loop 5 times:
           loop all primed tnt:
               if loop-entity is {_tnt}:
                   set {_find} to true
           wait 1 tick
           if {_find} is not set:
               broadcast "&b%player% &7a fait explosé une &4TNT &7!"
               stop loop
           else:
               clear {_find}
               wait 1 second

 

J'éspère avoir était le plus clair possible et n'héitez pas à mettre un commentaire pour m'aider !

  • 2 semaines après...
Posté(e)

  • Sinon tu peut faire cela , je trouve cela plus simples apres je c'est pas si ça te convient

on rightclick with flint and steel: #Quand on clique droit sur un bricket
   if event-block is tnt:#si le bloc est une tnt
       message "%player% a allumer une tnt :D"#On annonce le joueurs qui a allumer la tnt
       wait 4 seconds #on attend 4 secondes
       message "%player% a fait peter une tnt :D" #On annonce le joueurs qui a fait peter la tnt 

  • J'aime 1
Posté(e)

  • Sinon tu peut faire cela , je trouve cela plus simples apres je c'est pas si ça te convient

on rightclick with flint and steel: #Quand on clique droit sur un bricket
   if event-block is tnt:#si le bloc est une tnt
       message "%player% a allumer une tnt :D"#On annonce le joueurs qui a allumer la tnt
       wait 4 seconds #on attend 4 secondes
       message "%player% a fait peter une tnt :D" #On annonce le joueurs qui a fait peter la tnt 

C'est vrai c'est aussi une autre méthode qui fonctionne très bien, seulement le message ne s'affichera pas exactement au bon moment mais il y aura moins de lag avec ta méthode je pense

Posté(e)
C'est vrai c'est aussi une autre méthode qui fonctionne très bien, seulement le message ne s'affichera pas exactement au bon moment mais il y aura moins de lag avec ta méthode je pense

Si si test tu verra une tnt met 4 secondes a peter <3 :p

  • J'aime 1
  • 5 mois après...
Posté(e)

  • Sinon tu peut faire cela , je trouve cela plus simples apres je c'est pas si ça te convient

on rightclick with flint and steel: #Quand on clique droit sur un bricket
   if event-block is tnt:#si le bloc est une tnt
       message "%player% a allumer une tnt :D"#On annonce le joueurs qui a allumer la tnt
       wait 4 seconds #on attend 4 secondes
       message "%player% a fait peter une tnt :D" #On annonce le joueurs qui a fait peter la tnt 

Ton orthographe par contre...

Posté(e)
Sujet de juin :p

Avec un peu de recul, je me dit vraiment que cette méthode est vraiment pas du tout opti x)

XDD, c'est vrais que ça fait longtemps ^^

[FUSIONNE]

Faudrait mettre en 'résolu'.

[FUSIONNE]

Mes je sais pas comment tu pourrais faire...

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.