Bonjour,
Je viens ici chercher de l'aide car bien que mon niveau en Skript ne soit pas très élevé, cela fait 1 jour et demi que je butte sur un problème.
Server version 1.9.4
Addons aucun (je ne m'y connait pas trop pour l'instant)
Principe de ce que je voudrais (c'est un exemple):
Un(plusieurs) joueur(s) fait(font) une commande /salut <pseudo> <text> , le nom du joueur à qui est adressé le message, le contenu du message et le nom de joueur qui exécute la commande est stocké dans des listes respectives.
Un joueur ayant la permission fait /salutlist <voir> <numero page> , il voit alors tous les messages (5 par pages) les uns en dessous des autres comme cela (les numéros sont importants pour la suite) :
۞ Récepteur1 "Wesh wesh" Envoyeur1
۞ Récepteur1 "Salut poto !" Envoyeur2
۞ Récepteur1 "La v t mosh" Envoyeur3
۞ Récepteur2 "Un ptit grec" Envoyeur3
...
J'aimerais alors que lorsque le joueur clique sur le symbole le massage ce supprime automatiquement de la liste, sachant que le message à supprimer peut être le premier comme le 16eme. Cela me suffirait amplement, mais si vous voulez encore plus de défi, je souhaiterais que lorsque l'on clique sur le nom d'un récepteur par exemple, tous les messages envoyé pour ce joueur soit supprimé de la liste, encore une fois les messages peuvent être à la suite mais aussi sous la forme: /////\///\\\///\
Mon vrai code est un code de report. J'utilise déjà des listes pour le /report ce qui permet par la suite à l'aide d'une boucle et d'un tellraw de créer une page lors du /reportlist:
Lors du /report pour entrer les variables:
add arg 1 to {a.%player%::*}
add arg 2 to {b::*}
add player to {c::*}
Et pour le /reportlist, j'utilise une boucle (modifiée) que j'ai vu dans un message de @Chouyoux:
set {List1.%player%::*} to {a.%player%::*}
set {List2::*} to {b::*}
set {List3::*} to {c::*}
set {NbPage} to round up size of {List1.%player%::*}/{@n_par_page}
if arg 2 is set:
if arg 2 is higher than {NbPage}:
message "Erreur, il n'y a que %{NbPage}% pages !" to player
stop trigger
else:
set {arg} to arg 2
remove 1 from {arg}
set {i} to {arg}*{@n_par_page}
loop {@n_par_page} times:
add 1 to {i}
if {List1.%player%::%{i}%} is set:
if {List2::%{i}%} is set:
if {List3::%{i}%} is set:
execute console command "/tellraw %player% ["""",{""text"":""\u2714"",""color"":""dark_red"",""clickEvent"":{""action"":""run_command"",""value"":""/reportc {List1.%player%::%{i}%}""},""hoverEvent"":{""action"":""show_text"",""value"":""§6Report traité""}},{""text"":"" %{List1.%player%::%{i}%}%"",""color"":""yellow""},{""text"":"" :"",""color"":""red""},{""text"":"" \""%{List2::%{i}%}%\"""",""color"":""yellow""},{""text"":"" par"",""color"":""red""},{""text"":"" %{List3::%{i}%}%"",""color"":""green""}]"
Et lorsque la personne clique sur le symbole, ça exécutera automatiquement la commande /reportcomplet qui me permettra de supprimer le message de la liste.
Voila, j'espère que c'est assez clair sans avoir tout le code sous les yeux.
Merci d'avance si vous m'aidez. 😀