Prévenir une fois sur 5 qu'on est away

Résolu
cs_Squallou Messages postés 249 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 15 juillet 2006 - 12 févr. 2005 à 18:25
 Utilisateur anonyme - 13 févr. 2005 à 23:01
Hello tout le monde !
voici mon code :

on *:text:*:?: {
if (($away == $true) && ($nick != $me)) { msg $nick Désolé mais je suis away depuis $duration($awaytime) pour la raison suivante : $awaymsg }
}

il sert à afficher la raison de mon away à chaque phrase dite par qqun en pv.
Mais on m'a informer qu'on pouvait se faire kill sur certains serveurs si on "flood" avec ce genre de phrase. Je cherche donc un moyen à ce que cette phrase se déclenche moins souvent. Du genre 1 fois toutes les 5 phrases que l'autre aura écrit. Je sais faire ça facilement avec une variable mais je me refuse d'utiliser les variables (principe). Qqun voit til comment faire svp ? merci
A voir également:

17 réponses

Utilisateur anonyme
12 févr. 2005 à 19:12
Je vois pas pk ça ne marchera pas $away O_o





Sinon perso j'aurai fait ( sans remettre en cause ce qu'a dit KiNdErMaXi ) :


Pourquoi tu n'aimes pas les variables ?




on *:text:*:?: {
if ($away) {

inc %nmbremsg

if (
%nmbremsg = 5) {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg | unset
%nmbremsg
}
}

}



Sinon sans var (hashtable) je pense que c'est la façon la ( deuxième ) plus simple :/





on *:text:*:?: {
if ($away) {

if (!$hget(away)) hmake away 100
hadd away
nmbre $calc($hget(away,nmbre) +1)




if (
$hget(away,nmbre)
= 5) {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg
}
}

}





Je pense que ça marche mais bon :)
3
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
12 févr. 2005 à 18:52
if (($away == $true) marchera pas

il faut faire :
var %a $away
if %a == $true && $nick != $me { bla bla }
0
cs_Squallou Messages postés 249 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 15 juillet 2006
12 févr. 2005 à 19:04
heu dsl mais ça marche parfaitement lol
tout monde code marche ya aucun pb.
le pb c juste que mon msg s'effectue à chaque message reçu par le nick
et je voudrais qu'il s'exécute tous les 5 msg
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
12 févr. 2005 à 19:08
ah pardon :x
utilise une variable que tu incrémente a chaque hl.
je sais que tu ne veux pas de variable mais sans ca va etre dur
peut etre avec les htables je sais pas du tout
0

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

Posez votre question
cs_Squallou Messages postés 249 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 15 juillet 2006
12 févr. 2005 à 19:10
ok merci quand même =)
avis à ceux qui ont tout de même une solution
ne serait-ce que pour savoir par simple curiosité ;)
0
Utilisateur anonyme
12 févr. 2005 à 19:14
J'ai oublié un truc :




on *:text:*:?: {
if ($away) {

if (!$hget(away)) hmake away 100
hadd away
nmbre $calc($hget(away,nmbre) +1)




if (
$hget(away,nmbre)
= 5) {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg | hdel away nombre
}
}

}




Je cherche un autre moyen :)
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
12 févr. 2005 à 19:15
fyltum, sachant qu'il veut tout les 5 fois, il vaut mieux mettreif (%nbremsg 5) || (%nbremsg 10) || (%nbremsg == 15) { bla bla }
:)
0
Utilisateur anonyme
12 févr. 2005 à 19:18
Bah nan héhé banane ton truc est ripoux, j'ai mis unset %nmbremsg

:D
0
cs_KiNdErMaXi Messages postés 1052 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 30 novembre 2009 2
12 févr. 2005 à 19:20
encore une boulette de la part de kinder maxi (pour changer)
autant pour moi :p
0
cs_Squallou Messages postés 249 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 15 juillet 2006
12 févr. 2005 à 19:27
merci bien =)
je crois que je vais utiliser les hashtables ^^
j'aime pas les variables c par principe... ça m'a déjà causé qq pbs avec d'autres scripts etc... donc je préfère m'en passer et utiliser des écritures INI ou autres. Je connaissais pas encore les hast tables (enfin je savais que ça existait et à quoi ça servait mais je savais pas m'en servir) donc ça va aussi me permettre d'apprendre ^^
encore merci à vous 2
0
Utilisateur anonyme
12 févr. 2005 à 19:32
Utilise bien mon deuxième post soit :




on *:text:*:?: {
if ($away) {

if (!$hget(away)) hmake away 100
hadd away
nmbre $calc($hget(away,nmbre) +1)




if (
$hget(away,nmbre)
= 5) {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg | hdel away nombre
}
}

}



Autremment np bonne chance :)
0
BSmax Messages postés 50 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 mars 2009
13 févr. 2005 à 11:10
Hum si c'est pour répondre une fois toutes les 5 phrases essaye




on *:text:*:?: {
if $away {
if !$hget(away) { hmake away 100 }
hadd away nmbre
$calc($hget(away,nmbre) +1)



if
$hget(away,nmbre)
= 1 ||
$right($hget(away,nmbre)
,1) isin 05 {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg }


}

}



Et si t'as un alias de retour d'away mets dedans "
hfree away"




J'ai pas testé mais ça devait marcher :)



(Pour ceux qui veulent des explications, a chaque phrase en pv ça
incrémente la HT et si le nombre est 1 (1ère phrase) ou que le nombre
fini par un 5 ou un 0, ça envoie la phrase.)
0
BSmax Messages postés 50 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 mars 2009
13 févr. 2005 à 11:13
Aussi au lieu de



hadd away nmbre
$calc($hget(away,nmbre) +1)



Je crois qu'on peux mettre




hinc away nmbre
0
Utilisateur anonyme
13 févr. 2005 à 16:57
Ton truc il vaut le mien mais il vaut mieux l'inc et la supprimer c'est plus simple, et tu as raison pour hinc Donc :




on *:text:*:?: {
if ($away) {

if (!$hget(away)) hmake away 100
hinc away
nmbre




if (
$hget(away,nmbre)
= 5) {
msg $nick Désolé mais je suis away
depuis $duration($awaytime) pour la raison suivante : $awaymsg | hdel away nombre
}
}

}
0
BSmax Messages postés 50 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 mars 2009
13 févr. 2005 à 18:24
Oué t'as pas tord ;)



Juste un truc t'as collé {msg dans ton code, à décoller pour Squallou en { msg
0
cs_Squallou Messages postés 249 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 15 juillet 2006
13 févr. 2005 à 18:32
oui merci =)
jpense que je l'aurais remarqué mais bon ça m'évite de m'en rendre compte lol
encore merci ^^
0
Utilisateur anonyme
13 févr. 2005 à 23:01
Ah ouais dsl :)
0
Rejoignez-nous