Acquiro Systems, Inc. - Web Development & Graphic Design - Get a
free quote Interceptum - Create online surveys and intercepts.
Enregistrer | Pass?     
mIRC
ScriptsAddonsDLLsSnippetsTutorialsArticlesThemesMiscs
Aide FR
Interaction
Forums ScreenshotsFormulaireQueue ListTop D/L New  DéfisQuotesTipsTagX







Get Firefox!


Tips [67]
Utilisez le Formulaire de Tips pour nous envoyer un Tip (une astuce concernant mIRC, le scripting etc)

Trier parOptionAfficherPage 

 Tips 1-20 sur 67 | Page 1 sur 4Suivante » 

Posté par WorldDMT - 2 Août 2009, 12:01pm

Saviez-vous que :

$({,%x)
ou
$(},%x)


donne le même résultat que

$calc(%x - 1)

 
Posté par WorldDMT - 11 Juin 2009, 11:49am

L'identifieur $gettok, si le N est 0 ou n'importe quel caractère non numérique, retourne ne nombre de token.

$gettok(ceci est un test,0,32) est comme $numtok(ceci est un test,32)
 
Posté par Wims - 4 Mars 2008, 1:36am

Je ne sais pas si ça peut aider, mais saviez vous que $hget(table,1) retournait toujours le dernier item ajouté dans la table ?
 
Posté par Wims - 11 Décembre 2007, 7:47pm

