RCA ArKanis
Messages postés1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 février 2009
-
1 mai 2007 à 10:55
Nitrite59
Messages postés39Date d'inscriptionsamedi 2 septembre 2006StatutMembreDernière intervention16 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.
Nitrite59
Messages postés39Date d'inscriptionsamedi 2 septembre 2006StatutMembreDernière intervention16 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és149Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention25 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és39Date d'inscriptionsamedi 2 septembre 2006StatutMembreDernière intervention16 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és281Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention14 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és281Date d'inscriptionjeudi 21 juillet 2005StatutMembreDernière intervention14 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és1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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és2Date d'inscriptionmardi 27 septembre 2005StatutMembreDerniè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és2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 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és1287Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention21 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 ...
}
}
9 mai 2007 à 12:38
9 mai 2007 à 10:34
7 mai 2007 à 13:31
1 mai 2007 à 22:41
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 :(
1 mai 2007 à 21:45
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 ? ;(
1 mai 2007 à 20:53
1 mai 2007 à 18:41
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 :)
1 mai 2007 à 14:48
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 )
1 mai 2007 à 10:55
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 :)