_LytrOx__ Posté(e) le 15 octobre 2017 Posté(e) le 15 octobre 2017 Version de Minecraft et de Skript: 1.7.10 - 2.1.1 Type du skript: Skript de Cosmétique/Arme. Description: Bonjour, je souhaiterais un skript qui permettrait à un joueur que quand il a un item en particulier dans son inventaire et qu'il meurt, de 1, que ça ne le drop pas et de 2, que quand on respawn, on ai un autre item. Ainsi, j'aimerai que quand une joueur a par exemple 4 items (4626), que quand il meurt et qu'il respawn, ça lui donne 4 items (4627). J'espère avoir été compréhensible et vous remercie déjà d'avance pour le soutient! Infos complémentaires: J'utilise beaucoups d'Add-On de skript et peut en télécharger s'il le faut! J'ai déjà essayé quelque chose (ça fonctionne), mais le nombre d'items de quand on meurt, on ne la pas quand on respawn (je m'explique: Par exemple, un joueur ayant 4 items (4626) et qu'il meurt, il respawn après et n'obtient que 1 item voulu (4627), mais j'aimerai qu'il en ai 4 quand le joueur qui est mort avait bien 4 items) [Et cela doit pouvoir marcher jusqu'à 36...]: https://hastebin.com/tejikobure.sql Merci d'avoir déjà pris le temps de lire cette petite demande Cordialement, _LytrOx_
Wafoux Posté(e) le 18 octobre 2017 Posté(e) le 18 octobre 2017 Salut ! Je vais essayer de te concocter ça cet après midi. Juste, j’ai pas bien compris à quoi correspondait le 4626: c’est un item moddé ?
_LytrOx__ Posté(e) le 18 octobre 2017 Auteur Posté(e) le 18 octobre 2017 En effet, c’est bien un item moddé (je préfère mettre une id pour que je ne me trompe dans rien, donc, c’est bien 4626).
Wafoux Posté(e) le 18 octobre 2017 Posté(e) le 18 octobre 2017 Salut ! Voilà le code ;) (J'ai pas pu réussir à empêcher le drop de 4626 parcontre :/) on death: set {armeavie.%player%} to amount of 4626 in player's inventory #On compte le nombre d'items de 4626 dans l'inventaire du joueur on respawn: give {armeavie.%player%} of 4627 to player clear {armeavie.%player%} # Attention: pour l'instant, il n'existe (ou n'a été fait) aucun moyen de détection pour un objet # qui est drop de l'inventaire d'un joueur. Exemple: # on ne peut pas détecter si de la terre tombe de l'inventaire du joueur à sa mort # (sauf si j'ai mal cherché.) Du coup, je pense savoir comment faire, sauf que j'ai plus le temps pour ce soir. # Je te renvois comment faire pour annuler le drop de l'objet 4626 d'ici ce week end ! (normalement ;)
_LytrOx__ Posté(e) le 20 octobre 2017 Auteur Posté(e) le 20 octobre 2017 Bonjour/bonsoir, merci de m'avoir répondu... Petit problème encore avec le truck: Quand je meurt avec 1 seul 4626, ça me donne bien 1 4627 lord de mon respawn... Mais le soucis, c'est quand j'en ai 2 ou plus... Quand je respawn, ça m'en donne 36 :/
Wafoux Posté(e) le 20 octobre 2017 Posté(e) le 20 octobre 2017 Salut, tu dois avoir d'autres variables du même nom sur d'autres skripts ou autre. J'ai vérifié par moi-même, et normalement tu devrais n'avoir aucun soucis. (Même si je suis en 1.12.1 avec la dernière version de Skript.) De plus, d'après le code, à aucun moment il y a un 36 qui apparaît. Tu peux faire un débogage: vérifie si ta variable en broadcast avec le code suivant: (tu le mets juste après le respawn) broadcast "%{armeavie.%player%}%"
_LytrOx__ Posté(e) le 20 octobre 2017 Auteur Posté(e) le 20 octobre 2017 Je vais te prouver le contraire: (peut-être que t'as un Add-On qui fait ça...) https://www.youtube.com/watch?v=gGqAIE9fCvw
Wafoux Posté(e) le 21 octobre 2017 Posté(e) le 21 octobre 2017 Salut ! Désolé pour le temps de réponse assez long, j'ai pas eu trop le temps aujourd'hui. J'vais essayer de voir ce qui ne va pas pour toi, car c'est assez bizarre :/ Dans tous les cas, j'aimerais savoir les add-ons que tu as, et voici les miens: (qui peuvent peut-être participer au bon fonctionnement du skript ?) SkQuery TuSKe SkRayFall
_LytrOx__ Posté(e) le 21 octobre 2017 Auteur Posté(e) le 21 octobre 2017 1. Je suis sur Cauldron (pour ça que j'ai bien l'item 4626...) 2. Comme Add-On, j'ai: - MundoSK - RandomSK - SharpSK - Skellett - SkQuery - SkRayFall - SkStuff - TuSKe - Umbaska - WildSkript
_LytrOx__ Posté(e) le 21 octobre 2017 Auteur Posté(e) le 21 octobre 2017 Même en enlevant Umbaska, ça fait la même chose, à part que maintenant, quand j'ai 1 4626, ça me donne 2 4627 quand je respawn...
Wafoux Posté(e) le 22 octobre 2017 Posté(e) le 22 octobre 2017 C’est quoi qui ne fonctionne pas ? Et sinon demain je pense faire un serveur local dans les mêmes conditions que toi (1.7.10 et Skript 2.1.1) et j’verrais ce que je peux faire :)
_LytrOx__ Posté(e) le 22 octobre 2017 Auteur Posté(e) le 22 octobre 2017 Bah ça fait toujours la même chose... Quand j'ai 1 item 4626, et que je respawn, ça me donne bien 1x 4627, mais quand j'en ai plus de 2, ça me donne 36x 4627...
Wafoux Posté(e) le 23 octobre 2017 Posté(e) le 23 octobre 2017 Salut, du coup j'ai pas pu faire un serveur local en 1.7.10: Skript bug, certains add-ons ne fonctionnent pas, et je peux même pas me connecter sur le serveur. Du coup, j'ai plus d'idée, mis à part le fait que tu dois résoudre le skript par toi-même, sauf si une autre âme charitable souhaite faire un skript dans les mêmes conditions que toi. En attendant, tente de résoudre le problème avec broadcast "%{armeavie.%player%}%" dans un event du genre on respawn ou on death. Ca permettra de savoir à combien la variable est set (si c'est 1, 2, 3 ou 36.) Car en plus de ça, tout ceci vient de toi uniquement vu qu'il n'y aucune raison que ça te give 36 objets, sauf si il y a des objets invisibles dans ton inventaire. En bref, vérifie tout de A à Z. Pareil, vérifie que tu clear bien la variable. Si ça te donne 36 objets, c'est qu'il y a une raison.
_LytrOx__ Posté(e) le 23 octobre 2017 Auteur Posté(e) le 23 octobre 2017 Merci d'avoir répondu! Le skript que tu m'as donné marche parfaitement (faute de ma part)... C'était à cause de l'annulation du drop de l'item que ça donnait 36 fois... Maintenant, je veux juste savoir comment faire pour détruire l'item dans un radius de 5 blocks ou je sais pas lors d'une mort ou je sais pas quoi pour supprimer l'item en question et qu'il respawn après dans l'inventaire de la personne...
Wafoux Posté(e) le 23 octobre 2017 Posté(e) le 23 octobre 2017 Salut, voici la version finale du Skript ! J'ai mis des commentaires pour que tu puisses le modifier. on death: set {armeavie.%player%} to amount of 4626 in player's inventory #On compte le nombre d'items de 4626 dans l'inventaire du joueur loop drops: # On fait un loop pour compter les drops set {_dropsde.%victim%::*} to drops # On met tous les drops dans la variable locale remove 4626 from {_dropsde.%victim%::*} # On enlève le 4626 de la liste qui contient tous les drops (sauf 4626 du coup) clear drops # On clear les drops drop {_dropsde.%victim%::*} at location of victim # On les remets juste après, sans le 4626 du coup. on respawn: give {armeavie.%player%} of 4626 to player # On respawn avec le nombre de 4626 correspondant give {armeavie.%player%} of 4627 to player # On respawn avec le nombre de 4627 correspondant clear {armeavie.%player%} # On clear la variable [spoiler=Version sans commentaires] on death: set {armeavie.%player%} to amount of 4626 in player's inventory loop drops: set {_dropsde.%victim%::*} to drops remove 4626 from {_dropsde.%victim%::*} clear drops drop {_dropsde.%victim%::*} at location of victim on respawn: give {armeavie.%player%} of 4626 to player give {armeavie.%player%} of 4627 to player clear {armeavie.%player%} Met un petit j'aime ça ferait plaisir :) (Plus d'une à 2 heure(s) passée(s) pour ce skript :P) 1
_LytrOx__ Posté(e) le 23 octobre 2017 Auteur Posté(e) le 23 octobre 2017 ça drop quand même... RT x') :'(
Wafoux Posté(e) le 24 octobre 2017 Posté(e) le 24 octobre 2017 Ah ! RT :p Bah je sais pas, en tous cas de mon côté j'ai vérifié plusieurs fois donc je sais pas :/ Peut-être que j'utilises une fonctionnalité non compatible avec Skript 2.1.1. Edit: En regardant ton message d'erreur, essaye de mettre le "clear drops" au début, juste après le "on death" 1
_LytrOx__ Posté(e) le 24 octobre 2017 Auteur Posté(e) le 24 octobre 2017 Bah en fait, ça clear tout les drops, ce qui permet que le loop ne fonctionne pas, vu qu'il n'y a pas de drops... ça drop rien quoi, même pas le stuff a part qui n'est pas 4626 EDIT: J'ai réglé le soucis: fallait que ce soit le bon nom et que ce soit à la fin du loop...
Wafoux Posté(e) le 24 octobre 2017 Posté(e) le 24 octobre 2017 C'est bon, en mettant bien le clear drops au début, ça les enlèves bien! ça marche à perfection! Merci! Cool. Si ça fonctionne bien, pense à mettre en résolu ! 1
Messages recommandés