mIRC, depuis toujours et par souci d'utilisation, préserves les espaces
Cela signifie que plusieurs espaces consécutifs sont considérés comme un seul et qu'un espace en début ou fin de chaine est supprimé. Par exemple :
//echo -a Ga $str($chr(32),2) Ga
Cependant, certaines commandes échappent à la règle, et il existe une commande cachée qui permet de faire des /return en préservant les espaces, /returnex ! :
alias ret $iif($1,returnex,return) Ga $str($chr(32),2) Ga
$ret retournera Ga Ga
$ret(cequevousvoulez) retournera Ga    Ga
(utiliser tabulation dans une editbox de mirc, sinon un //echo tokenizera les paramètres et les espaces sont perdu)

note : cette commande cachée n'existe que depuis la version 6.2 de mIRC
 
Posté par Wims - 21 Novembre 2007, 3:35am

Je suis sur que vous connaissez 2 façon de faire des commentaires, le fameux point virgule, très utilisés, ainsi que les /* */, plus chiant a mettre en place donc moins utilisés.
Mais saviez vous qu'il existe une command permettant de faire ceci ? Elle a exactement le même comportement que le point virgule :

if ($1 == Ga) {
if ($2- == is Ga) { }
rem ceci est un commentaire
;voici un autre commentaire
elseif ($2 == impossible) { }
}
if ($1 == Ga) { echo -a ok | rem echo -a commentaire | ;echo -a ceci est un autre commentaire | echo -a finish }

ici vous ne verrez en echo que "ok" et "finish", c'est très pratique lorsque qu'on a un gros code (avec des |) et que l'on ne veux pas commenter tout la ligne mais seulement une command.

Note : ceci est une command caché et ne peut être surpassé par un 'alias rem { }'
 
Posté par Wims - 13 Août 2007, 8:27am

Je suis sur que vous savez que dans une remote, /! permet d'apeller l'alias interne de mirc plutot que votre alias customisé portant le même nom.
Et bien il est possible de faire la même chose avec les identifieurs, vous pouvez utiliser $/ident (ou ident est le nom de l'alias..) pour apellé votre alias customisé.

Exemple :
mettez dans vos remotes : alias time return Ga!
et tapez ensuite //Echo -a $time - $/time

à noter que c'est une commande cachée de mirc :)

Edit : vous pouvez également utilisé $~ident qui appellera uniquement l'$ident que si il est intégré a mirc
 
Posté par Am0SnipeR - 4 Janvier 2006, 2:58pm

Connaissez-vous l'identifieur
$nickmode
?
Je l'ai découvert par hasard... Apparement il retourne quels "grades" peuvent avoir les users sur les salons d'un serveur (op,voice,...).
NB: Il se peut que je me trompe.

[dunkelzahn]
$nickmode retourne la valeur textuelle du paramètre PREFIX du raw 005. C'est un équivalent textuel de l'identifieur $prefix
exemple : PREFIX (ohv)@%+
$nickmode donne ohv
$prefix donne @%+
[/dunkelzahn]
 
Posté par elizio - 27 Septembre 2005, 11:43pm

Une petite astuce qui permet de mettre plusieurs commandes dans un $findfile/$finddir sans avoir recours à un alias.

//echo -a $findfile($mircdir,*.ini,0,echo -s $1- [ $(|,0) ] echo 4 -s $1-)
;Affichera de deux couleurs différentes dans le status les fichiers ini de votre $mircdir.
; [ $chr(124) ] fonctionne aussi =)

 
Posté par Kitai - 20 Septembre 2005, 11:24pm

On connaît l'utilisation de $$ pour effectuer une routine uniquement lorsque l'identifieur retourne bien une valeur differente de $null.
Pour faire de même avec une variable, on peut utiliser l'identifieur $() ($eval()) ainsi :
echo -a $$(%a)
Echo ne sera éxécutée que si %a retourne bien une valeur differente de $null.
 
Posté par Kitai - 20 Septembre 2005, 11:01pm

Un problème réccurrent : éxécuter une action toutes les heures rondes, c'est à dire à xx:00 (xx un naturel dans [0-23])
on *:connect: .timer 0 1 $!iif($right($time,5) == 00:00,alias_personnalisé [$!time])
Attention à bien respecter les $! pour le bon fonctionnement du timer.
 
Posté par Ag2X - 21 Mai 2005, 8:54pm

Pour ceux qui voudrais utiliser /scid ou /scon (le.nom.du.server) /commande ...
alias serv {
  if ($prop = con || $prop = cid) {
    var %a = $scon(0)
    while (%a) { if ($1 = $scon(%a).server) return $iif($prop = con,%a,$scon(%a).cid) | dec %a }
    return
  }
}
pour l'utiliser c'est simple
avec /scid :
/scid $serv(le.nom.du.serv).cid /commande....
avec /scon :
/scon $serv(le.nom.du.server).con /commande...
ou juste pour recuperé le nombre aussi...
var %truc = $serv(le.nom.du.serv).cid ou $serv(le.nom.du.serv).con
voili voilou...
 
Posté par Had`S - 15 Mars 2005, 10:27pm

Pour exécuter un alias sous la forme $alias en ignorant la valeur de retour de celui-ci, la meilleure solution consiste à utiliser la commande /echo, en effet, en mettant le paramètre -q et en préfixant la commande d'un point, le texte qui suivra la commande sera evalué sans être affichée à l'ecran:
.echo -q $regex(Un text,^.+\s(.+)$)
echo 3 -s Résultat: $regml(1)

Note : remplacé par /Noop depuis la version 6.17.
 
Posté par elizio - 1 Mars 2005, 9:22pm

Pour compléter l'astuce de Raynor du 03/11/04, voici comment éliminer la condition "if ($nick == $me) { }" dans vos évènements
;Ce code vous permet de saluer le chan dans lequel vous entrez
On me:*:JOIN:#:{ msg # Salut tout le monde, ceci est le 69éme tips ! }

;Une façon de stopper le text de mIRC par défaut
On me:^*:JOIN:#:{ echo -t # Vous entrez sur #sexe ! | haltdef }
Cette astuce fonctionne sur différents événements (je ne les ai pas tous testés!) JOIN, PART, NICK, TOPIC, BAN, OP, etc...
À noter que ceci est une commande cachée de mIRC
 
Posté par Raynor - 3 Novembre 2004, 12:43am

Dans la plupart des évènements, il y a possibilité d'optimiser le code en éliminant certaines conditions.
Entre autres, vérifier s'il ne s'agit pas de notre nick "if ($nick != $me)" ou encore si nous sommes opérateurs "if ($me isop $chan)". Voici un exemple relativement simple.

;Vérifie s'il s'agit d'un individu autre que nous-même
;qui joint un canal pour ensuite lui envoyer un notice comme quoi il est le bienvenue.
;Le préfixe "!" remplace la condition.
on !*:join:#:{
  .notice $nick Bienvenue sur $chan $nick !
}

;Vérifie si l'on est opérateur afin d'éviter des conflits avec le client.
;Le préfixe "@" remplace la condition.
on @*:join:#:{
  mode $chan +v $nick
}

 
Posté par Raynor - 1 Octobre 2004, 11:49pm

Si vous souhaitez exécuter des commandes plus rapidement, il existe un truc tout simple pour y arriver. Il s'agit de la commande /raw -q qui envoie les informations directement au client mIRC sans même les imprimer. Voici un exemple de code où cette astuce peut servir:
on @!*:rawmode:#:{
  if ($mode(0).deop >= 2) {
    raw -q mode # -o $opnick
  }
}
Vous l'avez deviné, ce code sert à contrer un déop massif en destituant le détenteur. C'est à mon avis la façon la plus rapide d'y arriver et qui requiert la commande raw -q !
 
Posté par Raynor - 1 Octobre 2004, 11:24pm

S'il y a un identifieur oublié dans mIRC, c'est bien $dde. Pourtant, il est très efficace et peut s'avérer utile dans certaines situations. Par exemple, si vous tentez de répertorier tous les canaux sur lesquels vous vous trouvez actuellement, il suffit de taper:
//echo -a Je suis présentement sur les canaux: $dde(mirc,channels)
De plus, il permet de connaître les utilisateurs qui se trouvent sur un canal bien précis. Veuillez noter que tous les statuts sont pris en compte. Ce code classera donc toutes les personnes se situant sur le canal de la fenêtre active.
//echo -a Les utilisateurs se situant sur le canal # sont: $dde(mirc,users,#)
Finalement, les possibilités d'utilisation avec cet identifieur sont vagues, consultez l'aide de mIRC pour de plus amples informations.
 
Posté par Am0SnipeR - 23 Août 2004, 7:22pm

Pour savoir ce que donne un identifieur sans passer via un //echo, il suffit d'écrire l'identifieur en question dans l'editbox de votre mIRC puis de taper sur la touche tabulation :)
Exemple : $ip + tab vous donneras votre IP.

Note : fonctionne egalement avec les %variable globale, ne marche pas si l'identifieur contient un espace, $gettok(Ga is Ga,1,32) +tab ne retourna pas Ga.
 
Posté par Attila - 5 Août 2004, 11:50am

Fatigué de devoir taper //echo -a ?
Voici un code qui permet de l'afficher rien qu'en tapant F2:
alias f2 /editbox //echo -a

 
Posté par Monark - 1 Août 2004, 1:16am

Dans l'ident $input, différents paramètres permettent d'afficher des petites icônes.
Les voici:
  • w pour l'icône attention
  • q pour l'icône aide
  • i pour l'icône information
  • h pour la croix
  • t pour l'icone étoile
  • c pour la corbeille
    Utilisation:
    $input(blah,[paramètre],bleh)

  •  
    Posté par Attila - 15 Juillet 2004, 3:50pm

    Vous vous êtes demandé plusieurs fois comment récuperer ce qu'il y a entre mot1 et mot2 dans une phrase ? Il y a deux méthodes :
    $gettok($gettok($replace(blabla mot1 prout mot2 blabla,mot1,$chr(1),mot2,$chr(2)),2-,1),1,2)
    Qui remplace les mots par deux caractères et ensuite faire 2 gettoks dessus
    ou sinon meilleure méthode :
    //var %p = la phrase mot1 ce que le script va retourner mot2
    echo -a $gettok(%p,$calc($findtok(%p,mot1,1,32) +1) $+ - $+ $calc($findtok(%p,mot2,1,32) -1),32)
    Qui va rechercher les mots et donner à partir du mot suivant mot1 et jusqu'a celui avant mot2.
     
      Suivante » 
     47 connectés (47 guests) v0.1.3 0.0571 sec | Disclaimer 
     5629156 visites (984 aujourd'hui) ScriptsDB.org © 2002-2006 ScriptsDB.org