Shyfe
Membre-
Compteur de contenus
21 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Téléchargements
Tout ce qui a été posté par Shyfe
-
Merci pour ton aide ;)
-
J'ai poursuivi mes recherche sans succès, si quelqu'un à une idée, je suis preneur ...
-
Exactement
-
Mon objectif : Créer comme dans un mmorpg, un système de sorts avec des niveaux pour ces sorts, des équipements qui influent sur les dommages de ces sorts et des caractéristiques qui font elles aussi varier les dommages des sorts. J'y suis plus ou moins parvenu mais comme vous allez le voir je suis confronté à pas mal de contraintes. Mon problème : Le problème principal est la flexibilité et la taille de mon code, à terme, j'aurais environ 120 sorts avec chacun 5 niveaux, des dizaines d'équipements et des centaines de possibilités de caractéristiques (4 voies personnalisables) Hors, actuellement je suis obligé d'écrire une 50aine de ligne pour un niveau d'un sort avec un équipement et une tranche de caractéristique (si on multiplie par le nombre de sorts, d'équipements et de possibilités, je vous laisse imaginer les milliers de lignes, et ce n'est pas envisageable). Voici donc mon skript, j'ai essayé de l'expliquer un peu mais je peux détailler si besoin : on right click with 4704: if {dmgPression.%player's UUID%} = 0: set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 2 if {cooldownIop1.%player%} isn't set: set {cooldownIop1.%player%} to now stop set {_waitedIop1} to difference between {cooldownIop1.%player%} and now if {_waitedIop1} is less than 4 seconds: send "&cTu dois encore attendre %difference between {_waitedIop1} and 4 seconds%" stop if distance between the target and player is smaller than 4: #PRESSION NIVEAU 2 if {pression.lvl2.%player's uuid%} is true: #Si Pression est niveau 2 set {dmgPression.%player's UUID%} to {dmg.%player's UUID%} + 2 if player is wearing helmet: #Si le joueur porte un casque set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 2 if {force.%player's UUID%} is between 10 and 20: #Si la force est entre 10 et 20 set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 1 if {Puissance.%player%} is true: #Si Puissance est lancé damage target by {dmg.%player's UUID%} + 1 hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" else: damage target by {dmg.%player's UUID%} hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 1 else: #Si la force du joueur n'est pas entre 10 et 20 if {Puissance.%player%} is true: #Si Puissance est lancé damage target by {dmg.%player's UUID%} + 1 hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" else: damage target by {dmg.%player's UUID%} hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 1 set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} - 2 else: #Si le joueur ne porte pas de casque if {force.%player's UUID%} is between 10 and 20: #Si la force est entre 10 et 20 set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 1 if {Puissance.%player%} is true: #Si puissance est lancé damage target by {dmg.%player's UUID%} + 1 hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" else: damage target by {dmg.%player's UUID%} hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} - 1 else: #Si la force du joueur n'est pas entre 10 et 20 if {Puissance.%player%} is true: #Si puissance est lancé damage target by {dmg.%player's UUID%} + 1 hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" else: damage target by {dmg.%player's UUID%} hearts set {cooldownIop1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" Je précise que le skript que je viens de vous envoyer (à partir de "PRESSION NIVEAU 2") doit être répété encore 4 fois et que ceci n'est que pour un sort, donc comme vous le voyez c'est trop long et encore, la il n'y a qu'un équipement et qu'une tranche de caractéristique comme je l'ai dit; Ce que je vous demande c'est donc de m'aider à simplifier tout ça.
-
Bonjour, j'ai créé un système de sort avec des niveaux dont les dégâts varient selon ces niveaux. Je voudrais pouvoir ajouter plusieurs facteurs pouvant changer ces variations de dégâts. J'ai donc une variable qui vaut le montant des dommages, ici "{dmg}" qui s'adapte selon le niveau du sort. Seulement je voudrais pouvoir faire en sorte que si le joueur est équipé d'un casque ou tout autre chose, cette valeur soit de nouveau augmentée à partir de la valeur précédente. Exemple : Sort X, Niveau du sort : 2, Dégâts de ce sort : 3. Je voudrais que si le joueur est équipé d'un casque X, le montant des dégâts passe à 4 et qu'évidemment, lorsqu'il le retire, ce montant redevienne l'ancien, ici 3. Voici mon script : on right click with IDSort: if {dmg.%player's UUID%} = 0: set {dmg.%player's UUID%} to {dmg.%player's UUID%} + 2 if {cooldown1.%player%} isn't set: set {cooldown1.%player%} to now stop set {_waited1} to difference between {cooldown1.%player%} and now if {_waited1} is less than 4 seconds: send "&cTu dois encore attendre %difference between {_waited1} and 4 seconds%" stop if distance between the target and player is smaller than 4: if {niveau.lvl2.%player's uuid%} is true: set {dmg.%player's UUID%} to {dmg.%player's UUID%} + 2 damage target by {dmg.%player's UUID%} hearts set {cooldown1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 2 else: damage target by {dmg.%player's UUID%} hearts set {cooldown1.%player%} to now send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c" Le truc qui complique encore un peu plus le code, c'est que cette variable, je veux pouvoir m'en servir pour tous mes sorts. Je sais pas si j'ai réussi à bien expliquer donc si vous avez besoin d'infos supplémentaires, n'hésitez pas. EDIT : J'avais essayé avec ceci mais même si ça fonctionne, c'est pas pratique car je dois ajouter (à partir du if) ce morceau à tous mes niveaux de tous mes sorts, et faudra que je multiplie ça par le nombre d'équipement donc impossible de faire comme ça. on right click with IDSort: if player is wearing helmet or chestplate or leggings or boots: set {dmg.%player's UUID%} to {dmg.%player's UUID%} + 2 send "Stuff opérationnel" wait 1 second set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 2 Puis c'est pas très pratique de devoir le faire pour chaque sort (j'en ai environ 70) J'ai essayé d'arranger le truc avec un increase, seulement le soucis c'est que l'évènement fait que dès que je lance le sort et que je suis équipé d'un équipement, les dommages sont augmentés de X, hors moi je veux que cela ne fonctionne qu'une fois. Je ne vois pas quel évènement utiliser dans mon cas.
-
J'ai avancé un peu dans mes recherches et le truc c'est que les sorts que j'ai créé ne sont pas considérés dans les évènements "on damage", si je met : on damage: if victim's name is "MonMob": broadcast "Yop" J'ai un "Yop" quand je fais un clique gauche sur le mob mais pas quand il reçoit des dégâts par mes sorts lancés grâce au clic droit ..
-
Quelqu'un peut-être ?
-
Bonjour, j'ai un soucis avec mes mobs moddés, je voudrais qu'ils ne m'attaquent que si je les attaque, j'avais pensé à ça : on entity target: if entity's health is 10: if entity's name is "NomMob": cancel event else: if entity's name is "NomMob": target attacker Sans succès, avez vous une idée ? L'objectif est de faire que mob mob ne m'attaque que si je l'attaque
-
Aurais-tu des indications à ce sujet ?
-
.. Si je post ici c'est que ca ne fonctionne pas, j'aurais du préciser mes tentatives. J'ai essayé d'utiliser le nom du mob donné dans le logiciel MCreator donc mcreatorNomMon.NomMob, l'id de l'oeuf, le label que je lui ai donné et c'est tout je crois. Je pense que le problème est que Skript ne connait pas le mob mais ce qui est étrange c'est que je peux faire "on right click with ID de l'item d'un mod" ca fonctionne. Un mob peut-il avoir un ID comme un item ? J'veux dire pas celui de l'oeuf mais l'id lui meme.
-
Bonjour, j'ai un soucis qui bloque beaucoup mon avancée et mal grès de nombreuses recherches, rien. Le soucis : j'ai créé un mob qu'on va appeler NomMob grâce à MCreator. J'ai donné un label à ce mob qui permet d'utiliser la commande /summon NomMob L'oeuf de ce mob possède un ID qu'on peut appeler 256. Je voudrais pouvoir faire interagir Skript avec ce mob, comme on peut le faire avec les mobs Vanillas par exemple : if distance between player and zombie is less than 10 blocks: create a safe explosion at player Ce genre de chose mais au lieu du zombie, mettre mon mob. Mon minecraft et mon forge sont en 1.7.10
-
Moi non plus ^^ trois jours que je galère Du coup j'ai toujours besoin d'aide, merci d'avance J'ai trouvé un post qui pourrait aider mais que je n'arrive pas à adapter : http://dev.bukkit.org/bukkit-plugins/skript/forum/help/60263-how-to-check-projectiles-name/ Problème résolu grâce à ce post. Si quelqu'un a besoin d'explication je pourrais en donner
-
Je spam actuellement x)
-
Le voila : http://pastebin.com/77ywD9PE
-
Ca ne faisait rien, je pense qu'il ne prenait pas en compte le nom, en gros j'avais mit comme condition que la fleche s'appelle "explosion" par exemple et je m'étais give une fleche avec ce nom, j'avais clear les autres fleches de mon inventaire et pourtant ce la ne changeait rien
-
Déjà essayé, sans succès
-
Hmm en fait j'ai créé un skript qui permet qu'a l'impact des flèches il se passe un événement. Hors lorsqu'une flèche touche, tous ces événements se réalisent et pas seulement celui voulu par exemple j'utilise la barrière pour créer une explosion, hors ma cible est aussi empoisonnée et repoussée
-
Bonjour, j'ai depuis quelques jours un soucis avec mon script : je créé un système de sorts avec cooldown sauf que ici, mes flèches sont comme "liés" c'est à dire que dès qu'une flèche touche une cible, tous les scripts liés à la flèche se déclenche. Mon Code : Le pastebin : http://pastebin.com/hQ7qck5c on right click with a fence: if {cooldown1.%player%} isn't set: set {cooldown1.%player%} to now stop set {_waited1} to difference between {cooldown1.%player%} and now if {_waited1} is less than 10 seconds: send "&cTu dois encore attendre %difference between {_waited1} and 10 seconds%" else: shoot an arrow set {cooldown1.%player%} to now on damage: create a safe explosion of force 2 on right click with a bucket: if {cooldown2.%player%} isn't set: set {cooldown2.%player%} to now stop set {_waited2} to difference between {cooldown2.%player%} and now if {_waited2} is less than 10 seconds: send "&cTu dois encore attendre %difference between {_waited2} and 10 seconds%" else: shoot an arrow set {cooldown2.%player%} to now on damage: push the victim backwards at speed 4 on right click with a dirt: if {cooldown.%player%3} isn't set: set {cooldown.%player%3} to now stop set {_waited3} to difference between {cooldown3.%player%} and now if {_waited3} is less than 10 seconds: send "&cTu dois encore attendre %difference between {_waited3} and 10 seconds%" else: shoot an arrow set {cooldown3.%player%} to now on damage: poison the victim for 5 seconds En gros je voudrais que mes flèches deviennent indépendantes car la lorsqu'un fleche touche, elle explose empoisonne et repousse. Merci
-
Je n'ai rien compris mais en essayant à l'aveugle, j'ai eu une erreur à la ligne set {_ptime2} to "%{@cooldown}%} and now%" J'ai droit à un "Can't understand this expression", en tout cas merci à toi
-
Bonjour, je souhaiterais créer un script pour des sorts hors, j'ai besoin d'afficher le cooldown restant de ce dernier avant de pouvoir le réutiliser. J'ai réussi à créer ce script mais, la valeur renvoyé si je clique de nouveau est 0secondes hors je voudrais qu'il me renvoie le temps restant avant réutilisation. options: cooldown: 10 seconds on right click holding a stick: set {_result} to {_temps} - {_wait} set {_temps} to 10 set {_wait} to difference between {stick.%player%.lastused} and now if {_wait} is less than {@cooldown}: message "Patientez %{_result}% avant de relancer ce sort" else: apply invisibility 1 to player for 5 second show smoke on the player set {stick.%player%.lastused} to now Je précise que mis à part le problème évoqué, tout fonctionne correctement. Merci d'avance
