;-=[ Conversation v1.1 par eXtreniX ]=-

on 1:LOAD:{
  echo -a -=[ Conversation $conv.ver par eXtreniX ]=-
  echo -a Merci d'avoir télécharger cet addon qui animera vos soirées ! ;)
  echo -a Si vous ne l'avez pas encore fait, lisez le fichier lisezmoi.txt dans le répertoire de l'addon.
  echo -a Enfin, pour me rejoindre, une seule addresse : irc.jeuxvideo.com sur le canal #Aide !
  echo -a Merci, et bonne conversation ! =))
  echo -a -
}
on 1:UNLOAD:{
  echo -a -=[ Conversation $conv.ver par eXtreniX ]=-
  echo -a Addon déloadé avec succès ! Merci de l'avoir utiliser. :)
}

DIALOG convers {
  title "Conversation"
  size -1 -1 210 135
  option dbu
  box "Configuration", 1, 5 5 115 125
  box "Opérations", 2, 125 5 80 90

  text "Pseudo du premier", 3, 10 17 45 10
  edit "", 4, 60 15 55 10, autohs
  text "Pseudo du second", 5, 10 32 44 10
  edit "", 6, 60 30 55 10, autohs
  text "Canal de la conversation", 7, 10 47 59 10
  edit "", 8, 75 45 40 10, autohs
  text "Fichier de la conversation", 9, 10 60 61 10
  button "Définir", 10, 85 68 30 12
  edit "", 11, 10 70 70 10, read autohs
  text "Connection du premier", 12, 10 87 60 10
  edit "", 13, 10 95 105 10, autohs
  text "Connection du second", 14, 10 107 60 10
  edit "", 15, 10 115 105 10, autohs

  button "Connecter", 16, 130 15 70 12
  button "Joindre le canal", 17, 130 30 70 12
  button "Conversation go !", 18, 130 45 70 12
  button "Finir la conversation", 19, 130 60 70 12
  button "Déconnecter", 20, 130 75 70 12

  button "Fermer", 21, 175 115 30 12, default ok
  button "Enregistrer", 22, 125 115 35 12

  button "Local", 23, 85 85 30 10
  button "Local", 24, 85 105 30 10
}
on 1:DIALOG:convers:INIT:0:{
  if (!$hget(convers)) { hmake convers 10 }
  if ($isfile(convers.ini)) { hload -i convers convers.ini convers }
  if ($hget(convers,pseu1)) { did -ra convers 4 $ifmatch } | else { did -ra convers 4 robert $+ $rand(1,9) $+ $rand(1,9) }
  if ($hget(convers,pseu2)) { did -ra convers 6 $ifmatch } | else { did -ra convers 6 jean $+ $rand(1,9) $+ $rand(1,9) }
  if ($hget(convers,canal)) { did -ra convers 8 $ifmatch }
  if ($hget(convers,txt)) { did -ra convers 11 $ifmatch }
  if ($hget(convers,connec1)) { did -ra convers 13 $ifmatch }
  if ($hget(convers,connec2)) { did -ra convers 15 $ifmatch }
}
on 1:DIALOG:convers:SCLICK:*:{
  if ($did == 10) { var %file = $sfile($mircdir,Choisissez le fichier où il y a la conversation,Sélectionner) | did -ra convers 11 %file }
  elseif ($did == 22) { 
    if ($did(4)) { hadd convers pseu1 $ifmatch }
    if ($did(6)) { hadd convers pseu2 $ifmatch }
    if ($did(8)) { hadd convers canal $ifmatch }
    if ($did(11)) { hadd convers txt $ifmatch }
    if ($did(13)) { hadd convers connec1 $ifmatch }
    if ($did(15)) { hadd convers connec2 $ifmatch }
    hsave -i convers convers.ini convers
  }
  elseif ($did == 16) { conv.connec }
  elseif ($did == 17) { conv.join }
  elseif ($did == 18) { conv.init }
  elseif ($did == 19) { conv.finish }
  elseif ($did == 20) { conv.deco }
  elseif ($did == 23) { did -ra convers 13 $ip $port }
  elseif ($did == 24) { did -ra convers 15 $ip $port }
}

