mIRC mode

x
 
1
;AKA Nick Tracker by Ford_Lawnmower irc.GeekShed.net #Script-Help
2
;*****************************************************************************;
3
;**Start Setup
4
;Change JoinDisplay, below, for On Join AKA Display. On = 1 - Off = 0
5
alias -l JoinDisplay { return 1 }
6
;Change MaxNicks, below, to the number of nicknames you want to store for each hostmask. I wouldn't go over 400 with this ;/
7
alias -l MaxNicks { return 20 }
8
;Change AKALogo, below, To the text you want displayed before each AKA result.
9
alias -l AKALogo { return 06 05A06K07A 06 }
10
;**End Setup
11
;*****************************************************************************;
12
On *:Join:#: {
13
  if ($nick == $me) { .timer 1 1 ialupdateCheck $chan }
14
  NickNamesAdd $nick $+($network,$wildsite)
15
  if ($JoinDisplay) { .timerNickNames $+ $nick 1 2 NickNames.display $nick $chan $network $wildsite }
16
}
17
on *:Nick: { NickNamesAdd $newnick $+($network,$wildsite) $nick }
18
alias -l NickNames.display {
19
  if ($gettok($hget(NickNames,$+($3,$4)),0,126) > 1) {
20
    echo -g $2 $AKALogo $+(09,$1) $AKALogo 07 $mid($replace($hget(NickNames,$+($3,$4)),$chr(126),$chr(44)),2,-1)
21
  }
22
}
23
alias -l NickNamesAdd {
24
  if ($hget(NickNames,$2)) {
25
    if (!$regex($hget(NickNames,$2),/~\Q $+ $replacecs($1,\E,\E\\E\Q) $+ \E~/i)) {
26
      if ($gettok($hget(NickNames,$2),0,126) <= $MaxNicks) {
27
        hadd NickNames $2 $+($hget(NickNames,$2),$1,~)
28
      }
29
      else {
30
        hadd NickNames $2 $+($mid($hget(NickNames,$2),$pos($hget(NickNames,$2),~,2)),$1,~)
31
      }
32
    }
33
  }
34
  else {
35
    hadd -m NickNames $2 $+(~,$1,~,$iif($3,$+($3,~)))
36
  }
37
}
38
alias -l Fix.All.MindUser {
39
  var %Fix.Count = $hfind(NickNames,/[^~]+[0-9]{4}~/,0,r).data
40
  while (%Fix.Count) {
41
    if ($Fix.MindUser($hget(NickNames,$hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data))) {
42
      echo -ag Record %Fix.Count - $v1 - Was Cleaned
43
      hadd NickNames $hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data $v1
44
    }
45
    dec %Fix.Count
46
  }
47
}
48
alias -l Fix.MindUser { return $regsubex($1,/[^~]+[0-9]{4}~/g,$null) }
49
menu nicklist,query {
50
  -
51
  .AKA
52
  ..Check $$1: {
53
    if ($gettok($hget(NickNames,$+($network,$address($1,2))),0,126) > 1) {
54
      NickNames.display $1 $active $network $address($1,2)
55
    }
56
    else { echo -ag $AKALogo $+(09,$1) 07has not been known by any other nicknames while I have been watching. }
57
  }
58
  ..Cleanup $$1:hadd NickNames $+($network,$address($1,2)) $fix.minduser($hget(NickNames,$+($network,$address($1,2))))
59
  ..Clear $$1:hadd NickNames $+($network,$address($1,2)) $+(~,$1,~)
60
  ..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
61
  -
62
}
63
menu status,channel {
64
  -
65
  .AKA
66
  ..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
67
  ..Clean All Records:Fix.All.Minduser
68
  -
69
}
70
dialog AKA_Search {
71
  title "AKA Search Engine"
72
  size -1 -1 206 221
73
  option dbu
74
  edit "", 1, 8 5 149 10, autohs
75
  button "Search", 2, 163 4 32 12
76
  radio "Search HostMask", 4, 61 22 55 10
77
  radio "Search Nicknames", 5, 123 22 56 10
78
  list 6, 8 38 190 169, sort extsel vsbar
79
  button "Check Selected", 7, 67 206 40 12
80
  button "Close", 8, 160 206 38 12, cancel
81
  box "Search Type", 3, 11 17 183 18
82
  button "Copy to Clipboard", 9, 111 206 46 12
83
}
84
On *:Dialog:Aka_Search:init:*: { did -c $dname 5 }
85
On *:Dialog:Aka_Search:Sclick:2,7,9: {
86
  if ($did == 2) && ($did($dname,1)) {
87
    did -r $dname 6
88
    var %search $+(*,$v1,*), %type $iif($did($dname,5).state,data,item), %matches = $hfind(NickNames,%search,0,w). [ $+ [ %type ] ]
89
    while (%matches) {
90
      did -a $dname 6 $hfind(NickNames,%search,%matches,w). [ $+ [ %type ] ]
91
      dec %matches
92
    }
93
    did -c $dname 6 1
94
  }
95
  elseif ($did == 7) && ($did($dname,6).seltext) { echo -ga $AKALogo 07 $mid($replace($hget(NickNames,$v1),$chr(126),$chr(44)),2,-1) }
96
  elseif ($did == 9) && ($did($dname,6).seltext) { clipboard $mid($v1,$pos($v1,*,1)) }
97
}
98
On *:Start:{
99
  if (!$hget(NickNames)) { hmake NickNames 10 }
100
  if ($isfile(NickNames.hsh)) { hload  NickNames NickNames.hsh }
101
}
102
On *:Exit: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
103
On *:Disconnect: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
104
On *:Unload: { hfree NickNames }
105
alias -l ialupdateCheck {
106
  inc -z $+(%,ialupdateCheck,$network) $calc($nick($1,0) / 4)
107
  ;If your ial is already being updated on join .who $1 out.
108
  ;If you are using /names to update ial you will still need this line.
109
  .who $1
110
}
111
Raw 352:*: {
112
  if (jQuery($+(%,ialupdateCheck,$network),2)) haltdef
113
  NickNamesAdd $6 $+($network,$address($6,2))
114
}
115
Raw 315:*: {
116
  if (jQuery($+(%,ialupdateCheck,$network),2)) haltdef
117
}
118
119

MIME types defined: text/mirc.