Auto join salons et serveurs ( gère le multiserveur )

Description

Un Auto-join simple et fontionnel sur la base des *.ini . Vous pouvez donc mettre un nombre infini de salon ou serveurs a rejoindre a la connection.L'add on ne gère pas encore la rejonction de salons spécifiques a un serveur.Peut etre pour la version 2.0 ? Utilisez de preference un mIRC vierge afin de tester mon add on, je ne suis pas responsable des degats occasionés sur les scripts :)

Source / Exemple :


;=============================
;      _____    ___         ==
;     / ___/\  /  /\        ==
;    / /\__\/ /  /_/_       == 
;   /  _/\   /  _   _\      == 
;  /  /_\/  /  / \  \_\     ==
; /_____/\ /__/ / \__\      == 
; \_____\/ \__\/   \__\     ==
;=============================
;==== ] eKcH4d0 ScRiPT [ =====
;=======] Auto-join [=========

;================================================================== Dialogue de selection du type d'auto-join

on 1:dialog:type:init:0:{
  //echo -a 0[ 7eKcH4d0 ScRiPT0 ]7 Auto-join 0 lancé 
  /set %ajs1 $readini(inis/auto-join.ini, serveurs, 1)
  /set %s $ini(inis/auto-join.ini, serveurs, 0)
  /set %ajsmax $ini(inis/auto-join.ini, serveurs,0)
}
dialog Type {
  option dbu 
  size -1 -1 114 44
  title "Type d'auto-join"
  button "Serveurs",1, 3.5 7 35 15
  button "Salons",2, 39 7 35 15
  button "Options",3, 75 7 35 15
  button "Connection",4, 3.5 24 35 15
  button "Annuler",5, 39 24 35 15,cancel
  button "Valider",6, 75 24 35 15,ok
}

on 1:dialog:type:sclick:1:{
  /dialog -m ajserveur ajserveur
  /set %ajsmax $ini(inis/auto-join.ini, serveurs, 0)
  /inc %s
}
on 1:dialog:type:sclick:2:{
  /dialog -m ajsalons ajsalons
  /set %ajcmax $ini(inis/auto-join.ini, salons, 0)
  /inc %c
}

on 1:dialog:type:sclick:3:{
  /dialog -m ajoptions ajoptions
}
on 1:dialog:type:sclick:4:{
  /server %ajs1
}
;================================================================= Dialogue d'auto-join salons
dialog ajsalons {
  option dbu
  size -1 -1 90 100
  title "Auto-join salon(s)"
  list 101,5 5 80 80
  button "Ajouter",501,5 82 25 15
  button "Enlever",502,32 82 25 15
  button "Valider",503,60 82 25 15,ok
}
on 1:dialog:ajsalons:init:0:{

  /set %ajcmax $ini(inis/auto-join.ini, salons, 0) 
  /set %ajc 1  
  :ajsalons1
  /did -a ajsalons 101 $readini(inis/auto-join.ini, salons, %ajc )
  /inc %ajc 1
  /set %ajcmax $ini(inis/auto-join.ini, salons, 0)  
  /set %ajsalons %ajcmax + 1
  if ( %ajc > %ajsalons ) { goto ajsalons2 }
  elseif ( %ajc != %ajsalons ) { goto ajsalons1 }
  :ajsalons2
}
on 1:dialog:ajsalons:sclick:502:{
  /remini inis/auto-join.ini salons $did(ajsalons,101).sel

}
on 1:dialog:ajsalons:sclick:503:{
  /set %ajcmax $ini(inis/auto-join.ini, salons, 0)
}
on 1:dialog:ajsalons:sclick:501:{  
  /set %c $ini(inis/auto-join.ini, salons, 0)
  /inc %c 1 
  /writeini Inis/Auto-join.ini Salons %c $$?="Entrez le nom d'un salon avec le dièse  "

}

;================================================================= Dialogue d'auto-join serveurs
dialog ajserveur {
  option dbu
  size -1 -1 90 100
  title "Auto-join serveur(s)"
  list 100,5 5 80 80
  button "Ajouter",201,5 82 25 15
  button "Enlever",202,32 82 25 15
  button "Valider",203,60 82 25 15,ok
}
on 1:dialog:ajserveur:init:0:{

  /set %ajsmax $ini(inis/auto-join.ini, serveurs, 0) 
  /set %ajs1 $readini(inis/auto-join.ini, serveurs, 1)
  /set %ajs 1  
  :ajserveur1
  /did -a ajserveur 100 $readini(inis/auto-join.ini, serveurs, %ajs )
  /inc %ajs 1
  /set %ajsmax $ini(inis/auto-join.ini, serveurs, 0)  
  /set %ajserveur %ajsmax + 1
  if ( %ajs > %ajserveur ) { goto ajserveur2 }
  elseif ( %ajs != %ajserveur ) { goto ajserveur1 }
  :ajserveur2
}
on 1:dialog:ajserveur:sclick:202:{
  /remini inis/auto-join.ini serveurs $did(ajserveur,100).sel

}
on 1:dialog:ajserveur:sclick:203:{
  /set %ajsmax $ini(inis/auto-join.ini, serveurs, 0)
}
on 1:dialog:ajserveur:sclick:201:{  
  /set %s $ini(inis/auto-join.ini, serveurs, 0)
  /inc %s 1 
  /writeini Inis/Auto-join.ini Serveurs %s $$?="Entrez l'adresse d'un serveur"

}

;================================================================= Dialogue des options Auto-join
dialog ajoptions {
  option dbu
  size -1 -1 150 40
  title "Options de l'Auto-join"
  check "Activé",301,65 11 30 10
  check "Activé",302,65 22.5 30 10
  text "Auto-join serveur(s) : ",401, 5 12.5 52 20
  text "Auto-join salon(s) : ",402, 5 24 47 20
  button "Ok",403, 110 12 25 15,ok
}

;================================================================= Checks
on 1:dialog:ajoptions:init:0:{
  if (%ajoptionssc == 1) { did -c ajoptions 301 }
  if (%ajoptionscc == 1) { did -c ajoptions 302 }
}

on 1:dialog:ajoptions:sclick:301:{
  if ($did(ajoptions,301).state == 0) { 
    echo -a 0[ 7eKcH4d0 ScRiPT0 ]7 Auto-join 0 serveur(s) désactivé 
    set %ajoptionssc 0
  }
  elseif ($did(ajoptions,301).state == 1) {  
    echo -a 0[ 7eKcH4d0 ScRiPT0 ]7 Auto-join 0 serveur(s) activé
    set %ajoptionssc 1

  }
}
on 1:dialog:ajoptions:sclick:302:{
  if ($did(ajoptions,302).state == 0) { 
    set %ajoptionscc 0    
    echo -a 0[ 7eKcH4d0 ScRiPT0 ]7 Auto-join 0 salon(s) désactivé 

  }
  elseif ($did(ajoptions,302).state == 1) {  
    echo -a 0[ 7eKcH4d0 ScRiPT0 ]7 Auto-join 0 salon(s) activé
    set %ajoptionscc 1
  }
}
;================================================================= Start
on 1:load:{
  /set %s 0
/set %ajs 1 }
menu menubar,menubar {
  -
  eKcH4d0's AdD-OnS:/
  - 
  Auto-join V1.0:/dialog -m type type
}

;================================================================= Connection
on 1:connect:{
  /set %ajsmax $ini(inis/auto-join.ini, serveurs,0)
  /set %ajcmax $ini(inis/auto-join.ini, salons,0) 
  /set %ajstotal %ajsmax + 1
  /set %ajctotal %ajcmax + 1
  /set %ajs 2
  ;================================================================ Auto-Join Multiserveur
  if ( %ajoptionssc == 0 ) { goto ajc }
  elseif ( %ajoptionssc == 1 ) { goto ajs }

  :ajs
  if ( $scid(0) == %ajsmax ) { goto ajc }
  /server -m $readini(inis/auto-join.ini, serveurs, %ajs)
  if ( %ajs == %ajsmax ) { goto ajc }
  elseif ( %ajs < %ajsmax ) { goto inc }
  :inc
  /inc %ajs 1
  /goto ajs
  ;================================================================= Auto-join 

  :ajc
  if ( %ajoptionscc == 0) { goto fin }
  /set %ajc 1 
  /join $readini(inis/auto-join.ini, salons, %ajc)
  if ( %ajc == ajcmax ) { goto fin }
  elseif ( %ajc < %ajcmax ) { goto ajc2 }
  :ajc2
  if ( %ajc < 2 ) { goto fin }  
  /inc %ajc 1 
  /join $readini(inis/auto-join.ini, salons, %ajc)
  /inc %ajc 1
  if ( %ajc == ajcmax ) { goto fin }
  elseif ( %ajc < %ajcmax ) { goto ajc2 }

  :fin 
  /echo -a 0[ 7 eKcH4d0 ScRiPT 0] 7 Connection établie
}

Conclusion :


Ne pas 'etonner si lorsqu'on ajoute un salon ou un serveur , son nom ne s'affiche pas dans la liste , il faut appuyer sur valider pour qu'il s'y mette comme un grand :)

Et pis sinon soyez sympatoches c'est ma premiere source , le code est long , les *.ini c'est dépassé , enfin g tout pour plaire :)

Codes Sources

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.