COMMANDES FANTAISIES ( OP DEOP , VOICE DEVOICE ) ORIGINALES

dj328i Messages postés 312 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 14 mars 2022 - 21 août 2009 à 23:02
 moi - 11 juin 2017 à 04:40
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/50466-commandes-fantaisies-op-deop-voice-devoice-originales

il va super bien, je l'ai modif à ma sauce avec des plus mais c'est nickel .. je conseilles toutefois de le mettre sur une machine à part
LeGnoMe666 Messages postés 43 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 24 août 2009
24 août 2009 à 12:55
Bonjour uaip,

Merci pour ces précisions.
Objectif atteind : Je m'endormirais moins "con" ce soir.

Bonne journée.
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
24 août 2009 à 10:52
Le coté "affreux", c'était simplement de faire tenir le code sur une ligne. Après pour les $regml() et $mid(), question de simplicité. $regml() est un identifieur qui retourne une valeur directe, tandis que $mid() va appeler d'autres commandes (internes) pour récupérer ce que tu veux (ici le 2ème char).
Pour les variables... certes comme tu le présentes, ça serait inutile, mais j'engloberais tout dans uns if plus général, parce-que if ($istok(-;+,$left($$1,1),59) && $istok(q;a;o;h;v,$mid($$1,2,1),59)) aussi est lourd comme condition, dans un input.

Et pour le gain de temps, euh... "quelques millièmes de secondes au mieux", ça se joue plutôt sur des centièmes voire des dixièmes de seconde, et en programmation, c'est énorme. N'oublie pas que le mIRC est interprété. L'interprétation d'une "%var" va se traduire par la correspondance mot-clé / valeur. En gros, l'interpréteur remplace "%var" par sa valeur (attention, var locale uniquement). Tandis que les identifieurs comme $mid() demandent d'autres calculs derrière. Et ne crois pas qu'aucune variable ne va être allouée pour ces calculs.
Bon, oui, là je rentre dans les détails, ce qui peut sembler ridicule pour un code aussi petit. Mais selon ce que tu entendais par "optimisation" dans ton post, une $regex() est certes beaucoup plus efficace que le code d'Orona, mais aussi beaucoup plus gourmande en ressources qu'une simple série de if/elseif.
LeGnoMe666 Messages postés 43 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 24 août 2009
24 août 2009 à 09:55
bonjour uaip,


En effet, dans l'absolu, je te rejoins concernant l'utilisation des variables, sauf que, dans ce cas précis, je ne suis pas convaincu qu'elles soient (pour celles évoquées) d'une grande nécéssité, ni même judicieuses (peut être me trompes je) et ce, pour les raisons suivantes:
- Sur une telle commande, cela revient à allouer deux variables à chaque input pour qu'elles ne servent qu'une fois sur 10 000 (si tout va bien, on ne voice pas, ni manipule les levels toutes les 5 minutes en général).
- Ce n'ai pas un probleme en soit certes les variables allouées. Si je fais 100 commandes dans le même principe, nous arrivons à 200 variables allouées systématiquement a chaque input. Or, ces variables servent ici a quoi? Un gain de temps? (encore faut il parler du gain de temps... quelques millièmes de secondes au mieu) dans l'execution eventuelle (ici, une fois toutes les 5 heures au mieux) du code à suivre.
- Ajouter au fait, que le code executé, est relativement basique et court dans son temps d'execution, il s'agit ici d'une commande "+o" renvoit "mode #salon +o machin",.

Tout ceci fait que, je n'ai pas senti vraiment plus judiscieux l'utilisation que tu prescris. Peut etre je fais erreur et auras tu des infos à m'apporter à ce sujet.

Sinon, concernant le $regml, en effet, je n'utilises peut etre pas assez souvent et cela rejoint l'idée dans mon précedent post, où je sous-entendais qu'il n'existait pas "la" solution, mais bien plusieurs. Ici dans ce cas, je pense qu'il ne s'agit purement que de question de gout ; Mais dans tous les cas, je ne vois pas en quoi, cela rend t'il "affreux" un code pour autant?

Bonne journée.
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
23 août 2009 à 22:45
Je commencerai par dire que le mIRC, j'en fais plus (ça sera mon excuse pour les boulettes que je vais dire).

je parlais de répétition, parce-que par exemple dans ce code :
if ($istok(-;+,$left($$1,1),59) && $istok(q;a;o;h;v,$mid($$1,2,1),59)) { var %mode = $+($left($$1,1),$str($mid($$1,2,1),$iif(!$2,1,$numtok($2-,32)))) | mode $chan %mode $iif(!$2, $me, $2-) | halt }

