Aller au contenu

Messages recommandés

Posté(e)

Bonjour, Bonsoir

 

Je voudrais faire un système de keycard allant de 1 a 5 les portes card 1 ouvre que le porte de level 1, les card de level 5 ouvre toute les porte.

 

Je vien de débuter en skript et je ne sait toujours pas comment faire

 

merci d'avance pour votre aide

Posté(e)

Voilà :D

 

[spoiler=Le Skript]

 

command /levelcard:
   trigger:
       set {_n} to 1
       loop 5 times:
           give 1 tripwire hook of unbreaking 1 named "&7Card &aLvL &c%{_n}%" to player
           add 1 to {_n}

on rightclick on iron door:
   if name of player's tool contains "&7Card &aLvL":
       set {_c} to last character of name of player's tool parsed as number
       set {_l} to location of clicked block
       set {_l2} to location of clicked block
       if block under clicked block is iron door:
           remove 3 from y-coordinate of {_l}
           remove 2 from y-coordinate of {_l2}
       else:
           remove 2 from y-coordinate of {_l}
           remove 1 from y-coordinate of {_l2}
       if {_c} = 5:
           if block at {_l} is diamond block or gold block or lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
       if {_c} = 4:
           if block at {_l} is gold block or lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 3:
           if block at {_l} is lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 2:
           if block at {_l} is iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block or lapis block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 1:
           if block at {_l} is coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block or lapis block or iron block:
               send "&cErreur : Ta carte n'est pas assez puissante !"

 

 

 

 

 

Si tu fais un copier/coller il faudra refaire les tabs. Sinon je l'ai mis en téléchargement

 

Fais /levelcard pour recevoir les cartes.

 

Suivant le type de block en dessous du block d'en dessous de la porte, le "level" de la porte change:

 

Block de charbon : lvl 1

Block de fer : lvl 2

Block de lapis : lvl 3

Block d'or : lvl 4

Block de diamant : lvl 5

 

Bien sûr, les cartes peuvent ouvrir leur niveau et les niveaux inferieurs.

 

Aussi, le code peut sûrement être optimisé xD

Mais j'ai fais avec les moyens que j'ai en ce moment.

Posté(e)

Voici le code modifié :D

Cette fois-ci, il n'y a pas de block à mettre entre la porte et le "block-détecteur"

 

[spoiler=Le code]

[spoiler=T'es sûr ?]

 

command /levelcard:
   trigger:
       set {_n} to 1
       loop 5 times:
           give 1 tripwire hook of unbreaking 1 named "&7Card &aLvL &c%{_n}%" to player
           add 1 to {_n}

on rightclick on iron door:
   if name of player's tool contains "&7Card &aLvL":
       set {_c} to last character of name of player's tool parsed as number
       set {_l} to location of clicked block
       set {_l2} to location of clicked block
       if block under clicked block is iron door:
           add 1 to y-coordinate of {_l}
           remove 2 from y-coordinate of {_l2}
       else:
           add 2 from y-coordinate of {_l}
           remove 1 from y-coordinate of {_l2}
       if {_c} = 5:
           if block at {_l} is diamond block or gold block or lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
       if {_c} = 4:
           if block at {_l} is gold block or lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 3:
           if block at {_l} is lapis block or iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 2:
           if block at {_l} is iron block or coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block or lapis block:
               send "&cErreur : Ta carte n'est pas assez puissante !"
       if {_c} = 1:
           if block at {_l} is coal block:
               set block at {_l2} to redstone block
               wait 1 seconds
               set block at {_l2} to stone
           if block at {_l} is diamond block or gold block or lapis block or iron block:
               send "&cErreur : Ta carte n'est pas assez puissante !"

 

 

 

 

 

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