cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008
-
6 juin 2006 à 11:45
papi86 -
10 oct. 2014 à 20:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
bonjour impecable ce truc marche nikel juste quelque fautes d'orthographe qui l'empêche de fonctionné mais sinon 10/10 pour moi merci a l'auteur
cs_Hisoka51
Messages postés3Date d'inscriptionlundi 21 novembre 2011StatutMembreDernière intervention22 novembre 2011 22 nov. 2011 à 10:48
Pour ma part il fonctionne qu'à moitié, si je ne trouve pas le mot, il me marque "le mot était:" et rien d'autre. Sinon quant on ne donne pas la bonne lettre rien ne l'indique, ça serait pas mal ;)
La commande !pendu ne fonctionne pas, je dois toujours moi-même le lancer, ce qui n'est pas pratique en cas d'absence.
Sinon très bon script et merci tout de même ! J'espère que vous pourrez résoudre ces p'tits problèmes.
MRVOLKANO
Messages postés8Date d'inscriptionmardi 10 novembre 2009StatutMembreDernière intervention 2 mai 2010 18 mars 2009 à 14:59
allo
jais installer le pendu comme est supposer mais je tappe !pendu mais ya rien qui marche j'aimerais qu'on m'aide S.V.P parce-que ya l'air pas pir :)
rastaman33
Messages postés1Date d'inscriptionvendredi 20 juin 2008StatutMembreDernière intervention21 juin 2008 21 juin 2008 à 11:01
bonjour
je n arrive pas a le faire fonctionnais le jeu du pendu multi joueur pourrais t on maider svp je suis assez nul merci
Sa aurait été mieu que tu mette la source dans une remote et que tu la poste sous zip ... 251 ligne ou il faut enlever les # devant
Exemple:
# on 1:KICK:%chandujeu: {# if (%pendu on && $knick %nom && %m == off) {
# msg %chandujeu 3,15 Dommage, le pendu est fini. Pour relancer, tapez 4!pendu
# unset %pendu
# unset %lettrecite*
# unset %m
# unset
Et
# ###############################
# ### ###
# ### A COPIER DANS UN REMOTE ###
# ### ###
# ###############################
N'est pas indispensable. Tu peut l'enlever
on 1:KICK:%chandujeu: {
Hein ???
on *:join:#salon:{
Sa n'aurait pas été plus simple =o
besky
Messages postés59Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention27 novembre 2007 30 sept. 2007 à 13:34
ce qui serait cool c'est de lier le tout a un dictionnaire en ligne ou bien un fichier txt qui contienne la définition de tous les mots de la langue francaise pour éviter les conflit du genre "c'est pas francais ton mot" et peut-etre aussi faire un systeme de voice ou je sais pas trop quoi et un interchan serait super avec des mots diférent comme ca pas de triche
ciao j'essaie la remote de suite :D
Barsy
Messages postés13Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention12 février 2008 21 juin 2006 à 21:11
Je vois que mon script à pas mal de succès (je vous ai dit, je l'ai fait il y a deux ans et je n'avais pas de notion de programmation à l'époque, j'ai tout fait comme j'ai pu sans rien connaître). Désolé donc pour toutes les lignes en trop dans le code.
J'essaierai prochainement de vous sortir une version propre du pendu en prenant en compte toutes vos remarques
merci pour vos conseil ^^
Barsy
thomasworms
Messages postés12Date d'inscriptionvendredi 1 avril 2005StatutMembreDernière intervention20 juin 2006 20 juin 2006 à 18:38
euh ton truc est bizarre t code comme on 1:QUIT:{ ne serve strictement a rien
je vois ke le jeu beug tres bien
(06:37:21) <Service> PENDU (créé par Barsy)
(06:37:23) <Service> pour avoir les scores tapez !scorpendu
(06:37:25) <Service> début du pendu : ------
(06:37:27) <Service> vous pouvez donner une lettre ou un mot.
(06:37:31) <Service> Dommage, le pendu est fini. Pour relancer, tapez !pendu
donc il y a kelke petite erreur a remedié et enleve ton pseudo ds le jeu sa casse tt sa ^^ sinon sa va bonne idée de projet :)
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 11 juin 2006 à 12:13
j'te fai confiance ;p
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 11 juin 2006 à 12:10
erreur de ma part, ça serait plutôt var %bon = 1 dans ce cas
et effectivement, il ne faut pas tenir compte des majuscules
if ($regex(%tontexte,/^([a-z]+)$/i)) var %bon = 1
la position des parenthèses ne change rien dans les deux cas il me semble
j'ai inversé ^ et $ rofl ^^
dur les dimanches matin :p
j'ai testé, et c'est bon :)
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 11 juin 2006 à 12:05
ha oui c'est vrai isalpha etait plus adéquat, par contre pour le regex j'aurai plutot vu
if ($regex(%tontexte,/(^[a-z]+$)/i)) { var %bon 0 }
fin à vérifier...
RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009 11 juin 2006 à 11:57
c'est très mal codé :x
la première chose qu'on voit sur ce code c'est les 40 unset en ligne :x
passe par un alias pour unset toutes ces vars, ça t'évitera d'avoir 3x la même chose (comme l'a dit ISoKa)
unset %a
unset %b
unset %c
devient unset %a %b %c
tu devrais mettre un prefixe à tes variables, ça te donnerait unset %prefixe.*
/help /timer au lieu de mettre tout plein de /msg à la suite, ce qui va faire flooder le bot
/help /var au lieu de /set tout plein de variables qui ne seront pas utilisées plus tard
pour le code qu'ISoKa te propose : (déjà j'aurai plutôt dit que c'est if ($1 !isalpha))
if ($regex(%tontexte^,$[a-z]+^)) var %bon = 0
else var %bon = 1
if (%bon) correspondras au cas où %bon est correct, if (!%bon) au cas où %bon est faux
#############################
### ###
### A COPIER DANS ALIASES ###
### ###
#############################
pourquoi tu ne mets pas alias devant tes aliases ? ça permettrait de les coller dans le remote ...
(ISoKa t'a fait la remarque mais tu n'as pas encore corrigé :p)
Bref, assez mal codé, il y a beaucoup de choses à optimiser
Barsy
Messages postés13Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention12 février 2008 6 juin 2006 à 21:26
En fait, c'est un vieu code que j'avais tapé il y a quelques années. Et mon ignorance des fonctions m'a obligé à utiliser tous ces subterfuges avec les while.
Si j'ai le temps je retoucherai le code pour qu'il soit moins lourd.
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 6 juin 2006 à 12:00
ha oui j'oubliai quand on t'envoi le nouvo mot en pv tu fais encore une boucle sur chaque caractere poiur voir si c'est bien des lettres mais bon il existe des idetifieurs plus adéquat il me semble comme "isalpha" ainsi:
set %charcourrant 1
set %bon true
while (%charcourrant <= $len($$1)) {
if ($mid($lower($$1),%charcourrant,1) < a || $mid($lower($$1),%charcourrant,1) > z) {
set %bon false
}
inc %charcourrant
}
devient :
set %charcourrant 1 | set %bon true
if ($$1 !isalnum) { set %bon false }
c'est bien tu sembles maitrisé les while mais bon ser toi des identifieurs filé par mirc au lieu de toujours faire tes boucles, tu gagneras en vitesse d'execution, facilité de lecture, longueur de code et elegance.
voila :)
cs_ISoKa
Messages postés435Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention17 octobre 2008 6 juin 2006 à 11:45
Bonjour,
-tu as plusieurs fois les mêmes actions sur diffirents evenements, quit,kick,part et meme dans ton code une fois si je me trompe pas, au lieu d'a chaque fois remettre tes lignes de code, crées toi un alias et appel l à chak fois tu gagnerais en concision
-tu fais un while sur les lettres du mot pour verif si la lettre donnée correspond si j'ai bien compri. ca marcherai pas plus simplement et sans while avec un "isin" ou "iswm" ou encore mieu en "regex" ? ca t'eviterais des boucles je pense, tu gagnerai encore en lignes de code.
-tu fais dans ton "on text" pleins de "set" que tu unset à la fin, un "var" serai peut etre plus approprié alors
-pour avoir ton code en entier dans un seul remote, pour eviter de se disperser, vu qu'il est pas super long et encore pas mal raccourcicable, tu pourais au lieu d'aller dans les alias tout simplement dans ton remote mettre "alias pendu {" et "alias finpendu {"
voili voilou :)
10 oct. 2014 à 20:04
22 nov. 2011 à 10:48
La commande !pendu ne fonctionne pas, je dois toujours moi-même le lancer, ce qui n'est pas pratique en cas d'absence.
Sinon très bon script et merci tout de même ! J'espère que vous pourrez résoudre ces p'tits problèmes.
18 mars 2009 à 14:59
jais installer le pendu comme est supposer mais je tappe !pendu mais ya rien qui marche j'aimerais qu'on m'aide S.V.P parce-que ya l'air pas pir :)
21 juin 2008 à 11:01
je n arrive pas a le faire fonctionnais le jeu du pendu multi joueur pourrais t on maider svp je suis assez nul merci
24 nov. 2007 à 18:39
Exemple:
# on 1:KICK:%chandujeu: {# if (%pendu on && $knick %nom && %m == off) {
# msg %chandujeu 3,15 Dommage, le pendu est fini. Pour relancer, tapez 4!pendu
# unset %pendu
# unset %lettrecite*
# unset %m
# unset
Et
# ###############################
# ### ###
# ### A COPIER DANS UN REMOTE ###
# ### ###
# ###############################
N'est pas indispensable. Tu peut l'enlever
on 1:KICK:%chandujeu: {
Hein ???
on *:join:#salon:{
Sa n'aurait pas été plus simple =o
30 sept. 2007 à 13:34
ciao j'essaie la remote de suite :D
21 juin 2006 à 21:11
J'essaierai prochainement de vous sortir une version propre du pendu en prenant en compte toutes vos remarques
merci pour vos conseil ^^
Barsy
20 juin 2006 à 18:38
je vois ke le jeu beug tres bien
(06:37:21) <Service> PENDU (créé par Barsy)
(06:37:23) <Service> pour avoir les scores tapez !scorpendu
(06:37:25) <Service> début du pendu : ------
(06:37:27) <Service> vous pouvez donner une lettre ou un mot.
(06:37:31) <Service> Dommage, le pendu est fini. Pour relancer, tapez !pendu
donc il y a kelke petite erreur a remedié et enleve ton pseudo ds le jeu sa casse tt sa ^^ sinon sa va bonne idée de projet :)
11 juin 2006 à 12:13
11 juin 2006 à 12:10
et effectivement, il ne faut pas tenir compte des majuscules
if ($regex(%tontexte,/^([a-z]+)$/i)) var %bon = 1
la position des parenthèses ne change rien dans les deux cas il me semble
j'ai inversé ^ et $ rofl ^^
dur les dimanches matin :p
j'ai testé, et c'est bon :)
11 juin 2006 à 12:05
if ($regex(%tontexte,/(^[a-z]+$)/i)) { var %bon 0 }
fin à vérifier...
11 juin 2006 à 11:57
la première chose qu'on voit sur ce code c'est les 40 unset en ligne :x
passe par un alias pour unset toutes ces vars, ça t'évitera d'avoir 3x la même chose (comme l'a dit ISoKa)
unset %a
unset %b
unset %c
devient unset %a %b %c
tu devrais mettre un prefixe à tes variables, ça te donnerait unset %prefixe.*
/help /timer au lieu de mettre tout plein de /msg à la suite, ce qui va faire flooder le bot
/help /var au lieu de /set tout plein de variables qui ne seront pas utilisées plus tard
pour le code qu'ISoKa te propose : (déjà j'aurai plutôt dit que c'est if ($1 !isalpha))
if ($regex(%tontexte^,$[a-z]+^)) var %bon = 0
else var %bon = 1
if (%bon) correspondras au cas où %bon est correct, if (!%bon) au cas où %bon est faux
#############################
### ###
### A COPIER DANS ALIASES ###
### ###
#############################
pourquoi tu ne mets pas alias devant tes aliases ? ça permettrait de les coller dans le remote ...
(ISoKa t'a fait la remarque mais tu n'as pas encore corrigé :p)
Bref, assez mal codé, il y a beaucoup de choses à optimiser
6 juin 2006 à 21:26
Si j'ai le temps je retoucherai le code pour qu'il soit moins lourd.
6 juin 2006 à 12:00
set %charcourrant 1
set %bon true
while (%charcourrant <= $len($$1)) {
if ($mid($lower($$1),%charcourrant,1) < a || $mid($lower($$1),%charcourrant,1) > z) {
set %bon false
}
inc %charcourrant
}
devient :
set %charcourrant 1 | set %bon true
if ($$1 !isalnum) { set %bon false }
c'est bien tu sembles maitrisé les while mais bon ser toi des identifieurs filé par mirc au lieu de toujours faire tes boucles, tu gagneras en vitesse d'execution, facilité de lecture, longueur de code et elegance.
voila :)
6 juin 2006 à 11:45
-tu as plusieurs fois les mêmes actions sur diffirents evenements, quit,kick,part et meme dans ton code une fois si je me trompe pas, au lieu d'a chaque fois remettre tes lignes de code, crées toi un alias et appel l à chak fois tu gagnerais en concision
-tu fais un while sur les lettres du mot pour verif si la lettre donnée correspond si j'ai bien compri. ca marcherai pas plus simplement et sans while avec un "isin" ou "iswm" ou encore mieu en "regex" ? ca t'eviterais des boucles je pense, tu gagnerai encore en lignes de code.
-tu fais dans ton "on text" pleins de "set" que tu unset à la fin, un "var" serai peut etre plus approprié alors
-pour avoir ton code en entier dans un seul remote, pour eviter de se disperser, vu qu'il est pas super long et encore pas mal raccourcicable, tu pourais au lieu d'aller dans les alias tout simplement dans ton remote mettre "alias pendu {" et "alias finpendu {"
voili voilou :)