Miro Posté(e) le 30 mars 2019 Posté(e) le 30 mars 2019 Bonjour / Bonsoir ! Je viens vers vous pour vous demandez un skript de Don. Description : - Commande /createdon <pseudo> : Exécutable sans permissions. Cela nous ouvre un coffre simple appeler : "&eDons pour &6(Pseudo)" On peut y mettre du stuff - Commande /don : Exécutable par les joueurs avec la permissions : "don.open" Ouvre un double coffre nommé : "&eDon de &6(Nom du Joueur)" avec la tête des joueurs qui on éxécuter la commande : "/createdon" Exemple (Si vous avez mal compris :D) : Fan : /createdon Miro: Fan met son full diams Miro : /don Clique sur la tête de Fan et récupère le Stuff ! Merci énormément au personnes qui ont relevé le défi PS : Je suis pas très fort du coup je n'es pas réussis a le faire
KaraDev Posté(e) le 30 mars 2019 Posté(e) le 30 mars 2019 (modifié) version skript, minecraft sk query et tuske stp (/ver Skript) BTW si quelqu'un vois ce topic, je suis en train de le faire donc vous fatiguez pas Modifié le 30 mars 2019 par KaraDev 1
KaraDev Posté(e) le 31 mars 2019 Posté(e) le 31 mars 2019 (modifié) j'ai besoin de tes versions stp car j'ai bientôt finis, j'essaye de faire un code qui s’adapte à toutes les versions mais bon xDD JE T'EN SUPPLIE NE ME DIT PAS QUE TU ES EN 1.7.10 Modifié le 31 mars 2019 par KaraDev 1
Miro Posté(e) le 31 mars 2019 Auteur Posté(e) le 31 mars 2019 Il y a 4 heures, KaraDev a dit : j'ai besoin de tes versions stp car j'ai bientôt finis, j'essaye de faire un code qui s’adapte à toutes les versions mais bon xDD JE T'EN SUPPLIE NE ME DIT PAS QUE TU ES EN 1.7.10 Nan tkt fais la versions que tu veut mais je suis en 1.8.9
KaraDev Posté(e) le 31 mars 2019 Posté(e) le 31 mars 2019 j'ai pas pu testé avec deux compte malheureusement, si tu rencontre un problème dit le moi et je corrigerais direct, j'ai expliquer vite fait le code avec des commentaires sauf la fin car j'avais la flemmes, j'ai fait en sorte que le joueur receveur ne puisse pas utiliser le coffre de donation comme un réelle coffre, si tu veux je te l’enlèverai si ça te gène, pareille si le joueur n'a pas assez de stockage j'ai fais en sorte de pouvoir faire une re-sauvegarde pour qu'il puisse après le reprendre, j'ai bloqué le faites de pouvoir faire un don à soit même (pour cette histoire de coffre du coup et j'ai aussi enlever la possibilité de pouvoir faire deux dons à la même personne car ça complique le skript pour rien, si tu as un soucis dit moi tout de suite 🙂 (si tu en as un bien plus tard, bah rip :x) Ps: j'ai fait des messages très très simple, à toi de les changer si ça t'amuse à part ça: Skript: 2.2-dev36 MundoSk: 1.8.5 (je doute que tu en ai besoin) SkDragon: 0.14.666 (je doute que tu en ai besoin) SkUtilities: 0.9.2 (je doute que tu en ai besoin) SkQuery (-Lime): 3.6.2-Lime (important) Skript-mirror: 1.0.0 (je doute que tu en ai besoin) Skellett: 1.9.6 (je doute que tu en ai besoin) Tuske: 1.8.2-Pikachu-Patch-3 (important) SkStuff: 1.6.4.1 (je doute que tu en ai besoin) SkRayFall: 1.9.14 (je doute que tu en ai besoin) add-ons importants: SkQuery, Tuske Skript au dessus de dev35 si possible, sinon essaye quand même Version testée: 1.8.8 options: size: 6 #taille du gui de don last: 53 #faire size * 9 - 1, cette case la est la dèrnière et sera bloqu" pour le bon fonctionnement du skript (et son optimisation) commandcreate: createdon #commande pour envoyer un don à une personne ! command: don #commande basique pour voir les dons attribué au joueur command /{@commandcreate} <offline player>: #offline player car je ne savais pas si le joueur devait être online, et j'ai pensé que non c'était mieux comme ça. trigger: if arg 1 isn't player: #if arg 1 is "clear": #commande de clear de variables en cas de bug, n'oublie pas si tu l'utilise de refaire les tabs #delete {DonHead::*} #delete {DonFor::*} #il n'y a que 2 variables fixes enregistré dans le skript #stop if {DonHead::%arg-1%::%player%} isn't set: #<---- open virtual chest inventory with size {@size} with name "&eDon pour &6%arg-1%" to player format gui slot {@last} of player with barrier named "&4&lX" to do nothing else: send "&7tu as déjà fait un don à %arg-1%, tu ne peux en faire qu'un jusqu'à qu'il soit vidé" #<--- else: send "&7tu ne peux pas te faire un don à toi même" on inventory close: #quand il quite l'inventaire if event-inventory's name contains "&eDon pour": #si le gui est le premier nommé "Don pour %player%" set {_Name} to uncolored event-inventory's name set {_Name::*} to {_Name} split at " " #recupération du nom du receveur de dons set {_slot} to 0 loop ({@last}-1) times: # if slot {_slot} of player's current inventory isn't empty: # add 1 to {_testempty} add 1 to {_slot} else: if slot {_slot} of player's current inventory is a stained_glass_pane:15 named "&6Anti-Coffre": add 1 to {_testempty} add 1 to {_slot} # if {_testempty} >= {@last}: #si le don est vide: send "&7Le Don était vide, alors nous l'avons supprimé" delete {DonHead::%{_Name::3}%::%player%} #on enlève son don (au cas ou) stop if {DonHead::%{_Name::3}%::%player%} isn't set: #si l'envoyeur n'a pas déjà un don pour le receveur set {DonHead::%{_Name::3}%::%player%} to player #ajout de la tête du donateur pour le receveur dans son gui set {_Slot} to 0 loop ({@last}-1) times: set {DonFor::%{_Name::3}%::%player%::%{_Slot}%} to slot {_Slot} of player's current inventory #sauvegarde du don add 1 to {_Slot} send "&7le don à été fait !" else: #si il lui a déjà fait un don (sécurité, cela à déjà été vérifié) send "&7tu as déjà fait un don à %{_Name::3}%, tu ne peux en faire qu'un jusqu'à qu'il soit vidé par le receveur de ce don" else if event-inventory's name contains "&eDons de": #le "s" est important il permet de différencier les 3 différents gui entre eux stop else if event-inventory's name contains "&eDon de": #si le gui est le 3ème, celui déjà donner que le receveur ouvre set {_Name} to uncolored name of slot {@last} of player's current inventory #récupération du nom de l'envoyeur, d'où la privation du 53ème slot; je n'ai pas trouvé de meilleur moyen set {_slot} to 0 loop ({@last}-1) times: if slot {_slot} of player's current inventory is empty: add 1 to {_testempty} add 1 to {_slot} else: if slot {_slot} of player's current inventory is a stained_glass_pane:15 named "&6Anti-Coffre": add 1 to {_testempty} add 1 to {_slot} if {_testempty} >= ({@last}-1): send "&7Le Don était vide, alors nous l'avons supprimé" #si le don est vide, que le receveur la vidé, alors on le supprime, sinon on le resauvegarde pour qu'il puisse le reprendre plus tard si il n'a plus de place delete {DonHead::%player%::%{_Name}%} delete {DonFor::%player%::%{_Name}%::%{_Slot}%} stop else: send "%{_testempty}%" set {_Slot} to 0 loop ({@last}-1) times: set {DonFor::%player%::%{_Name}%::%{_Slot}%} to slot {_Slot} of player's current inventory add 1 to {_Slot} send "&7le don est sauvegardé temps que tu ne l'aura pas vidé entièrement" #resauvegarde si le joueur n'a plus de place command /{@command}: permission: don.open trigger: if {DonHead::%player%::*} is set: open virtual chest inventory with size {@size} with name "&eDons de &6%player%" to player #ouverture du 2ème gui avec les têtes, LE S EST IMPORTANT POUR LES DIFFERENCIER set {_nb} to 0 loop {DonHead::%player%::*}: set {_head} to "%loop-value%" parsed as player #récupérations des donateurs format gui slot {_nb} of player with skull of "%{_head}%" parsed as offline player named "&6%{_head}%" to run: #affichage de leurs têtes open virtual chest inventory with size {@size} with name "&eDon de &6%player%" to player #ouverture du 3ème gui set {_Name} to uncolored event-inventory's name set {_Name::*} to {_Name} split at " " set {_head} to uncolored {_Name::3} #récupération et sécurisation du nom du donateur format gui slot {@last} of player with skull of "%{_head}%" parsed as offline player named "&6%{_head}%" to do nothing #affichage du donateur dans le gui, pour le récupéré (voir ligne 51) set {_count} to 0 loop ({@last}-1) times: set slot {_count} of current inventory of player to {DonFor::%player%::%{_head}%::%{_count}%} #restauration du gui add 1 to {_count} set {_nb2} to 0 while name of player's current inventory contains "&eDon de": chance of 15%: wait 2 ticks if slot {_nb2} of player's current inventory is empty: format gui slot {_nb2} of player with stained_glass_pane:15 named "&6Anti-Coffre" to do nothing add 1 to {_nb2} else: add 1 to {_nb2} if {_nb2} >= 54: set {_nb2} to 0 add 1 to {_nb} while {_start} isn't set: if slot {_nb} of player's current inventory is empty: format gui slot {_nb} of player with stained_glass_pane:15 named "&6" to do nothing add 1 to {_nb} else: add 1 to {_nb} if {_nb} >= 54: set {_start} to "start" else: send "&7aucun don pour toi." 1
Miro Posté(e) le 1 avril 2019 Auteur Posté(e) le 1 avril 2019 Il y a 23 heures, KaraDev a dit : j'ai pas pu testé avec deux compte malheureusement, si tu rencontre un problème dit le moi et je corrigerais direct, j'ai expliquer vite fait le code avec des commentaires sauf la fin car j'avais la flemmes, j'ai fait en sorte que le joueur receveur ne puisse pas utiliser le coffre de donation comme un réelle coffre, si tu veux je te l’enlèverai si ça te gène, pareille si le joueur n'a pas assez de stockage j'ai fais en sorte de pouvoir faire une re-sauvegarde pour qu'il puisse après le reprendre, j'ai bloqué le faites de pouvoir faire un don à soit même (pour cette histoire de coffre du coup et j'ai aussi enlever la possibilité de pouvoir faire deux dons à la même personne car ça complique le skript pour rien, si tu as un soucis dit moi tout de suite 🙂 (si tu en as un bien plus tard, bah rip :x) Ps: j'ai fait des messages très très simple, à toi de les changer si ça t'amuse à part ça: Skript: 2.2-dev36 MundoSk: 1.8.5 (je doute que tu en ai besoin) SkDragon: 0.14.666 (je doute que tu en ai besoin) SkUtilities: 0.9.2 (je doute que tu en ai besoin) SkQuery (-Lime): 3.6.2-Lime (important) Skript-mirror: 1.0.0 (je doute que tu en ai besoin) Skellett: 1.9.6 (je doute que tu en ai besoin) Tuske: 1.8.2-Pikachu-Patch-3 (important) SkStuff: 1.6.4.1 (je doute que tu en ai besoin) SkRayFall: 1.9.14 (je doute que tu en ai besoin) add-ons importants: SkQuery, Tuske Skript au dessus de dev35 si possible, sinon essaye quand même Version testée: 1.8.8 options: size: 6 #taille du gui de don last: 53 #faire size * 9 - 1, cette case la est la dèrnière et sera bloqu" pour le bon fonctionnement du skript (et son optimisation) commandcreate: createdon #commande pour envoyer un don à une personne ! command: don #commande basique pour voir les dons attribué au joueur command /{@commandcreate} <offline player>: #offline player car je ne savais pas si le joueur devait être online, et j'ai pensé que non c'était mieux comme ça. trigger: if arg 1 isn't player: #if arg 1 is "clear": #commande de clear de variables en cas de bug, n'oublie pas si tu l'utilise de refaire les tabs #delete {DonHead::*} #delete {DonFor::*} #il n'y a que 2 variables fixes enregistré dans le skript #stop if {DonHead::%arg-1%::%player%} isn't set: #<---- open virtual chest inventory with size {@size} with name "&eDon pour &6%arg-1%" to player format gui slot {@last} of player with barrier named "&4&lX" to do nothing else: send "&7tu as déjà fait un don à %arg-1%, tu ne peux en faire qu'un jusqu'à qu'il soit vidé" #<--- else: send "&7tu ne peux pas te faire un don à toi même" on inventory close: #quand il quite l'inventaire if event-inventory's name contains "&eDon pour": #si le gui est le premier nommé "Don pour %player%" set {_Name} to uncolored event-inventory's name set {_Name::*} to {_Name} split at " " #recupération du nom du receveur de dons set {_slot} to 0 loop ({@last}-1) times: # if slot {_slot} of player's current inventory isn't empty: # add 1 to {_testempty} add 1 to {_slot} else: if slot {_slot} of player's current inventory is a stained_glass_pane:15 named "&6Anti-Coffre": add 1 to {_testempty} add 1 to {_slot} # if {_testempty} >= {@last}: #si le don est vide: send "&7Le Don était vide, alors nous l'avons supprimé" delete {DonHead::%{_Name::3}%::%player%} #on enlève son don (au cas ou) stop if {DonHead::%{_Name::3}%::%player%} isn't set: #si l'envoyeur n'a pas déjà un don pour le receveur set {DonHead::%{_Name::3}%::%player%} to player #ajout de la tête du donateur pour le receveur dans son gui set {_Slot} to 0 loop ({@last}-1) times: set {DonFor::%{_Name::3}%::%player%::%{_Slot}%} to slot {_Slot} of player's current inventory #sauvegarde du don add 1 to {_Slot} send "&7le don à été fait !" else: #si il lui a déjà fait un don (sécurité, cela à déjà été vérifié) send "&7tu as déjà fait un don à %{_Name::3}%, tu ne peux en faire qu'un jusqu'à qu'il soit vidé par le receveur de ce don" else if event-inventory's name contains "&eDons de": #le "s" est important il permet de différencier les 3 différents gui entre eux stop else if event-inventory's name contains "&eDon de": #si le gui est le 3ème, celui déjà donner que le receveur ouvre set {_Name} to uncolored name of slot {@last} of player's current inventory #récupération du nom de l'envoyeur, d'où la privation du 53ème slot; je n'ai pas trouvé de meilleur moyen set {_slot} to 0 loop ({@last}-1) times: if slot {_slot} of player's current inventory is empty: add 1 to {_testempty} add 1 to {_slot} else: if slot {_slot} of player's current inventory is a stained_glass_pane:15 named "&6Anti-Coffre": add 1 to {_testempty} add 1 to {_slot} if {_testempty} >= ({@last}-1): send "&7Le Don était vide, alors nous l'avons supprimé" #si le don est vide, que le receveur la vidé, alors on le supprime, sinon on le resauvegarde pour qu'il puisse le reprendre plus tard si il n'a plus de place delete {DonHead::%player%::%{_Name}%} delete {DonFor::%player%::%{_Name}%::%{_Slot}%} stop else: send "%{_testempty}%" set {_Slot} to 0 loop ({@last}-1) times: set {DonFor::%player%::%{_Name}%::%{_Slot}%} to slot {_Slot} of player's current inventory add 1 to {_Slot} send "&7le don est sauvegardé temps que tu ne l'aura pas vidé entièrement" #resauvegarde si le joueur n'a plus de place command /{@command}: permission: don.open trigger: if {DonHead::%player%::*} is set: open virtual chest inventory with size {@size} with name "&eDons de &6%player%" to player #ouverture du 2ème gui avec les têtes, LE S EST IMPORTANT POUR LES DIFFERENCIER set {_nb} to 0 loop {DonHead::%player%::*}: set {_head} to "%loop-value%" parsed as player #récupérations des donateurs format gui slot {_nb} of player with skull of "%{_head}%" parsed as offline player named "&6%{_head}%" to run: #affichage de leurs têtes open virtual chest inventory with size {@size} with name "&eDon de &6%player%" to player #ouverture du 3ème gui set {_Name} to uncolored event-inventory's name set {_Name::*} to {_Name} split at " " set {_head} to uncolored {_Name::3} #récupération et sécurisation du nom du donateur format gui slot {@last} of player with skull of "%{_head}%" parsed as offline player named "&6%{_head}%" to do nothing #affichage du donateur dans le gui, pour le récupéré (voir ligne 51) set {_count} to 0 loop ({@last}-1) times: set slot {_count} of current inventory of player to {DonFor::%player%::%{_head}%::%{_count}%} #restauration du gui add 1 to {_count} set {_nb2} to 0 while name of player's current inventory contains "&eDon de": chance of 15%: wait 2 ticks if slot {_nb2} of player's current inventory is empty: format gui slot {_nb2} of player with stained_glass_pane:15 named "&6Anti-Coffre" to do nothing add 1 to {_nb2} else: add 1 to {_nb2} if {_nb2} >= 54: set {_nb2} to 0 add 1 to {_nb} while {_start} isn't set: if slot {_nb} of player's current inventory is empty: format gui slot {_nb} of player with stained_glass_pane:15 named "&6" to do nothing add 1 to {_nb} else: add 1 to {_nb} if {_nb} >= 54: set {_start} to "start" else: send "&7aucun don pour toi." Je ne peux actuellement pas tester le skript mais je crois en toi 🙂 peut tu me donner un moyen de contacter si tu ne le veut pas libre a toi de ne pas me le donner. (PS : Au cas où il y aurais des problèmes)
Messages recommandés