Amis/ennemis

Contenu du snippet

Bon bah ça permet de gerer les "amis" et "ennemis" :) faudra un peu le modif pour l'adapter a votre script :)

Source / Exemple :


dialog liste {
  title "Gestion Amis\Ennemis XerBo"
  size -1 -1 99 146
  option dbu
  icon $mircdirSysteme\Graphiques\quotes.ico, 0
  button "ø Fermer ø", 1, 68 136 30 9, ok
  tab "Liste", 2, 3 1 94 133
  list 4, 8 18 85 45, tab 2 size
  box "", 5, 8 109 86 19, tab 2
  button "Ajouter", 6, 22 115 28 10, tab 2
  button "Retirer", 7, 52 115 28 10, tab 2
  list 15, 8 64 85 46, tab 2 size
  tab "Options", 3
  box "Options amis :", 8, 8 16 86 57, tab 3
  check "Auto-voice quand un ami join", 9, 12 26 80 10, tab 3
  check "Auto-op quand un ami join", 10, 12 37 81 10, tab 3
  check "Lui envoyer un message :", 12, 12 48 72 10, tab 3
  edit "", 13, 11 59 80 10, disable tab 3 autohs
  box "Options ennemis :", 14, 8 74 86 57, tab 3
  check "Auto-kick qd un ennemi join", 22, 12 84 79 10, tab 3
  check "Auto-ban qd un ennemi join", 23, 12 95 77 10, tab 3
  text "Message de kick :", 24, 12 106 54 10, tab 3
  edit "", 25, 11 117 80 10, disable tab 3 autohs
  tab "Salons", 11
  list 16, 8 44 85 66, tab 11 size
  box "Informations :", 17, 9 16 83 27, tab 11
  text "Salons où la liste d'amis et d'ennemis prendra effet", 18, 17 25 66 14, tab 11 center
  box "", 19, 8 109 86 19, tab 11
  button "Ajouter", 20, 22 115 28 10, tab 11
  button "Retirer", 21, 52 115 28 10, tab 11
}

on 1:dialog:liste:sclick:20:{
  var %temp = $?="Nom du salon ? ( AVEC LE $chr(35) )"
  if ( $gettok(%temp,2,32) = $null ) {
    write systeme\chanlistdo.txt %temp
    .timer -m 1 100 loadlistchan
  }
  else { if ( $input(Un salon ne peut pas contenir deux mots !,o,Erreur) = $true ) { halt } }
}

