Aller au contenu
Safarival

Skript gui de coffre pour chaque joueur

Messages recommandés

Bonjour,

Tout d'abord je m’explique sur ce que je veut :

Je voudrais un menu gui qui s'ouvre avec une Command avec le nom du grade de la personne jusque la rien de plus simple :

command /coffre(grade):
   permission: coffre(grade).sk
   aliases: (je vais l'ai add plus tard)
   trigger:
       wait 2 ticks
       open chest with 3 rows named "&9Coffre (Nom du grade)" to player

Mais ensuite je veut que dans ce coffre il n'y est rien et que chaque joueur puisse stocker son stuff A LUI.

Et je veut pas que c'est objet disparaissent.

 

Ensuite tient bien a préciser que chaque joueur doit voir ce que lui a mis dans son coffre (comme un ender chest) mais vu qu'il son grader ils ont plus de rangement.

 

Merci d'avance pour vos réponse et pour le temps que vous allez y mettre.

Partager ce message


Lien à poster
Partager sur d’autres sites

Désoler de te dire sa mais c'est bien ce que j'ai écris dans ma phrase :

Ensuite tient bien a préciser que chaque joueur doit voir ce que lui a mis dans son coffre (comme un ender chest) mais vu qu'il son grader ils ont plus de rangement.

 

Conclusion :

tu veux faire un genre de enderchest ?

 

Réponse : oui

Partager ce message


Lien à poster
Partager sur d’autres sites
Désoler de te dire sa mais c'est bien ce que j'ai écris dans ma phrase :

Ensuite tient bien a préciser que chaque joueur doit voir ce que lui a mis dans son coffre (comme un ender chest) mais vu qu'il son grader ils ont plus de rangement.

 

Conclusion :

tu veux faire un genre de enderchest ?

 

Réponse : oui

Je vais essayer de te faire ça. Je reviens vers toi.

Partager ce message


Lien à poster
Partager sur d’autres sites

Aide toi du "serialised" je ne peut pas ta le faire j'ai beaucoup de taff là

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci a toi ton message ma aider par contre j'ai un soucis dans mon code :

command /grade:
   permission: grade.sk
   permission message: &cTu n'as pas la permission d'effectuer cette commande
   trigger:
       set {_inv} to chest with 6 rows named "&9&lgrade"

       if {container::Test::%player%} is set:
           set {_inv}'s serialized contents to {container::Test::%player%}
       open {_inv} to player

       set {container::current::%player%} to "Test"

 

Si je mais 3 rows au lieu de 6 mon code n'a aucune érreur mais en jeu sa ne marche pas sa me mais ce message :

" An internal error occured while attempting to perform this command. "

Pouvez vous m'aider ?

 

Merci d'avance pour vos réponses :).

Partager ce message


Lien à poster
Partager sur d’autres sites

merci mais ce n'est pas ce que je cherche puisque je veut des coffre différent par joueur pour stocker oui mais par grade (chaque grade à un nouveau coffre de rangement en plus). De plus le skript marche très bien avec les 6 rows mais ne fonctionne plus avec 3 rows pourquoi ?

 

PS merci quand même de ta réponse.

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai trouver que lorsque je fait ma Command j'ai le message que je vous ai donner (en jeu) :

" An internal error occured while attempting to perform this command. "

 

Et j'ai également un message d’erreur dans ma console :

 

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! [skript] Severe Error:

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! If you're developing an add-on for Skript this likely means that you have done something wrong.

[23:11:29 ERROR]: #!#! If you're a server admin however please go to https://github.com/bensku/Skript/issues/

[23:11:29 ERROR]: #!#! and check whether this error has already been reported.

[23:11:29 ERROR]: #!#! If not please create a new ticket with a meaningful title, copy & paste this whole error into it (or use paste service),

[23:11:29 ERROR]: #!#! and describe what you did before it happened and/or what you think caused the error.

[23:11:29 ERROR]: #!#! If you think that it's a trigger that's causing the error please post the trigger as well.

[23:11:29 ERROR]: #!#! By following this guide fixing the error should be easy and done fast.

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! Stack trace:

[23:11:29 ERROR]: #!#! java.lang.IllegalArgumentException: Invalid inventory size; expected 27 or less

[23:11:29 ERROR]: #!#! at org.bukkit.craftbukkit.v1_9_R1.inventory.CraftInventory.setContents(CraftInventory.java:75)

[23:11:29 ERROR]: #!#! at com.w00tmast3r.skquery.elements.expressions.ExprInventorySerials.change(ExprInventorySerials.java:41)

[23:11:29 ERROR]: #!#! at ch.njol.skript.effects.EffChange.execute(EffChange.java:271)

[23:11:29 ERROR]: #!#! at ch.njol.skript.lang.Effect.run(Effect.java:52)

[23:11:29 ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)

[23:11:29 ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)

[23:11:29 ERROR]: #!#! at ch.njol.skript.lang.Trigger.execute(Trigger.java:55)

[23:11:29 ERROR]: #!#! at ch.njol.skript.command.ScriptCommand.execute2(ScriptCommand.java:220)

[23:11:29 ERROR]: #!#! at ch.njol.skript.command.ScriptCommand.execute(ScriptCommand.java:182)

[23:11:29 ERROR]: #!#! at ch.njol.skript.command.Commands.handleCommand(Commands.java:268)

[23:11:29 ERROR]: #!#! at ch.njol.skript.command.Commands$1.onPlayerCommand(Commands.java:163)

[23:11:29 ERROR]: #!#! at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)

[23:11:29 ERROR]: #!#! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

[23:11:29 ERROR]: #!#! at java.lang.reflect.Method.invoke(Method.java:498)

[23:11:29 ERROR]: #!#! at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306)

[23:11:29 ERROR]: #!#! at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)

[23:11:29 ERROR]: #!#! at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502)

[23:11:29 ERROR]: #!#! at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1342)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1185)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13)

[23:11:29 ERROR]: #!#! at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

[23:11:29 ERROR]: #!#! at java.util.concurrent.FutureTask.run(FutureTask.java:266)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660)

[23:11:29 ERROR]: #!#! at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559)

[23:11:29 ERROR]: #!#! at java.lang.Thread.run(Thread.java:745)

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! Version Information:

[23:11:29 ERROR]: #!#! Skript: 2.2-dev29

[23:11:29 ERROR]: #!#! Bukkit: 1.9-R0.1-SNAPSHOT

[23:11:29 ERROR]: #!#! Minecraft: 1.9

[23:11:29 ERROR]: #!#! Java: 1.8.0_91 (OpenJDK 64-Bit Server VM 25.91-b14)

[23:11:29 ERROR]: #!#! OS: Linux amd64 2.6.32-042stab120.6

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! Running CraftBukkit: false

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! Current node: null

[23:11:29 ERROR]: #!#! Current item: set the inventory serial of {_inv}(as org.bukkit.inventory.Inventory) to {container::Test::%the player%}(as java.lang.String)

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! Thread: Server thread

[23:11:29 ERROR]: #!#!

[23:11:29 ERROR]: #!#! End of Error.

[23:11:29 ERROR]: #!#!

 

Pouvez vous me dire de quoi il s'agit s'il vous plait ?

 

Cordialement.;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

Il semblerait que tu ai mis trop de "stockage" dans ton GUI, en effer la ligne :

 

Invalid inventory size; expected 27 or less

 

te dit que tu ne peux avoir plus de 27 cases dans ton GUI.

 

Bonne journée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

cette ligne dit juste que je ne peut pas avoir 27 cases dans mon gui or 27 cases sa fait "3 rows" donc c'est bien la question que je pose " comment faire pour ne pas être obliger de mettre 6 rows dans mon skript ? ".

 

Merci de ta réponse mais pour le coup sa j'avait compris et c'est pourquoi j'ai posé cette question.

 

Cordialement, Bonne journée.

Partager ce message


Lien à poster
Partager sur d’autres sites

Vous pouvez Utiliser se code :)