Tu utilises 2 fois $left($$1,1) et 2 fois $mid($$1,2,1). Et tu ne me contrediras pas si je dis que :
var %a = 0 | while (%a < $calc(45*5/(7*3+2)+4/8+ $sqrt(4*3/8))) { echo -a $calc(45*5/(7*3+2)+4/8+ $sqrt(4*3/8)) | inc %a }
est beaucoup plus lent que :var %a 0, %b $calc(45*5/(7*3+2)+4/8+ $sqrt(4*3/8)) | while (%a < %b) { echo -a %b | inc %a }
d'ou l'intérêt de mettre en variable les résultats des fonctions appelées plusieurs fois

Aprs, pour les regex, je disais simplement que tu testes /^[+-][qaohv]$/ dans $1. Alors pourquoi redécortiquer encore ce $1 avec $left($1,1) et $mid($1,2,1) ? $regml() est là pour ça, en mettant les tokens à récupérer entre parenthèses :
//var %a = $regex($$1,/^([+-])([qaohv])$/) | echo -a $regml(1) $regml(2)
LeGnoMe666 Messages postés 43 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 24 août 2009
23 août 2009 à 22:26
bonjour uaip,
En effet, ce n'est pas parce que c'est plus court que c'est mieux d'une manière générale. Il ne semble pas non plus l'avoir dit ici ; mais si jamais tu me posais la question, en l'occurence et dans ce cas précis, je serais tenté de te répondre que oui!
Je n'ai jamais eu la prétention, ni en aucun cas exprimé non plus, qu'il s'agissait de "la" solution. D'ailleurs, n'y a t'il qu'une seule solution?
Autrement, plusieurs fois des instructions seraient effectuées et nécessiteraient une variable?? Quelles instructions?
De même, si tu as 2 minutes, je serais fortement interressé de comprendre l'utilisation et la necessité d'utiliser une "$regex" en remplacement d'un "$mid" ; j'avoues que je ne vois pas vraiment ce à quoi tu fais allusion, et, je suis comme beaucoup d'autres ici pour essayer de m'endormir moi "con" chaques jours... Enfin, je tâche !

Bonne journée.
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
23 août 2009 à 20:01
Salut,
"- Commandes originales ( +o -o , +h -h , +v -v , +q -q , +a -a )."
Ouai... vachement original :o)

LeGnoMe666, tes codes sont affreux (avis perso). C'est pas parce-que c'est plus court que c'est mieux.
Tu effectues plusieurs fois les mêmes "instructions" (et les var alors, ça sert à quoi ?) et si tu utilises une regex, utilise la jusqu'au bout, pour éviter de rajouter des $mid() inutiles (toujours avis perso).
LeGnoMe666 Messages postés 43 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 24 août 2009
22 août 2009 à 14:54
une variante sinon :

if $regex($$1,^[+-][qaohv]$) { var %mode = $+($left($1,1),$str($mid($1,2,1),$iif(!$2,1,$numtok($2-,32)))) | mode $chan %mode $iif(!$2, $me, $2-) | halt }

dans tous les cas ce code est largement optimisable...

;)
Bonne journée
LeGnoMe666 Messages postés 43 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 24 août 2009
22 août 2009 à 13:22
bonjour,
Je ne m'étendrais pas ici sur l'interet de cette source...
Concernant le code par lui meme, il me semble qu'un simple :

if ($istok(-;+,$left($$1,1),59) && $istok(q;a;o;h;v,$mid($$1,2,1),59)) { var %mode = $+($left($$1,1),$str($mid($$1,2,1),$iif(!$2,1,$numtok($2-,32)))) | mode $chan %mode $iif(!$2, $me, $2-) | halt }

devrait tout bonnement atteindre les memes objectifs
dj328i Messages postés 312 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 14 mars 2022
21 août 2009 à 23:09
Un utilitaire windows , un jeux de table ou de carte en draw ou nimporte quoi , mais laché les raccourcies commandes je vous en pris.

Un jeux de pazaak en draw , ca serait un beau projet non ? Lance toi t'es capable

http://fr.wikipedia.org/wiki/Star_Wars:_Knights_of_the_Old_Republic_II:_The_Sith_Lords ( Section règle )
dj328i Messages postés 312 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 14 mars 2022
21 août 2009 à 23:02
Vue Vue Vue Vue Vue et revue.

Toujours les mêmes idées simplistes depuis 12 ans. Innovez les jeunes , Mirc c'est pas que cela vous savez.