Aller au contenu
  • 0

Bug système de give


Question

Posté(e)

Salut ! Je sais que des centaines de système de gui existe mais moi j'ai voulu créer le miens, bref ! Passons à la suite... Donc voilà j'ai créé mon système mais un truc coince il n'y a pas d'erreurs mais le give ne s'effectue pas biensûr cela est optimisé j'ai pas fait un "execute console command" comme des tas de give dans tous les cas vous verrez bien avec ceci :

 


command /givespe [<offline player>] [<number>] [<item>]:
permission: give.player
trigger:
if arg 1 is set:
if arg 1 is online:
set {_quantite} to arg 2
set {_objet1} to arg 3
set {_objet} to "%{_quantite}% %{_objet1}%"
if arg 1 is "%executor%":
if arg 2 is set:
if arg 3 is set:
send "&8[Give] &eTu t'es give %arg 2% %arg 3%"
give {_objet} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player
#make console execute command "give %arg 1% %arg 3% %arg 2%"
else:

else:
send "&cErreur : &f&oUne erreur a eu lieu lors de la transaction... Le joueur est-il toujours connecté ?"
[/Code]

 

Je sais j'ai fait un truc genre compliqué x) Normal j'ai essayé plein de truc ce qui est pas mal x)

 

[b][color=#000000][u]Skript[/u] :[/color][/b]

[color=#b35900]->[/color] Version 2.2 [i](Lien du forum je n'utilise pas les récentes de Bensku donc aucune dev)[/i]

 

[b][color=#00b300][u]Récapitulatif de la situation[/u] :[/color][/b]

[color=#b35900]->[/color] Je veux give un item au joueur "Troll" :3

[color=#b35900]->[/color] Alors je fais "/givespe Troll 64 emeralds"

[color=#b35900]->[/color] Le skript lui [b][color=#ff0080]confirme[/color][/b] qu'il a reçu ses 64 émeraudes

[color=#b35900]->[/color] [b][color=#0000ff]Mais[/color][/b] le joueur "Troll" n'a pas reçu ses 64 émeraudes...

 

[center][b][size=7][color=#ff0000]WHY ?[/color][/size][/b][/center]

 

[size=5]En attente de votre réponse chers collègues skripteurs :)[/size]

14 réponses à cette question

Messages recommandés

  • 0
Posté(e)
essaye

set {_objet} to "%{_quantite}% of %{_objet1}%"

Re ! Donc merci de ta réponse très très rapide =) Alors malheureusement rien ne s'est amélioré :/ De plus une nouvelle & gigantesque erreur apparaît dans la console d'après ce que j'ai lu ca a un rapport avec Skelett ??

[18:14:48] [server thread/INFO]: kimidu1609 issued server command: /done 1 kimidu1609
[18:14:48] [server thread/INFO]: kimidu1609 [3b79fe9f-b962-4c39-82d4-90b648f2875e]: /done 1 kimidu1609
[18:14:52] [server thread/ERROR]: Could not pass event InventoryClickEvent to Skellett v1.9.5
org.bukkit.event.EventException
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1564) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-18fbb24]
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_25]
   at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_25]
   at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Bukkit-18fbb24]
   at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.inventory.InventoryClickEvent.getClickedInventory()Lorg/bukkit/inventory/Inventory;
   at com.gmail.thelimeglass.Command.onInventoryClick(Command.java:54) ~[?:?]
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
   at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   ... 15 more
[18:14:52] [server thread/ERROR]: Could not pass event InventoryClickEvent to skRayFall v1.7.3
org.bukkit.event.EventException
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1564) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Bukkit-18fbb24]
   at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_25]
   at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_25]
   at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [craftbukkit.jar:git-Bukkit-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Bukkit-18fbb24]
   at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.inventory.InventoryClickEvent.getClickedInventory()Lorg/bukkit/inventory/Inventory;
   at net.rayfall.eyesniper2.skRayFall.GeneralEvents.StoreListener.onStoringFilter(StoreListener.java:36) ~[?:?]
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25]
   at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25]
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit.jar:git-Bukkit-18fbb24]
   ... 15 more
[18:14:52] [server thread/INFO]: kimidu1609 [3b79fe9f-b962-4c39-82d4-90b648f2875e]: /§givespe kimidu1609 stone 64

 

En attendant j'essaye encore quelques trucs de mon côté

  • 0
Posté(e)

Wow ces erreurs...

 

Tes add-ons ?

Tu utilises Spigot ou Bukkit ?

La version du serveur ?

 

Et je te conseil d'utiliser les dev de Bensku, même si je pense pas que ca vienne de la :)

  • 0
Posté(e)
Wow ces erreurs...

 

Tes add-ons ?

Tu utilises Spigot ou Bukkit ?

La version du serveur ?

 

