Aller au contenu
  • 0

Packets - Récuperer la ligne d'une pancarte en gui (avec des packets)


Question

Posté(e) (modifié)

Version de Minecraft : 1.8.8
Version de Skript : 2.2-Fixes-V8b

Addons utilisés: MundoSk, Protocolib....

Type du skript : Script permettant de récupérer les lignes d'un GUI de panneau fait en Packets

Description du script :

Bonjour j'ai pour but de crée un système de pet dans lequel on peut choisir le nom de son pet a l'aide d'un pancarte que je fait apparaître avec des packets. J'ai crée cette pancarte et j'aimerais récupérer les valeurs des différentes lignes et particulièrement la ligne 1 de la pancarte.

Voici mon code pour le moment:

command /sign:
	trigger:
		set {sign::%player%} to true
		set {_packet-container} to new play_server_open_sign_editor packet
		set location pinfo 0 of {_packet-container} to location(8, 4, 262, event-world)     #Une pancarte a été placé a cette endroit (8, 4, 262) avec du text
		send player packet {_packet-container}

# on packet event play_client_update_sign:
#	set {_firstline} to the first element out of string array pinfo 0 of event-packet
#	message "%{_firstline}%"

La récupération des lignes ne fonctionne pas mais je vous met quand même au dessus  ce que j'ai pu essayer.

Je tien également a dire que les récupértion tel que "On sign edit : , set line {...} to {...}"  ne fonctionne pas car la gui de la pancarte est virtuel et la pancarte "n'existe pas" si on peut dire ca comme ca.

Si mes explications ne sont pas claires, je peux vous le ré-expliquer et je possède aussi un discord (stormas82#1976)

Merci a tous pour votre aide.

Modifié par PsyKoez

3 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)
On packet event play_client_update_sign:
	{sign::%player%} is set
	set {_l::*} to string array pinfo 0 of event-packet
	if first element of {_l::*} is "":
		play sound "entity.villager.no" with volume 0.8 and pitch 1 at player for player
		message "{@error} Veuillez indiquer quelque chose sur la première ligne"
	if first element of {_l::*} is not "":
    	# Ton code : element (l=ligne 1, 2=ligne 2...) of {_l::*}
	clear {sign::%player%}

(Fonctionne avec ThatPacketAddon en 1.12.2, Skript 2.4.1)

Modifié par TitiLaPierre
  • 0
Posté(e) (modifié)

Merci pour ta réponse @TitiLaPierre, mais aurait-tu un code qui fonctionne en 1.8.8 ? 

 

J'ai essayer de le modifier un peu mais je n'arrive pas a récupérer la première ligne:

on packet event play_client_update_sign:	
	set {_l::*} to string array pinfo 0 of event-packet
	set {_e} to the first element of {_l::*}
	broadcast "%{_e}%"

J'obtien aussi une erreur dans la console qui sit que j'essaie de changer une pancarte impossible a éditer:

Player stormas82 just tried to change non-editable sign

Merci pour votre aide.

Modifié par PsyKoez
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.