alias protection {
  if $dialog(protection) = $null { dialog -ma protection protection }
}

dialog protection {
  icon pst.ico, 0
  title "Настройка защиты [/protection]"
  size -1 -1 249 228
  icon 1004, 50 5 150 35, SYSTEM\IMAGES\protection.png, 0, noborder
  tab "Деоп", 1, 5 45 238 183
  box "Защита от деопа", 2, 12 75 224 114, tab 1
  text "Действия при деопе:", 3, 19 89 200 16, tab 1
  radio "Ничего не делать (выкл)", 4, 35 105 200 20, tab 1 group
  radio "Вернуть оп через ChanServ", 5, 35 125 200 20, tab 1
  radio "Кикнуть обидчика с канала", 6, 35 145 200 20, tab 1
  radio "Кикнуть и поставить бан обидчику", 7, 35 165 200 20, tab 1
  tab "Кик", 20
  box "Зашита от кика", 8, 12 75 224 114, tab 20
  text "Действия при кике:", 9, 19 89 200 16, tab 20
  radio "Ничего не делать (выкл)", 10, 35 105 200 20, tab 20 group
  radio "Вернуться на канал", 11, 35 125 200 20, tab 20
  radio "Кикнуть обидчика с канала", 12, 35 145 200 20, tab 20
  radio "Кикнуть и поставить бан обидчику", 13, 35 165 200 20, tab 20
  tab "Бан", 21
  box "Защита от бана", 14, 12 75 224 114, tab 21
  text "Действия при бане:", 15, 19 89 200 16, tab 21
  radio "Ничего не делать (выкл)", 16, 35 105 200 20, tab 21 group
  radio "Разбанить себя", 17, 35 125 200 20, tab 21
  radio "Кикнуть обидчика с канала", 18, 35 145 200 20, tab 21
  radio "Кикнуть и поставить бан обидчику", 19, 35 165 200 20, tab 21
  button "Ок", 100, 9 195 75 20, cancel
  button "Применить", 101, 85 195 75 20, ok
  button "Отменить", 102, 161 195 80 20, ok
}

on *:dialog:protection:sclick:100: {
  if ($did(protection,4).state = 1) { /set %deopprotect off }
  if ($did(protection,5).state = 1) { /set %deopprotect op }
  if ($did(protection,6).state = 1) { /set %deopprotect kick }
  if ($did(protection,7).state = 1) { /set %deopprotect kickban }
  if ($did(protection,10).state = 1) { /set %kickprotect off }
  if ($did(protection,11).state = 1) { /set %kickprotect rejoin }
  if ($did(protection,12).state = 1) { /set %kickprotect kick }
  if ($did(protection,13).state = 1) { /set %kickprotect kickban }
  if ($did(protection,16).state = 1) { /set %banprotect off }
  if ($did(protection,17).state = 1) { /set %banprotect unban }
  if ($did(protection,18).state = 1) { /set %banprotect kick }
  if ($did(protection,19).state = 1) { /set %banprotect kickban }

}

on *:dialog:protection:init:*: {
  if %deopprotect = off { did -c protection 4 }
  if %deopprotect = op { did -c protection 5 }
  if %deopprotect = kick { did -c protection 6 }
  if %deopprotect = kickban { did -c protection 7 }
  if %kickprotect = off { did -c protection 10 }
  if %kickprotect = rejoin { did -c protection 11 }
  if %kickprotect = kick { did -c protection 12 }
  if %kickprotect = kickban { did -c protection 13 }
  if %banprotect = off { did -c protection 16 }
  if %banprotect = unban { did -c protection 17 }
  if %banprotect = kick { did -c protection 18 }
  if %banprotect = kickban { did -c protection 19 }
}
on *:deop:#:{
  if (($opnick == $me) && ($nick != $me)) {
    if (%deopprotect = off) { /halt }
    if (%deopprotect = op) { /msg chanserv op $chan $me | echo %skin.sys $nick попытался деопнуть тебя на $chan | /halt }
    if (%deopprotect = kick) { /msg chanserv op $chan $me | echo %skin.sys $nick попытался деопнуть тебя на $chan | /msg chanserv kick $chan $nick %kick.msg | /halt }
    if (%deopprotect = kickban) { /msg chanserv op $chan $me | echo %skin.sys $nick попытался деопнуть тебя на $chan | /mode $chan +b $address($nick,2) | .timer 1 1 /msg chanserv kick $chan $nick %kick.msg | /halt }
  }
}

on *:kick:#: {
  if (($knick != $me) || ($nick == $me)) { /halt }
  if (($nick == $me) && (%kickmsg.random == on)) { /set %kick.msg $read files\txt\kick.txt }
  if (%kickprotect = off) { /halt }
  if (%kickprotect = rejoin) { /msg chanserv invite $chan $me | .timer 1 1 /join $chan | echo %skin.sys $nick попытался кикнуть тебя на $chan | /halt }
  if (%kickprotect = kick) { if (($knick == $me) && ($nick != $me) && ($nick != Chanserv)) {
    /msg chanserv invite $chan $me | .timer 1 1 /join $chan | /msg chanserv kick $chan $nick %kick.msg | echo %skin.sys $nick попытался кикнуть тебя на $chan | /halt }
    else if (($knick == $me) && ($nick != $me) && ($nick == Chanserv)) {
    /msg chanserv invite $chan $me | .timer 1 1 /join $chan | /msg chanserv kick $chan $3 %kick.msg | echo %skin.sys $3 попытался кикнуть тебя на $chan | /halt }
  }
  if (%kickprotect = kickban) { if (($knick == $me) && ($nick != $me) && ($nick != Chanserv)) {
    /msg chanserv invite $chan $me | .timer 1 1 /join $chan | .timer 1 1 /mode $chan +b $address($nick,2) | /msg chanserv kick $chan $nick %kick.msg | echo %skin.sys $nick попытался кикнуть тебя на $chan | /halt }
    else if (($knick == $me) && ($nick != $me) && ($nick == Chanserv)) {
    /msg chanserv invite $chan $me | .timer 1 1 /join $chan | .timer 1 1 /mode $chan +b $address($3,2) | /msg chanserv kick $chan $3 %kick.msg | echo %skin.sys $3 попытался кикнуть тебя на $chan | /halt }
  }
}

on *:ban:#:{
  if (($banmask iswm $address($me,5)) && ($nick != $me)) {
    if (%banprotect = off) { /halt }
    if (%banprotect = unban) { /mode $chan -b $banmask | echo %skin.sys $nick попытался забанить тебя на $chan | /halt }
    if (%banprotect = kick) { /mode $chan -b $banmask | /msg chanserv kick $chan $nick %kick.msg | /halt }
    if (%banprotect = kickban) { /mode $chan -b $banmask | /mode $chan +b $address($nick,2) | .timer 1 1 /msg chanserv kick $chan $nick %kick.msg | /mode $chan -b $banmask | .timer 1 10 /mode $chan -b $banmask | /halt }
  }
}
