Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : variable [ Archives / Scripting ] (J4Gu4R)

mardi 17 août 2004 à 14:50:48 | variable

J4Gu4R

voila j'apprend petit a petit les scripting, et maintenant j'voudrait passer aux variables. G chercher des tas de tuto mais j'suis toujours incapable de faire un truc par exemple :

j'voulais faire en sorte k'un echo me prévienne quand chaque nick arrive dans mon salon mais seulement jusqu'au 20ème nick après ça s'arrete.

on *:join:#: {
if $active !ischan { halt }
;vérifie ke la fenetre est bien un salon
var %join = 0
;variable initialisé à 0
:debut
inc %join
; valeur donnée
if $nick($chan,%join) == $me { goto debut }
;si nick ki rejont c moi retour au début
echo $me($chan,%join) $1-
;sinon le script continue l'echo $1-
if %join = 20 { goto debut }
;ensuite si la boucle est inférieur a 20 elle continue sinon à 20 ou + elle s'arrête
}

probleme j'ai du mélanger quelque chose en tout cas ça marche pas...

ps : je sais que ça sers a rien mais bon pour apprendre C toujours bien d'essayé des truc voila

merci à vous

-J4Gu4R-

mardi 17 août 2004 à 15:10:15 | Re : variable

PaDa

Membre Club


ca peut pas etre bon
décortiques ce que tu fais :
a chaque fois que quelqu'un rejoins un salon , tu remets la variable a zéro :
var %join = 0
;variable initialisé à 0
:debut
inc %join
puis tu incrémentes
de plus if $active !ischan { halt } < je pige rien a ce que tu fais ; tu cherches a savoir si la fenêtre ou tu es , l'active est un salon ? :(
sincèrement je pige pas trop ton code je t'en fais un que tu pourras ptet adapter :

On *:Join:#:{
;tu mets la var globale a 0 si c'est toi qui rejoint
if ($nick == $me) { set %join [ $+ ( $chan ] ] 0 }
if (%join [ $+ ( $chan ] ] <= 20) { echo $chan : $nick a rejoint $chan }
}

j'ai mis une variable par salon je pense que c'est mieux , les crochets sont ptet pas très compréhensibles j'avoue ...
tu ne peux pas te servir de "var %x gnagna" ici car ce genre de variables , dites locales , sont effacées a la fin du "on join" et donc ca marcherait pas pour deux plusieurs nicks de suite ...
en espérant t'avoir éclairé un peu

Pada
;ensuite tu incrémentes si ce n'est pas toi
else { inc %join [ $+ ( $chan ] ] }



}
PaDa

mardi 17 août 2004 à 15:11:51 | Re : variable

PaDa

Membre Club

RAH j'ai poliotté : voici le code sans polio :

On *:Join:#:{
;tu mets la var globale a 0 si c'est toi qui rejoint
if ($nick == $me) { set %join [ $+ ( $chan ] ] 0 }
;ensuite tu incrémentes si ce n'est pas toi
else { inc %join [ $+ ( $chan ] ] }
if (%join [ $+ ( $chan ] ] <= 20) { echo $chan : $nick a rejoint $chan }
}

dsl ...

PaDa

mardi 17 août 2004 à 15:13:04 | Re : variable

PaDa

Membre Club


bon allé je désespère pas ...

On *:Join:#:{
;tu mets la var globale a 0 si c'est toi qui rejoint
if ($nick == $me) { set %join [ $+ [ $chan ] ] 0 }
;ensuite tu incrémentes si ce n'est pas toi
else { inc %join [ $+ [ $chan ] ] }
if (%join [ $+ [ $chan ] ] <= 20) { echo $chan : $nick a rejoint $chan }
}

prochain post j'arrête de scripter ...
PaDa

mardi 17 août 2004 à 16:50:54 | Re : variable

J4Gu4R

mdrrrrrrr t'a pas bien dormi cette nuit??

ok dac' j'avais cru comprendre que les variables locales était effacée une fois le script terminé donc j'm'étais dit dans mon code après 20 nick, bon ok G pigé maintenant.

et en fait ske tu pigeais tout a l'heure c'est ke j'essayais de faire comprendre au script ke sur deux salon le code ne ferai pas 10 personnes sur un et 10 sur l'autre mais bien 20 nick sur chacun des deux :-)

et puis t'inkiète pas continue de scripté comment on ferai après si les bons arrete hein?? lol

ps : si tu connait un bon tuto j'suis preneur parce ke pour l'instant j'pige pas trop ceux ke j'ai vu ou trop incomplet... merci a toi PaDa pou ton aide précieuse

-J4Gu4R-

mardi 17 août 2004 à 17:15:13 | Re : variable

J4Gu4R

je vient d'essayer ton :

#messages4 off
On *:Join:#:{
if ($nick == $me) { set %join [ $+ [ $chan ] ] 0 }
else { inc %join [ $+ [ $chan ] ] }
if (%join [ $+ [ $chan ] ] <= 20) { echo -s 4 $chan : $nick a rejoint $chan }
}
#messages4 end

le pti probleme c'est que la boucle s'arrête pas au 20ème nick lol
faudrait peut etre ke j'mette un ":fin" et " goto fin " quelque part non?

