Script simple mais qui ne marche pas :(

Tamahome Messages postés 7 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 mars 2003 - 18 mars 2003 à 16:05
Tamahome Messages postés 7 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 mars 2003 - 19 mars 2003 à 22:45
Bonjour,

voila j'ai fait un petit script qui permet de lancer un programme sur un timer (tous les soirs a 00h00, chaque 1er jour du mois, et chaque dimanche a 00h00).

-------------------DEBUT DU SCRIPT---------------


;Ce script est éxécuté toutes les 1500 secondes grace a un timer

; ********************
; Reset les variables
; ********************
on *:START: {
  unset %mircstat.*
  set %mircstat.doneJour $false
  set %mircstat.doneSemaine $false
  set %mircstat.jour "00"
  set %mircstat.semaine "SUNDAY"
  set %mircstat.mois "01"
  set %mircstat.execJour "c:\mirc\stat19jour.bat"
  set %mircstat.execMois "c:\mirc\stat19mois.bat"
  set %mircstat.execSemaine "c:\mirc\stat19semaine.bat"
  /timermc 0 1500 ms_auto
  echo -s 4,1mIRC Stats 1.19 - Auto Update - Chargé !
  echo -s 9,1Par Tamahome - 03/2003
}

alias ms_auto {
  	; ********************
  	; Update du mois
  	; ********************
  	if ($mid($date, 4, 2) == %mircstat.mois)
  	{
  		if (%mircstat.doneSemaine == $false)
  		{
  			mstatm
  			set %mircstat.doneSemaine $true
  		}
  	}
  	else
  	{
  		set %mircstat.doneSemaine $false
  	}
  
  	; ********************
  	; Update de la semaine
  	; ********************
  	if ($left($day, $len(%mircstat.semaine)) == %mircstat.semaine)
  	{
  		if (%mircstat.doneSemaine == $false)
  		{
  			mstats
  			set %mircstat.doneSemaine $true
  		}
  	}
  	else
  	{
  		set %mircstat.doneSemaine $false
  	}
  
  	; ********************
  	; Update de la journée
  	; ********************
  	if ($left($time, $len(%mircstat.jour)) == %mircstat.jour)
  	{
  		if (%mircstat.doneJour == $false)
  		{
  			mstatj
  			set %mircstat.doneJour $true
  		}
  	}
  	else
  	{
  		set %mircstat.doneJour $false
  	}
}

; ********************
; Définition des Alias
; ********************
alias mstatj
{
  	run %mircstat.execJour
}

alias mstats
{
  	run %mircstat.execSemaine
}

alias mstatm
{
  	run %mircstat.execMois
}


-----------------FIN DU SCRIPT --------------

Le chargement du script se passe bien (ca m'affiche les 2 lignes de l'echo -s), mais lors de l'appel de l'alias ms_auto j'obtiens un truc du style :

; Unknown command
-
; Unknown command
-
; Unknown command
-
IF Unknown command
-
{ Unknown command
-
IF Unknown command
-
{ Unknown command
-
MSTATM Unknown command
-
SET Unknown command


etc...

je comprends pas la :dissapprove)

2 réponses

Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 mars 2005
19 mars 2003 à 20:17

;********************
;Reset les variables
;********************
on *:START: {
  unset %mircstat.*
  set %mircstat.doneJour $false
  set %mircstat.doneSemaine $false
  set %mircstat.jour "00"
  set %mircstat.semaine "SUNDAY"
  set %mircstat.mois "01"
  set %mircstat.execJour "c:\mirc\stat19jour.bat"
  set %mircstat.execMois "c:\mirc\stat19mois.bat"
  set %mircstat.execSemaine "c:\mirc\stat19semaine.bat"
  /timermc 0 1500 ms_auto
  echo -s 4,1mIRC Stats 1.19 - Auto Update - Chargé !
  echo -s 9,1Par Tamahome - 03/2003
}

alias ms_auto {
  ;********************
  ;Update du mois
  ;********************
  if ($mid($date, 4, 2) == %mircstat.mois) {
    if (%mircstat.doneSemaine == $false) {
      mstatm
      set %mircstat.doneSemaine $true
    }
  }
  else { set %mircstat.doneSemaine $false }
  ;********************
  ;Update de la semaine
  ;********************
  if ($left($day, $len(%mircstat.semaine)) == %mircstat.semaine) {
    if (%mircstat.doneSemaine == $false) {
      mstats
      set %mircstat.doneSemaine $true
    }
  }
  else { set %mircstat.doneSemaine $false }
  ;********************
  ;Update de la journée
  ;********************
  if ($left($time, $len(%mircstat.jour)) == %mircstat.jour) {
    if (%mircstat.doneJour == $false) {
      mstatj
      set %mircstat.doneJour $true
    }
  }
  else { set %mircstat.doneJour $false }
}

;********************
;Définition des Alias
;********************

alias mstatj { run %mircstat.execJour }
alias mstats { run %mircstat.execSemaine }
alias mstatm { run %mircstat.execMois }



normalement j'ai du regler tes erreurs
( je dit bien normalement ) j'ai peu etre oublié certain truc
ne fait g l'impression ke tu as oublié ke tu etais dans un mirc on dirai que tu fais du c++ ou un autre langage vu la façon dont tu met tes accolades
tu peux diminuer encore le code en elevant certaines variables
elles ne sont pas inutile mais ou lieu de faire
/run %var
fait directement
/run c:\mirc\stat19jour.bat
tu peu pour la meme raison suprimer les alias
les alias pareil ...

mais bon j'ai regler ton bug et c'est ce que tu voulais :)
0
Tamahome Messages postés 7 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 19 mars 2003
19 mars 2003 à 22:45
Ah ouais merci c'est sympa. Effectivement, je pense plus en "C" ... ;o)

D'ailleurs vu que je captais rien a la syntaxe de mIRC, je me suis fait ce script en C, que j'ai compilé en DLL. Et la je l'appelle en une seule ligne dans mIRC. Enfin merci quand meme pour ton aide, ca me servira surement un jour (et a d'autre aussi, qui sait ?)).

Merci .
0
Rejoignez-nous