options:
   grade1: Vip
   grade2: Vip+

command /coffre:
   permission: coffre(grade).sk
   trigger:
       if {grade.%player%} is "{@grade1}":
           wait 3 tick
           open chest with 3 rows named "&9Coffre ({@grade1})" to player
           set {_slot} to 0
           loop 28 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
       if {grade.%player%} is "{@grade2}":
           wait 3 tick
           open chest with 6 rows named "&9Coffre ({@grade2})" to player
           set {_slot} to 0
           loop 56 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
on inventory close:
   if inventory name of player's current inventory is "&9Coffre (%{grade.%player%}%)":
       if {grade.%player%} is "{@grade1}":
           set {_slot} to 0
           loop 28 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop
       if {grade.%player%} is "{@grade2}":
           set {_slot} to 0
           loop 56 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop

 

Merci d'utiliser ce code !

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Merci a vous pour ce skript malheureusement je ne voie pas ou est l’erreur mais quand je fait /coffre rien ne ce passe et quand je fait /coffre 1 (par exemple) sa me mais le format de la commande est : /coffre.

PS: bien sur au lieu de vip et vip+ j'ai mis mes grades de mon serveur ... Donc je ne comprend pas.

 

Cordialement, merci de votre aide :)

Partager ce message


Lien à poster
Partager sur d’autres sites

options:
   grade1: Vip
   grade2: Vip+

