begin process at 2010 03 19 12:33:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

IRC

 > 

Divers

 > 

Trucs & Astuces

 > 

aide pour les $regsubex


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide pour les $regsubex

samedi 14 novembre 2009 à 17:25:15 | aide pour les $regsubex

alanpersonproject

Bonjour,
j'aurai aimé avoir (une fois de plus ^^) une aide pour un jeu de type pendu(en fait je voudrait faire la roue de la fortune).
Après avoir regardé sur ce site j'ai vu les remotes du jeu du pendu de arkanis, mais je n'arrive pas a assez les décoder pour pouvoir les modifier.Voila ou j'en suis et bien sur ça marche pas :(
Code ActionScript :
on *:text:*:#: {
  if ($1 == !essai) {
    set %phrase $read theme.txt
    msg $chan $regsubex(%phrase,/\S/g,*)
    ;jusque la ca va ça remplace bien par des etoiles
  }
  if $regex(%phrase,/la je sais pas quoi mettre/g) {
    msg $chan $regsubex(%phrase,/[^la pareil sais pas quoi mettre ]/g,*)
else { msg $chan Non $nick il n'y a pas de "la lettre" 
    }
  }
}

ce que je voudrait c'est que quand un users dise !e ça replace tous les "e" etc pour toutes les lettres et que les lettres déja bien placées restent comme au pendu. Et est-il possible de mettre de la couleur sur un $regsubex ? Voila j'espère avoir été assez clair et Merci d'avances pour toute explication.
lundi 16 novembre 2009 à 19:10:59 | Re : aide pour les $regsubex

wims

Je suis pas sur que ce soit une bonne idée de le faire en regex si tu connais rien au regex..
Tout ce que tu veux faire est possible avec ou sans regex et même assez facilement.
Je déconseille d'utiliser les regex si tu ne les connais pas.
mardi 17 novembre 2009 à 19:00:00 | Re : aide pour les $regsubex

alanpersonproject

Bonsoir wims,
Alors voila ou j'en suis :
Apres avoir testé et testé des trcu j'ai reussi a faire un bout de code qui fonctionne:
Code ActionScript :
on *:text:*:#: {
  if ($1 == !jeu) {
    set %phr je teste un truc
    msg $chan $regsubex(%phr,/\S/g,*)
  }
  if ($len($1) == 2) && ($left($1,1) == !) {
    .set %ltr $mid($1,2,1)
  } 
  else { msg $chan reponse non valide $nick tape !lettre | return }
  if $regex(%phr,/ %ltr/g) {
    set %ltr1 $addtok(%ltr1,%ltr,00)
    msg $chan $regsubex(%phr,/[^ %ltr1 ]/g,*)
  }
}

