mIRC Homepage
Posted By: bcancer need help please! - 26/10/07 11:20 PM
I made a small dialog for private offensive words and I cant get the trigger to work?

Code:
 
dialog spamdetect {
  title "Private Offensive"
  size -1 -1 88 75
  option dbu
  list 1, 2 3 50 59, size
  button "Add", 2, 57 6 24 9,flat
  button "Del", 3, 57 18 24 9,flat
  box "", 5, 53 0 33 60
  button "List", 6, 57 30 24 9,flat
  button "Close", 11, 57 42 24 9,flat,ok,cancel
}
on *:dialog:spamdetect:sclick:2:{
  .write spamdetect.txt $?="Spam Word To Add"
  dialog -x $dname
  dialog -dmn spamdetect spamdetect
}
on *:dialog:spamdetect:sclick:3:{
.write -ds $+ $?="Spam Word To Delete" spamdetect.txt
dialog -x $dname
dialog -dmn spamdetect spamdetect
}
on *:dialog:spamdetect:sclick:6:{
.run spamdetect.txt
}
on *:dialog:spamdetect:init:*:{ 
loadbuf -o $dname 1 $+(",$mircdir/spamdetect.txt,")
}

on *:open:?:*: {
var %Spamword = 1
while (%Spamword <= $lines(spamdetect.txt)) {
if ($+(*,$read(spamdetect.txt,%Spamword),*)  iswm $1-) {
.kick # $nick Private Offensive Language
.mode # +b $nick 2
    }
   inc %Spamword
  }
}
on ^*:notice:*:?: {
  var %Spamword = 1
while (%Spamword <= $lines(spamdetect.txt)) {
if ($+(*,$read(spamdetect.txt,%Spamword),*)  iswm $1-) {
      haltdef
    }
   inc %Spamword
  }
}
alias spamdetect {
inc %i
if (%i == 1) write spamdetect.txt
dialog -dmn spamdetect spamdetect
}


Posted By: Lpfix5 Re: need help please! - 27/10/07 01:37 AM
I don't see an issue your looping through your text file ok, it should pull up line by line Unless the entries are like

ajdjd ajjdad then i could see why its not working but if its

ajdjd
ajjdad

then everything should be fine

I can suggest this...

Code:
on *:open:?:*: {
  if ($regex($1-,/(myword|nextword|wow|I|can|choose|alot)/g) == 1) {
    .kick # $nick Private Offensive Language
    .mode # +b $nick 2
  }
}



Posted By: bcancer Re: need help please! - 27/10/07 01:47 AM
Not working
Posted By: Bekar Re: need help please! - 27/10/07 01:59 AM
'Not Working' is really not very helpful.

Read through this and give us some more details as to what is 'not working'.
Posted By: bcancer Re: need help please! - 27/10/07 02:02 AM
I did say before that it wont trigger unless its something else dunno, thats why i am asking help from real scripters.
Posted By: Lpfix5 Re: need help please! - 27/10/07 02:13 AM
Does it atleast kick users out of channels? if not then its based on your events?
Posted By: bcancer Re: need help please! - 27/10/07 02:15 AM
If I use on *:TEXT:*:#:{ yes it does kick from the channel but I want to use it for private spamwords so I want to use on *:open:?:*: { and on ^*:notice:*:?: {
Posted By: Lpfix5 Re: need help please! - 27/10/07 02:18 AM
Ok so A) your kicking using # it will not work since your not on the channel...

I mean use .kick #channel because on OPEN:?: << is for privmsg the OP can be on #mirc and msg you and you will not have the ability to kick him..


EDIT: Also try it this method too from earlier.

Code:
on *:open:?:*: {
  if ($regex($1-,/(myword|nextword|wow|I|can|choose|alot)/g) == 1) {
    .kick #mychannel $nick Private Offensive Language
    .mode #my channel +b $nick 2
  }
}

Posted By: bcancer Re: need help please! - 27/10/07 04:03 AM
Ok thanks guys.
Posted By: bcancer Re: need help please! - 27/10/07 05:21 PM
I cant seem to get ban type 2 to work, any ideal why it wont?
Posted By: Lpfix5 Re: need help please! - 27/10/07 09:25 PM
.ban #mychannel $nick 2
Posted By: bcancer Re: need help please! - 27/10/07 09:27 PM
Thax I must be going blind.
Posted By: Lpfix5 Re: need help please! - 27/10/07 09:31 PM
yw
Posted By: bcancer Re: need help please! - 29/10/07 12:18 AM
I found this swear script thats better then mine so I was wondering if it can be use for private swear spam instead of channel swear spam?
Can we just change:
on @!*:TEXT:*:#: {
to
on @!*:OPEN:?:*: {

Code:
alias swear { dialog -dmr sweard sweard }

dialog sweard {
  title " Swear"
  size -1 -1 342 330
  button "&Close",1, 205 305 60 20, cancel,flat
  list 2, 15 20 140 110, sort size  
  box "Swear Words",3, 5 5 160 153
  button "Add",4,  15 133 60 21,flat
  button "Remove",5, 80 133 74 20, autohs,flat
  box "Exempt Channels:",6, 170 5 161 153
  list 7, 180 20 140 110, sort size  
  button "Add",8, 180 133 60 21,flat
  button "Remove",9, 246 133 73 20, autohs,flat
  check "Kick Message:",10, 13 179 84 20
  box "Other Options",11, 5 156 326 142
  edit "",12, 99 179 225 20, autohs
  button "Ok",13, 270 305 60 20, ok,flat
  check "Exempt The Ops in the Channel", 14, 13 205 175 10 
  check "Exempt The Voices in the Channel", 15, 13 224 185 10
  edit "", 16, 112 238 50 20, autohs
  check "Set Ban Length:", 17, 13 240 99 20
  text "Seconds", 18, 165 240 50 20
  combo 19, 112 265 151 89, edit drop autohs 
  text "Select Ban Time", 21, 13 268 99 30  
}

on *:dialog:sweard:*:*:{
  if ($devent == init) {
    if ($readini($keke,options,ban)) { did -c $dname 17 }    
    if ($readini($keke,options,message)) { did -c $dname 10 }  
    if ($readini($keke,options,ops)) { did -c $dname 14 }
    if ($readini($keke,options,vops)) { did -c $dname 15 }
    did -a $dname 12 $readini($keke,options,message)    
    if ($readini($keke,options,secs)) { did -c $dname 17 }
    did -a $dname 16 $readini($keke,options,secs)
    did -i $dname 19 0 $readini($keke,options,punish)    
    .dlist 2 swear words 
    .dlist 7 exempt chan 
    did -f $dname 13
    did -a sweard 19 Kick
    did -a sweard 19 Kick and Ban 
    did -a sweard 19 None

  }    
  if ($devent == sclick) {
    if ($did(14).state == 1) { op_c }
    if ($did(15).state == 1) { vo_c }
    if ($did == 4) {
      var %t = $$?="Enter swear word $crlf $+ Separate multiple entries with a comma:"
      if ($numtok(%t,32) > 1) { %t = $replace(%t,$chr(32),$chr(160)) }
      .writeini $keke swear words $iif($readini($keke,swear,words),$+($ifmatch,$chr(44),%t),%t)
      dlist 2 swear words    
    }
    if ($did == 5) {
      var %tmp = $did(2).seltext
      if (%tmp) {
        if ($remtok($readini($keke,swear,words),%tmp,44)) { 
          .writeini $keke swear words $ifmatch 
        }
        else .remini $keke swear words
        .dlist 2 swear words      
      }
    }
    if ($did == 8) {
      var %t = $$?="Enter Channel Name $crlf $+ Separate multiple entries with a comma:"
      if ($chr(32) !isin %t) {
        .writeini $keke exempt chan $iif($readini($keke,exempt,chan),$+($ifmatch,$chr(44),%t),%t)
        dlist 7 exempt chan      
      }
    }
    if ($did == 9) {
      var %tmp = $did(7).seltext
      if (%tmp) {
        if ($remtok($readini($keke,exempt,chan),%tmp,44)) { 
          .writeini $keke exempt chan $ifmatch 
        }
        else .remini $keke exempt chan
        .dlist 7 exempt chan      
      }
    }


    if ($did == 13) {
      ; OK button,flat

      .writeini $keke options kick $iif($did(10).state == 1,$true,$false)
      .writeini $keke options message $iif($did(12),$ifmatch,$readini($keke,options,message))
      .writeini $keke options secs $iif($did(16) isnum 1-,$ifmatch,$readini($keke,options,secs))
      .writeini $keke options ops $iif($did(14).state == 1,$true,$false)
      .writeini $keke options vops $iif($did(15).state == 1,$true,$false)
      .writeini $keke options ban $iif($did(17).state == 1,$true,$false)
      .writeini $keke options punish $iif($did(19),$ifmatch,$readini($keke,options,punish))
    }
  }
}

on @!*:TEXT:*:#: {
  %swear.punish = $readini($keke,options,punish))
  if ($ischan) { return }  
  if ($readini($keke,options,ops)) { op_c }
  if ($readini($keke,options,vops)) { vo_c }
  if ($readini($keke,swear,words)) && ($match_text($1-)) {
    if (None isin %swear.punish) { return }    
    if (kick isin %swear.punish) {
      if (ban isin %swear.punish) {
        .raw kick $chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ mode $chan +b $mask($fulladdress,2)
        .timerswearunban 1 $readini($keke,options,secs) mode $chan -b $mask($fulladdress,2)
      }
      else { .raw kick $chan $nick $+(:,$readini($keke,options,message)) }
    }
  }
}

alias -l keke return $+(",$scriptdirswear.ini,")

alias -l ischan {
  var %i = $numtok($readini($keke,exempt,chan),44),%j
  while (%i > 0) {
    %j = $gettok($readini($keke,exempt,chan),%i,44)
    if (%j isin $chan) || ($2 == %j) { return $true }
    dec %i
  }
  return $false
}

alias -l match_text {
  var %i = $numtok($readini($keke,swear,words),44),%swear
  while (%i > 0) {
    %swear = $+(*,$replace($gettok($readini($keke,swear,words),%i,44),$chr(160),$chr(32)),*) 
    if ($wildtok($1-,%swear,1,44)) {
      return $true
    }
    dec %i
  }
}

alias op_c {
  if ($nick isop $chan) { halt }
}

alias vo_c {
  if ($nick isvo $chan) { halt }
}
alias -l dlist {
  var %a = 1
  did -r $dname $1
  while ($gettok($readini($keke,$2,$3),%a,44)) {
    did -az $dname $1 $ifmatch
    inc %a
  }
}
Posted By: Lpfix5 Re: need help please! - 29/10/07 03:53 AM
What a lengthy and intimidating script.

so I won't go deep into it because this basically has unless junk in it but first...

on @!*:TEXT:*:#: {
%swear.punish = $readini($keke,options,punish))
if ($ischan) { return }
if ($readini($keke,options,ops)) { op_c }
if ($readini($keke,options,vops)) { vo_c }
if ($readini($keke,swear,words)) && ($match_text($1-)) {
if (None isin %swear.punish) { return }
if (kick isin %swear.punish) {
if (ban isin %swear.punish) {
.raw kick $chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ mode $chan +b $mask($fulladdress,2)
.timerswearunban 1 $readini($keke,options,secs) mode $chan -b $mask($fulladdress,2)
}
else { .raw kick $chan $nick $+(:,$readini($keke,options,message)) }
}
}
}

What i've highlighted in red is an alias that's local that is called within the script that detects an exempt list of channel calculations.

>

Code:
alias -l ischan {
  var %i = $numtok($readini($keke,exempt,chan),44),%j
  while (%i > 0) {
    %j = $gettok($readini($keke,exempt,chan),%i,44)
    if (%j isin $chan) || ($2 == %j) { return $true }
    dec %i
  }
  return $false
}


This alias calls an ini file by another alias $keke which is usually because its a quote of $scriptdirpathfile Obviously the script is outdated or just simply wants to continue using the old method of quoting while $qt($cmd) could of simply be done.. as you can also see this script is abusing alias(es).

So if you did change On text to on open you run into factors A) the $ischan alias is completly useless. B) Simply regex matches can cut down the size of the script and the use of certain alias calls.

Either or, im not sure were you pick this script off from, It's good for on text event but in your case its useless without re-writting part of it.
Posted By: bcancer Re: need help please! - 29/10/07 11:14 AM
Ok tkanks for trying.
Posted By: Lpfix5 Re: need help please! - 29/10/07 01:14 PM
Well here you can have this just change the variable on top of the alias swear call with your own channel

Code:
alias swear { dialog -dmr sweard sweard | %s.chan = #mychannel }

dialog sweard {
  title " Swear"
  size -1 -1 342 330
  option pixels
  button "&Close", 1, 205 305 60 20, flat cancel
  list 2, 15 20 309 110, sort size
  box "Swear Words", 3, 5 6 325 153
  button "Add", 4, 109 133 60 21, flat
  button "Remove", 5, 173 133 74 20, flat
  check "Kick Message:", 10, 13 179 84 20
  box "Other Options", 11, 5 156 326 142
  edit "", 12, 99 179 225 20, autohs
  button "Ok", 13, 270 305 60 20, flat ok
  check "Exempt The Ops in the Channel", 14, 13 205 175 10
  check "Exempt The Voices in the Channel", 15, 13 224 185 10
  edit "", 16, 112 238 50 20, autohs
  check "Set Ban Length:", 17, 13 240 99 20
  text "Seconds", 18, 165 240 50 20
  combo 19, 112 265 151 89, edit drop
  text "Select Ban Time", 21, 13 268 99 30
}

on *:dialog:sweard:*:*:{
  if ($devent == init) {
    if ($readini($keke,options,ban)) { did -c $dname 17 }    
    if ($readini($keke,options,message)) { did -c $dname 10 }  
    if ($readini($keke,options,ops)) { did -c $dname 14 }
    if ($readini($keke,options,vops)) { did -c $dname 15 }
    did -a $dname 12 $readini($keke,options,message)    
    if ($readini($keke,options,secs)) { did -c $dname 17 }
    did -a $dname 16 $readini($keke,options,secs)
    did -i $dname 19 0 $readini($keke,options,punish)    
    .dlist 2 swear words 
    .dlist 7 exempt chan 
    did -f $dname 13
    did -a sweard 19 Kick
    did -a sweard 19 Kick and Ban 
    did -a sweard 19 None

  }    
  if ($devent == sclick) {
    if ($did(14).state == 1) { op_c }
    if ($did(15).state == 1) { vo_c }
    if ($did == 4) {
      var %t = $$?="Enter swear word $crlf $+ Separate multiple entries with a comma:"
      if ($numtok(%t,32) > 1) { %t = $replace(%t,$chr(32),$chr(160)) }
      .writeini $keke swear words $iif($readini($keke,swear,words),$+($ifmatch,$chr(44),%t),%t)
      dlist 2 swear words    
    }
    if ($did == 5) {
      var %tmp = $did(2).seltext
      if (%tmp) {
        if ($remtok($readini($keke,swear,words),%tmp,44)) { 
          .writeini $keke swear words $ifmatch 
        }
        else .remini $keke swear words
        .dlist 2 swear words      
      }
    }
    if ($did == 8) {
      var %t = $$?="Enter Channel Name $crlf $+ Separate multiple entries with a comma:"
      if ($chr(32) !isin %t) {
        .writeini $keke exempt chan $iif($readini($keke,exempt,chan),$+($ifmatch,$chr(44),%t),%t)
        dlist 7 exempt chan      
      }
    }
    if ($did == 9) {
      var %tmp = $did(7).seltext
      if (%tmp) {
        if ($remtok($readini($keke,exempt,chan),%tmp,44)) { 
          .writeini $keke exempt chan $ifmatch 
        }
        else .remini $keke exempt chan
        .dlist 7 exempt chan      
      }
    }


    if ($did == 13) {
      ; OK button,flat

      .writeini $keke options kick $iif($did(10).state == 1,$true,$false)
      .writeini $keke options message $iif($did(12),$ifmatch,$readini($keke,options,message))
      .writeini $keke options secs $iif($did(16) isnum 1-,$ifmatch,$readini($keke,options,secs))
      .writeini $keke options ops $iif($did(14).state == 1,$true,$false)
      .writeini $keke options vops $iif($did(15).state == 1,$true,$false)
      .writeini $keke options ban $iif($did(17).state == 1,$true,$false)
      .writeini $keke options punish $iif($did(19),$ifmatch,$readini($keke,options,punish))
    }
  }
}

on *:OPEN:?:*: {
  %swear.punish = $readini($keke,options,punish)) 
  if ($readini($keke,options,ops)) { op_c }
  if ($readini($keke,options,vops)) { vo_c }
  if ($readini($keke,swear,words)) && ($match_text($1-)) {
    if (None isin %swear.punish) { return }    
    if (kick isin %swear.punish) {
      if (ban isin %swear.punish) {
        .raw kick %s.chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ ban %s.chan $nick $mask($fulladdress,2)
        .ban $+(-u,$readini($keke,options,secs)) %s.chan $nick $mask($fulladdress,2)
      }
      else { .raw kick %s.chan $nick $+(:,$readini($keke,options,message)) }
    }
  }
}

alias -l keke return $+(",$scriptdirswear.ini,")

alias -l match_text {
  var %i = $numtok($readini($keke,swear,words),44),%swear
  while (%i > 0) {
    %swear = $+(*,$replace($gettok($readini($keke,swear,words),%i,44),$chr(160),$chr(32)),*) 
    if ($wildtok($1-,%swear,1,44)) {
      return $true
    }
    dec %i
  }
}

alias op_c {
  if ($nick isop %s.chan) { halt }
}

alias vo_c {
  if ($nick isvo %s.chan) { halt }
}
alias -l dlist {
  var %a = 1
  did -r $dname $1
  while ($gettok($readini($keke,$2,$3),%a,44)) {
    did -az $dname $1 $ifmatch
    inc %a
  }
}


I removed the exempt
Posted By: bcancer Re: need help please! - 29/10/07 04:10 PM
Cool thx.
I get this error:

* /did: 'sweard' invalid id '7' (line 133, dialog75.mrc)
Posted By: Lpfix5 Re: need help please! - 29/10/07 04:49 PM
Um in this event..

Code:
on *:dialog:sweard:*:*:{
  if ($devent == init) {
    if ($readini($keke,options,ban)) { did -c $dname 17 }    
    if ($readini($keke,options,message)) { did -c $dname 10 }  
    if ($readini($keke,options,ops)) { did -c $dname 14 }
    if ($readini($keke,options,vops)) { did -c $dname 15 }
    did -a $dname 12 $readini($keke,options,message)    
    if ($readini($keke,options,secs)) { did -c $dname 17 }
    did -a $dname 16 $readini($keke,options,secs)
    did -i $dname 19 0 $readini($keke,options,punish)    
    .dlist 2 swear words 
    .dlist 7 exempt chan 


Remove .dlist 7 exempt chan
Posted By: bcancer Re: need help please! - 29/10/07 05:05 PM
I get a new error:

* [test44] No such channel
* Error: /BAN is an unknown command.
Posted By: deegee Re: need help please! - 30/10/07 03:37 AM
Both of those errors are from this line
Code:
        .raw kick %s.chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ ban %s.chan $nick $mask($fulladdress,2)

"No such channel" - Apparently you don't have %s.chan defined.
"Unknown command" - /ban is a mIRC command, not an IRCd command.

Replace both these lines
Code:
        .raw kick $chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ mode $chan +b $mask($fulladdress,2)
        .timerswearunban 1 $readini($keke,options,secs) mode $chan -b $mask($fulladdress,2)
with this line
Code:
        ban $+(-ku,$iif($readini($keke,options,secs),$v1,600)) #CHANNEL $nick 2 $readini($keke,options,message
but first change "#CHANNEL" to the channel you want the user kicked from.

FWIW though, I think that's a pretty awful script, WAY too many $readini's IMHO.


Edit:
This replacement match_text alias will cut down on some of the file accesses...
Code:
alias -l match_text {
  var %i = 1,%a = $readini($keke,swear,words)
  while ($gettok(%a,%i,44)) {
    var %swear = $+(*,$replace($v1,$chr(160),$chr(32)),*) 
    if ($wildtok($1-,%swear,1,44)) { return $true }
    inc %i
  }
}
Posted By: Lpfix5 Re: need help please! - 30/10/07 04:16 AM
Lol I totally agree, sorry for the un-noticed ban mode
Posted By: bcancer Re: need help please! - 30/10/07 01:47 PM
* Invalid parameters: $readini (line 102, dialog75.mrc)
Posted By: Lpfix5 Re: need help please! - 30/10/07 05:22 PM
Can you type out //echo -a $read(dialog75.mrc,n,102) and paste the output
Posted By: bcancer Re: need help please! - 30/10/07 07:05 PM
$read(dialog75.mrc,n,102)
Posted By: Lpfix5 Re: need help please! - 30/10/07 08:01 PM
lol I meant in mirc then give me what it says here.
Posted By: RoCk Re: need help please! - 30/10/07 08:24 PM
He probably used only one /
Posted By: bcancer Re: need help please! - 30/10/07 09:06 PM
* /echo: insufficient parameters
Posted By: deegee Re: need help please! - 30/10/07 09:21 PM
  • //echo -a $read($script(dialog75.mrc),n,102)

Posted By: bcancer Re: need help please! - 30/10/07 09:28 PM
.ban $+(-ku,$iif($readini($keke,options,secs),$v1,600)) #test444 $nick 2 $readini($keke,options,message
Posted By: deegee Re: need help please! - 30/10/07 10:18 PM
Add a ) to the end
ban $+(-ku,$iif($readini($keke,options,secs),$v1,600)) #test444 $nick 2 $readini($keke,options,message)
Posted By: bcancer Re: need help please! - 31/10/07 02:45 AM
Ok I fixed that but still wont trigger, here is what I have so far:

Code:
alias swear { dialog -dmr sweard sweard | %s.chan = #test44 }

dialog sweard {
  title " Swear"
  size -1 -1 342 330
  option pixels
  button "&Close", 1, 205 305 60 20, flat cancel
  list 2, 15 20 309 110, sort size
  box "Swear Words", 3, 5 6 325 153
  button "Add", 4, 109 133 60 21, flat
  button "Remove", 5, 173 133 74 20, flat
  check "Kick Message:", 10, 13 179 84 20
  box "Other Options", 11, 5 156 326 142
  edit "", 12, 99 179 225 20, autohs
  button "Ok", 13, 270 305 60 20, flat ok
  check "Exempt The Ops in the Channel", 14, 13 205 175 10
  check "Exempt The Voices in the Channel", 15, 13 224 185 10
  edit "", 16, 112 238 50 20, autohs
  check "Set Ban Length:", 17, 13 240 99 20
  text "Seconds", 18, 165 240 50 20
  combo 19, 112 265 151 89, edit drop
  text "Select Ban Time", 21, 13 268 99 30
}

on *:dialog:sweard:*:*:{
  if ($devent == init) {
    if ($readini($keke,options,ban)) { did -c $dname 17 }    
    if ($readini($keke,options,message)) { did -c $dname 10 }  
    if ($readini($keke,options,ops)) { did -c $dname 14 }
    if ($readini($keke,options,vops)) { did -c $dname 15 }
    did -a $dname 12 $readini($keke,options,message)    
    if ($readini($keke,options,secs)) { did -c $dname 17 }
    did -a $dname 16 $readini($keke,options,secs)
    did -i $dname 19 0 $readini($keke,options,punish)    
    .dlist 2 swear words  
    did -f $dname 13
    did -a sweard 19 Kick
    did -a sweard 19 Kick and Ban 
    did -a sweard 19 None

  }    
  if ($devent == sclick) {
    if ($did(14).state == 1) { op_c }
    if ($did(15).state == 1) { vo_c }
    if ($did == 4) {
      var %t = $$?="Enter swear word $crlf $+ Separate multiple entries with a comma:"
      if ($numtok(%t,32) > 1) { %t = $replace(%t,$chr(32),$chr(160)) }
      .writeini $keke swear words $iif($readini($keke,swear,words),$+($ifmatch,$chr(44),%t),%t)
      dlist 2 swear words    
    }
    if ($did == 5) {
      var %tmp = $did(2).seltext
      if (%tmp) {
        if ($remtok($readini($keke,swear,words),%tmp,44)) { 
          .writeini $keke swear words $ifmatch 
        }
        else .remini $keke swear words
        .dlist 2 swear words      
      }
    }
    if ($did == 8) {
      var %t = $$?="Enter Channel Name $crlf $+ Separate multiple entries with a comma:"
      if ($chr(32) !isin %t) {
        .writeini $keke exempt chan $iif($readini($keke,exempt,chan),$+($ifmatch,$chr(44),%t),%t)
        dlist 7 exempt chan      
      }
    }
    if ($did == 9) {
      var %tmp = $did(7).seltext
      if (%tmp) {
        if ($remtok($readini($keke,exempt,chan),%tmp,44)) { 
          .writeini $keke exempt chan $ifmatch 
        }
        else .remini $keke exempt chan
        .dlist 7 exempt chan      
      }
    }


    if ($did == 13) {
      ; OK button,flat

      .writeini $keke options kick $iif($did(10).state == 1,$true,$false)
      .writeini $keke options message $iif($did(12),$ifmatch,$readini($keke,options,message))
      .writeini $keke options secs $iif($did(16) isnum 1-,$ifmatch,$readini($keke,options,secs))
      .writeini $keke options ops $iif($did(14).state == 1,$true,$false)
      .writeini $keke options vops $iif($did(15).state == 1,$true,$false)
      .writeini $keke options ban $iif($did(17).state == 1,$true,$false)
      .writeini $keke options punish $iif($did(19),$ifmatch,$readini($keke,options,punish))
    }
  }
}

on *:OPEN:?:*: {
  %swear.punish = $readini($keke,options,punish)) 
  if ($readini($keke,options,ops)) { op_c }
  if ($readini($keke,options,vops)) { vo_c }
  if ($readini($keke,swear,words)) && ($match_text($1-)) {
    if (None isin %swear.punish) { return }    
    if (kick isin %swear.punish) {
      if (ban isin %swear.punish) {
      .ban $+(-ku,$iif($readini($keke,options,secs),$v1,600)) #test44 $nick 2 $readini($keke,options,message)
      }
      else { .raw kick $chan $nick $+(:,$readini($keke,options,message)) }
    }
  }
}

alias -l keke return $+(",$scriptdirswear.ini,")

alias -l match_text {
  var %i = 1,%a = $readini($keke,swear,words)
  while ($gettok(%a,%i,44)) {
    var %swear = $+(*,$replace($v1,$chr(160),$chr(32)),*) 
    if ($wildtok($1-,%swear,1,44)) { return $true }
    inc %i
  }
}

alias op_c {
  if ($nick isop %s.chan) { halt }
}

alias vo_c {
  if ($nick isvo %s.chan) { halt }
}
alias -l dlist {
  var %a = 1
  did -r $dname $1
  while ($gettok($readini($keke,$2,$3),%a,44)) {
    did -az $dname $1 $ifmatch
    inc %a
  }
}
Posted By: Bekar Re: need help please! - 31/10/07 04:27 AM
-- Removed due to being incorrect --
Posted By: Lpfix5 Re: need help please! - 31/10/07 05:54 AM
Oops, good catch thats what happens when your tired.
Posted By: Bekar Re: need help please! - 31/10/07 08:42 AM
Actually, no. I'm wrong. Checked the help page when I got home.

ON TEXT is that order, ON OPEN is reversed, just for the 'ol confusing wink
Posted By: Lpfix5 Re: need help please! - 31/10/07 02:28 PM
Hmph, that seemed an incorrect order to myself. I guess my brain still functions when tired lol
Posted By: deegee Re: need help please! - 31/10/07 07:31 PM
Originally Posted By: bcancer
Ok I fixed that but still wont trigger, here is what I have so far:

* deegee wonders where the errors came from if the script didn't trigger... confused



You'll need to change the $chan in this line also
Code:
      else { .raw kick $chan $nick $+(:,$readini($keke,options,message)) }
Not really a lot of use to use /raw for a kick either...
Code:
      else { !kick #CHANNEL $nick $readini($keke,options,message) }

Posted By: Lpfix5 Re: need help please! - 31/10/07 07:47 PM
I would seriously re-write the whole script and use Variables to carry the words and use TOK commands to loop through etc..
Posted By: deegee Re: need help please! - 31/10/07 08:06 PM
I would suggest using a hash table wink
Posted By: bcancer Re: need help please! - 01/11/07 08:26 PM
Its working fine now accept for kicking or banning the exact bad word exemple:
sex ok to ban but not to ban sexy
can that be fix?
Posted By: bcancer Re: need help please! - 01/11/07 11:26 PM
Lpfix5 if you find time please sure re-write it all with a dialog of course hehe thx.
Posted By: Lpfix5 Re: need help please! - 02/11/07 01:21 AM
This is why regex is good
© mIRC Discussion Forums