Et je te conseil d'utiliser les dev de Bensku, même si je pense pas que ca vienne de la :)

Addons: SkQuery, SkQueryLime, Skrayfall, skelett, SkUtilites, Vixio, Tuske

 

Craftbukkit 1.8

 

Serveur 1.8 ducoup

 

Je ne sais pas d´où cela provient :/

  • 0
Posté(e)

votre variable objet ne peut pas être entre guillemet car il sera interprété comme %string% et non %items%

 

ceci marche (j'ai testé) :

command /givespe [<offline player>] [<items>]: #On notera la présence du "s" à <itemS>
   trigger:
       give arg-2 named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

la commande "/givespe 3 stone" marche correctement de mon côté (à noter que pour ce give 1 stone il n'est pas nécessaire de marqué le chiffre 1 ;) )

 

Si tu veux ajouter {_number} et {_object} il faut faire ceci:

command /givespe [<offline player>] [<integer>] [<item>]:
   trigger:
       set {_number} to arg-2
       set {_object} to arg-3
       give {_number} of {_object} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

cependant ce code est moins bien puisqu'il est possible de faire la commande "/givespe 3 4 stone" :/

 

 

Pour finir le code que je recommande sera plutôt celui là:

command /givespe [<offline player>] [<item>]:
   trigger:
       set {_item} to arg-2
       give {_item} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

Or si tu souhaite faire des vérifications de l'item / le nombre d'items il te faudra les faire sur la variable {_item} et tu te rendra vite compte que ce n'est pas pareil que d'utiliser {_number} et {_object} séparément

  • J'aime 2
  • 0
Posté(e)
votre variable objet ne peut pas être entre guillemet car il sera interprété comme %string% et non %items%

 

ceci marche (j'ai testé) :

command /givespe [<offline player>] [<items>]: #On notera la présence du "s" à <itemS>
   trigger:
       give arg-2 named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

la commande "/givespe 3 stone" marche correctement de mon côté (à noter que pour ce give 1 stone il n'est pas nécessaire de marqué le chiffre 1 ;) )

 

Si tu veux ajouter {_number} et {_object} il faut faire ceci:

command /givespe [<offline player>] [<integer>] [<item>]:
   trigger:
       set {_number} to arg-2
       set {_object} to arg-3
       give {_number} of {_object} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

cependant ce code est moins bien puisqu'il est possible de faire la commande "/givespe 3 4 stone" :/

 

 

Pour finir le code que je recommande sera plutôt celui là:

command /givespe [<offline player>] [<item>]:
   trigger:
       set {_item} to arg-2
       give {_item} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

Or si tu souhaite faire des vérifications de l'item / le nombre d'items il te faudra les faire sur la variable {_item} et tu te rendra vite compte que ce n'est pas pareil que d'utiliser {_number} et {_object} séparément

Merci beaucoup ! Je vais tester cela

  • 0
Posté(e)
il sera interprété comme %string% et non %items%
Après il suffisait de faire un parsed ^^

set {_objet} to "%{_quantite}% of %{_objet1}%" parsed as item

mais j'étais sur mon tel, alors j'ai pas mal galéré xD

  • 0
Posté(e)

ça marche aussi noftaly, par contre l'auteur il faut que tu remplace par [<number>] par [<integer>]

 

command /givespe [<offline player>] [<integer>] [<item>]:
   trigger:
       set {_number} to arg-2
       set {_object} to arg-3
       set {_item} to "%{_number}% of %{_object}%" parsed as item
       give {_item} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

ceci marchera mais il sera possible de faire "/givespe Anarchick 2 1 stone" ou "/givespe Anarchick 2 stone" mais pas "/givespe Anarchick 2 2 stone"

 

Mon code sans le parsed as item permettait de ne pas permettre de mettre 2 arguments de quantité ;)

 

Bref à confirmer mais le sujet dois être plus que résolu à présent

  • J'aime 2
  • 0
Posté(e)
ça marche aussi noftaly, par contre l'auteur il faut que tu remplace par [<number>] par [<integer>]

 

command /givespe [<offline player>] [<integer>] [<item>]:
   trigger:
       set {_number} to arg-2
       set {_object} to arg-3
       set {_item} to "%{_number}% of %{_object}%" parsed as item
       give {_item} named "&a&lii &6&lGive &a&lii &c&lde &b&l%executor%" to player

 

ceci marchera mais il sera possible de faire "/givespe Anarchick 2 1 stone" ou "/givespe Anarchick 2 stone" mais pas "/givespe Anarchick 2 2 stone"

 

Mon code sans le parsed as item permettait de ne pas permettre de mettre 2 arguments de quantité ;)

 

Bref à confirmer mais le sujet dois être plus que résolu à présent

JE n’est pas pu tester car je ne suis pas chez moi mais je vous confiance :)

×
×
  • Créer...

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.