System away + repondeur [nouveau]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 219 fois - Téléchargée 28 fois

Contenu du snippet

Voila c'est ma premiere source que je post ici, car ça ne fait que 2 semaine environ que j'ai commencer a scripter avec mIRC. Je sais que bcp vont dire que c'est du deja vu etc etc mais vous savez quand on commence on va pas non plus sortir l'addon du siecle lol alors jpense c deja mieux que rien :]

Sinon pour tout ce qui est critique j'aimerai avoir des bonne critique qui explique ce qui va pas et pourquoi, si il peut y avoir de la simplification de code ( je suis presque sur que oui ) etc etc.

Ce serait cool de pas poster des commentaires du genre "oui, ton addon il est nul", "oui c'est mal scripter" ... car si je le poste ici c'est pour que vous m'aider un ti peu afin d'apprendre de nouvelle focntion et autres grace au commentaire que vous posterez.

Sur ce merci et bonne analyse :

Source / Exemple :


on *:dialog:away1:init:0:{ 
  if ( $readini away.ini Configuration SpeedAuto1 == 1 ) { did -c away1 23 }
  else { did -u away1 23 }

  if ( $readini away.ini Configuration Auto.Away1 == 1) { did -c away1 15 }
  else { did -u away1 15 }

  if ( $readini away.ini Repondeur Etat == 1) { did -c away1 31 }
  else { did -u away1 31 }

  if ( $readini away.ini Configuration Active.Log == 1) { did -c away1 28 }
  else { did -u away1 28 }

  did -a away1 29 %repondeur.phrase

  did -a away1 4 $readini away.ini Configuration Raison
  did -a away1 8 $readini away.ini Configuration Nick.Away
  did -a away1 12 $readini away.ini Configuration Nick.Retour

  did -a away1 3 $AwayStatus
  did -a away1 27 $AwayStatus

  did -a away1 19 Oqp
  did -a away1 19 ZzZ
  did -a away1 19 AwAy
  did -a away1 19 TeLe
  did -a away1 19 LyCeE
  did -a away1 19 EaTiNg
  did -a away1 19 PaS`La

  did -a away1 25 20
  did -a away1 25 40
  did -a away1 25 60

  did -a away1 16 20
  did -a away1 16 40
  did -a away1 16 60
}

on *:dialog:away1:edit:4:writeini away.ini Configuration Raison $did(4)
on *:dialog:away1:edit:5:writeini away.ini Configuration heure $did(5)
on *:dialog:away1:edit:8:writeini away.ini Configuration Nick.Away $did(8)
on *:dialog:away1:edit:12:writeini away.ini Configuration Nick.Retour $did(12)
on *:dialog:away1:edit:33:writeini away.ini Configuration minutes $did(33)

on *:dialog:away1:sclick:14:echo $active 1*4 Mode 12[AwAy12] 1:: 12[ 2Raison :4 $readini away.ini Configuration Raison 12] 1:: 12[ 3Durée : ~4 $readini away.ini Configuration heure $+ H $+ $readini away.ini Configuration minutes 12] 1:: 12[ 7Heure Départ :4 $time(HH:nn) 12] 1:: *
on *:dialog:away1:sclick:16:{ set %awaytime $did(16).seltext }
on *:dialog:away1:sclick:19:{ writeini away.ini Configuration Raison $did(19).seltext }
on *:dialog:away1:sclick:25:{ set %speed.awaytime $did(25).seltext }

on *:dialog:away1:sclick:3:{
  if ( $away == $false ) { partir }
  elseif ( $away == $true ) { revenir }
  if ( $away == $true ) { did -a away1 3 $AwayStatus | did -a away1 27 $AwayStatus }
  elseif ( $away == $false ) { did -a away1 3 $AwayStatus | did -a away1 27 $AwayStatus }
}

on *:dialog:away1:sclick:15:{
  if ( $did(15).state == 1 ) { set %awayauto Oui }
  else { set %awayauto Non }
  writeini away.ini Configuration Auto.Away1 $did(15).state
}

on *:dialog:away1:sclick:23:{
  if ( $did(23).state == 1 ) { set %speedauto Oui }
  else { set %speedauto Non }
  writeini away.ini Configuration SpeedAuto1 $did(23).state
}

on *:dialog:away1:sclick:27:{
  if ( $away == $false ) { speed.away }
  elseif ( $away == $true ) { revenir }
  if ( $away == $true ) { did -a away1 3 $AwayStatus | did -a away1 27 $AwayStatus }
  elseif ( $away == $false ) { did -a away1 3 $AwayStatus | did -a away1 27 $AwayStatus }
}

dialog away1 {
  title "Away System"
  size -1 -1 133 119
  option dbu
  tab "Away", 1, 4 1 124 114
  edit "", 4, 46 29 75 10, tab 1 autohs
  edit "", 5, 32 69 14 10, tab 1 autohs
  text "Durée", 9, 12 70 18 8, tab 1
  text "Raison : ", 7, 12 30 26 8, tab 1
  box "Configuration", 10, 8 16 117 97, tab 1
  button "", 3, 10 95 56 8, tab 1
  text "Heure(s)", 18, 47 70 26 8, tab 1 center
  edit "", 33, 73 69 17 10, tab 1
  text "Mins", 34, 93 70 13 8, tab 1
  text "Nick Away", 6, 12 43 27 8, tab 1
  edit "", 8, 46 42 75 10, tab 1
  text "Nick Retour", 11, 12 56 32 8, tab 1
  edit "", 12, 46 55 75 10, tab 1
  button "Aperçut", 14, 67 95 56 8, tab 1
  check "Auto-Away -", 15, 12 83 40 8, tab 1
  combo 16, 54 82 23 10, tab 1 sort vsbar drop
  text "Minutes", 17, 80 83 20 8, tab 1
  tab "Speed / Répondeur", 2
  box "Away Rapide", 20, 8 20 117 34, tab 2
  box "Répondeur", 21, 8 57 117 45, tab 2
  text "Choisir Away : ", 22, 12 30 38 8, tab 2
  check "Auto-Away ", 23, 12 41 38 10, tab 2
  text "Durée : ", 24, 55 42 25 8, tab 2
  combo 25, 86 41 28 10, tab 2 sort vsbar drop
  button "", 27, 89 29 30 10, tab 2
  check "Active Log", 28, 12 89 39 10, tab 2
  edit "", 29, 11 77 110 10, tab 2 autohs
  text "Message Répondeur : ", 30, 11 67 50 8, tab 2
  check "Activer Repondeur", 31, 60 89 57 10, tab 2
  combo 19, 49 28 38 11, tab 2 sort vsbar drop
  button ":: [ Fermer ] ::", 35, 10 103 113 8, ok
}

alias F10 { dialog -m away1 away1 }

alias partir { 
  did -c away1 31
  unset %nickspeed
  set %why1 $readini away.ini Configuration Raison
  set %nickaway $readini away.ini Configuration Nick.Retour
  away Je suis away [::] Raison : $readini away.ini Configuration Raison
  amsg 1*4 Mode 12[AwAy12] 1:: 12[ 2Raison :4 %why1 12] 1:: 12[ 3Durée : ~4 $readini away.ini Configuration heure $+ H $+ $readini away.ini Configuration minutes 12] 1::  12[ 7Heure Départ :4 $time(HH:nn) 12] 1:: * |  nick %nickspeed $+ -[ $+ %why $+ ]
  if ( %awayauto == Oui && %awaytime == 20 ) { timer5 0 1200  tpsaway }
  elseif ( %awayauto == Oui && %awaytime == 40 ) { timer5 0 2400  tpsaway }
  elseif ( %awayauto == Oui && %awaytime == 60 ) { timer5 0 3600  tpsaway }
  nick $readini away.ini Configuration Nick.Away
}

alias speed.away {
  did -c away1 31
  set %why1 $readini away.ini Configuration raison
  unset %nickaway
  set %nickspeed $me
  away Je suis away [::] Raison : $readini away.ini Configuration Raison
  amsg 1*4 Mode 12[1Speed5AwAy12] 1:: 12[ 2Raison :4 %why1 12] 1:: 12[ 7Heure Départ :4 $time(HH:nn) 12] 1:: * |  nick %nickspeed $+ -[ $+ %why1 $+ ]
  if ( %speedauto == Oui && %speed.awaytime == 20 ) { timer7 0 1200 tpsaway }
  elseif ( %speedauto == Oui && %speed.awaytime == 40 ) { timer7 0 2400 tpsaway }
  elseif ( %speedauto == Oui && %speed.awaytime == 60 ) { timer7 0 3600 tpsaway }
}

alias AwayStatus {
  if ( $away == $false ) { return Partir }
  if ( $away == $true ) { return Revenir }
}

alias revenir {
  set %tempsaway $duration($awaytime)
  away
  timers off
  amsg 1* 4Est 6De 12Retour 1:: 12 [ 7Raison 3AwAy :4 %why1 12] 1:: 12[ 5Temps Away :4 %tempsaway 12] 1:: 1*
  if (%nickaway == $readini away.ini Configuration Nick.Retour ) { nick %nickaway }
  else { nick %nickspeed }
  unset %why1
  did -u away1 31
  writeini away.ini Repondeur Etat $did(31).state
  if ( $me != %nickspeed || $me != %nickaway ) { pseudo }
  else { return }
}

alias tpsaway {
  set %duree $duration($awaytime)
  amsg 1*4 [12Auto-3Away4] 1:: 12[ 2Raison :4 %why1 12] 1:: 12[ 3Depuis : ~4 %duree 12] 1:: *
}

==========
|  Repondeur   | 
==========

on *:dialog:away1:sclick:31:{
  if ( $did(31).state == 1 ) { set %repondeur.active Oui }
  else { set %repondeur.active Non }
  writeini away.ini Repondeur Etat $did(31).state
}

on *:dialog:away1:sclick:28:{
  if ( $did(28).state == 1 ) { set %act.log Oui }
  else { set %act.log Non }
  writeini away.ini Configuration Active.Log $did(28).state
}

on *:dialog:away1:edit:29:set %repondeur.phrase $did(29)

on *: OPEN:?:{ 
  if ( $away == $true && %repondeur.active == Oui && %act.log == Oui ) { msg $nick $eval(%repondeur.phrase,2) }
  else { return }
}

on *:text:*!msg*:?:{ 
  if ($exists(Pv/ $+ $nick $+ .txt) == $false && %repondeur.active == Oui && %act.log == Oui ) {
    write pv/ $+ $nick $+ .txt ----------------------------------------------
    write pv/ $+ $nick $+ .txt -  Message Envoyer Par $nick  -
    write pv/ $+ $nick $+ .txt ----------------------------------------------
    write pv/ $+ $nick $+ .txt $timestamp < $+ $nick $+ > $remove($1-,!msg)
    msg $nick Merci votre message a bien été enregistrer ;)
  }
  elseif ($exists(Pv/ $+ $nick $+ .txt) == $true && %repondeur.active == Oui && %act.log == Oui) { write pv/ $+ $nick $+ .txt $timestamp < $+ $nick $+ > $remove($1-,!msg)
    msg $nick Merci votre message a bien été enregistrer ;)
  }
}

Conclusion :


Pour l'utiliser il vous suffit simplement de pressez la touche F10

A voir également

Ajouter un commentaire Commentaires
Messages postés
2
Date d'inscription
dimanche 16 novembre 2003
Statut
Membre
Dernière intervention
12 mars 2008

Bonsoir à tous :)

En effet, cela fait bizarre de revenir sur ce code source après 4 années maitenant. Je l'avais presque oublié :)

Maintenant je suis développeur web, dotnet & java donc plus trop le temps de faire du irc :p

Ceci étant pour tous ceux qui souhaite apprendre je pense que ce lancer sur du mIRC pour apprendre les bases est assez facile et sympatique :)

Bonne continuation à tous ;)
Messages postés
1
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
12 mars 2008

J'adore ce système d'away.
Continue comme ça ;)
Messages postés
11
Date d'inscription
dimanche 27 mars 2005
Statut
Membre
Dernière intervention
14 novembre 2005

Bravo, ce dialog est cool et bien fait.

Moi en deux semaines je savais téléchargés les bot :p.
Messages postés
74
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
9 avril 2005

Moa, j'me rapell mm plus ske c did :D
Donc, pour ton dialog, il é bien & bo ( j'lé pô trp essayè ot'ment :^) )
Chapeau, en deux semaine, je savè pô fère ça :)
Messages postés
64
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
29 juillet 2006

je trouve bien mais on devrait avoir le choix de mettre la raison de notre away
Afficher les 9 commentaires

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.