ALIAS -l conv.connec {
  if ($hget(convers,connec1) != $ip $port) { sockopen discute1 $ifmatch }
  else { sockopen discute1 $server $port }
  if ($hget(convers,connec2) != $ip $port) { sockopen discute2 $ifmatch }
  else { sockopen discute2 $server $port }
}

ALIAS -l conv.join {
  sockwrite -n discute* join $hget(convers,canal)
}
ALIAS -l conv.init {
  hadd convers nbligne $lines($hget(convers,txt))
  hadd convers lgactu 1
  .timerconvers 0 12 conv.go
}

ALIAS -l conv.go {
  if ($hget(convers,lgactu) <= $hget(convers,nbligne)) {
    var %parleur = discute $+ $gettok($read($hget(convers,txt),$hget(convers,lgactu)),1,32) 
    var %read = $gettok($replace($read($hget(convers,txt),$hget(convers,lgactu)),§,$iif(%parleur == discute1,$hget(convers,pseu2),$hget(convers,pseu1))),2-,32)

    if (%read) {
      if (/* iswm %read) {
        if ($gettok(%read,1,32) == /me) { sockwrite -n %parleur PRIVMSG $hget(convers,canal) :ACTION $gettok(%read,2-,32) $+  }
        if ($gettok(%read,1,32) == /nick) { sockwrite -n %parleur NICK $gettok(%read,2,32) | hadd convers $iif(%parleur == discute1,pseu1,pseu2) $gettok(%read,2,32) }
      }
      else { sockwrite -n %parleur privmsg $hget(convers,canal) : $+ %read }
    }

    hadd convers lgactu $calc($hget(convers,lgactu) + 1)
  }
  else { .timerconvers off | conv.finish }
}

ALIAS -l conv.finish {
  .timer 1 1 sockwrite -n discute1 privmsg $hget(convers,canal) :bon, j'y vais, ciao $hget(convers,pseu2) !
  .timer 1 6 sockwrite -n discute2 privmsg $hget(convers,canal) :bye $hget(convers,pseu1) !
  .timer 1 8 sockwrite -n discute1 part $hget(convers,canal) :>> Addon conversation $conv.ver par eXtreniX ! <<>> http://membres.lycos.fr/intuirc/irc/Convers.zip <<
  .timer 1 10 sockwrite -n discute2 part $hget(convers,canal) :>> Addon conversation $conv.ver par eXtreniX ! <<>> http://membres.lycos.fr/intuirc/irc/Convers.zip <<
}
ALIAS -l conv.deco {
  if ($timer(convers)) { .timerconvers off }
  sockwrite -n discute* quit :>> Addon conversation $conv.ver par eXtreniX ! <<>> http://membres.lycos.fr/intuirc/irc/Convers.zip <<
}

ALIAS conv.ver {
  return v1.1
}

on 1:SOCKOPEN:discute*:{
  if ($hget(convers,connec $+ $mid($sockname,8)) != $ip $port) {
    sockwrite $sockname CONNECT $server $+ : $+ $port HTTP/1.0 $+ $CRLF $+ $CRLF
    sockwrite $sockname $CRLF
  }
  sockwrite -n $sockname user $rand(a,z) $+ $rand(a,z) $rand(a,z) $+ $rand(A,Z) $rand(a,z) $+ $rand(A,Z) : $rand(1,9) $+ $rand(1,9)
  if ($sockname == discute1) { sockwrite -n $sockname nick $hget(convers,pseu1) }
  if ($sockname == discute2) { sockwrite -n $sockname nick $hget(convers,pseu2) }
}

on 1:SOCKREAD:discute*:{
  if ($sockerr > 0) return
  sockread -f %tmp
  if ($sockbr == 0) return
  if ($left(%tmp,4) == PING) sockwrite -n $sockname PONG : $+ $gettok(%tmp,2,58)
  unset %tmp
}

}

;Copyright 2002-2003 eXtreniX
