Aller au contenu
  • 0

Problème "split "ton texte" by 15 characters"...


Question

Posté(e)

Bonjour,

 

Je suis actuellement bloqué sur un skript qui ne sert pas à grand chose mais qui est plutot fun/stylé:

une console en jeu sur des pancartes qui logs les commandes des joueurs.

Problème : des fois ça ne rentre pas sur 1 pancarte (la commande du joueur) et du coup je cherche à splitter "%complete command%", mais il me retourne l'erreur "{blablabla} can't be set to 'split "/%complete command%" split by 15 characters because the latter is not an object"..

 

Je cherche donc une solution pour cela, que ce soit pour le problème de rentrer dans la pancarte ou l'erreur.

 

[spoiler=Pour mieux comprendre, le skript entier]

 
options:   
   p: &7[&c&lConsole&7] &7


on command:
   set {test} to "/%complete command%" split by 15 characters parsed as text
   if player is not "Catatomik" or "Lethalic":
       set {csl.display.8} to "%{csl.display.7}%"
       wait 2 ticks
       set {csl.display.7} to "%{csl.display.6}%"
       wait 2 ticks
       set {csl.display.6} to "%{csl.display.5}%"
       wait 2 ticks
       set {csl.display.5} to "%{csl.display.4}%"
       wait 2 ticks
       set {csl.display.4} to "%{csl.display.3}%"
       wait 2 ticks
       set {csl.display.3} to "%{csl.display.2}%"
       wait 2 ticks
       set {csl.display.2} to "%{csl.display.1}%"
       wait 2 ticks
       set {csl.display.1} to "&7&l%hour%:%minutes% &8»"
       wait 2 ticks
       set {csl.display.8.1} to "%{csl.display.7.1}%"
       wait 2 ticks
       set {csl.display.7.1} to "%{csl.display.6.1}%"
       wait 2 ticks
       set {csl.display.6.1} to "%{csl.display.5.1}%"
       wait 2 ticks
       set {csl.display.5.1} to "%{csl.display.4.1}%"
       wait 2 ticks
       set {csl.display.4.1} to "%{csl.display.3.1}%"
       wait 2 ticks
       set {csl.display.3.1} to "%{csl.display.2.1}%"
       wait 2 ticks
       set {csl.display.2.1} to "%{csl.display.1.1}%"
       wait 2 ticks
       set {csl.display.1.1} to "&a&l%player% &8»"
       wait 2 ticks
       set {csl.display.8.2} to "%{csl.display.7.2}%"
       wait 2 ticks
       set {csl.display.7.2} to "%{csl.display.6.2}%"
       wait 2 ticks
       set {csl.display.6.2} to "%{csl.display.5.2}%"
       wait 2 ticks
       set {csl.display.5.2} to "%{csl.display.4.2}%"
       wait 2 ticks
       set {csl.display.4.2} to "%{csl.display.3.2}%"
       wait 2 ticks
       set {csl.display.3.2} to "%{csl.display.2.2}%"
       wait 2 ticks
       set {csl.display.2.2} to "%{csl.display.1.2}%"
       wait 2 ticks
       if length of "/%complete command%" is greater than "15" parsed as integer:
           set {csl.command1::*} to split "/%complete command%" by 15 characters
       set {csl.display.1.2} to "&c/%complete command%"
       wait 2 ticks
       set {csl.display.8.3} to "%{csl.display.7.3}%"
       wait 2 ticks
       set {csl.display.7.3} to "%{csl.display.6.3}%"
       wait 2 ticks
       set {csl.display.6.3} to "%{csl.display.5.3}%"
       wait 2 ticks
       set {csl.display.5.3} to "%{csl.display.4.3}%"
       wait 2 ticks
       set {csl.display.4.3} to "%{csl.display.3.3}%"
       wait 2 ticks
       set {csl.display.3.3} to "%{csl.display.2.3}%"
       wait 2 ticks
       set {csl.display.2.3} to "%{csl.display.1.3}%"
       wait 2 ticks
       set {csl.display.1.3} to "&c/%complete command%"
       wait 2 ticks

       set line 1 of block at {csl.1} to "%{csl.display.8}%"
       set line 2 of block at {csl.1} to "%{csl.display.7}%"
       set line 3 of block at {csl.1} to "%{csl.display.6}%"
       set line 4 of block at {csl.1} to "%{csl.display.5}%"
       set line 1 of block at {csl.5} to "%{csl.display.4}%"
       set line 2 of block at {csl.5} to "%{csl.display.3}%"
       set line 3 of block at {csl.5} to "%{csl.display.2}%"
       set line 4 of block at {csl.5} to "%{csl.display.1}%"

       set line 1 of block at {csl.2} to "%{csl.display.8.1}%"
       set line 2 of block at {csl.2} to "%{csl.display.7.1}%"
       set line 3 of block at {csl.2} to "%{csl.display.6.1}%"
       set line 4 of block at {csl.2} to "%{csl.display.5.1}%"
       set line 1 of block at {csl.6} to "%{csl.display.4.1}%"
       set line 2 of block at {csl.6} to "%{csl.display.3.1}%"
       set line 3 of block at {csl.6} to "%{csl.display.2.1}%"
       set line 4 of block at {csl.6} to "%{csl.display.1.1}%"

       set line 1 of block at {csl.3} to "%{csl.display.8.2}%"
       set line 2 of block at {csl.3} to "%{csl.display.7.2}%"
       set line 3 of block at {csl.3} to "%{csl.display.6.2}%"
       set line 4 of block at {csl.3} to "%{csl.display.5.2}%"
       set line 1 of block at {csl.7} to "%{csl.display.4.2}%"
       set line 2 of block at {csl.7} to "%{csl.display.3.2}%"
       set line 3 of block at {csl.7} to "%{csl.display.2.2}%"
       set line 4 of block at {csl.7} to "%{csl.display.1.2}%"

       set line 1 of block at {csl.4} to "%{csl.display.8.3}%"
       set line 2 of block at {csl.4} to "%{csl.display.7.3}%"
       set line 3 of block at {csl.4} to "%{csl.display.6.3}%"
       set line 4 of block at {csl.4} to "%{csl.display.5.3}%"
       set line 1 of block at {csl.8} to "%{csl.display.4.3}%"
       set line 2 of block at {csl.8} to "%{csl.display.3.3}%"
       set line 3 of block at {csl.8} to "%{csl.display.2.3}%"
       set line 4 of block at {csl.8} to "%{csl.display.1.3}%"



