;IRcap8 1ce58dd14dd8b1df69049c8859535d88

#asis.autocarga on
on 1:start: cargasis
#asis.autocarga end

alias CARGAsis .gload asis %asis.char $+ .acs | .gshow asis %asis.pos | if $group(#asis.mueve) == on .timerASISMUEVE -o 0 300 asismueve

alias ASISmueve gasis .gmove asis $rand(1,$calc($window(-1).w - 100)) $rand(1,$calc($window(-1).h - 150))

alias GHABLA  if $group(#asis.habla) == on gasis .gtalk asis $1- | else gasis .gtalk -k asis $1-
alias GASIS if $agent(asis).visible == $true $1-

#asis.priv off
on 1:text:*:?: ghabla $nick : $strip($1-)
on 1:chat:*: ghabla $nick : $strip($1-)
on ^1:NOTICE:*:*: if %nospam == on { nospam $1- | if $result != $null halt } | if $ulevel != 69 ghabla $nick notice: $strip($1-)
on ^1:INVITE:#: ghabla $nick te invita a entrar en $chan
#asis.priv end

#asis.canal off
on 1:text:*:#: ghabla $nick : $strip($1-)
#asis.canal end

#asis.conecta on
on 1:connect: .timer 1 1 ghabla Conectado a $server
on 1:disconnect: .timer 1 1 ghabla Desconectado de $server
#asis.conecta end

#asis.join on
on +20:JOIN:*: .timer 1 1 ghabla Entrando en $chan
#asis.join end

#asis.control on
on +20!:OP:*: .timer 1 1 ghabla $nick te da OP en $chan
on +20!:DEOP:*: .timer 1 1 ghabla $nick te quita el OP en $chan
on +20!:KICK:#: .timer 1 1 ghabla $nick te ha expulsado de $chan
#asis.control end

#asis.notify on
on 1:NOTIFY: set %asis.notify %asis.notify $nick | .timerASISNOTIFY 1 1 ghabla %asis.notify entra | .timerASISNOTIFY2 1 1 unset %asis.notify
on 1:UNOTIFY: set %asis.notify %asis.notify $nick | .timerASISNOTIFY 1 1 ghabla %asis.notify sale | .timerASISNOTIFY2 1 1 unset %asis.notify
#asis.notify end

#asis.habla on
#asis.habla end
#asis.mueve on
#asis.mueve end


alias asiSET {
  if $dialog(Agente) == $null dialog -m Agente agentet
}

dialog agentet {
  title "Agente Setup"
  size -1 -1 300 228
  combo 1,56 20 70 170,edit drop
  combo 2,16 140 120 170,edit drop
  check "cargar al iniciar IRcap",3,16 50 124 24
  check "pronuncia texto",4,16 70 100 24
  check "mover",5,16 90 60 24
  check "Lee texto en privados",6,160 20 126 24
  check "Lee texto en canales",7,160 40 126 24
  check "Conectar/desconectar",8,160 60 126 24
  check "Entrar en canales",9,160 80 126 24
  check "Ops / Deops / Kicks",10,160 100 126 24
  check "Nicks en Notify",11,160 120 126 24

  box "Agente",100,6 6 140 110
  box "Animaciones",101,6 120 140 50
  box "Eventos",102,150 6 140 214
  text "Char.",103,12 24 40 24,right

  button "Cerrar",200,6 194 140 25, ok
  button "Fijar pos.",201,96 90 50 25
}

on 1:DIALOG:Agente:init:*: {
  did -r agente 1 | did -a agente 1 %asis.char
  var %asis.n = 1
  while ($agent(%asis.n).char != $null) {
    did -a agente 1 $remove($agent(%asis.n).char,.acs) | inc %asis.n 1
  }
  did -c agente 1 1 | .timer -m 1 200 did -d agente 1 1

  .timer 1 1 asisllenamov

  if $group(#asis.autocarga) == on  did -c agente 3
  if $group(#asis.habla) == on  did -c agente 4
  if $group(#asis.mueve) == on  did -c agente 5
  if $group(#asis.priv) == on  did -c agente 6
  if $group(#asis.canal) == on  did -c agente 7
  if $group(#asis.conecta) == on  did -c agente 8
  if $group(#asis.join) == on  did -c agente 9
  if $group(#asis.control) == on  did -c agente 10
  if $group(#asis.notify) == on  did -c agente 11
}

on 1:DIALOG:agente:sclick:*: {  
  if $did == 1 {
    .gunload asis | set %asis.char $did(agente,1) | cargasis | .timer 1 1 asisllenamov
  }
  if $did == 2 .gplay asis $did(agente,2)
  if $did == 3 { if $group(#asis.autocarga) == on .disable #asis.autocarga | else .enable #asis.autocarga }
  if $did == 4 { if $group(#asis.habla) == on .disable #asis.habla | else .enable #asis.habla }
  if $did == 5 { if $group(#asis.mueve) == on { .disable #asis.mueve | .timerASISMUEVE off } | else { .enable #asis.mueve | .timerASISMUEVE -o 0 300 asismueve } }
  if $did == 6 { if $group(#asis.priv) == on .disable #asis.priv | else .enable #asis.priv }
  if $did == 7 { if $group(#asis.canal) == on .disable #asis.canal | else .enable #asis.canal }
  if $did == 8 { if $group(#asis.conecta) == on .disable #asis.conecta | else .enable #asis.conecta }
  if $did == 9 { if $group(#asis.join) == on .disable #asis.join | else .enable #asis.join }
  if $did == 10 { if $group(#asis.control) == on .disable #asis.control | else .enable #asis.control }
  if $did == 11 { if $group(#asis.notify) == on .disable #asis.notify | else .enable #asis.notify }
  if $did == 201 { set %asis.pos $agent(asis).x $agent(asis).y }

}

alias ASISLLENAMOV {
  did -r agente 2 | var %asis.n = 1 | var %asis.nn = $agent(asis,0).anim
  while (%asis.n < %asis.nn) {
    did -a agente 2 $agent(asis,%asis.n).anim | inc %asis.n 1
  }
}

menu menubar {
  MSagent: asiset
}

[ADDON]
nombre=MS Agents
autor=GSi
ver=1.2
web=http://www.ircap.com
desc=Mascotas virtuales con sintetizador de voz (sólo español).
