RÉPONDEUR + ANTI PV

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 1 mai 2007 à 10:55
Nitrite59 Messages postés 39 Date d'inscription samedi 2 septembre 2006 Statut Membre Dernière intervention 16 octobre 2007 - 9 mai 2007 à 12:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42526-repondeur-anti-pv

Nitrite59 Messages postés 39 Date d'inscription samedi 2 septembre 2006 Statut Membre Dernière intervention 16 octobre 2007
9 mai 2007 à 12:38
Oui innove le genre quand on se met en absent, telle message apparaisse, ainsi que pour occupé, parti manger etc... j'espére être compris ^^ ca serait vraiment chouette d'avoi ces options là.
doob666 Messages postés 149 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 25 janvier 2011
9 mai 2007 à 10:34
question comme ça en passant. qu'as t'il de neuf ton code? améliore le, et repost le. trouve de l'innovation.
Nitrite59 Messages postés 39 Date d'inscription samedi 2 septembre 2006 Statut Membre Dernière intervention 16 octobre 2007
7 mai 2007 à 13:31
Ca à l'air de fonctionner même si les scripts plus ou moins récents comportent tous un anti-pv :) Bonne continuation.
Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008
1 mai 2007 à 22:41
Je viens de me rendre compte que c'que j't'ai donné n'as pas trop de sens :

if (%pvmessage) { did -e optionpv 4 | unset %pvmessage }
else { did -b optionpv 4 | set %pvmessage on }

devient :

if (%pvmessage) { did -b optionpv 4 | unset %pvmessage }
else { did -e optionpv 4 | set %pvmessage on }

en gros juste une erreur de b/e :(
Panthouffle Messages postés 281 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 14 avril 2008
1 mai 2007 à 21:45
Salut,

dans la première ligne, "alias Option PV dialog -m optionpv optionpv"

ton aliase a un truc de trop, colle "Option" avec "PV" ou vire le "PV" ou le "Option", parce qu'il y a un erreur.

pour les variables, quand tu veux les mettre à "OFF" tu peux les supprimer, ensuite tu n'as qu'à regarder si la variable existe pour savoir si elle est activée, ex :

if ($did(3).state == 1) { did -e optionpv 4 | set %pvmessage on }
if ($did(3).state == 0) { did -b optionpv 4 | set %pvmessage off }
if ($did(6).state == 1) { set %pvferme on }
if ($did(6).state == 0) { set %pvferme off }

devient :

if (%pvmessage) { did -e optionpv 4 | unset %pvmessage }
else { did -b optionpv 4 | set %pvmessage on }
if (%pvferme) unset %pvferme
else set %pvferme on

pour la vérification des variables dans les conditions j'suis pas certain qu'il n'y ait aucun risques : si tu double clic vite dans le check si les variables se changent bien...

ensuite tu peux adapter pour le "on join"
Le groupe quand est-ce que tu l'active ? ;(
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
1 mai 2007 à 20:53
sauf que tu n'as pas vu que j'avais modifié le ON OPEN en conséquence :x
cs_Showcase Messages postés 2 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 9 juillet 2007
1 mai 2007 à 18:41
if ($did(3).state == 1) { did -e optionpv 4 | set %pvmessage on }
if ($did(3).state == 0) { did -b optionpv 4 | set %pvmessage off }
if ($did(6).state == 1) { set %pvferme on }
if ($did(6).state == 0) { set %pvferme off }

devient

if ($did(3).state == 1) { did -e optionpv 4 | set %pvmessage on }
else { did -b optionpv 4 | set %pvmessage off }
if ($did(6).state == 1) { set %pvferme on }
else { set %pvferme off }

ça marche mieux comme ça :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
1 mai 2007 à 14:48
Du même avis que plus haut :

if (%pvmsg != $null) deviens if (!%pvmsg) si %pvmsg ne peux pas prendre la valeur 0 ou $false
if (%pvmsg != $null) { did -ra optionpv 4 %pvmsg }
Cette ligne ne sert en fait a rien, tu peux directement la mettre dans la table de ton dialog ( ce que tu as déja fais ! ) donc enleve cette ligne

Tu te permet de /halt sur un on *:open:*:?: c'est un peu dangereux, qa quoi sert-il ? utilise /return au pire

L'option du bouton ok "multi" c'étais parce que le bouton allé être jaloux de n'avoir qu'une option :( ? ( elle ne sert a rien )
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
1 mai 2007 à 10:55
C'est du Déjà Vu, et le code est assez moche (pas optimisé)
Rien qu'en dessous de ton code, dans la case "Sources qui peuvent êreen rapport avec celle-ci", tu n'as que des anti-pv, et y'en a beaucoup plus ...
Utilise else quand c'est possible et évite les variables globales. Prends des .ini, c'est largement mieux.


if ($did(3).state == 1) { did -e optionpv 4 | set %pvmessage on }
if ($did(3).state == 0) { did -b optionpv 4 | set %pvmessage off }
if ($did(6).state == 1) { set %pvferme on }
if ($did(6).state == 0) { set %pvferme off }

devient :
if ($did(3).state) { did -e opionpv4 | set %pvmessage 1 }
else { did -b optionpv 4 | set %pvmessage 0 }
if ($did(6).state) set %pvferme 1
else set %pvferme 0

Les 0 et 1 sont booléens, tu gagnes donc du temps (à l'écriture) si tu veux faire un if
Les { } ne sont pas nécessaires si tu n'as qu'une action, le tout en une ligne
Les / ne sont JAMAIS nécessaires

Ensuite,
if (%pvmessage == on) { /msg $nick %pvmsg }
if (%pvferme == on) { /notice $nick 14Je n'accèpte pas de PV désolé | close -m $nick }
devient :
if (%pvmessage) msg $nick %pvmsg
if (%pvferme) { notice $nick 14Je n'accèpte pas de PV désolé | close -m $nick }

Et enfin, regroupe tes ON DIALOG
on *:dialog:nom:*:*:{
if ($devent == init) {
...
}
elseif ($devent == sclick) {
if ($did == 1) ...
elseif ($did == 2) ...
etc ...
}
}

Corrige déjà tout ça :)
Rejoignez-nous