Aller au contenu
  • 0

Open chest, bloquer les interactions avec l'inventaire


Question

Posté(e)

Version de Minecraft : 1.15.2
Version de Skript : 2.5

Addons utilisés: -

Type du skript : -

Description du script :

Bonjour,
Actuellement ayant réalisé un shop mon vendeur ouvre un inventaire avec:

open chest with 6 rows named "&8&lVendeur de blocks" to arg-1

Le soucis c'est que les joueurs peuvent déplacer un item/bloc depuis leurs inventaires vers le GUI.

Ma question:

Comment rendre l'inventaire du joueur "to be unstealable"?

Merci d'avance 🙂

22 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Pour ça, je ne connais qu'un seul moyen. Tu dois remplir d'air l'inventaire crée.
Comme ceci :

make gui slot 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 of arg 1 with air

Après il faut adapter selon le gui. C'est-à-dire que si l'inventaire contient des items, tu dois enlever les slots de ces items de la ligne que je t'ai donné.
 

  • J'aime 1
  • 0
Posté(e) (modifié)
il y a 8 minutes, Lou' a dit :

Pour ça, je ne connais qu'un seul moyen. Tu dois remplir d'air l'inventaire crée.
Comme ceci :


make gui slot 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 of arg 1 with air

Après il faut adapter selon le gui. C'est-à-dire que si l'inventaire contient des items, tu dois enlever les slots de ces items de la ligne que je t'ai donné.
 

Merci de ta réponse, pas moyen de mettre un lock sur l'inv plutot que le gui? parce que ça va être chaud pour nous 😅
 

UPDATE:
Non je met cette ligne au début, le reste du skript réécrira sur les slots, merci!

Modifié par Teddou
  • 0
Posté(e)
il y a 12 minutes, Teddou a dit :

Merci de ta réponse, pas moyen de mettre un lock sur l'inv plutot que le gui? parce que ça va être chaud pour nous 😅
 

UPDATE:
Non je met cette ligne au début, le reste du skript réécrira sur les slots, merci!

quand même...

open virtual chest inventory with size 6 named "ton nom" to player

 

  • 0
Posté(e)
il y a 1 minute, Zorg a dit :

quand même...


open virtual chest inventory with size 6 named "ton nom" to player

 

Virtual bloque les intération?

  • 0
Posté(e)

Tu veux faire en sorte que les joueurs ne peuvent pas bouger d'items qui sont dans leur inventaire pendant qu'ils sont dans le GUI 
ou
Tu veux faire en sorte que les joueurs ne peuvent pas bouger d'items qui sont dans le GUI
?

  • 0
Posté(e)
à l’instant, wyn___ a dit :

Tu veux faire en sorte que les joueurs ne peuvent pas bouger d'items qui sont dans leur inventaire pendant qu'ils sont dans le GUI 
ou
Tu veux faire en sorte que les joueurs ne peuvent pas bouger d'items qui sont dans le GUI
?

 

il y a une heure, Teddou a dit :

Le soucis c'est que les joueurs peuvent déplacer un item/bloc depuis leurs inventaires vers le GUI.

C'est noté 😛 

 

  • 0
Posté(e)
il y a 7 minutes, Zorg a dit :

quand même...


open virtual chest inventory with size 6 named "ton nom" to player

 

Pourquoi poster un "Quand meme" condéscendant alors qu'en plus ça ne fonctionne pas?
image.png.9fa4d8b2f64a5155364766ed64e831c2.png

  • 0
Posté(e)
il y a 4 minutes, Lou' a dit :

Je pense qu'il n'y a pas besoin de s’épancher, ton problème est résolu. Je t'invite donc à passer ton post en résolu.

Je vais vérifier du coup vu que j'ai fais confiance mais pas essayé, si ça s'avère fonctionnel je me hâterais de le signaler en résolu 🙂

  • 0
Posté(e)

Au pire

on inventory click:

    if {var} is true:

        cancel event

 

Tu set ta variable sur true au moment où il ouvre l'inventaire, ça sera toujours plus optimisé que de remplir un menu à laquelle le joueur pourra quand même déplacer les items de son inventaire même si ça ne lui servira à rien

  • 0
Posté(e)

Oui, ça peut se fait aussi comme ça mais bon, admettons qu'il y est plusieurs menus d'ouverts en même temps, ça veut dire une variable par jour. Ça commence à peser. Mais yep, en théorie c'est mieux.

  • 0
Posté(e) (modifié)
Il y a 3 heures, Lou' a dit :

Oui, ça peut se fait aussi comme ça mais bon, admettons qu'il y est plusieurs menus d'ouverts en même temps, ça veut dire une variable par jour. Ça commence à peser. Mais yep, en théorie c'est mieux.