command /coffre:
   permission: coffre(grade).sk
   trigger:
       if {grade.%player%} is "{@grade1}":
           wait 3 tick
           open chest with 3 rows named "&9Coffre ({@grade1})" to player
           set {_slot} to 0
           loop 28 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
       if {grade.%player%} is "{@grade2}":
           wait 3 tick
           open chest with 6 rows named "&9Coffre ({@grade2})" to player
           set {_slot} to 0
           loop 56 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
       else:
           wait 3 tick
           open chest with 1 rows named "&9Coffre (Joueur)" to player
           set {_slot} to 0
           loop 9 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
on inventory close:
   if inventory name of player's current inventory is "&9Coffre (%{grade.%player%}%)":
       if {grade.%player%} is "{@grade1}":
           set {_slot} to 0
           loop 28 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop
       if {grade.%player%} is "{@grade2}":
           set {_slot} to 0
           loop 56 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop
       else:
           set {_slot} to 0
           loop 9 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop

Utilise ça

Partager ce message


Lien à poster
Partager sur d’autres sites

Enfaite il ne détecte pas mon grade donc le {grade.%player%} ne doit pas être bon.

Je n'ai pas préçiser mais j'utilise groupmanager pour les grades donc c'est peut être pour sa qu'il ne détecte pas ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Sa détecte pas il faut utiliser un skript

options:
   g: &6[Grade]&f
command /grade [<offline player>] [<text>]:
   permission: admin.admin
   permission message: &cVous n'avez pas la Permission !
   trigger:
       if arg 1 is not set:
           send "&bAide: &6Grade" to player
           send " &f- /grade <Joueur> <grade> &f- Sert à mettre un Grade !" to player
           stop
       if arg 1 is set:
           if arg 2 is "vip":
               set {grade.%player%} to "Vip"
               send "{@g} Vous venez de mettre le grade &4(&6%arg 2%&4) &f!" to player
               if arg 1 is online:
                   send "{@g} Vous venez de reçevoir le grade &4(&6%arg 2%&4) &f!" to player
                   stop
           if arg 2 is "vip+"
               set {grade.%player%} to "Vip+"
               send "{@g} Vous venez de mettre le grade &4(&6%arg 2%&4) &f!" to player
               if arg 1 is online:
                   send "{@g} Vous venez de reçevoir le grade &4(&6%arg 2%&4) &f!" to player
                   stop

Partager ce message


Lien à poster
Partager sur d’autres sites
set {_groupe.%player%} to displayname of player
replace "%player%" with "" in {_groupe.%player%}
replace " " with "" in {_groupe.%player%}
send "Ton grade > %{_groupe.%player%}% < Ton grade"

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci mais je ne comprend pas le sans de ton poste car il faut intégrer ceci au skript du /coffre.

Sa ne me dit pas ou le mettre pour le coup ?

Mais merci quand même :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Cadeau !

options:
   grade1: Vip
   grade2: Vip+

command /coffre:
   permission: coffre(grade).sk
   trigger:
       set {_groupe.%player%} to displayname of player
       replace "%player%" with "" in {_groupe.%player%}
       replace " " with "" in {_groupe.%player%}
       if {_groupe.%player%} is "{@grade1}":
           wait 3 tick
           open chest with 3 rows named "&9Coffre ({@grade1})" to player
           set {_slot} to 0
           loop 28 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
       if {_groupe.%player%} is "{@grade2}":
           wait 3 tick
           open chest with 6 rows named "&9Coffre ({@grade2})" to player
           set {_slot} to 0
           loop 56 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
       else:
           wait 3 tick
           open chest with 1 rows named "&9Coffre (Joueur)" to player
           set {_slot} to 0
           loop 9 times:
               set slot {_slot} of player's current inventory to {coffreP::%{_slot}%::%player%}
               add 1 to {_slot}
           stop
on inventory close:
   if inventory name of player's current inventory is "&9Coffre (%{grade.%player%}%)":
       set {_groupe.%player%} to displayname of player
       replace "%player%" with "" in {_groupe.%player%}
       replace " " with "" in {_groupe.%player%}
       if {_groupe.%player%}  is "{@grade1}":
           set {_slot} to 0
           loop 28 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop
       if {_groupe.%player%}  is "{@grade2}":
           set {_slot} to 0
           loop 56 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop
       else:
           set {_slot} to 0
           loop 9 times:
               set {enderchestplus::%{_slot}%::%player%} to slot {_slot} of player's current inventory
               add 1 to {_slot}
           stop

Partager ce message


Lien à poster
Partager sur d’autres sites

non toujours pas sa m'ouvre toujours le chest de 1 rows donc le " else: " ce qui veut dire le contraire de mon grade.

Conclusion il ne détecte pas mon grade de group manager.

Merci encore de m'aider mais êtes vous sur que c'est commandes marche avec le plugin """""""""""""""""""""""""""""""""" Groupmanager """""""""""""""""""""""""""""""""""""""""""""

??

Cordialement, merci a vous.;)

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.