on 1:dialog:liste:sclick:21:{
  if ( $did(16).seltext != $null ) { efface $did(16).seltext systeme\chanlistdo.txt loadlistchan | .timer -m 1 100 loadlistchan }
}
on 1:dialog:liste:sclick:7:{
  if ( $did(4).sel = $null ) { if ( $did(15).seltext != $null && $left($did(15).seltext,5) != Liste ) { if ( $did(15) != Liste d'ennemi(s) : ) { efface $did(15).seltext systeme\ennemis.txt loadennemi | .timer -m 1 100 loadennemi } } }
  if ( $did(15).sel = $null ) { if ( $did(4).seltext != $null && $left($did(4).seltext,5) != Liste ) { if ( $did(4) != Liste d'ami(s) : ) { efface $did(4).seltext systeme\amis.txt loadami | .timer -m 1 100 loadami } } }
}
alias efface {
  :depart
  if ( $left($1,1) = $null ) { halt }
  %temp = 0
  :loop
  inc %temp
  if ( %temp > $lines($2) ) { return }
  if ( $1 = $read($2,%temp) ) { write -dl [ $+ [ %temp ] ] $2 | if ( $3 != $false ) { .timer -m 1 100 / [ $+ [ $3 ] ] | halt } }
  goto loop
}
on 1:dialog:liste:sclick:12:{
  if ( $did(12).state = 1 ) { did -e liste 13 }
  if ( $did(12).state = 0 ) { did -b liste 13 }
}
on 1:dialog:liste:sclick:22:{
  if ( $did(22).state = 1 ) { did -e liste 25 }
  if ( $did(22).state = 0 ) { did -b liste 25 }
}
on 1:dialog:liste:sclick:1:{
  if ( $did(9).state = 1 ) { %u-liste-autovoice = $true }
  if ( $did(9).state = 0 ) { %u-liste-autovoice = $false }
  if ( $did(10).state = 1 ) { %u-liste-autoop = $true }
  if ( $did(10).state = 0 ) { %u-liste-autoop = $false }
  if ( $did(12).state = 1 ) { %u-liste-msgamion = $true }
  if ( $did(12).state = 0 ) { %u-liste-msgamion = $false }
  if ( $did(13) != $null ) { %u-liste-msgami = $did(13) }
  if ( $did(22).state = 1 ) { %u-liste-autokick = $true }
  if ( $did(22).state = 0 ) { %u-liste-autokick = $false }
  if ( $did(23).state = 1 ) { %u-liste-autoban = $true }
  if ( $did(23).state = 0 ) { %u-liste-autoban = $false }
  if ( $did(25) != $null ) { %u-liste-msgkick = $did(25) }
}
on 1:dialog:liste:init:*:{ 
  loadami 
  loadennemi 
  loadlistchan
  if ( %u-liste-autovoice = $true ) { did -c liste 9 }
  if ( %u-liste-autoop = $true ) { did -c liste 10 }
  if ( %u-liste-msgamion = $true ) { did -c liste 12 | did -e liste 13 }
  did -ra liste 13 %u-liste-msgami
  if ( %u-liste-autokick = $true ) { did -c liste 22 | did -e liste 25 }
  if ( %u-liste-autoban = $true ) { did -c liste 23 }
  did -a liste 25 %u-liste-msgkick
}
on 1:dialog:liste:sclick:6:{ 
  d amiennemi
}
on 1:dialog:liste:sclick:4:{ did -u liste 15 }
on 1:dialog:liste:sclick:15:{ did -u liste 4 }
on 1:JOIN:#:{
  var %temp = 0
  while ( %temp <= $lines(systeme\amis.txt) ) { inc %temp | if ( $read(systeme\amis.txt,%temp) iswm $nick ) { amidetecte $nick $chan } }
  var %temp = 0
  while ( %temp <= $lines(systeme\ennemis.txt) ) { inc %temp | if ( $read(systeme\ennemis.txt,%temp) iswm $nick ) { ennemidetecte $nick $chan } }
}

alias ennemidetecte {
  var %temp = 0 
  while ( %temp <= $lines(systeme\chanlistdo.txt) ) { inc %temp | if ( $2 = $read(systeme\chanlistdo.txt,%temp) ) { 
      if ( $me isop $2 ) { if ( %u-liste-autoban = $true ) { mode $2 +b $address( [ $+ [ $1 ] $+ ] ,3) } }
      if ( $me isop $2 ) { if ( %u-liste-autokick = $true ) { kick $2 $1 %u-liste-msgkick } }
      echo -a 
      echo -a Un(e) de tes [ennemis] vient d'être détecté(e) dans $2 ( $1 ) 
      echo -a 
    } 
  }
}
alias amidetecte { 
  var %temp = 0 
  while ( %temp <= $lines(systeme\chanlistdo.txt) ) { inc %temp | if ( $2 = $read(systeme\chanlistdo.txt,%temp) ) { 
      if ( $me isop $2 ) { if ( %u-liste-autovoice = $true ) { mode $2 +v $1 } }
      if ( $me isop $2 ) { if ( %u-liste-autoop = $true ) { mode $2 +o $1 } }
      if ( $me isop $2 ) { if ( %u-liste-msgamion = $true ) { pvmsg $1 %u-liste-msgami } }
      echo -a 
      echo -a Un(e) de tes [amis] vient d'être détecté dans $2 ( $1 )
      echo -a 
    } 
  } 
}
alias loadlistchan {
  did -r liste 16
  var %temp = 0
  if ( $lines(systeme\chanlistdo.txt) != 0 ) { while ( %temp < $lines(systeme\chanlistdo.txt) ) { inc %temp | did -a liste 16 $read(systeme\chanlistdo.txt,%temp) } }
}
alias loadami {
  did -r liste 4
  did -a liste 4 Liste d'ami(s) :
  var %temp = 0
  if ( $lines(systeme\amis.txt) != 0 ) { while ( %temp < $lines(systeme\amis.txt) ) { inc %temp | did -a liste 4 $read(systeme\amis.txt,%temp) } }
}
alias loadennemi {
  did -r liste 15
  did -a liste 15 Liste d'ennemi(s) :
  var %temp = 0
  if ( $lines(systeme\ennemis.txt) != 0 ) { while ( %temp <= $lines(systeme\ennemis.txt) ) { inc %temp | did -a liste 15 $read(systeme\ennemis.txt,%temp) } }
}

dialog amiennemi {
  title "Ajouter un ami/ennemi ?"
  size -1 -1 102 40
  option dbu
  button "Ajouter un ami", 1, 2 6 47 29, multi
  button "Ajouter un ennemi" , 2, 50 6 50 29, multi
}
on 1:dialog:amiennemi:sclick:1:{
  var %temp = $?="Pseudo de l'ami ? ( Peut contenir des * ( Exemple : %u-pseudo $+ * ) )"
  if ( $gettok(%temp,2,32) = $null ) {
    write systeme\amis.txt %temp | .timer -m 1 100 loadami | dx amiennemi
  }
  else { if ( $input(Un pseudo ne peut contenir qu'un mot !,o,Erreur) = $true ) { dx amiennemi | halt } }
}
on 1:dialog:amiennemi:sclick:2:{
  var %temp = $?="Pseudo de l'ennemi ? ( Peut contenir des * ( Exemple : boulet* ) )"
  if ( $gettok(%temp,2,32) = $null ) {
    write systeme\ennemis.txt %temp | .timer -m 1 100 loadennemi | dx amiennemi
  }
  else { if ( $input(Un pseudo ne peut contenir qu'un mot !,o,Erreur) = $true ) { dx amiennemi | halt } }
}

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.