command /csl [<text>] [<text>]:
   trigger:
       if arg 1 is not set:
           give 1 torch named "{@p}&b&lClique" to player
           stop trigger
       if arg 1 is "add":
           set {cslnumber} to arg 2
       if arg 1 is "send":
           set line 3 of block at {csl.9} to "&7&l%hour%:%minutes% &8»"
           set line 3 of block at {csl.10} to "&a&l%player% &8»"
           set line 3 of block at {csl.11} to "&c%arg 2%"
           set {csl.commande.last} to arg 2

on rightclick holding torch:
   if name of player's tool is "{@p}&b&lClique":
       set {csl.%{cslnumber}%} to location of clicked block
       send "&aOK ! &f%{csl.%{cslnumber}%}%"

on rightclick on sign:
   if line 1 is "&c&lEnvoyer une":
       if line 2 is "&c&lcommande via":
           if line 4 is "&b&lClique":
               if player have permission "essentials.ban":
                   set {cslcommande.%player%} to true
                   send "{@p}Écris la commande dans le chat"
   if line 1 is "&9&lValider pour":
       if line 2 is "&9&ll'envoi de la":
           if line 3 is "&9&lcommande":
               if player have permission "essentials.ban":
                   if {csl.commande.last} is set:
                       make console execute "%{csl.commande.last}%"
                       set line 3 of block at {csl.9} to "&7"
                       set line 3 of block at {csl.10} to "&d&lEnvoyé !"
                       set line 3 of block at {csl.11} to "&7"
                       delete {csl.commande.last}
                       send "{@p}Commande &d&lenvoyée &7!"
                   else:
                       send "{@p}&4Tu dois définir une commmande"

on chat:
   if {cslcommande.%player%} is true:
       make player execute "csl send %colored message%"
       delete {cslcommande.%player%}
       send "{@p}Commande &a&ldéfinie"

on break of sign:
   if x-coord of player is between -180.5 and -167.5:
       if y-coord of player is between 235 and 250:
           if z-coord of player is between -242.5 and -238.5:
               cancel event
               send "{@p}&4&lNe détruis pas la &c&lconsole &4&l!"

 

 

 

Merci d'avance :/

16 réponses à cette question

Messages recommandés

  • 0
Posté(e)
set {test} to first 15 characters of "/%complete command%"

Ok, mais j'ai besoin de récupérer la suite de "/%complete command% de façon à afficher la fin de la commande sur une autre pancarte"

  • 0
Posté(e)

Comme je te l'ai dit il suffit de créer une variable de type liste.

set {test::*} to "/%complete command%" split by 15 characters parsed as text

Ensuite tu récupère la ligne 1 comme ceci:

{test::1}

La ligne 2:

{test::2}

etc...

  • 0
Posté(e)
Comme je te l'ai dit il suffit de créer une variable de type liste.

set {test::*} to "/%complete command%" split by 15 characters parsed as text

Ensuite tu récupère la ligne 1 comme ceci:

{test::1}

La ligne 2:

{test::2}

etc...

Ok, j'essaye ça, c'était mon idée de base mais mal interprétée par moi-même ^^

Problème : "{test::*} can't be set to "/%complete command%" split by 15 characters because the latter is not an object"

  • 0
Posté(e)
J'ai oublié d'enlever le "parsed as text" à la fin de la ligne. Essaye sans.

Même erreur :/ Je ne comprends pas pourquoi, l'exemple donné sur skunity ne fonctionne même pas, peut être ma version de TuSKe?

 

EDIT: dernière version installée, ça ne change rien

  • 0
Posté(e)

Re désolé du double-post, après décompilation du plugin, l'auteur de TuSKe a fait une faute dans l'enregistrement de l'expression. Il a mis chararacters au lieu de characters.

 

09Y1.png

Du coup tu dois faire ça :

 

set {_s::*} to split "Ton texte !" by 15 chars

  • J'aime 2
  • 0
Posté(e)
Re désolé du double-post, après décompilation du plugin, l'auteur de TuSKe a fait une faute dans l'enregistrement de l'expression. Il a mis chararacters au lieu de characters.

 

09Y1.png

Du coup tu dois faire ça :

 

set {_s::*} to split "Ton texte !" by 15 chars

Bien vu, je vais le reporter sur Skunity

  • J'aime 1
  • 0
Posté(e)
Re désolé du double-post, après décompilation du plugin, l'auteur de TuSKe a fait une faute dans l'enregistrement de l'expression. Il a mis chararacters au lieu de characters.

 

09Y1.png

Du coup tu dois faire ça :

 

set {_s::*} to split "Ton texte !" by 15 chars

Bien vu, je vais le reporter sur Skunity

YES ! Merci à vous deux, je n'ai plus d'erreurs :)

×
×
  • 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.