nicklist
#1
voila jaimerai apprendre un peu mieu a coder sur la nicklist des channe.dison que ce soit plu propre que de set tout un tas de variable tout as beau comme je fait sous mirc.quece sa par pas en flood sur 50 pseudo koi mais plutot en une ligne que ca tienne
Répondre Avertir
#2
sujet déplacé car ce n'est pas une F.A.Q.
Pourrais tu reposer ta question dans un français correct et en expliquant un peu mieux tes besoins s'il te plait?

De ce que j'en comprend, tu veux travailler avec chanlist? après, tu as toutes les fonctions de manipulation de listes à ta disposition
Répondre
#3
ce que je veux c'est pouvoir citer toute la nicklist quand jen ai besoin et si possible en ayant le mon de flood possible.donc en une phrase quoi.par exemple un mass +e de toute la nicklist qui afficherai une seule phrase
Répondre Avertir
#4
ça ne marchera pas car le serveur limite de toutes manières le nombre de modes pouvant être appliqués simultanément.
Mais tu peux essayer avec une petite boucle:
tcl
set maxmode 10
set curmode 0
set strmode "+"
set strnick ""
foreach victim [chanlist $chan] {
   incr curmode
   append strmode "e"
   append strnick " $victim"
   if {$curmode == $maxmode} {
      putserv "mode $chan $strmode$strnick"
      set curmode 0
      set strmode "+"
      set strnick ""
   }
}
if {$curmode>0} putserv "mode $chan $strmode$strnick"


Répondre
#5
hummmmmmmmmm interessant ca.merci pour ces conseils.enfin un endroit ou on apprend franchement bravo a vous pour ce forum
Répondre Avertir
#6
Merci :)
Ce petit script peut surement être amélioré en utilisant des listes et les fonctions associées, par exemple en faisant un foreach qui ressorte une liste de X nicks et qui fassent un lappend, mais j'ai préféré que ça reste bien compréhensible.
Répondre
#7
oui et c'est ca que j aime bien ici.on nous apprend.bon jai du mal a sortir du mirc scripting.le tcl me pssionne donc jessaye de convertir mes codes.c'est un travail qui sera long mais que jaime bien.donc voila un grand merci a vous tout simplement
Répondre Avertir
#8
et un exemple si n veu citer un pseudo au hasard present sur un salon.style une lotterie fun
Répondre Avertir
#9
Jette un oeil à la procédure random_victim sur http://www.eggdrop.fr/Jokes , elle fait ça (en tenant compte d'une liste d'utilisateurs exclus du choix).
Répondre
#10
jai fait ca mais c'est pas tres convancant
tcl
bind pub - !destin pub_destin
proc pub_destin { nick uhost handle channel arg } {
global destin1 destin2 destin
set destin1 [lindex $nick 0]
set destin2 [chanlist $chan]
if { $couple1 != "" } {
putserv "privmsg $channel :$destin1 tu est destiner a $destin2"
}
}


j ai pas du tout comrendre je crois
Répondre Avertir
#11
Oui, ça ne peut pas marcher pour plusieurs raisons:
  • Tout d'abord, ça ne sert à rien de passer tes variables en global (d'ailleurs c'est quoi la variabble $destin?)
  • tu met dans $destin1 le premier élément... d'une chaine. $nick n'est pas une liste
  • tu met dans $destin2 une liste
En suivant ce qui est dans le script que je t'avais donné en lien, tu aurais pu faire:
tcl
bind pub - !destin pub_destin
proc pub_destin { nick uhost handle channel arg } {
   # on met dans une liste tous les utilisateurs du canal
   set userlist [chanlist $channel]
   # on supprime l'utilisateur de la liste
   set userlist [lreplace $user_list [lsearch $nick $userlist] [lsearch $nick $userlist]]
   # on supprime l'eggdrop de la liste
   set userlist [lreplace $user_list [lsearch $::botnick $userlist] [lsearch $::botnick $userlist]]
   if {[llength $userlist]>0} {
      # s'il reste des utilisateurs "réels"
      putserv "PRIVMSG $channel :$nick, tu es destiné à [lindex $userlist [rand [llength $userlist]]]"
   } else  {
      # Sinon ...
      putserv "PRIVMSG $channel :$nick, tu joues tout seul!"
   }
   return 0
}


Répondre
#12
oui c'est sur mais je ne vois pas pourquoi ca ne marche pas encore lol
Répondre Avertir
#13
je n arrive pas a faire marcher ton code tcl crazycat.jai beau modifier et a chake fois je tape .destin jai rien qui se passe il enumere meme pas mon pseudo
Répondre Avertir
#14
Effectivement, il y avait une erreur que je viens de modifier: des fois j'utilisais user_list et des fois userlist.

Ensuite, la commande est !destin, pas .destin

Et une chose qu'elle est bonne pour le debug, c'est d'aller en PartyLine et de faire .console +d (debug) pour avoir des messages sur les erreurs.
Répondre
#15
oui excuse moi faute de frappe.mais le hi est que javai rectifier deja user_list mais ca ne fonctionne toujours pas.mais pire je ne vois pa d erreur.la c'est vraiment bizare
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté