Aide antipv svp :)

cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005 - 5 sept. 2005 à 12:55
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005 - 9 oct. 2005 à 13:44
Bonjour tout le monde

Voila je vous expose mon probleme , j'ai un anti pv qui fonctionne tres bien , mais je souhaiterais lui affecter une fonction supplementaire
Ce que je voudrais c'est qu'il reconnaisse la personne qui a ouvert le pv , et qu'il l'empeche de recidiver.
(Ne me dites pas "met la personne en ignore" car ce n'est pas ce que je recherche)

ma fenetre de configuration de l'anti pv se presente ainsi :


et voici mon code:
------------------------------------------
alias Rep { /dialog -m Repondeur Repondeur }

dialog Repondeur {
option dbu
edit %repondeur, 1, 7 11 200 18, multi return autovs
box "Message du repondeur", 2, 3 1 207 62
button "OK", 9, 177 32 30 10, ok
button "Aide", 8, 177 45 30 8
check "Répondeur Activé", 3, 7 42 60 10
check "Anti-PV Activé", 4, 7 52 60 10
check "Afficher le texte du pv dans la fenetre active", 5, 7 32 121 10
}

ON ^*:open:?:{
set %msg.antimv $1-
if (%rep.active == 1) msg $nick %repondeur
if (%antipv.active == 1) /timer 1 1 close -m $nick
if (%rep.msg.in.active == 1) echo -a 4[ Privé ]4 $nick a dit :4 %msg.antimv
}
on 1:dialog:Repondeur:init:0: {
if (%rep.active == 1) did -c Repondeur 3
if (%antipv.active == 1) did -c Repondeur 4
if (%rep.msg.in.active == 1) did -c Repondeur 5
}

on 1:dialog:Repondeur:sclick:*: {
if ($did == 3) set %rep.active $did(Repondeur,3).state
elseif ($did == 4) set %antipv.active $did(Repondeur,4).state
elseif ($did == 5) set %rep.msg.in.active $did(Repondeur,5).state
elseif ($did == 7) /rep.aide
}

on 1:dialog:Repondeur:edit:1: set %repondeur $did(Repondeur,1).text

alias rep.aide /dialog -m rep.aide rep.aide
dialog rep.aide {
title "Repondeur - Aide"
size -1 -1 237 40
option dbu
button "Ok", 2, 92 28 37 10, ok
text "Lors de l'ouverture exterrieurs d'un Message Privé,", 3, 3 4 125 9
text "Si le répondeur est activé, votre correspondant verra s'afficher le message de votre repondeur, ", 1, 3 11 232 8
text "Si l'anti-PV est activé la fenetre de message privé se refermera automatiquement.", 4, 3 18 232 8
}
------------------------------------------

La fermeture automatique n'empeche pas la reouverture par la meme personne , et c'est ce que je voudrais qu'il fasse.

- garder mon anti pv tel quel (avec le repondeur)
- empecher la personne qui l'a ouvert de recommencer. (un bloquage sur un host ou une IP , quelque chose dans ce genre )
- et pas avoir a faire d'ignore.

Excusez moi si j'ai l'air compliquée , lol

quelqu'un pourrait m'aider svp?
Ce serait super sympa de votre part ^^
Je sais que le forum n'est pas là pour demander des codes , mais je demande juste de l'aide .....
J'ai chercher dans tout les codes sources et dans tout le forum mais je n'ai rien trouvé qui correspondait a ce que je recherche :(

Je vous remercie enormement pour votre aide :D
@++

14 réponses

fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
5 sept. 2005 à 13:15
a chaque event OPEN tu ajoute dans une hashtable (ou tu te sert de var
si tu ne maitrise pas trop les hash) le nom ou l'host du pseudo

apres, lors d'un open, tu verifie si le pseudo existe ou non, si il
existe c'est que la personne t'as deja ouvert un pv, et dans ce cas tu
choisis quoi faire (lui envoyer un message pour lui dire de ne pas
recidiver, ou l'ignorer, etc)

mais sache que tu ne peux pas empecherer quelqu'un d'ouvrir un pv avec
toi, et que le seul moyen de ne pas voir çe que te dis ce quelqu'un,
c'est de l'ignorer (meme si tu n'es pas pour cette methode)
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
5 sept. 2005 à 13:35
salut fjxokt ^^
je suis epatée par les reponses rapides sur ce site :)

Arf il n'y a donc aucun moyen de faire identifier un host par le repondeur?
je ne peux donc pas bloquer mon pv? :(
meme si je rajoute un 2nd message pour la 2eme tentative disant par exemple : "vas apprendre a lire" , et ce 2nd message bloquerait le pv, avec possibilité de le reactiver moi meme plus tard?

<< a chaque event OPEN tu ajoute dans une hashtable >> , arf effectivement je ne maitrise pas du tout.
donc là je suis perdue :-/

@++
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
5 sept. 2005 à 14:39
reeeeeee

n'y a t'il pas une commande du genre :

if ((%lastopen $nick) (%rep.active 1)) msg $nick %repondeur
if ((%lastopen $nick) (%antipv.active 1)) /timer 1 1 totalclose -m $nick

que je pourrais caser quelque part?
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
5 sept. 2005 à 17:45
Allo? :(
0

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

Posez votre question
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
5 sept. 2005 à 18:19
biensur que si il y a moyen de savoir si un nick a reouvert un pv alors qu'il a déja eu ton message d'anti-pv

seulement tu ne peux pas l'empecher de t'ecrire un message !

Le seul moyen pour faire "comme si" , c'est de l'ignorer



ON ^*:open:?:{

if (%rep. [ $+ [ $nick ] ] ) { msg $nick c'est la $v1 fois que tu m'ecris un pv }

inc %rep. [ $+ [ $nick ] ]

}



Cet exemple devrait t'aider a comprendre (biensur il faut pense a unset
la variable, mais là c'est a toi de decider quand le faire)
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
5 sept. 2005 à 21:55
Merci encore pour ton aide ^^
Mais je n'arrive a rien :( , j'abandonne :-/
@++
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
6 sept. 2005 à 00:37
reee

bon ben j'ai rien fait de bon , je me suis plus compliquée qu'autre chose mais ça fonctionne ^^

j'ai laissé mon anti pv tel qu'il est , j'ai rajouté dans remote :
-------------------------
#pv$$1 on
On 1:OPEN:?:{
/.timer1 1 8 /notice $chan $nick ~¤~ Ceci est un message Auto => 3 Tentatives de Privés = 1 kick , tu en es deja à 2 ~¤~ | closemsg
}
#pv$$1 end
-----------------------
dans popup salon:
-----------------------
pv
.activer: .enable #pv$$1
.desactiver: .disable #pv$$1
kick-pv $$1: /kick # $$1 Et de 3! Tu étais prevenu! | /.timer1 1 1 /me [? Kick N° %Kick2  depuis le  %counteyurdate ?]
-
-------------------------------
A la premiere tentative de PV j'active le #pv$$1
et ensuite pas besoin de selectionner le pseudo il s'affiche automatiquement en clic droit sur le salon par la reconnaissance des $$1

voila , c'est toujours ça meme si ce n'est pas ce que je recherchais ^^
smack tout le monde
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
6 sept. 2005 à 12:18
Comme stipulé avant, tu mets son host et/ou pseudo dans une hashtable
ou une variable ou un fichier,



On 1:OPEN:?:{

...

hadd pv $nick



ensuite si c est la meme personne , tu
fermes la fenetre de pv et tu lui envoie un joli message.



On 1:OPEN:?:{

....

if ( $hget(pv,$nick) {

msg $nick Tu m as deja envoyé un message !

}

else {

hadd pv $nick

}



tu ne peux
pas "physiquement" l empecher de t ecrire un message. Par contre ca
peut apparaitre de facon translucide sur ton mirc en fermant
automatiquement la fenetre des recidivistes.



On 1:OPEN:?:{


....


if ( $hget(pv,$nick) {


msg $nick Tu m as deja envoyé un message !

close -m $nick

}


else {


hadd pv $nick


}


Il te suffit donc de creer la table a l endroit du code ou tu actives ton repondeur.



on 1:dialog:Repondeur:sclick:*: {

if $did == 3 {

set %rep.active $did(Repondeur,3).state

if $hget(pv) { hfree pv }

hmake pv 100

}

...

elseif ($did == 7) /rep.aide

}
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
6 sept. 2005 à 14:13
Salut Huitre ^^
Je te remercie pour ta reponse , c'est sympa , mais finalement je crois que j'ai adopté ma methode ^^ , prevention du kick et kick si recidive , ça fonctionne tres bien ^^

par contre j'aurais une question ....

voici mon code legerement arrangé par rapport a hier :
___________________________________________
anti PV
.........
.......

ON ^*:open:?:{
set %msg.antimv $1-
if (%rep.active == 1) msg $nick %repondeur
if (%antipv.active == 1) /timer 1 1 close -m $nick
if (%rep.msg.in.active == 1) echo -a 4[ Privé ]4 $nick a dit :4 %msg.antimv
}
#pv on
On 1:open:?:{
/.timer1 1 8 /msg $nick $chan ~¤~ Ceci est un message Auto $nick => 3 Tentatives de Privés = 1 kick , tu en es deja à 2 ~¤~ | closemsg | /set %pseudokick $$1
}
kick-pv {
/kick $chan $$1 Et de 3! Tu étais prevenu! | /.timer1 1 1 /me [? Kick N° %Kick2  depuis le  %counteyurdate ?]
}
#pv end

.......
......
......

et dans popup :

pv
.activer: .enable #pv
.desactiver: .disable #pv
kick-pv:/kick $chan $$1 Et de 3! Tu étais prevenu! | /.timer1 1 1 /me [? Kick N° %Kick2  depuis le  %counteyurdate ?]
-
_______________________________

mon probleme se trouve ici =>

"" /.timer1 1 8 /msg $nick $chan ~¤~ Ceci est un message Auto $nick => 3 Tentatives de Privés = 1 kick , tu en es deja à 2 ~¤~ | closemsg | /set %pseudokick $$1 ""

ce message s'affiche automatiquement dans mon pv (que je mette /me(qui ne fonctionne pas d'ailleurs) , /describe , /msg , c'est pareil) , hors j'aimerais qu'elle s'affiche sur e general.
comment puis je faire svp?

merci de votre aide genereuse ^^
@++
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
6 sept. 2005 à 18:13
"/.timer1 1 8 /msg $nick $chan "



Si tu remarques bien , tu fais msg $nick puis ensuite $chan. Donc tu
envois forcement le message a celui qui te pv. Inverse donc l ordre ,
pour envoyer le message au channel ($chan) en stipulant le nick ($nick)
dans ton message.
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
6 sept. 2005 à 20:00
Merci Huitre ^^

c'etait tout bete , je ne m'en suis meme pas redu compte :D
smack
0
Constant1 Messages postés 4 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 9 octobre 2005
9 oct. 2005 à 06:19
tien mon Grand Voila une remote qui va te pérmaitre de blocker tes pv
et de laisser la porte ouvert a ce que tu veux maitre soit les voice de
x channel ou bien op de x channel ou et tu peux fair un list de psedo
seul eux qui peuve t'envoyer un msg !!





--------











;## QueryBlocker v1.0 by Bal3OuT ###



;-----Alias-----

alias queryblocker {

if ($1 == on) { set %acquery on | /echo -a *** QueryBlocker ON }

if ($1 == off) { set %acquery off | /echo -a *** QueryBlocker OFF }

}

alias qblock.info { /dialog -m queryinfo queryinfo }

alias scriptdirtest { //echo -a $scriptdirQueryBlocker.mrc }

;-----Menu-----

menu MenuBar {

-

QueryBlocker:/dialog -m queryopt queryopt

}

menu Nicklist {

-

QueryNicks

.exceptions

..add:if ($1 !isin %qblock.nicks) && ($1 !isin
%qblock.ignore) { set %qblock.nicks %qblock.nicks $1 | /echo -a *** $1
has been adden to the nick exceptions } | elseif ($1 isin
%qblock.nicks) { /echo -a *** $1 has already been adden to the nick
exceptions } | elseif ($1 isin %qblock.ignore) { /echo -a *** $1 is in
the ignore list, nobody can be coincidentally on both lists }

..remove:if ($1 isin %qblock.nicks) { set %qblock.nicks
$remtok(%qblock.nicks,$1,1,32) | /echo -a *** $1 has been removed from
the nick exceptions } | else { /echo -a *** $1 wasn't found in the
nick exceptions. }

.ignore

..add:if ($1 !isin %qblock.ignore) && ($1 !isin
%qblock.nicks) { set %qblock.ignore %qblock.ignore $1 | /echo -a ***
$1 has been adden to the ignore list } | elseif ($1 isin
%qblock.ignore) { /echo -a *** $1 has already been adden to the ignore
list } | elseif ($1 isin %qblock.nicks) { /echo -a *** $1 is in the
nick exceptions, nobody can be coincidentally on both lists }

..remove:if ($1 isin %qblock.ignore) { set %qblock.ignore
$remtok(%qblock.ignore,$1,1,32) | /echo -a *** $1 has been removed
from the ignore list } | else { /echo -a *** $1 wasn't found in the
ignore list }

}



;-----Load-----

on *:load: {

if (%qblockversion) { /dialog -m queryinstv queryinstv }

else {

if (!%acquery) { set %acquery on }

if (!%qblock.flood) { set %qblock.flood on }

if (!%qblock.atext) { set %qblock.atext Query accepted. }

if (!%qblock.btext) { set %qblock.btext Query blocked. }

if (!%qblock.abtext) { set %qblock.abtext Query automatically blocked, don't query me too fast. }

if (!%qblock.butext) { set %qblock.butext I'm too busy at the moment, please try again in a few minutes. }

if (!%qblock.otext) { set %qblock.otext QueryBlocker
v1.0 by digitalmy activated, please wait for query acceptance/refusal.
Get this QueryBlocker @ www.atum.de.ms }

if (!%qblock.itext) { set %qblock.itext The query
with you has been automatically ignored, don't query me again. }

set %qblockversion 1.0

/echo -a *** QueryBlocker v1.0 by digitalmy successfully loaded.

/echo -a *** To open the QueryBlocker Options goto
the MenuBar (File, Tools, DCC, >>MenuBar<<, Window, Help)
then click on QueryBlocker.

/dialog -m queryopt queryopt

}

}



;-----Events-----

on *:OPEN:?: {

if (%acquery == on) && ($nick !isin %qblock.nicks) && ($nick !isin %qblock.ignore) {

if (%qblock.andor == and) {

if (%qblock.opchan != $null) && ($nick !isop %qblock.opchan) { goto qblock }

elseif (%qblock.vchan != $null) && ($nick !isvoice %qblock.vchan) { goto qblock }

elseif (%qblock.rchan != $null) && ($nick !ison %qblock.rchan) { goto qblock }

elseif (%qblock.op2chan != $null) && ($nick !isop %qblock.op2chan) { goto qblock }

elseif (%qblock.v2chan != $null) && ($nick !isvoice %qblock.v2chan) { goto qblock }

elseif (%qblock.r2chan != $null) && ($nick !ison %qblock.r2chan) { goto qblock }

elseif (%qblock.opchan == $null)
&& (%qblock.vchan $null) && (%qblock.rchan $null)
&& (%qblock.op2chan $null) && (%qblock.v2chan
$null) && (%qblock.r2chan == $null) { goto qblock }

else { halt }

}

elseif (%qblock.andor == or) {

if ($nick !isop %qblock.opchan)
&& ($nick !isvoice %qblock.vchan) && ($nick !ison
%qblock.rchan) && ($nick !isop %qblock.op2chan) &&
($nick !isvoice %qblock.v2chan) && ($nick !ison %qblock.r2chan)
{ goto qblock }

elseif (%qblock.opchan == $null)
&& (%qblock.vchan $null) && (%qblock.rchan $null)
&& (%qblock.op2chan $null) && (%qblock.v2chan
$null) && (%qblock.r2chan == $null) { goto qblock }

else { halt }

}

:qblock

{

if (%qblock.flood == off) {

if (!%acqnick) && (!%nspqbl. [ $+ [ $nick ] ]) {

set %acqnick $nick

.msg $nick %qblock.otext

/dialog -m queryacc queryacc

}

elseif (%nspqbl. [ $+ [ $nick ] ]) { .closemsg $nick | .msg $nick %qblock.abtext }

elseif (%acqnick != $null) { .closemsg $nick | .msg $nick %qblock.butext }

}

else {

if (!%quspam. [ $+ [ $nick ] ]) {

if (!%acqnick) && (!%nspqbl. [ $+ [ $nick ] ]) {

set %acqnick $nick

.msg $nick %qblock.otext

/dialog -m queryacc queryacc

}

elseif (%nspqbl.
[ $+ [ $nick ] ]) { .closemsg $nick | .msg $nick %qblock.abtext }

elseif (%acqnick
!= $null) { .closemsg $nick | .msg $nick %qblock.butext }

elseif (%quspam. [ $+ [ $nick ] ]) { .closemsg $nick | halt }

set -u10 %quspam. [ $+ [ $nick ] ] nospam

}

elseif (%quspam. [ $+ [ $nick ] ]) { .closemsg $nick }

}

}

}

elseif ($nick isin %qblock.ignore) && (%qblock.flood ==
on) && (!%nspm.ig. [ $+ [ $nick ] ]) { .msg $nick %qblock.itext
| set -u10 %nspm.ig. [ $+ [ $nick ] ] nospam | .closemsg $nick | halt }

elseif ($nick isin %qblock.ignore) && (%qblock.flood ==
off) { .msg $nick %qblock.itext | .closemsg $nick | halt }

elseif (%nspm.ig. [ $+ [ $nick ] ]) { .closemsg $nick | halt }

else { halt }

}

on *:NICK: {

if ($nick isin %qblock.nicks) { set %qblock.nicks $replace(%qblock.nicks,$nick,$newnick) }

if ($nick isin %qblock.ignore) { set %qblock.ignore $replace(%qblock.ignore,$nick,$newnick) }

}



;-----DialogEvents-----

on 1:dialog:queryopt:init:0: {

if (%acquery == on) { /did -c queryopt 1 }

if (%qblock.andor != and) && (%qblock.andor != or) { set %qblock.andor and }

if (%qblock.flood == on) { /did -c queryopt 3 }

if (%qblock.andor == and) { /did -c queryopt 28 }

if (%qblock.andor == or) { /did -c queryopt 30 }

if (%qblock.atext != $null) { /did -a queryopt 6 %qblock.atext }

if (%qblock.btext != $null) { /did -a queryopt 7 %qblock.btext }

if (%qblock.abtext != $null) { /did -a queryopt 13 %qblock.abtext }

if (%qblock.butext != $null) { /did -a queryopt 14 %qblock.butext }

if (%qblock.otext != $null) { /did -a queryopt 9 %qblock.otext }

if (%qblock.itext != $null) { /did -a queryopt 33 %qblock.itext }

if (%qblock.nicks != $null) { /did -a queryopt 24 %qblock.nicks }

if (%qblock.ignore != $null) { /did -a queryopt 32 %qblock.ignore }

if (%qblock.opchan != $null) { /did -a queryopt 20 %qblock.opchan }

if (%qblock.vchan != $null) { /did -a queryopt 17 %qblock.vchan }

if (%qblock.rchan != $null) { /did -a queryopt 22 %qblock.rchan }

if (%qblock.op2chan != $null) { /did -a queryopt 26 %qblock.op2chan }

if (%qblock.v2chan != $null) { /did -a queryopt 25 %qblock.v2chan }

if (%qblock.r2chan != $null) { /did -a queryopt 27 %qblock.r2chan }

if (%acquery == off) {

/did -b queryopt 3

/did -b queryopt 6

/did -b queryopt 7

/did -b queryopt 13

/did -b queryopt 14

/did -b queryopt 9

/did -b queryopt 17

/did -b queryopt 20

/did -b queryopt 22

/did -b queryopt 24

/did -b queryopt 25

/did -b queryopt 26

/did -b queryopt 27

/did -b queryopt 28

/did -b queryopt 30

/did -b queryopt 32

/did -b queryopt 33

}

}

on 1:dialog:queryopt:sclick:1: {

if ($did(queryopt,1).state == 0) {

/did -b queryopt 3

/did -b queryopt 6

/did -b queryopt 7

/did -b queryopt 13

/did -b queryopt 14

/did -b queryopt 9

/did -b queryopt 17

/did -b queryopt 20

/did -b queryopt 22

/did -b queryopt 24

/did -b queryopt 25

/did -b queryopt 26

/did -b queryopt 27

/did -b queryopt 28

/did -b queryopt 30

/did -b queryopt 32

/did -b queryopt 33

}

if ($did(queryopt,1).state == 1) {

/did -e queryopt 3

/did -e queryopt 6

/did -e queryopt 7

/did -e queryopt 13

/did -e queryopt 14

/did -e queryopt 9

/did -e queryopt 17

/did -e queryopt 20

/did -e queryopt 22

/did -e queryopt 24

/did -e queryopt 25

/did -e queryopt 26

/did -e queryopt 27

/did -e queryopt 28

/did -e queryopt 30

/did -e queryopt 32

/did -e queryopt 33

}

}

on 1:dialog:queryopt:sclick:2: {

if ($did(queryopt,1).state == 1) { set %acquery on }

if ($did(queryopt,1).state == 0) { set %acquery off }

if ($did(queryopt,3).state == 0) { set %qblock.flood off }

if ($did(queryopt,3).state == 1) { set %qblock.flood on }

if ($did(queryopt,28).state == 1) { set %qblock.andor and }

if ($did(queryopt,30).state == 1) { set %qblock.andor or }

set %qblock.atext $did(queryopt,6).text

set %qblock.btext $did(queryopt,7).text

set %qblock.abtext $did(queryopt,13).text

set %qblock.butext $did(queryopt,14).text

set %qblock.otext $did(queryopt,9).text

set %qblock.itext $did(queryopt,33).text

set %qblock.nicks $did(queryopt,24).text

set %qblock.ignore $did(queryopt,32).text

set %qblock.opchan $did(queryopt,20).text

set %qblock.vchan $did(queryopt,17).text

set %qblock.rchan $did(queryopt,22).text

set %qblock.op2chan $did(queryopt,26).text

set %qblock.v2chan $did(queryopt,25).text

set %qblock.r2chan $did(queryopt,27).text

if (%qblock.opchan != $null) && ($me !ison %qblock.opchan) { /join %qblock.opchan }

if (%qblock.vchan != $null) && ($me !ison %qblock.vchan) { /join %qblock.vchan }

if (%qblock.rchan != $null) && ($me !ison %qblock.rchan) { /join %qblock.rchan }

if (%qblock.op2chan != $null) && ($me !ison %qblock.op2chan) { /join %qblock.op2chan }

if (%qblock.v2chan != $null) && ($me !ison %qblock.v2chan) { /join %qblock.v2chan }

if (%qblock.r2chan != $null) && ($me !ison %qblock.r2chan) { /join %qblock.r2chan }

}

on 1:dialog:queryopt:sclick:11: { /qblock.info }

on 1:dialog:queryacc:close:0: {

if ($did(queryacc,6).state == 1) { set %qblock.nicks %qblock.nicks %acqnick }

if ($did(queryacc,7).state == 1) { set %qblock.ignore %qblock.ignore %acqnick }

unset %acqnick

}

on 1:dialog:queryacc:sclick:6: { if ($did(queryacc,6).state == 1) { /did -u queryacc 7 } }

on 1:dialog:queryacc:sclick:7: { if ($did(queryacc,7).state == 1) { /did -u queryacc 6 } }

on 1:dialog:queryacc:sclick:4: {

.msg %acqnick %qblock.btext | set -u300 %nspqbl. [ $+ [ %acqnick ] ] nspm | .closemsg %acqnick

}

on 1:dialog:queryacc:sclick:2: {

/window -a %acqnick | .msg %acqnick %qblock.atext

}

on 1:dialog:queryacc:init:0: {

/did -ra queryacc 1 Accept query from %acqnick $+ ?

}

on 1:dialog:queryacc:sclick:5: {

/qblock.info

}

on 1:dialog:queryopt:sclick:29: {

/dialog -x queryopt queryopt | /dialog -m queryuninst queryuninst

}

on 1:dialog:queryinstv:sclick:2: {

/dialog -x queryinstv queryinstv

if (!%acquery) { set %acquery on }

if (!%qblock.flood) { set %qblock.flood on }

if (!%qblock.atext) { set %qblock.atext Query accepted. }

if (!%qblock.btext) { set %qblock.btext Query blocked. }

if (!%qblock.abtext) { set %qblock.abtext Query automatically blocked, don't query me too fast. }

if (!%qblock.butext) { set %qblock.butext I'm too busy at the moment, please try again in a few minutes. }

if (!%qblock.otext) { set %qblock.otext QueryBlocker v1.0 by
digitalmy activated, please wait for query acceptance/refusal. Get this
QueryBlocker @ www.atum.de.ms }

if (!%qblock.itext) { set %qblock.itext The query with you has been automatically ignored, don't query me again. }

set %qblockversion 1.0

/echo -a *** QueryBlocker v1.0 by digitalmy successfully loaded.

/echo -a *** To open the QueryBlocker Options goto the MenuBar
(File, Tools, DCC, >>MenuBar<<, Window, Help) then click on
QueryBlocker.

/echo -a *** There is an other QueryBlocker installed, please
uninstall it to make sure that there won't be any problems.

/dialog -m queryopt queryopt

}

on 1:dialog:queryinstv:sclick:3: {

/unload -rs $scriptdirQueryBlocker.mrc

}

on 1:dialog:queryuninst:sclick:2: {

unset %qblockversion

/dialog -x queryuninst queryuninst

/echo -a *** QueryBlocker successfully uninstalled. Settings kept.

/unload -rs $scriptdirQueryBlocker.mrc

}

on 1:dialog:queryuninst:sclick:3: {

unset %acquery

unset %qblock.flood

unset %qblock.atext

unset %qblock.btext

unset %qblock.abtext

unset %qblock.butext

unset %qblock.otext

unset %qblock.itext

unset %qblock.nicks

unset %qblock.opchan

unset %qblock.vchan

unset %qblock.rchan

unset %qblock.op2chan

unset %qblock.v2chan

unset %qblock.r2chan

unset %qblock.ignore

unset %qblockversion

/dialog -x queryuninst queryuninst

/echo -a *** QueryBlocker successfully uninstalled, included all settings.

/unload -rs $scriptdirQueryBlocker.mrc

}



;-----Dialogs-----

dialog queryacc {

title "Query acceptance"

size -1 -1 87 55

option dbu

text "Accept Query?", 1, 3 3 82 15

button "Yes", 2, 3 20 37 12, cancel

button "No", 4, 45 20 37 12, ok cancel

link "Infos", 5, 72 47 13 8

check "add nick to exceptions", 6, 2 37 67 10

check "add nick to irgnore list", 7, 2 45 65 10

}

dialog queryinfo {

title "Infos"

size -1 -1 120 38

option dbu

text "The QueryBlocker v1.0 was coded by digitalmy. For any
support join #aTum @ QuakeNet. Copyright © 2003 by digitalmy.", 1, 3 3
115 21

button "Return", 2, 3 24 37 12, ok cancel

}

dialog queryinstv {

title "QueryBlocker"

size -1 -1 121 41

option dbu

text "A QueryBlocker is already installed. If you will continue
installation, this may cause problems, do you want to continue
anyway?", 1, 2 2 113 21

button "Yes", 2, 1 28 30 12

button "No", 3, 32 28 30 12, cancel

}

dialog queryuninst {

title "uninstalling..."

size -1 -1 104 36

option dbu

text "Uninstalling QueryBlocker v1.0. Do you want to keep the settings?", 1, 2 2 84 15

button "Yes", 2, 1 23 30 12

button "No", 3, 32 23 30 12

button "Cancel", 4, 73 23 30 12, cancel

}

dialog queryopt {

title "QueryBlocker Options"

size -1 -1 185 184

option dbu

check "enable QueryBlocker", 1, 4 2 66 10

button "OK", 2, 2 170 37 12, ok cancel

check "enable AntiFlood", 3, 11 11 52 10

text "accept text", 4, 11 24 30 8

text "block text", 5, 11 34 30 8

edit "", 6, 52 23 130 10, multi autohs

edit "", 7, 52 33 130 10, multi autohs

text "query open text", 8, 11 64 42 8

edit "", 9, 52 63 130 10, multi autohs

button "Cancel", 10, 42 170 37 12, cancel

link "Infos", 11, 170 175 14 8

text "autoblock text", 12, 11 44 36 8

edit "", 13, 52 43 130 10, multi autohs

edit "", 14, 52 53 130 10, multi autohs

text "busy text", 15, 11 54 25 8

text "channel exceptions", 16, 11 89 51 8

edit "", 17, 81 95 50 10, multi autohs

text "voice", 18, 63 96 16 8

text "op", 19, 63 106 11 8

edit "", 20, 81 105 50 10, multi autohs

text "reg", 21, 63 116 13 8

edit "", 22, 81 115 50 10, multi autohs

text "nick exceptions", 23, 11 138 39 8

edit "", 24, 52 137 130 10, multi autohs

edit "", 25, 131 95 50 10, multi autohs

edit "", 26, 131 105 50 10, multi autohs

edit "", 27, 131 115 50 10, multi autohs

button "Uninstall", 29, 98 170 37 12

radio "and", 28, 20 111 22 10

radio "or", 30, 20 100 22 10

text "ignore list", 31, 11 149 27 8

edit "", 32, 52 148 130 10, multi autohs

edit "", 33, 52 73 130 10, multi autohs

text "ignore text", 34, 11 74 37 8

}
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
9 oct. 2005 à 10:48
euh tu va nous copier/coller ton code dans beaucoup de topics encore ?

si tu tiens tant que ça a ce qu'on le voye, poste le ici (mais je te
conseille de revoir integralement le code (parce que entre les if et
les did en pagaille, les /set a tout bout de champ, c'est vraiment
horriblement mal codé)

allez je t'aide (meme si tu devrais refaire le code sans toutes ces variables horribles)



if ($did(queryopt,1).state == 0) {

/did -b queryopt 3

/did -b queryopt 6

/did -b queryopt 7

/did -b queryopt 13

/did -b queryopt 14

/did -b queryopt 9

/did -b queryopt 17

/did -b queryopt 20

/did -b queryopt 22

/did -b queryopt 24

/did -b queryopt 25

/did -b queryopt 26

/did -b queryopt 27

/did -b queryopt 28

/did -b queryopt 30

/did -b queryopt 32

/did -b queryopt 33

}

if ($did(queryopt,1).state == 1) {

/did -e queryopt 3

/did -e queryopt 6

/did -e queryopt 7

/did -e queryopt 13

/did -e queryopt 14

/did -e queryopt 9

/did -e queryopt 17

/did -e queryopt 20

/did -e queryopt 22

/did -e queryopt 24

/did -e queryopt 25

/did -e queryopt 26

/did -e queryopt 27

/did -e queryopt 28

/did -e queryopt 30

/did -e queryopt 32

/did -e queryopt 33

}

....

devient



did $iif($did(queryopt,1).state,-e,-b) 3,6,7,13,14,9,17,20,22,24,25,26,27,28,29,30,32,33

(c'est plus court non ?)



unset %qblock.flood

unset %qblock.atext

unset %qblock.btext

unset %qblock.abtext

unset %qblock.butext

unset %qblock.otext

unset %qblock.itext

unset %qblock.nicks

unset %qblock.opchan

unset %qblock.vchan

unset %qblock.rchan

unset %qblock.op2chan

unset %qblock.v2chan

unset %qblock.r2chan

unset %qblock.ignore

unset %qblockversion

....

devient

unset %qblock*



if ($did(queryopt,1).state == 1) { set %acquery on }

if ($did(queryopt,1).state == 0) { set %acquery off }



devient

set %acquery $iif($did(queryopt,1).state,on,off)



les '/' devant tes commandes sont inutiles



Regroupe des events on *:dialog dans une seule commande



on *:dialog:queryacc:*:*: {

if ($devent == init) { }

elseif ($devent == click) {

if ($did == 1) { }

elseif ($did == 2) { }

}

elseif ($devent == close) { }

}



ETC...
0
cs_pipou30 Messages postés 31 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 9 octobre 2005
9 oct. 2005 à 13:44
salut



heu desolée mais je n'ai rien pigé a ce code lol

et (entre parentheses , evites "mon grand" essayes "Ma grande") MDR

@++
0
Rejoignez-nous