Pages :: 1
Hey!
J'ai commencé à construire un domination sur mon serveur privé, et comme le build avance à une vitesse phénoménale, je vais commencer à coder.
Et là, j'aimerais trouver un système permettant de détecter les clics droits effectués avec un item spécifique. (Pour l'instant, je pense que ce sera une blaze rod renommée "Boule de feu".)
J'ai déjà vu des tutos en ligne, mais l'un est mal fait et l'autre pose problème par le fait que depuis la 1.9, les mobs peuvent pousser des joueurs. (à moins qu'il y ait un moyen de remédier à cela, et alors je poste ce message pour rien? )
En revanche, et là je vois pas du tout comment faire, il faudrait que l'item ait un COOLDOWN (Par exemple 5 secondes) et que dès que le joueur fait un clic droit, une boule de feu qui ne casse aucun bloc mais qui fait beaucoup de dégâts aux joueurs est envoyée dans la direction où il regarde.
PS: Le système doit gérer plusieurs joueurs à la fois, si possible...
En espérant avoir de l'aide rapidement,
-52
Dernière modification par benji52220 (08/09/2016 07:47:02)
Hors ligne
J'aime les citrons.
Bon...
Je dois admettre que je n'ai moi-même jamais réussi. Je me contente de détecter quand un objet est dans un slot, et quand il est sélectionné.
Alors j'avoue que la réponse m'intéresse beaucoup ! (J'ai vu un corbeau par la fenêtre )
Dernière modification par Z_runner (06/09/2016 18:58:41)
Hors ligne
Z_runner, rédacteur d'astuces et étudiant à ses heures perdues
[email protected]
Serveur Discord non-officiel de fr-minecraft
C'est en anglais, mais je suis SÛR que tu comprendras.
Les commandes sont dans la description.
EDIT : puisque je suis gentil, voilà une traduction.
Détection de click droit :
Créez une clock :
Commande block du haut : /fill ~ ~-1 ~ ~-7 ~-1 ~ redstone_block 0 replace wool
Commande block du bas: /fill ~ ~-1 ~ ~-7 ~1 ~ wool0 replace redstone_block
Testfor :
Premier commande block : /testfor @a {SelectedItemSlot:0,Inventory:[{tag:{display:{Name:"Nom Personnalisé"}}}]}
Deuxième commande block : /kill @e[name=Nom Personnalisé]
Testfor numéro 2 :
Premier commande block : /testfor @a {SelectedItemSlot:0,Inventory:[{tag:{display:{Name:"Nom Personnalisé"}}}]}
Deuxième commande block : /summon ArmorStand ~ ~1 ~ {Invisible:1,ShowArms:1,CustomNameVisible:,Gravity:1,Invulnerable:1,CustomName:Nom Personnalisé pour l'Armor Stand}
Téléporte l'Armor Stand au player :
/tp @e[name=Nom Personnalisé pour l'Armor Stand] @a
Testfor un item dans les mains de l'Armor Stand :
Premier commande block : /testfor @e[type=ArmorStand] {Equipment:[{id:"id de l'item que tu utilises"},{},{},{},{}]}
Deuxième commande block : Ici, tu mets ce que tu veux que ton click droit fasse, puis un deuxième commande block avec /kill @e[name=Nom Personnalisé pour l'Armor Stand]
Pour un cooldown, il te suffit d'arrêter le command block qui Spawn l'Armor Stand pendant 5 secondes.
EDIT : il a fait une version plus rapide, deux minutes et je traduis.
Dernière modification par Matis1299 (06/09/2016 20:22:33)
Hors ligne
Ne pouvoir apprendre n'est pas honte, mais bien de ne pas vouloir.
Aurélien, dans nos cœurs.
Voili voilou. La commande est énorme, voilà le lien pastebin du mec, mais c'est pas traduit. J'ai pas traduit grand chose, en même temps, donc c'est pareil.
Voilà quand même le code traduit :
/summon FallingSand ~ ~1 ~ {id:FallingSand,Block:redstone_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/fill ~ ~ ~-1 ~ ~-14 ~-1 redstone_block},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/fill ~ ~2 ~ ~ ~-14 ~-1 air},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/tellraw @a ["",{text:"LA DÉTECTION DE CLIC DROIT",color:dark_red},{text:" "},{text:"EST MAINTENANT",color:dark_red},{text:" ACTIVÉE!",color:green}]},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~ ~-5 ~6 {id:FallingSand,Block:redstone_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~1 ~ ~ ~-2 ~ air},Time:1,Riding:{id:FallingSand,Block:redstone_block,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~1 ~ ~ ~-1 ~ ~-4 air 0 replace stone},Time:1}}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command: /summon FallingSand ~-3 ~-8 ~2 {id:FallingSand,Block:command_block,TileEntityData:{Command:give @a minecraft: 1 0 {display:{Name:"",Lore:[""]}}},Time:1}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command: /summon FallingSand ~3 ~-7 ~2 {id:FallingSand,Block:command_block,TileEntityData:{Command:summon Villager ~ ~1 ~ {CustomName:"RightClick",Profession:0,Offers:{Recipes:[]},Attributes:[{Name:generic.maxHealth,Base:1000}],Invulnerable:1,HealF:1000,NoAI:1,Silent:1,Persistent:1}},Time:1}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~-1 ~-2 ~2 {id:FallingSand,Block:command_block,TileEntityData:{Command:execute @a[score_HasItem=0] ~ ~ ~ tp @e[name=RightClick] ~ ~300 ~},Time:1,Riding:{id:FallingSand,Block:stone,Time:1}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~1 ~-1 ~2 {id:FallingSand,Block:command_block,TileEntityData:{Command:tp @e[name=RightClick] @a[score_HasItem_min=1]},Time:1,Riding:{id:FallingSand,Block:stone,Time:1}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~ ~ ~5 {id:FallingSand,Block:command_block,TileEntityData:{Command:scoreboard players set @a[score_HasItem_min=1,score_RightClick_min=1] RightClick 0},Time:1,Riding:{id:FallingSand,Block:stone,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:effect @e[name=RightClick] 14 1 1 true},Time:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~ ~1 ~4 {id:FallingSand,Block:command_block,TileEntityData:{Command:execute @a[score_RightClick_min=1,score_HasItem_min=1] ~ ~ ~ },Time:1,Riding:{id:FallingSand,Block:stone,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:execute @a[score_RightClick_min=1,score_HasItem_min=1] ~ ~ ~ },Time:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~ ~2 ~3 {id:FallingSand,Block:command_block,TileEntityData:{Command:scoreboard players set @a HasItem 1 {SelectedItem:{tag:{display:{Name:"",Lore:[""]}}}}},Time:1,Riding:{id:FallingSand,Block:stone,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:scoreboard players set @a HasItem 0},Time:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:/summon FallingSand ~ ~3 ~2 {id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~-1 ~ ~ ~-1 ~3 redstone_block},Time:1,Riding:{id:FallingSand,Block:stone,Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:fill ~ ~1 ~ ~ ~1 ~3 stone},Time:1}}}},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:gamerule commandBlockOutput false},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:scoreboard objectives add RightClick stat.talkedToVillager RightClick},Time:1,Riding:{id:FallingSand,Block:command_block,TileEntityData:{Command:scoreboard objectives add HasItem dummy HasItem},Time:1}}}}}}}}}}}}}}}}
Dernière modification par Matis1299 (06/09/2016 20:25:55)
Hors ligne
Ne pouvoir apprendre n'est pas honte, mais bien de ne pas vouloir.
Aurélien, dans nos cœurs.
Je vais essayer, mais c'est un one-command… et ça a la réputation de faire lag les serveurs…
J'ai trouvé un système assez intéressant, le lien ici pour ceux que ça intéresse, mais le système ne gère pas plusieurs joueurs à la fois, et comme "Gérer plusieurs kikoos joueurs" à la fois est un truc que j'adore je DÉTESTE faire...
Quelqu'un aurait une solution pour ça? (Merci de regarder la vidéo pour savoir comment le système fonctionne avant que vous me sortiez un truc bizarre )
En dernier recours, je me servirai du système de Matis1299, mais ça serait dommage…
PS: Également, quelqu'un aurait une solution pour la boule de feu?
Hors ligne
J'aime les citrons.
Mdr Z_runner, j'étais mort xD "un corbeau à la fenêtre", il y en a qui osent tout
Bon, pour le clic droit, mes prédécesseurs t'ont déjà donné des liens, mais vu que je suis mégalo et que ça ne coûte rien de me faire de l'auto-promo, j'ai déjà réalisé un système du genre ici : https://www.youtube.com/watch?v=vGOXt4zN01o (rions tous en cœur) Il est juste en 1.8, mais si tu reprends les commandes en les adaptant et en virant cette clock, a peut passer en 1.9 (et en plus, pas de problème de collision et pas de tp d'entités sur le joueur, donc on peut sprinter et le clic droit sera quand même détecté)
Ensuite, si ton problème c'est que les mobs ont une zone de collision, il te suffit de mettre les mobs et les joueurs dans une même équipe, puis de taper /scoreboard teams option clan collisionRule never pour éliminer les collisions entre entités
Pour le cooldown, c'est tout bête, tu détectes le clic droit, tu mets un tag au joueur qui l'a fait, tu lui clear son item, puis tu lui balances un timer sur la tronche tant qu'il a le tag, et au bout de 6000 tics tu lui reset le timer, lui enlève le tag et lui redonne son item
Question boule de feu, tu peux lui définir une grande force avec les tags appropriés, et mettre la gamerule mobGriefing en false pour éviter qu'elle bousille le terrain. Par contre pour la balancer dans la bonne direction c'est carrément plus chaud, il faut une commande par angle de regard désiré :S
Voilooooou ! J'espère que ça aide un petit peu ^^
Hors ligne
Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI !
Plus rusé qu'un renard...
... et plus rusé que toi !
merci, j'était dans un grand moment d'inspirations à ce moment-là...
Bon sinon pour la boule de feu la commande "générique" est celle-ci :
/summon Fireball ~ ~ ~ {ExplosionPower:0,direction:[0.0,0.0,0.0]}
Avec "ExplosionPower" pour la puissance de feu (si si !), je crois blocs de rayon de dégâts, et la direction... bah c'est une autre histoire, moi je met un peu au pif généralement (avec le premier 0.0 pour X, le deuxième pour Y et le troisième pour Z). Si tu laisse comme ça la direction, alors elle ne bougera pas et tu pourra cliquer droit dessus pour l'envoyer vers l'endroit où tu regarde.
Voilà Voilà
PS : Grand Corbeau : j'avais un copain qui voulait savoir comment fonctionnent les structures blocs, j'ai vu ta vidéo dessus et je vais lui filler dès que je peux
Dernière modification par Z_runner (07/09/2016 00:13:25)
Hors ligne
Z_runner, rédacteur d'astuces et étudiant à ses heures perdues
[email protected]
Serveur Discord non-officiel de fr-minecraft
(Je savais qu'il viendrait… )
Ok, je vais mettre tout ça en place, et si il n'y a pas de tp de mob et que le système fonctionne aussi en sprintant, c'est parfait!
Pour le cooldown, je vais me débrouiller.
Pour la boule de feu, je vais trouver autre chose…
PS: Grand_Corbeau, est-ce que ton système gère plusieurs joueurs à la fois? Sinon c'est pas grave, j'adapterai :P
Hors ligne
J'aime les citrons.
Euh... je suis en train de rager parce que le score "Fait_clic" ne veux pas s'attribuer à l'ArmorStand...
Et aussi, la one-command ne marche pas, elle summon juste un minecart avec "/kill @e[type=MinecartCommandBlock]" dedans... donc je fais le système manuellement
Bon, j'ai mis ça dans un command block à répétition "always on":
scoreboard players set @e[type=ArmorStand,name=Clic] Faitclic 1 {Equipment:[{id:minecraft:blaze_rod,tag:{display:{Name:"Sceptre"}}},{},{},{},{}]}
Et quand je fais /testfor @e[score_Faitclic_min=1], aucun résultat, même quand l'armor stand a son blaze rod dans la main.
(PS: Oui, j'ai renommé "Fait_clic" en "Faitclic" )
Dernière modification par benji52220 (07/09/2016 16:07:32)
Hors ligne
J'aime les citrons.
Oui c'est normal, comme je te l'ai dit c'est un système de la 1.8
Donc les minecarts avec les tags "Riding" la 1.9 aime pas trop
Et les armorstands avec le tag "Equipement" au lieu de "ArmorItems" et "HandItem" non plus Donc faut adapter
Et oui, je crois me souvenir que ce système gère plusieurs joueurs à la fois, mais ça reste à vérifier
Dernière modification par Grand_Corbeau (07/09/2016 17:41:41)
Hors ligne
Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI !
Plus rusé qu'un renard...
... et plus rusé que toi !
Donc les minecarts avec les tags "Riding" la 1.9 aime pas trop
Pour ça c'est pas grave, j'arrive quand même à m'en sortir
Et les armorstands avec le tag "Equipement" au lieu de "ArmorItems" et "HandItem" non plus Donc faut adapter
Heu... comment, alors?
Je vais chercher, mais (très honnêtement) je me suis senti déprimé quand j'essayais pendant 1H et demi de faire fonctionner le système
---
Edit: WEEEEEEE Oki donc avec "HandItems" ça fonctionne!!!
Qui dit Corbeau dit solution. Ahem... euh... merci!
Dernière modification par benji52220 (07/09/2016 19:37:46)
Hors ligne
J'aime les citrons.
Ah oui mince désolé j'avais oublié le "s" xD
MDRRRRRRRR JE VIENS DE CALCULER TA DESCRIPTION BLBLBLBLBL
Hors ligne
Rédacteur astuce titulaire sur FR-Minecraft / Grand, sublime, magnifique, incroyable et inimitable génie
J'ai une chaîne YouTube !! Si tu veux voir mes machines et autres systèmes, c'est par ICI !
Plus rusé qu'un renard...
... et plus rusé que toi !
Pages :: 1