Skyvix Posté(e) le 28 août 2018 Posté(e) le 28 août 2018 (modifié) Bonsoir, je me présente à vous, Skyvix, modérateur d'un serveur médiévale en 1.12.2. Alors, cela fait donc plusieurs jours que je travaille là dessus mais n'aboutit à rien, j'essaie de travailler sur un skript qui me permettrait d'ajouter à une région le fait qu'un joueur puisse pêcher des items customs et non les items de base de mc dans une région précise. Plus précisément, en gros, pour une quête, un joueur doit aller à X endroit (nom de la région) et doit y pêcher certains items renommés. j'aurai bien voulu faire un skript qui me permet d'avoir des commandes en tant que op qui me permet d'ajouter des items à cette région et de définir leurs chances de pouvoir pêcher ses items, par exemple des commandes du genre : /peche add itemauchoix nomauchoix et /peche chance pourcentage itemauchoix nomauchoix et une pour remove ces items je sais pas si c'est possible à faire sinon pas grave ^^ Si quelqu'un aurait le temps et la patience de pouvoir m'aider ce serait avec un grand plaisir ^^ Si jamais, pour me joindre plus facilement, je suis disponible sur discord avec le pseudo : Skyvix #8942 La version que j'utilise de skript est la dev37c. Merci pour votre lecture et au plaisir, Skyvix Modifié le 28 août 2018 par Skyvix
uiytt Posté(e) le 28 août 2018 Posté(e) le 28 août 2018 il y a 36 minutes, Skyvix a dit : Bonsoir, je me présente à vous, Skyvix, modérateur d'un serveur médiévale en 1.12.2. Alors, cela fait donc plusieurs jours que je travaille là dessus mais n'aboutit à rien, j'essaie de travailler sur un skript qui me permettrait d'ajouter à une région le fait qu'un joueur puisse pêcher des items customs et non les items de base de mc dans une région précise. Plus précisément, en gros, pour une quête, un joueur doit aller à X endroit (nom de la région) et doit y pêcher certains items renommés. j'aurai bien voulu faire un skript qui me permet d'avoir des commandes en tant que op qui me permet d'ajouter des items à cette région et de définir leurs chances de pouvoir pêcher ses items, par exemple des commandes du genre : /peche add itemauchoix nomauchoix et /peche chance pourcentage itemauchoix nomauchoix et une pour remove ces items je sais pas si c'est possible à faire sinon pas grave ^^ Si quelqu'un aurait le temps et la patience de pouvoir m'aider ce serait avec un grand plaisir ^^ Si jamais, pour me joindre plus facilement, je suis disponible sur discord avec le pseudo : Skyvix #8942 La version que j'utilise de skript est la dev37c. Merci pour votre lecture et au plaisir, Skyvix Je peux faire ça pour toi demain soir ^^ Résumons pour confirmer, tu veux pouvoir définir dans une zone quel items sont péchable et avec quel taux de drop (et de les supprimer)
Skyvix Posté(e) le 28 août 2018 Auteur Posté(e) le 28 août 2018 (modifié) C'est exactement ça ^^ et si possible donner un nom aux items qu'on peut pêcher ^^ Oh merci, c'est très gentil de ta part ! Modifié le 28 août 2018 par Skyvix
uiytt Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 Il y a 21 heures, Skyvix a dit : C'est exactement ça ^^ et si possible donner un nom aux items qu'on peut pêcher ^^ Oh merci, c'est très gentil de ta part ! Il ne sera pas finis pour ce soir, mais pour te rassurer j'ai même fait mieux que ce tu demande (avec un GUi configurable pour chaque zone etc...) par contre tu veux que si il ne pèche rien ça lui donne quoi (un poisson simple ) ?
Skyvix Posté(e) le 29 août 2018 Auteur Posté(e) le 29 août 2018 @uiytt Oh merci bien ! En gros, justement, j'aimerai qu'il puisse pêcher des items customs, item qui posséderaient un nom spécial, il ne faudrait pas que le joueur puisse pêcher les poissons normaux de mc, en gros, ce skript de pêche serait utilisé dans une de nos zone de quête qui est déjà mise en place où les joueurs ne peuvent avoir sur eux que des items spéciaux que nous avons enregistré grâce à un plugin sinon ils sont tp en dehors de cette zone
uiytt Posté(e) le 29 août 2018 Posté(e) le 29 août 2018 Il y a 2 heures, Skyvix a dit : @uiytt Oh merci bien ! En gros, justement, j'aimerai qu'il puisse pêcher des items customs, item qui posséderaient un nom spécial, il ne faudrait pas que le joueur puisse pêcher les poissons normaux de mc, en gros, ce skript de pêche serait utilisé dans une de nos zone de quête qui est déjà mise en place où les joueurs ne peuvent avoir sur eux que des items spéciaux que nous avons enregistré grâce à un plugin sinon ils sont tp en dehors de cette zone Oui mais comme tu peux mettre un taux de chance, il est possible que le joueur ne pèche rien et du coup tu veux que ça ne donne aucun item ?
Skyvix Posté(e) le 29 août 2018 Auteur Posté(e) le 29 août 2018 @uiytt Ah pardon excuse moi, je n'avais pas compris ça comme ça, heu oui pourquoi pas faire ça ?
uiytt Posté(e) le 30 août 2018 Posté(e) le 30 août 2018 Finis ^^ Alors il te faut skript-mirror , tuske et skquery-lime Comment ça marche ? : fait /zf nomdetazone ça t'ouvrira un GUI, la suite tu as juste à lire pour comprendre (au pire demande moi je t'expliquerai en détails) Infos: Le skript va dabord testé pour une zone le taux de drop tu premier objet puis celui du deuxième si le joueur n'a pas réussit le premier puis le 3eme si le joueur n'a pas réussit ni le premier ni le deuxième etc... Donc par exemple si la diorite à ici un taux de drop de 30% et la peau de vache un taux de drop de 50%, il faut pour avoir la hache en bois réussir à ne pas obtenir la diorite puis réussir à ne pas obtenir la peau de vache... P.S : Puis-je posté ce skript en tant que petite ressource car on sait jamais ça peut être pratique et je trouve ce skript plutôt bien ^^ @Skyvix CODE: import: org.bukkit.event.player.PlayerFishEvent on PlayerFishEvent with priority normal: if "%event.getState().name()%" is "CAUGHT_FISH": set {_p} to event.getPlayer() set {_r} to "%region at {_p}%" set {_m::*} to {_r} split at " " loop {ZF::%{_m::1}%::*}: chance of {ZF::%{_m::1}%::%loop-value%::pourcentage}%: event.getCaught().setItemStack({ZF::%{_m::1}%::%loop-value%::item}) stop set {_item} to "air" parsed as item event.getCaught().setItemStack({_item}) command /zf <text>: aliases: zonefishing permission: zonefishing.define trigger: if {ZF::ID} is not set: set {ZF::ID} to 0 zonefishing(player,arg 1,1) function zonefishing(p: player,z: text,page: number): set {_s} to 1 set {_i} to 1 loop {ZF::%{_z}%::*}: if {_s} is 29: add 1 to {_i} set {_s} to 1 add loop-value to {_liste.%{_i}%::*} add 1 to {_s} open virtual chest inventory with size 6 with name "&8ZF - &f%{_z}%" to {_p} make a gui slot 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 48, 49, 50, 52 and 53 of {_p} with 1 gray stained glass pane named "&f" if {_page} is not 1: make a gui slot 47 of {_p} with skull of ("MHF_ArrowLeft" parsed as an offline player) named "Page précédante" to run: set {_page2} to {_page} - 1 zonefishing({_p},{_z},{_page2}) else: make a gui slot 47 of {_p} with 1 gray stained glass pane named "&f" set {_i2} to {_page} + 1 if {_liste.%{_i2}%::*} is set: make a gui slot 51 of {_p} with skull of ("MHF_ArrowRight" parsed as an offline player) named "Page suivante" to run: zonefishing({_p},{_z},{_i2}) else: make a gui slot 51 of {_p} with 1 gray stained glass pane named "&f" set {_s} to 10 loop {_liste.%{_page}%::*}: if {_s} is 17: set {_s} to 19 else if {_s} is 26: set {_s} to 28 else if {_s} is 35: set {_s} to 37 set {_loopvalue} to loop-value make a gui slot {_s} of {_p} with {ZF::%{_z}%::%{_loopvalue}%::item} with lore "||&8>> &cClique droit pour supprimer&l ||&8>> &aClique gauche pour changer le drop ||&8>> &7Drop: &6%{ZF::%{_z}%::%{_loopvalue}%::pourcentage}%%%&l" to run: if clicked type is equal to right mouse button: delete {ZF::%{_z}%::%{_loopvalue}%::item} delete {ZF::%{_z}%::%{_loopvalue}%::pourcentage} delete {ZF::%{_z}%::%{_loopvalue}%} zonefishing({_p},{_z},{_page}) else if clicked type is equal to left mouse button: zonefishing3({_p},{_z},{_page},{_loopvalue}) add 1 to {_s} set {_s} to 10 loop 28 times: if {_s} is 17: set {_s} to 19 else if {_s} is 26: set {_s} to 28 else if {_s} is 35: set {_s} to 37 if slot {_s} of {_p}'s current inventory is air: format gui slot {_s} of {_p} with 1 light gray stained glass pane named "&7Ajouter un item" to run: zonefishing2({_p},{_z},{_page}) add 1 to {_s} if size of {_liste.%{_page}%::*} is 28: if {_liste.%{_i2}%::*} is not set: make a gui slot 51 of {_p} with skull of ("MHF_ArrowRight" parsed as an offline player) named "Page suivante" to run: zonefishing({_p},{_z},{_i2}) function zonefishing2(p: player,z: text,page: number): open virtual chest inventory with size 3 with name "&8ZF - &f%{_z}%" to {_p} make a gui slot 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25 and 26 of {_p} with 1 gray stained glass pane named "&f" make a gui slot 10 of {_p} with 1 paper named "&cInstruction:" with lore "&7Placez l'item que vous souhaitez ||&7péchable dans le slot vide ||&7puis appuyez sur le bouton ||&7confirmer" make a gui slot 22 of {_p} with 1 emerald block named "&aConfirmer" to run: if slot 13 of {_p}'s current inventory is not air: set {ZF::%{_z}%::%{ZF::ID}%} to {ZF::ID} set {ZF::%{_z}%::%{ZF::ID}%::item} to slot 13 of {_p}'s current inventory set {ZF::%{_z}%::%{ZF::ID}%::pourcentage} to 100 zonefishing3({_p},{_z},{_page},{ZF::ID}) add 1 to {ZF::ID} function zonefishing3(p: player,z: text,page: number,ID: number): open virtual chest inventory with size 3 with name "&8ZF - &f%{_z}%" to {_p} make a gui slot 0, 1, 2, 3, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 23, 24, 25 and 26 of {_p} with 1 gray stained glass pane named "&f" make a gui slot 10 of {_p} with 1 red stained glass pane named "&c-10" to run: remove 10 from {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is smaller than 0: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 0 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 11 of {_p} with 1 red stained glass pane named "&c-5" to run: remove 5 from {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is smaller than 0: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 0 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 12 of {_p} with 1 red stained glass pane named "&c-1" to run: remove 1 from {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is smaller than 0: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 0 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 14 of {_p} with 1 green stained glass pane named "&a+1" to run: add 1 to {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is higher than 100: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 100 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 15 of {_p} with 1 green stained glass pane named "&a+5" to run: add 5 to {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is higher than 100: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 100 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 16 of {_p} with 1 green stained glass pane named "&a+10" to run: add 10 to {ZF::%{_z}%::%{_ID}%::pourcentage} if {ZF::%{_z}%::%{_ID}%::pourcentage} is higher than 100: set {ZF::%{_z}%::%{_ID}%::pourcentage} to 100 make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 4 of {_p} with {ZF::%{_z}%::%{_ID}%::item} make a gui slot 13 of {_p} with 1 name tag named "&6%{ZF::%{_z}%::%{_ID}%::pourcentage}%%%" make a gui slot 22 of {_p} with 1 emerald block named "&aConfirmer" to run: zonefishing({_p},{_z},{_page}) 1
Skyvix Posté(e) le 30 août 2018 Auteur Posté(e) le 30 août 2018 Merci infiniment @uiytt ! Bien-sûr que tu peux poster ceci en tant que source ! Par contre, j'ai deux erreurs quand j'ai reload le skript: [16:00:47 ERROR]: can't understand this condition: 'clicked type is equal to right mouse button' (peche.sk, line 59: if clicked type is equal to right mouse button:') [16:00:47 ERROR]: 'else if' has to be placed just after another 'if' or 'else if' section (peche.sk, line 64: else if clicked type is equal to left mouse button:') je t'ai envoyé les messages depuis la console, tu saurais d'où ça peut venir ? ?
uiytt Posté(e) le 30 août 2018 Posté(e) le 30 août 2018 il y a 6 minutes, Skyvix a dit : Merci infiniment @uiytt ! Bien-sûr que tu peux poster ceci en tant que source ! Par contre, j'ai deux erreurs quand j'ai reload le skript: [16:00:47 ERROR]: can't understand this condition: 'clicked type is equal to right mouse button' (peche.sk, line 59: if clicked type is equal to right mouse button:') [16:00:47 ERROR]: 'else if' has to be placed just after another 'if' or 'else if' section (peche.sk, line 64: else if clicked type is equal to left mouse button:') je t'ai envoyé les messages depuis la console, tu saurais d'où ça peut venir ? ? Oui, il te faut la dev 35 min : https://github.com/SkriptLang/Skript/releases pour skript
uiytt Posté(e) le 30 août 2018 Posté(e) le 30 août 2018 à l’instant, Skyvix a dit : Oh ok, merci encore infiniment ^^ Dr ^^
Messages recommandés