Devoice un utilisateur voice au bout d'une heure d'inactivité

killerstar Messages postés 30 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 8 octobre 2006 - 16 avril 2005 à 01:24
killerstar Messages postés 30 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 8 octobre 2006 - 23 avril 2005 à 03:02
Bonjour à tous.


Je cherche un code qui permette de devoicer un utlisateur lorsque celui se fait voice est ne dit rien pendant 1h.


J'ai déjà un bout de code qui se base sur le texte écrit, en gros si l'utilisateur écrit qqch et qu'il est voice ça lance un timer qui se relance à chaque phrase. Mais par contre je cherche un code qui se base sur le voice un truc genre :
on *:voice:#:{
timerdevoice 1 60 /mode # -v $vnick
si le gars dit qqch ben ça relance le timerdevoice



Mon code actuel :


on *:text:*:#:{
if ($nick isop #) { halt }
if ($nick isvoice #) {
/timerdevoice $+ $nick 1 3600 /mode $chan -v $nick }
}
on *:action:#:{
if ($nick isop #) { halt }
if ($nick isvoice #) {
/timerdevoice $+ $nick 1 3600 /mode $chan -v $nick }
}



Ha oui pendant que j'y suis aussi, comment faire pour que le timerdevoice prenne en compte les changements de pseudo, par exemple le gars parle quand il est voice, il se met away et change de pseudo, ben mon code ne fonctionne plus pke le timer $+ $nick ne correspond plus à son pseudo.


Sur ce merci bien pour toutes aides à venir et bon scriptage.

6 réponses

COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
16 avril 2005 à 09:56
on @!*:voice:#: $+(.timer,$wildsite) 1 3600 mode # -v $ial($$address($vnick,2),1).nick
;là si la personne voice != $me, si tu es op sur #
;alors le code s'effectue

on *:nick:{
if (!$timer($wildsite)) { halt } var %com $timer($wildsite).com, %del $timer($wildsite).delay, %nbr = $timer($wildsite).reps
$+(.timer,$wildsite) %nbr %del %com
}

À tester...
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
16 avril 2005 à 09:57
on @!*:voice:#: $+(.timer,$$address($vnick,2)) 1 3600 mode # -v $ial($$address($vnick,2),1).nick[mailto:*!*@services.metropolis.info).reps ]
0
killerstar Messages postés 30 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 8 octobre 2006
16 avril 2005 à 13:05
Ok, merci, bien coolman, j'essaie de capter un peu le code.

Mais à premier vue, le code réagit sur un on *:voice:# jusque la pas de pb.

Le code lance le timer pour devoice lors d'un voice, mais je ne vois pas ou ça relance le timer s'il l'utilisateur parle.



Enfin une petite explication du code en fait =)
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
16 avril 2005 à 13:27
Bah c'est à toi de le faire lol...

J'ai utilisé $wildsite qui est égal à: $address($nick,2) pour le TIMER, comme ça mais lors d'un changement de nick plus besoin de reverifier le nick.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
killerstar Messages postés 30 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 8 octobre 2006
18 avril 2005 à 04:32
Ok ok, bon ben alors mon code maintenant il donne ça :



on *:text:*:#:{

if ($nick isvoice #) {

/timerdevoice $+ $nick 1 7200 /mode $chan -v $nick }

}

on *:action:#:{

if ($nick isvoice #) {

/timerdevoice $+ $nick 1 7200 /mode $chan -v $nick }

}

on @!*:voice:#: $+(.timer,$$address($vnick,2)) 1 3600 mode # -v $ial($$address($vnick,2),1).nick

}

on *:nick:{

if (!$timer($wildsite)) { halt }

var %com $timer($wildsite).com, %del $timer($wildsite).delay, %nbr = $timer($wildsite).reps

$+(.timer,$wildsite) %nbr %del %com

}



Mais bon je vois qu'il y'a un truc qui cloche, mais quoi je ne sais pas :p, suis pas un pro du scripting, mais je m'y attèle :)
0
killerstar Messages postés 30 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 8 octobre 2006
23 avril 2005 à 03:02
Bon après réflexion j'ai modifié comme suit :



on *:text:*:#:{

if ($nick isvoice #) {

.timerdevoice $+ $wildsite 1 3600 /mode $chan -v $ial($$address($nick,2),1).nick

}

}

on *:action:#:{

if ($nick isvoice #) {

.timerdevoice $+ $wildsite 1 3600 /mode $chan -v $ial($$address($nick,2),1).nick

}

}

on *:voice:#: {

if ($vnick isop #) { halt }

if ($vnick == $me) { halt }

else {

.timerdevoice $+ $wildsite 1 3600 mode # -v $ial($$address($vnick,2),1).nick }

}

Est ce que c'est correcte ou pas ?
0
Rejoignez-nous