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

Soyez le premier à donner votre avis sur cette source.

Vue 6 283 fois - Téléchargée 212 fois

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

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
10 janvier 2003

Merci YoSkATeR ca m'a donné envie de m'y replonger je bosse sur la version 2.0 qui fonctionne avec des .txt et un auto join salons specifiques a un serveur , ou du moins j'essaye :) Dimanche au plus tard c'est la . Bye
Messages postés
17
Date d'inscription
dimanche 28 juillet 2002
Statut
Membre
Dernière intervention
13 avril 2003

oué graphikemen on a vu mieu..
mais pour te repondre le hash c limité alors ke le texte c illimité....
puis en premiere ligne tu peu mettre le nombre de ligne ca aidera...continu j'aime bien les auto-join!
Messages postés
3
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
10 janvier 2003

bon ba je vais developper une version 2.0 mais je sais pas ou stocker les données...est ce que dans une hash table c bien ? ou dans un .txt ? ou je limite le nombre de serveurs/salons a rejoindre ? :) bye
Messages postés
654
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
20 février 2005

j'aime vraiment pas les goto... sinon heu j'ai po encore testé...
Messages postés
48
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
30 septembre 2009

ça fait planter royalement le script quand on n'entre aucune données :/

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.