Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=81b0a2acb84367f2f69afab455ee3e61Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Entered Chat String

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 11/11/07 13:37    Sujet du message: Entered Chat String Citer

Bonjour, j'ai un probleme avec les evenements liés avec ce que les joueurs tapent en chat.
J'ai mis par exemple que "-a" lance un trigger.
Apres ça depend du chiffre derriere a, mais "-a" lance aussi un certain trigger.
Donc si je tape "-a2" ça marche, ce qui me gene c que si je tape "jhdshfcds-asdhfckr" ça lance aussi le trigger Confused
Qu'est ce que je fais mal, je veux que ça lance le trigger uniquement si le message tapé n'est pas accompagné de trucs inutiles.
Gui:
Trigger:
a Set
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -a as Une sous-chaîne
Conditions
Collapse Actions
Collapse For each (Integer A) from 1 to 10, do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Entered chat string) Egal à  (-a + (String((Integer A))))
Collapse Alors - Actions
Set var= (100 + (Integer A))
Déclencheur - Run lalalala <gen> (checking conditions)
Collapse Sinon - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Entered chat string) Egal à  -a
Collapse Alors - Actions
Déclencheur - Run blablabla <gen> (checking conditions)
Collapse Sinon - Actions

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 11/11/07 13:59    Sujet du message: Citer

utilise substring pour décomposer ta chaine.
Remarque : l'évenement ne tient pas compte de la casse (majuscule ou minuscule) mas les conditions si
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 11/11/07 14:12    Sujet du message: Citer

Je ne comprends pas comment m'en servir, j'ai regardé ce lien: http://worldedit.free.fr/forum/viewtopic.php?t=641&highlight=substring
donc pour moi vu que c'est "-a" c'est censé etre 1 et 2 les valeurs du substring c'est bien ça ? mais ça ne marche pas.
Confused
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 11/11/07 14:44    Sujet du message: Citer

C'est bien cela mais je ne comprends pas l'utilité de ta boucle
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 11/11/07 15:04    Sujet du message: Citer

En fait le trigger est bcp plus compliqué que celui que j'ai mis en exemple, la j'ai résumé et simplifié.
En fait, -a1 lance le trigger a1, -a2 le trigger a2, etc
et -a lance un random parmi tous les ax ou axx possibles et en lance 1 au hasard.
J'aimerai savoir ce qu'il faut que je fasse pour que ça marche que si le message entré correspond exatement a quelque chose, genre:

"-a" lance le random
"-a5" lance a5
"-a12" lance a12
"c-a" ne lance rien
"-aa5" ne lance rien
"qscjhgkhdv-adfkjvb" ne lance rien
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 11/11/07 15:10    Sujet du message: Citer