première ligne ça set la variable de la phrase qu'on veut trouver en %phr(j'utiliserai un $read par la suite mais là ou s'en fiche ^^)
deuxieme ligne le bot(car c'est mis sur un bot la remote) énonce correctement la phrase en remplaçant toutes les lettres par des *
Premier if il verifie que la reponse est bien valide(pour eviter les fautes de frappes j'ai rajouté ! devant la proposition) et set la variable %ltr la lettre enonce apres le !
si ca colle a la phrase cela remplace bien et ca set une nouvelle variable %ltr1 avec le $addtok donc juqu'ici tous va bien
le bot prend donc en compte les bonnes lettres, les replace, puis se souvient de celle bien placées.
Ce que j'arrive pas a faire c'est si la lettre est pas bonne ben ça dis un truc genre %ltr n'est pas dans la phrase $nick.
J'ai essayé avec un else ça marche pas
ou alors je l'ai mal placé (j'ai essayé a plusieurs endroit)
J'ai essayé avec if ($regex(%phr,/ %ltr/g) !==$null) et ça marche pas non plus.
J'ai vu beaucoup de tes codes wims je pense que tu pourra me dire un p'tit truc ^^ (sans abuser de ta gentillesse).


mercredi 18 novembre 2009 à 00:03:34 | Re : aide pour les $regsubex

wims

Réponse acceptée !
Déja, vu l'état du on text, c'est pas très pro parce que ça va déclencher le lese quand quelqu'un parle sur nimporte quel chan, pour éviter ça tu devrais setter une var a on/off indiquant l'état du jeu, que tu vérifie au tout début du on text.

if ($len($1) == 2) && ($left($1,1) == !) {
ça, pour vérifier que le nick a tapé !* ou * est une lettre, c'est pas très pro non plus ^^, ça passe avec !* ou * peut petre nimporte quoi (!! par ex), utilise $regex($1,/^!([a-z])/Si), $regml(1) contient directement la lettre après le !.

if $regex(%phr,/ %ltr/g) {
encore une erreur ici, pourquoi il y a un espace dans le pattern, celui sera pas supprimé, il essaye vraiment de chercher " la_lettre", utilise / $+ %ltr $+ /g

Du coup, si ce if là est pas bon, le else qui en découlait ne pouvait pas fonctionner non plus, mais c'est bien ça que tu doit utiliser pour exprimer "si la lettre n'est pas dedans".

set %ltr1 $addtok(%ltr1,%ltr,00)
ça marche p-e lol, mais il te suffit d'utiliser $+ (a noter que 00 = 0)

Dans la classe de caractère du $regsubex, il y a deux espace, c'est une faute en soit et ça fera réfléchir plus longtemps le moteur des regex mais tu peux le laisser, ça t'évite d'utiliser $+ pour faire propre et au final l'espace, tu veux pas qu'il soit remplacer.

!== n'est que la version sensible a la case des caractères (minuscule/maj)
jeudi 19 novembre 2009 à 00:49:28 | Re : aide pour les $regsubex

alanpersonproject

Merci de ta réponse wims ,
j'ai optimisé mon code avec tes conseils et rajouté le $+ au lieu de mettre l'espace (sinon ca marchais pas sans espace) et le else fonctionne comme tu l'avais pronostiqué ^^
Je continue de coder la suite du coup.
@ bientot pour de nouvelles aventures :D


Cette discussion est classée dans : aide, msg, phrase, pendu, regsubex


Répondre à ce message

Sujets en rapport avec ce message

besoin d une petite aide scripting irc [ par ababi ] salutje cherche comment, dans un remote pour irc, specifier le server ou se trouve l user ou le chan pour faire un /msg ; j explique :l action qui dec Aide pour Bot PV [ par albert0 ] Salut all,voila, je voulais savoir si quelqu'un sait comment faire:que quand quelqu'un vous parle en PV , le bot attant dison 5 seconde avant de lui r aide script plz [ par tettete ] Salut donc je cherche un script qui permet de ouvrir un pv envoyé un msg puis refermé le pv quand quelqun rejoin un channel .Je connais deja le script Aide Ping reply [ par Sylvain93 ] Bonjour,J'ai tenté de faire un ping reply, seulement je n'arrive pas a afficher la réponse en salle, la réponse me revient seulement en apparté, j'ai Besoin d'aide pour un scritp de bot [ par Oyo38000 ] Bien voila je travail sur le script d'un botj'ai fait ceci :On *:TEXT:*!inscription*:#:.{.timer1 2 .msg $nick 3;1,0-1. 3;12,0Vous devez avoir une éq Aide pour un Dialog [ par ckemoua2 ] Coucou, Voilà en fait je viens de me(re)faire un dialog pour visualiser mes Quotes et mon pb(ma question) est le(a) suivant(e): y'aurait t'il un mo Aide Dialog/Picwin [ par AgoRa_ScripT ] Bonjour, Je cherche à savoir comment intégrer une fenêtre picwin dans un dialog. Je crois que c'est possible, mais je me rapelle plus du tout.  Pourr besoin d'une petite aide [ par texas77 ] bonjour,On *:text:*:#:{   if ( salut | bonjour | etc isin $strip($1-) ) {   msg $chan $read(salut.txt) } }pourquoi es ce que quand quelqu'un dit bonjo Aide pour un nioub en [ par cheffAlz ] Voila, je suis un grand débutant en scripting Mirc, et je souhaiterai réaliser un script pour Mirc, qui me ferai ceci:-Rejoindre plusieurs chan sur un Aide : SwithBar [ par Abber ] J'ai vu des barre que l'on créer, avec un lecteur mp3 et tt sa..Moi j'aimerai bien en fair une maiS comment?aidez moi svp.


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales