shitlist version 1.2

By [-Superboyz-] on Nov 11, 2004

try and make remote for this shitlist !
have fun - !

;Superboyz - Indonesia
;Version 1.2 Shitlist
;#cool-china@dalnet
menu channel {
  Shit list:/dialog -m shitlist shitlist
}
#Shitlister on
dialog Shitlist {
  title "Shitlister"
  size -1 -1 90 145
  option dbu

  tab "Add", 1, 5 5 80 110
  tab "Del", 2
  tab "Edit", 3 

  ;Add Tab
  edit "Channel", 4, 10 25 25 10, read tab 1
  combo 5, 35 25 45 100, dropdown sort autohs tab 1

  edit "Nick", 6, 10 35 25 10, read tab 1
  combo 7, 35 35 45 100, dropdown sort autohs tab 1

  edit "Address", 8, 10 45 25 10, read tab 1
  combo 9, 35 45 45 100, dropdown autohs tab 1

  edit "On", 10, 10 55 25 10, read tab 1
  combo 11, 35 55 45 100, dropdown sort autohs tab 1

  box "Information" 23, 10 70 70 45, tab 1
  edit "", 24, 15 80 60 30, multi read autohs tab 1

  ;Del Tab
  box "Nick",12, 10 25 70 45, tab 2 
  list 13, 15 35 60 40, sort autohs tab 2

  box "Information" 14, 10 70 70 45, tab 2
  edit "", 15, 15 80 60 30, multi read autohs tab 2

  ;Edit Tab
  box "Nick",16, 10 25 70 45, tab 3
  list 17, 15 35 60 40, sort autohs tab 3

  box "Information" 18, 10 70 70 45, tab 3

  edit "Address", 19, 15 80 25 10, read tab 3
  combo 20, 40 80 35 100, dropdown tab 3

  edit "On", 21, 15 90 25 10, read tab 3
  combo 22, 40 90 35 100, dropdown tab 3

  edit "Status", 30, 15 100 25 10, read tab 3
  combo 31, 40 100 35 100, dropdown tab 3

  check "Notice when?", 25, 5 125 42 10
  button "Add", 26, 49 125 20 10
  button "Del", 27, 49 125 20 10
  button "Update", 28, 49 125 20 10
  button "Done", 29, 70 125 20 10, ok

  text "Important Note: To re-add someone to your shitlist, change their status to active under edit!", 32, 5 135 85 140

}

on *:DIALOG:shitlist:sclick:1: {
  did -h shitlist 27,28
  did -v shitlist 26
}
on *:DIALOG:shitlist:sclick:2: {
  did -h shitlist 26,28
  did -v shitlist 27
  if ($exists(shitlist.ini) != $true) { write -c shitlist.ini | goto done }
  unset %temp*
  set %temp1 $readini shitlist.ini Settings NOSL 
  did -r shitlist 13
  if (%temp1 == $null) { goto done }
  :start
  inc %temp2
  if (%temp2 > %temp1) { goto done }
  did -a shitlist 13 %temp2 $+ . $readini Shitlist.ini [ $readini Shitlist.ini Shitlisted %temp2 ] Nick
  goto start
  :done
  unset %temp*
}
on *:DIALOG:shitlist:sclick:3: {
  did -h shitlist 26,27
  did -v shitlist 28
  unset %temp*
  if ($exists(shitlist.ini) != $true) { write -c shitlist.ini | goto done }
  set %temp1 $readini shitlist.ini Settings NOSL 
  did -r shitlist 17
  if (%temp1 == $null) { goto done }
  :start
  inc %temp2
  if (%temp2 > %temp1) { goto done }
  did -a shitlist 17 %temp2 $+ . $readini Shitlist.ini [ $readini Shitlist.ini Shitlisted %temp2 ] Nick
  goto start
  :done
  unset %temp*
}
on *:DIALOG:shitlist:init:*: {
  did -h shitlist 27,28
  did -v shitlist 26
  unset %temp*
  set %temp1 $chan(0)
  :start
  inc %temp2
  if (%temp2 > %temp1) goto done
  did -a shitlist 5,11,22 $chan(%temp2)
  goto start
  :done
  did -a shitlist 11,22 All Channels...
  did -a shitlist 24 Nick: $crlf $+  Address: $crlf $+ Channel(s): $crlf $+ Status: Inactive
  did -a shitlist 31 Active
  did -a shitlist 31 Inactive
  if ($readini shitlist.ini Settings Notice == $true) { did -c shitlist 25 }
}
on *:DIALOG:shitlist:sclick:5: {
  if ($did(5) == $null) { halt }
  did -r shitlist 7
  .ial on
  .enable #HideWho
  who $did(5)
  unset %temp*
  set %temp1 $nick($did(5),0)
  :start
  inc %temp2
  if (%temp2 > %temp1) goto done
  did -a shitlist 7 $nick($did(5),%temp2)
  goto start
  :done
  unset %temp*
}

on *:DIALOG:shitlist:sclick:7: {
  did -r shitlist 9
  unset %temp*
  set %temp1 20
  :start
  inc %temp2
  if (%temp2 > %temp1) goto done
  if ((%temp2 > 4) && (%temp2 < 10)) goto start
  if ((%temp2 > 14) && (%temp2 < 21)) goto start
  did -a shitlist 9 $address($did(7),%temp2)
  goto start
  :done
  unset %temp*
  did -r shitlist 24
  did -a shitlist 24 Nick: $did(7) $crlf $+ Address: $did(9) $crlf $+ Channel(s): $did(11) $crlf $+ Status: Inactive
}

on *:DIALOG:shitlist:sclick:9: {
  did -r shitlist 24
  did -a shitlist 24 Nick: $did(7) $crlf $+ Address: $did(9) $crlf $+ Channel(s): $did(11) $crlf $+ Status: Inactive
}
on *:DIALOG:shitlist:sclick:11: {
  did -r shitlist 24
  did -a shitlist 24 Nick: $did(7) $crlf $+ Address: $did(9) $crlf $+ Channel(s): $did(11) $crlf $+ Status: Inactive
}

on *:DIALOG:shitlist:sclick:26: {
  if (($did(5) == $null) || ($did(7) == $null) || ($did(9) == $null) || ($did(11) == $null)) { goto done }
  if ($exists(shitlist.ini) == $false) { write -c shitlist.ini }
  if ($did(25).state == 1) { writeini shitlist.ini Settings Notice $true }
  if ($did(25).state == 0) { writeini shitlist.ini Settings Notice $false }
  if ($readini shitlist.ini Settings Notice == $true) { .notice $did(7,$did(7).sel) You've been added to my shitlist on $did(11,$did(11).sel) congrats! }
  writeini shitlist.ini Shitlisted $shitlistnumber $slac($did(9,$did(9).sel))
  writeini shitlist.ini $slac($did(9,$did(9).sel)) Nick $did(7,$did(7).sel)
  writeini shitlist.ini $slac($did(9,$did(9).sel)) Address $did(9,$did(9).sel)
  writeini shitlist.ini $slac($did(9,$did(9).sel)) Channels $did(11,$did(11).sel)
  writeini shitlist.ini $slac($did(9,$did(9).sel)) Status Active
  did -r shitlist 24
  did -a shitlist 24 Nick: $did(7) $crlf $+ Address: $did(9) $crlf $+ Channel(s): $did(11) $crlf $+ Status: Active
  :done
}
on *:DIALOG:shitlist:sclick:28: {
  if ($did(17,$did(17).sel) == $null) { goto done }
  if ($did(25).state == 1) { writeini shitlist.ini Settings Notice $true }
  if ($did(25).state == 0) { writeini shitlist.ini Settings Notice $false }
  unset %temp*
  set %temp1 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Nick
  set %temp2 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Address
  set %temp2 $slacb(%temp2)
  set %temp3 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Channels
  set %temp4 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Status
  remini shitlist.ini $slac(%temp2)
  if ($did(20) == $null) { writeini shitlist.ini Shitlisted $did(17).sel $slac(%temp2) }
  if ($did(20) != $null) { writeini shitlist.ini Shitlisted $did(17).sel $slac($did(20)) }
  set %temp2 $readini shitlist.ini Shitlisted $did(17).sel 
  writeini shitlist.ini [ %temp2 ] Nick %temp1
  writeini shitlist.ini [ %temp2 ] Address %temp2
  if ($did(22) == $null) { writeini shitlist.ini [ %temp2 ] Channels %temp3 }
  if ($did(22) != $null) { writeini shitlist.ini [ %temp2 ] Channels $did(22) }
  if ($did(31) == $null) { writeini shitlist.ini [ %temp2 ] Status %temp4 }
  if ($did(31) != $null) { writeini shitlist.ini [ %temp2 ] Status $did(31) }
  :done
}
on *:DIALOG:shitlist:sclick:13: {
  unset %temp*
  set %temp1 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Nick
  set %temp2 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Address
  set %temp2 $slacb(%temp2)
  set %temp3 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Channels
  set %temp4 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Status
  did -r shitlist 15
  did -a shitlist 15 Nick: %temp1 $crlf $+ Address: %temp2 $crlf $+ Channel(s): %temp3 $crlf $+ Status: %temp4
  unset %temp*
}

on *:DIALOG:shitlist:sclick:17: {
  unset %temp*
  set %temp2 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Address
  set %temp2 $slacb(%temp2)
  set %temp3 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Channels
  set %temp4 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Status
  did -r shitlist 20,22
  unset %temp*
  set %temp1 14
  set %temp3 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(17).sel ] Nick
  .enable #HIDEWHO
  .who %temp3
  .disable #HIDEWHO
  :start
  inc %temp2
  if (%temp2 > %temp1) goto done
  if ((%temp2 > 4) && (%temp2 < 10)) goto start
  did -a shitlist 20 $address(%temp3,%temp2)
  goto start
  :done
  unset %temp*
  set %temp1 $chan(0)
  :start2
  inc %temp2
  if (%temp2 > %temp1) { goto done2 }
  did -a shitlist 22 $chan(%temp2) 
  goto start2
  :done2
  did -a shitlist 22 All Channels...
  unset %temp*
}

on *:DIALOG:shitlist:sclick:27: {
  if ($did(13,$did(13).sel) == $null) { goto done }
  if ($did(25).state == 1) { writeini shitlist.ini Settings Notice $true }
  if ($did(25).state == 0) { writeini shitlist.ini Settings Notice $false }
  set %temp1 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Nick
  set %temp2 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Address
  set %temp2 $slacb(%temp2)
  set %temp3 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Channels
  set %temp4 $readini shitlist.ini [ $readini shitlist.ini Shitlisted $did(13).sel ] Status
  if ($readini shitlist.ini Settings Notice == $true) { .notice %temp1 You've been deleted from my shitlist, shithead! }
  writeini shitlist.ini $slac(%temp2) Status Inactive
  did -r shitlist 15
  did -a shitlist 15 Nick: %temp1 $crlf $+ Address: %temp2 $crlf $+ Channel(s): %temp3 $crlf $+ Status: Inactive
  :done
}

alias slac {
  set %tempaddress $replace($1-,$chr(42),$chr(164))
  return %tempaddress
}
alias slacb {
  set %tempaddress $replace($1-,$chr(164),$chr(42))
  return %tempaddress
}

alias shitlistnumber { 
  if ($readini shitlist.ini Settings NOSL == $null) { writeini shitlist.ini Settings NOSL 0 }
  set %shitlist.temp $readini shitlist.ini Settings NOSL
  inc %shitlist.temp 
  writeini shitlist.ini Settings NOSL %shitlist.temp
  return %shitlist.temp
}
on *:JOIN:#:{
  unset %temp*
  if ($exists(shitlist.ini) == $false) { write -c shitlist.ini | goto done }
  set %temp1 $readini Shitlist.ini Settings NOSL
  if (%temp1 == $null) { goto done }
  :start
  inc %temp2
  if (%temp2 > %temp1) { goto done }
  set %temp3 $readini Shitlist.ini Shitlisted %temp2
  set %temp3 $slacb(%temp3)
  if (%temp3 ISWM $address($nick,0)) {
    set %temp4 $readini Shitlist.ini $slac(%temp3) Channels
    if ((%temp4 == $chan) || (%temp4 == All Channels...)) { 
      set %temp5 $readini Shitlist.ini $slac(%temp3) Status
      if (%temp5 == Active) { 
        mode $chan +b %temp3
        kick $chan $nick Sory yah tapi kamu blon bisa masuk dulu sekarang 
        goto done
      }
    }
  }
  goto start
  :done
  unset %temp*
}
#Shitlister End
}
alias shit1 { if ($group(#Shitlister) != On) { halt } }
alias shit2 { if ($group(#Shitlister) == On) { halt } }
;Nice Loaded

Comments

Sign in to comment.
[-DDC-]Darkness   -  Mar 28, 2008

Hmm. It\'s not bad.
However
I think you should make it a little bigger, so you can see the bottom part of dialog....

Shitlister on

dialog Shitlist {
title \"Shitlister\"
size -1 -1 90 145
option dbu

Change it to:

Shitlister on

dialog Shitlist {
title \"Shitlister\"
size -1 -1 95 170
option dbu

Also, change

edit \"Address\", 8, 10 45 25 10, read tab 1
combo 9, 35 45 45 100, dropdown autohs tab 1

to

edit \"Address\", 8, 10 45 30 10, read tab 1
combo 9, 35 45 45 100, dropdown autohs tab 1

All in all, however, it\'s a good script. I havent tried out the actual kick and ban and all that good stuff yet, but Im sure it\'ll work pretty well. ^_^

Well done.

7/10

 Respond  
`Kazuma   -  Dec 10, 2005

Lol. Yes, but it\'s still nice and does a goob job. Though the dialog was a bit small for the note at the bottom so I had to edit that.

 Respond  
Yoinx   -  Dec 10, 2005

Yeah `Kazuma, but, anytime you add a dialog... the code gets huge... I know since I use a lot myself.

 Respond  
`Kazuma   -  Dec 10, 2005

Pretty big for a shitlist..

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.