-J4Gu4R-

mardi 17 août 2004 à 17:33:41 | Re : variable

J4Gu4R

Genre :

#messages4 off
On *:Join:#:{
if ($nick == $me) { set %join [ $+ [ $chan ] ] 0 }
else { inc %join [ $+ [ $chan ] ] }
if (%join [ $+ [ $chan ] ] <= 20) { echo -s 4 $chan : $nick a rejoint $chan | ( goto fin ) }
:fin
}
#messages4 end

marche pas en plus si j'ai le salon J4Gu4R et le salon J4Gu4R94 ça marche ke pour le salon avec le chiffre mais bon C pas trop ça le probleme lol, Ctai juste un coup d'essai comme ça

j'sais meme pas pourquoi j'poste le message...
j'doit etre fatigué aussi :-)

mardi 17 août 2004 à 17:40:33 | Re : variable

PaDa

Membre Club


Evite les goto dans la mesure du possible . Ce n'est que mon avis mais ca permet pas de bien voir ce qu'on fait
Ensuite tu n'as pas de boucle : une boucle c'est dans un remote ou un évènement si tu faisais plein de fois la même chose ...
Exemple j'affiche les nombres de 1 a 10:
Alias unadix {
var %i 1
while (%i <= 10) {
echo -a >> %i !
inc %i
}
echo -a >> Fini !
}
Ca c'est une boucle .
mon truc n'arrête pas d'incrémenter %join#salon , il arrête de faire l'echo .
tu peux faire ca pour que ca arrête aussi d'incrémenter :

On *:Join:#:{
;tu mets la var globale a 0 si c'est toi qui rejoint
if ($nick == $me) { set %join [ $+ [ $chan ] ] 0 }
;ensuite tu incrémentes si ce n'est pas toi
elseif (%join [ $+ [ $chan ] ] <= 20) {
inc %join [ $+ [ $chan ] ]
echo $chan : $nick a rejoint $chan
}
}


PaDa

mardi 17 août 2004 à 18:45:00 | Re : variable

J4Gu4R

ha ok ok j'commence a piger un peu.
ok merci PaDa j'vais voir un peu ça et puis ça m'donne une autre idée en + lol
c'est sympa merci encore...

-J4Gu4R-

mercredi 18 août 2004 à 22:34:11 | Re : variable

tiot

"Evite les goto dans la mesure du possible ."

Il ne faut pas les éviter, mais plutôt les bannir ! Cela rend les sources complètements illisible ! Et c'est contraire à la notion de langage struturé !




Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh bruzum-ishi krimpatul


1 2

Cette discussion est classé dans : variable, nick, echo, debut, join


Répondre à ce message

Sujets en rapport avec ce message

[MIRC] un petit probleme de definition de variable [ par nova78180 ] bonsoirmon script se presente comme su dessous:on 1:FILERCVD:*.*:{  inc %i  /echo Recu $filename de $nick  /echo i+1 = %i  /msg $nick xdcc send %i}on probleme de phrase .txt [ par J4Gu4R ] voila G une pti problème :j'ai un dialog ou j'édit des phrases qui se mettent dans un .txtseulement le $nick ne ressors pas au moment de l'évenement.p probleme de ($nick unknown command [ par J4Gu4R ] voila dans ma remote un évenement de kickon *:KICK:*:{ if ($knick == $me) { echo -s je me fais kick } elseif ($nick == $me) { echo -s je ki On*TEXT [ par popelechat ] Bonsoir a tous et bonne année :o) Voila le probleme rencontré: Je souhaiterais que mes icones channels sur mon script clignote a chaque HL, le soucis pseudo du salon [ par Camanche ] Bonjour,Voilà mon problème:On *^:TEXT:*:#:{if ($nick isop $chan) { echo $chan $timestamp 12(4@ $+ $Nick $+ 12)  $1- | goto nnd }if ($nick ishelp decoration autour du pseudo [ par TooLoW ] Bonjour tout le monde,mon code est : on ^1:text:*:#:{ if ($nick isop $chan) { echo # $timestamp 12@ [ 15 $+ $nick $+ 12 ] $1- } elseif ($nick Anti flood join [ par nightmar ] Salut tous le monde esque quelqu'un pourait me dire se qui ne vas pas dans mon code ? svpOn 1:JOIN:#Aeons:{ if (% [ $+ [ join ] [ $+ [ $nick ] ] ] ) afffichage des @ + et % pour moi [ par doudou17091984 ] bon... sur un mirc vierge l'affichage des pseudo se fait entre et sans @ ni rien... j'ai donc modifier une remote pour obtenier l'affichage en couleu Problème avec le cline dans la remote JOIN [ par Squallou ] Bonjour tout le monde. Je m'attaque aux couleurs de ma nicklist et tout marche nickel. Tout sauf un truc. Je présente le pb :j'ai créé l'alias suivant pb on join => on part ... [ par R4zoX ] Bonjour j'ai ce petit script mais il ne fonctionne pas :s on *:join:#: {   /notice $nick 4,1::: 9,1#4,1Publicité   0,1Enfin un channel pour tes


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 4,446 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.