tu vérifies que substring (entered chat string (1,2)) = "-a"
Puis que substring (entered chat string (1,length of entered chat string) est supérieur (ou égal ) à 0 ou égal à une chaine vide.
Ainsi tu élimines une partie des textes incohérents.
Ensuite tu utilises substring (entered chat string (1,length of entered chat string) est supérieur (ou égal ) pour lancer le trigger voulu.
Le top serait de faire une variable déployée de type trigger
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 11/11/07 22:44    Sujet du message: Citer

Bon je n'ai pas tout compris mais j'ai mis de coté ce que tu as ecrit.
J'ai trouvé un systeme plus simple et plus rapide je pense; je m'etais embarqué dans un vrai bordel avec des triggers dans tous les sens Razz
Merci pour ton aide.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 12/11/07 18:22    Sujet du message: Citer

popp a écrit:
Bon je n'ai pas tout compris mais j'ai mis de coté ce que tu as ecrit.

Tu gardes ce casse tête pour les longues soirées d'hiver ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 super_mouton
Floodozaurus


Inscrit le: 21 Aoû 2007
Messages: 2072
Sujets: 51
Spécialité en worldedit: Harceller vos maps de critiques !! ';..;'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 12/11/07 19:08    Sujet du message: Citer

Je pense qu'il faudrait renomer le nom du topic avec ">> Substring" a la fin.

Ben substring sa prend un mocreaux de texte dans un texte, alors ils fau imaginer une information comme une case :

"bonjour" se décompose en 7 lettres b=1ère casen o=2e, n=3e, j=4e, (deuxième) o=5e, u=6e, r=7e.
Il faut penser que tout carractères comptes une case ainsi ' prendrat une case, " dans le cas où il est former en un prend une case mais " dans le cas où il est former de ' et de ' prendrat 2 cases.
Autres détail les espaces qui sont notés " " prennent aussi une case mais aussi la fonction Entrer qui permet de sauter une ligne sera prise en compte comme une case. Donc une case est toujours remplie par un caractère, c'est donc un espace rempli.
"kik0o lol" => "k"=1, "i"=2, "k"=3, "0"=4, "o"=5, " "=6, "l"=7, "o"=8, "l"=9.

Substring pour sa part se formera comme sa : substring[M](X ; Y).
La fonction de celui-ci peut varier de l'action à la condition, mais toujours est-il qui récuperat des morceaux du texte "M" depuis la case "X" à la case "Y". Dans le cas de entered chat string si l'evenement accepte les sous-chaînes (donc le texte n'est pas exactement égal à ceci mais le début de celui-ci est égal à ...), il prend en compte tout le texte qui a été dit donc la suite qui n'est pas vu dans l'événement donc imprevisible.

Je pense que tout a été dit, pour que ton déclencheur marche mieux il faut que la condition soit adapté pour chaques cas "-a5", "-a", "a12"... sinon oui sa ne marcherat pas correctement, le système aléatoire de lancement ne marche pas pour les déclencheurs, ce sont des déclencheurs précis (on n'écrit pas le nom du déclencheur a lancé sa n'est pas possible :/.
_________________
Dessine moi un Bizzardbizzare ! Very Happy
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 14/11/07 11:01    Sujet du message: Citer

super_mouton a écrit:
on n'écrit pas le nom du déclencheur a lancé sa n'est pas possible :/

Ca peut se faire.
Si ton trigger est en gui il existe 2 fonctions nommées de cette façon.
function Trig_NomDuDeclencheur_Actions et
function Trig_NomDuDeclencheur_Conditions.

Jass:
native ExecuteFunc takes string funcName returns nothing

Le plus beau dans cette fonction c'est que peu importe où se situe la fonction, celle ci sera exécutée.
contrairement au call où la fonction doit être déclarée avant celui ci.

Donc pour éxécuter ton trigger en fonction d'une chaîne de caractère (s) il te suffit de faire ceci

Jass:
call ExecuteFunc ( "Trig_"+ s + "_Actions" )


Si un trigger contient des espaces les fonctions comporteront des underscores "_".

Il faut éviter les caractères particuliers tel que les accents dans un nom de trigger.
Et au lieu de nommé un trigger Nom Du Trigger il vaut mieux le nommer NomDuTrigger, pour la raison que j'ai expliqué.

PS : Warcraft plante si tu veux éxécuter une fonction inexistante.

Le grand inconvénient de cette fonction est qu'elle n'accepte pas de paramètres et qu'elle ne peut pas renvoyer de valeur.
Donc même si faire ceci fonctionnera :
Jass:
call ExecuteFunc ( "Trig_"+ s + "_Conditions" )
on ne peut pas vérifier si les conditions sont respectées ou non Crying or Very sad
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 14/11/07 11:49    Sujet du message: Citer

Troll-Brain a écrit:
Tu gardes ce casse tête pour les longues soirées d'hiver ?

Voila Smile
Non ce que je voulais dire c'est j'ai a peu pres compris l'idee de substring mais que ça a l'air chiant a mettre en place et que je prefere avancer sur d'autres choses, plus faciles et plus rapides a realiser pour moi.
Je pense aussi pouvoir organiser ma map autrement pour eviter d'utiliser cette fonction.
Mais au moins grace a vos posts j'ai compris les bases de cette fonction, je pourrai donc m'en servir le moment voulu (durant les longues soirees d'hiver ? Laughing )
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 14/11/07 11:51    Sujet du message: Citer

Franchement y'a rien de sorcier mais c'est parce que je suis un rohxor du worldedit Razz
Le principal est de prendre plaisir à ce que l'on fait Wink
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 popp
Floodeur prématuré


Inscrit le: 28 Aoû 2007
Messages: 627
Sujets: 70
Spécialité en worldedit: le multiboard Gui :D


MessagePosté le: 14/11/07 12:01    Sujet du message: Citer

Troll-Brain a écrit:
Franchement y'a rien de sorcier mais c'est parce que je suis un rohxor du worldedit Razz
Oui rien n'est sorcier quand on connait. Smile
Troll-Brain a écrit:
Le principal est de prendre plaisir à ce que l'on fait Wink

Tout a fait d'accord, et puis,
Prendre du plaisir dans ce qu'on fait ===> rohxor dans ce qu'on fait Smile (a moyen ou long therme)
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com