ALED, Tuske en 1.15.2 c'est l'enfer les 3/4 ne fonctionne pas..
 

on load:
    create a gui with id "TEST" with virtual chest with 6 rows named "&4TESTER":
        make gui slot 2 with diamond sword named "PVP":
            message "OK"
            message "OK2"
        make gui slot 4 with grass named "SkyBlock":
            message "OK"
            message "OK2"
                
command /test [<player>]:
    trigger:
        open gui "TEST" to arg-1

Voila monde code de test


image.png.6a4202e11a4ff3a1890d5f4a15a8f1fe.png
Voici le resultat.

Globalement les noms donnés sont des trucs au pif afin d'apprendre et je ne comprends pas ce que je fais de faux n'ayant pas d'erreurs...

Modifié par Teddou
  • 0
Posté(e)
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! [Skript] Severe Error:
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Something went horribly wrong with Skript.
[02:07:41 ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[02:07:41 ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[02:07:41 ERROR]: #!#! Here is full list of them:
[02:07:41 ERROR]: #!#! TuSKe v1.8.2 (github.com/Tuke-Nuke/TuSKe) SkBee v1.3.0 skript-yaml v1.3.2 SkQuery v3.6.5 Skellett v1.9.8 (https://forums.skunity.com/resources/skellett.24/) 
[02:07:41 ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[02:07:41 ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[02:07:41 ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[02:07:41 ERROR]: #!#! In that case, you will be given instruction on how should you report it.
[02:07:41 ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[02:07:41 ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Stack trace:
[02:07:41 ERROR]: #!#! java.lang.ClassCastException: class java.util.HashMap cannot be cast to class java.util.WeakHashMap (java.util.HashMap and java.util.WeakHashMap are in module java.base of loader 'bootstrap')
[02:07:41 ERROR]: #!#!     at com.github.tukenuke.tuske.util.VariableUtil.<init>(VariableUtil.java:24)
[02:07:41 ERROR]: #!#!     at com.github.tukenuke.tuske.util.VariableUtil.getInstance(VariableUtil.java:17)
[02:07:41 ERROR]: #!#!     at com.github.tukenuke.tuske.sections.gui.EffMakeGUI.execute(EffMakeGUI.java:77)
[02:07:41 ERROR]: #!#!     at com.github.tukenuke.tuske.util.EffectSection.check(EffectSection.java:54)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.lang.Condition.run(Condition.java:56)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.lang.Conditional.walk(Conditional.java:51)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.lang.Trigger.execute(Trigger.java:57)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.events.EvtScript.register(EvtScript.java:61)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader$3.call(ScriptLoader.java:753)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader$3.call(ScriptLoader.java:1)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:772)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.lambda$1(ScriptLoader.java:410)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:429)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:473)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.ScriptLoader.reloadScript(ScriptLoader.java:987)
[02:07:41 ERROR]: #!#!     at ch.njol.skript.SkriptCommand.onCommand(SkriptCommand.java:190)
[02:07:41 ERROR]: #!#!     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[02:07:41 ERROR]: #!#!     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
[02:07:41 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:723)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.PlayerConnection.handleCommand(PlayerConnection.java:1658)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1498)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:47)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:1)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:918)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:911)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:895)
[02:07:41 ERROR]: #!#!     at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:828)
[02:07:41 ERROR]: #!#!     at java.base/java.lang.Thread.run(Unknown Source)
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Version Information:
[02:07:41 ERROR]: #!#!   Skript: 2.5-alpha3 (latest)
[02:07:41 ERROR]: #!#!     Flavor: skriptlang-github
[02:07:41 ERROR]: #!#!     Date: 2020-03-28
[02:07:41 ERROR]: #!#!   Bukkit: 1.15.2-R0.1-SNAPSHOT
[02:07:41 ERROR]: #!#!   Minecraft: 1.15.2
[02:07:41 ERROR]: #!#!   Java: 11.0.7 (OpenJDK 64-Bit Server VM 11.0.7+10)
[02:07:41 ERROR]: #!#!   OS: Windows 10 amd64 10.0
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Server platform: Spigot
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Current node: null
[02:07:41 ERROR]: #!#! Current item: make  a gui slot [[long:1]] of gui with ([[itemtype:dirt block]] named "§a§lTerre" with lore ("§7Achat: §a2" and "§7Vente: §c1")[class java.lang.String] >> ch.njol.skript.classes.data.DefaultConverters$14@70cd4ba3: itemtype -> itemstack)
[02:07:41 ERROR]: #!#! Current trigger: load (script load) (test.sk, line 1)
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Thread: Server thread
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! Language: english
[02:07:41 ERROR]: #!#! Link parse mode: DISABLED
[02:07:41 ERROR]: #!#! 
[02:07:41 ERROR]: #!#! End of Error.
[02:07:41 ERROR]: #!#! 


Voici le code

on load:
    create a gui with id "TEST" with virtual chest with 6 rows named "&4TESTER":
        make gui slot 0 with GRASS named "&a&lGrass" with lore "&7Achat: &a2" and "&7Vente: &c1"
        make gui slot 1 with DIRT named "&a&lTerre" with lore "&7Achat: &a2" and "&7Vente: &c1":
            message "test"
        
command /test [<player>]:
    trigger:
        open gui "TEST" to arg-1


Maintenant je vais dormir parce que cet addon par lequel tout le monde juge va me rendre barjo, merci d'avance pour vos réponses c'est agréable de se sentir aider! 🙂

  • 0
Posté(e)

Voici un exemple, essaie de t'en servir pour régler ton erreur, copie la syntaxe et dit moi si ça ne marche toujours pas. Après entre toi et moi, on est clairement d'accord sur le fait que TuSKe est vraiment galère. C'est un addon génial en soi, mais personne ne se motive à le mettre à jour parce qu'il marche "à peu près" bien.

on load:
	create gui with id "Test" with virtual chest with size 6 named "Test":
		make gui slot 0 with stone named "&7&lTest" with lore "blblblbl"
		make gui slot 45,46,48,49,50,52,53 with air
		make gui slot 51 with arrow named "&7&lPage suivante":
			send "lol"

Après tu sais, ce n'est pas parce qu'il y a une erreur dans la console que ça ne marche pas, c'est ça qui est terrible avec TuSKe.

  • 0
Posté(e)
Il y a 11 heures, Teddou a dit :

Pourquoi poster un "Quand meme" condéscendant alors qu'en plus ça ne fonctionne pas?
image.png.9fa4d8b2f64a5155364766ed64e831c2.png

ma version de tuske reconnait l'effet pour ma part ...

  • 0
Posté(e)
il y a une heure, Lou' a dit :

@Zorg A mon avis, tu n'as pas bien compris ce qu'il voulait de base ^-^

si, il voulait que ca ouvre un menu a quelqu'un et qu'il ne peut pas bouger ce qu'il y a à l'intérieur

  • 0
Posté(e)

Non, tu vois, tu n'as pas compris. Il veut qu'un joueur ne puisse pas prendre un item de son inventaire et le mettre dans le menu.

  • 0
Posté(e)
Il y a 13 heures, Lou' a dit :

Oui, ça peut se fait aussi comme ça mais bon, admettons qu'il y est plusieurs menus d'ouverts en même temps, ça veut dire une variable par jour. Ça commence à peser. Mais yep, en théorie c'est mieux.

Une variable par jour ... Ben bof ça reste vachement optimisé enfin je trouve

  • 0
Posté(e)
Il y a 8 heures, Lou' a dit :

Voici un exemple, essaie de t'en servir pour régler ton erreur, copie la syntaxe et dit moi si ça ne marche toujours pas. Après entre toi et moi, on est clairement d'accord sur le fait que TuSKe est vraiment galère. C'est un addon génial en soi, mais personne ne se motive à le mettre à jour parce qu'il marche "à peu près" bien.


on load:
	create gui with id "Test" with virtual chest with size 6 named "Test":
		make gui slot 0 with stone named "&7&lTest" with lore "blblblbl"
		make gui slot 45,46,48,49,50,52,53 with air
		make gui slot 51 with arrow named "&7&lPage suivante":
			send "lol"

Après tu sais, ce n'est pas parce qu'il y a une erreur dans la console que ça ne marche pas, c'est ça qui est terrible avec TuSKe.

Donc,

on load:
	create gui with id "Test" with virtual chest with size 6 named "Test":
		make gui slot 0 with stone named "&7&lTest" with lore "blblblbl"
		make gui slot 45,46,48,49,50,52 and 53 with air
		make gui slot 51 with arrow named "&7&lPage suivante":
			send "lol"

Il faut mettre un "and"
Et l'Arrow ne s'affiche pas. Bon Tuske je suis désolé j'abandonne marche pas sauf pour la création d'un "coffre" mais pas d'un GUI fonctionnel.



___________________________________________________________________________________________________________________________________

image.thumb.png.8d93338e554f110b12ebdc413cfd7447.png
Voici le bug avec le GUI actuel

Quand je clic sur la barrier c'est comme si je clic sur la dirt et ainsi de suite comme si les réglages de la deuxième ligne étais copié sur la première ligne de l'inventaire.

 


Bref voici mon discord, je veux bien que quelqu'un puisse passer jeter un œil histoire de comprendre parce que ça na pas de sens.
TDaX#0001

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.