Pop-up style msn messenger

Contenu du snippet

Je me suis inspiré de la petite fenetre de pop-up de MSN Messenger. En effet, lorsque quelqu'un engage une conversation avec vous, une petite fenetre de Pop-up s'ouvre en bas a droite de l'écran pendant 10 sec puis se ferme automatiquement.
Ici, ce sera (tout du moins j'aurai essayé) de calquer ce principe, lorsque quelqu'un tape notre pseudo, mais aussi lorsqu'il nous parle en privé.
De plus, si mIRC est en fenêtre active sur le channel proprement dit, le pop-up ne sera pas lancé.

C'est certainement bourrin, mais tanpis :°)

Source / Exemple :


; Fonction Pop Up
; par Teck
;
; teck33@free.fr
; 20/12/03

;Resolution : [x,y]
;1024x768 :  826 622
;1280x1024 : 1082 878
;1600x1200 : 1402 1054

alias popup {
  /window -RhSbdk0ozu +l @Teck-Script 1402 1054 181 116 Lucida Console 11
  /echo @Teck-Script $$1-
  ;  /aline @Teck-Script $$1-
  /.timer 1 10 /window -c @Teck-Script
}

on *:TEXT:*:*:{ 
  if ( $me isin $1- ) {
    if ( $appactive == $false ) { goto lbl }
    if ( $chan == $active ) { /halt }
    else { 
      :lbl
      /var %popup.len $len($1-)
      if (%popup.len <= 95) {
        /var %popup.msg $1- $+ $str( ,$calc(95-(%popup.len)))
      }
      else {
        /var %popup.msg $left($1-,91) ...
      }
      /popup 11Canal:8 $chan
      /popup 11Nick:8 $nick 
      /popup 11Message: %popup.msg
      /echo @Highlight $timestamp $nick a prononcé ton nom sur $chan : "11 $1- "  
    }
  }
  elseif ( $me isin $1- ) {
    if ( $appactive == $false ) { goto lbl }
    if ( $chan == $active ) { /halt }
    else { 
      :lbl
      /var %popup.len $len($1-)
      if (%popup.len <= 95) {
        /var %popup.msg $1- $+ $str( ,$calc(95-(%popup.len)))
      }
      else {
        /var %popup.msg $left($1-,91) ...
      }
      /popup 11Canal:8 $chan
      /popup 11Nick:8 $nick 
      /popup 11Message: %popup.msg
      /echo @Highlight $timestamp $nick a prononcé ton nom sur $chan : "11 $1- "  
    }
  }
}

on *:ACTION:*:*:{ 
  if ( $me isin $1- ) { 
    if (%teckscript_contreaction == $true) {
      .timer 1 3 describe $chan $replace($1-,$me,$nick)
    }
    if ( $chan == $active ) { /halt }
    else { 
      ;/echo -a $timestamp 11 $nick a prononcé ton nom sur $chan : "9 $1- 11" 
      /var %popup.len $len($1-)
      if (%popup.len <= 95) {
        /var %popup.msg $1- $+ $str( ,$calc(95-(%popup.len)))
      }
      else {
        /var %popup.msg $left($1-,91) ...
      }
      /popup 11Canal:8 $chan
      /popup 11Nick:8 $nick 
      /popup 11Message: %popup.msg
      /echo @Highlight $timestamp $nick a prononcé ton nom sur $chan : "11 $1- "  
    }
  }
  if ( $me isin $1- ) { 
    if (%teckscript_contreaction == $true) {
      .timer 1 3 describe $chan $replace($1-,$me,$nick)
    }
    if ( $chan == $active ) { /halt }
    else { 
      ;/echo -a $timestamp 11 $nick a prononcé ton nom sur $chan : "9 $1- 11" 
      /var %popup.len $len($1-)
      if (%popup.len <= 95) {
        /var %popup.msg $1- $+ $str( ,$calc(95-(%popup.len)))
      }
      else {
        /var %popup.msg $left($1-,91) ...
      }
      /popup 11Canal:8 $chan
      /popup 11Nick:8 $nick 
      /popup 11Message: %popup.msg
      /echo @Highlight $timestamp $nick a prononcé ton nom sur $chan : "11 $1- "  
    }
  }

}

on *:OPEN:?:*:{ 
  var %popup.len $len($1-)
  if (%popup.len <= 116) {
    var %popup.msg $1- $+ $str( ,$calc(116-(%popup.len)))
  }
  else {
    var %popup.msg $left($1-,112) ...
  }
  popup 11Nick:8 $nick 
  popup 11Message: %popup.msg
}

on *:START:{
  /window -ak0 @Highlight 75 100 400 200
  /echo @Highlight 7Teck-Script : Highlight Log
}

menu @Teck-Script {
  sclick:/j $chan
  dclick:/j $chan
}

Conclusion :


Je voulais savoir si un identifieur existe pour la résolution de l'écran car j'ai un probleme pour scaler la petite fenetre en bas a droite en fonction de la résolution de l'utilisateur :/
Il faut donc adapter la résolution manuellement en modifiant 2 champs (x et y)
Les résolutions correspondantes sont les suivantes :
;1024x768 : 826 622
;1280x1024 : 1082 878
;1600x1200 : 1402 1054

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.