mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-12-24 17:41:52 +00:00
161 lines
5.6 KiB
HTML
161 lines
5.6 KiB
HTML
|
<!doctype html>
|
|||
|
|
|||
|
<title>CodeMirror: mIRC mode</title>
|
|||
|
<meta charset="utf-8"/>
|
|||
|
<link rel=stylesheet href="../../doc/docs.css">
|
|||
|
|
|||
|
<link rel="stylesheet" href="../../lib/codemirror.css">
|
|||
|
<link rel="stylesheet" href="../../theme/twilight.css">
|
|||
|
<script src="../../lib/codemirror.js"></script>
|
|||
|
<script src="mirc.js"></script>
|
|||
|
<style>.CodeMirror {border: 1px solid black;}</style>
|
|||
|
<div id=nav>
|
|||
|
<a href="http://codemirror.net"><img id=logo src="../../doc/logo.png"></a>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><a href="../../index.html">Home</a>
|
|||
|
<li><a href="../../doc/manual.html">Manual</a>
|
|||
|
<li><a href="https://github.com/marijnh/codemirror">Code</a>
|
|||
|
</ul>
|
|||
|
<ul>
|
|||
|
<li><a href="../index.html">Language modes</a>
|
|||
|
<li><a class=active href="#">mIRC</a>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
|
|||
|
<article>
|
|||
|
<h2>mIRC mode</h2>
|
|||
|
<form><textarea id="code" name="code">
|
|||
|
;AKA Nick Tracker by Ford_Lawnmower irc.GeekShed.net #Script-Help
|
|||
|
;*****************************************************************************;
|
|||
|
;**Start Setup
|
|||
|
;Change JoinDisplay, below, for On Join AKA Display. On = 1 - Off = 0
|
|||
|
alias -l JoinDisplay { return 1 }
|
|||
|
;Change MaxNicks, below, to the number of nicknames you want to store for each hostmask. I wouldn't go over 400 with this ;/
|
|||
|
alias -l MaxNicks { return 20 }
|
|||
|
;Change AKALogo, below, To the text you want displayed before each AKA result.
|
|||
|
alias -l AKALogo { return 06 05A06K07A 06 }
|
|||
|
;**End Setup
|
|||
|
;*****************************************************************************;
|
|||
|
On *:Join:#: {
|
|||
|
if ($nick == $me) { .timer 1 1 ialupdateCheck $chan }
|
|||
|
NickNamesAdd $nick $+($network,$wildsite)
|
|||
|
if ($JoinDisplay) { .timerNickNames $+ $nick 1 2 NickNames.display $nick $chan $network $wildsite }
|
|||
|
}
|
|||
|
on *:Nick: { NickNamesAdd $newnick $+($network,$wildsite) $nick }
|
|||
|
alias -l NickNames.display {
|
|||
|
if ($gettok($hget(NickNames,$+($3,$4)),0,126) > 1) {
|
|||
|
echo -g $2 $AKALogo $+(09,$1) $AKALogo 07 $mid($replace($hget(NickNames,$+($3,$4)),$chr(126),$chr(44)),2,-1)
|
|||
|
}
|
|||
|
}
|
|||
|
alias -l NickNamesAdd {
|
|||
|
if ($hget(NickNames,$2)) {
|
|||
|
if (!$regex($hget(NickNames,$2),/~\Q $+ $replacecs($1,\E,\E\\E\Q) $+ \E~/i)) {
|
|||
|
if ($gettok($hget(NickNames,$2),0,126) <= $MaxNicks) {
|
|||
|
hadd NickNames $2 $+($hget(NickNames,$2),$1,~)
|
|||
|
}
|
|||
|
else {
|
|||
|
hadd NickNames $2 $+($mid($hget(NickNames,$2),$pos($hget(NickNames,$2),~,2)),$1,~)
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
hadd -m NickNames $2 $+(~,$1,~,$iif($3,$+($3,~)))
|
|||
|
}
|
|||
|
}
|
|||
|
alias -l Fix.All.MindUser {
|
|||
|
var %Fix.Count = $hfind(NickNames,/[^~]+[0-9]{4}~/,0,r).data
|
|||
|
while (%Fix.Count) {
|
|||
|
if ($Fix.MindUser($hget(NickNames,$hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data))) {
|
|||
|
echo -ag Record %Fix.Count - $v1 - Was Cleaned
|
|||
|
hadd NickNames $hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data $v1
|
|||
|
}
|
|||
|
dec %Fix.Count
|
|||
|
}
|
|||
|
}
|
|||
|
alias -l Fix.MindUser { return $regsubex($1,/[^~]+[0-9]{4}~/g,$null) }
|
|||
|
menu nicklist,query {
|
|||
|
-
|
|||
|
.AKA
|
|||
|
..Check $$1: {
|
|||
|
if ($gettok($hget(NickNames,$+($network,$address($1,2))),0,126) > 1) {
|
|||
|
NickNames.display $1 $active $network $address($1,2)
|
|||
|
}
|
|||
|
else { echo -ag $AKALogo $+(09,$1) 07has not been known by any other nicknames while I have been watching. }
|
|||
|
}
|
|||
|
..Cleanup $$1:hadd NickNames $+($network,$address($1,2)) $fix.minduser($hget(NickNames,$+($network,$address($1,2))))
|
|||
|
..Clear $$1:hadd NickNames $+($network,$address($1,2)) $+(~,$1,~)
|
|||
|
..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
|
|||
|
-
|
|||
|
}
|
|||
|
menu status,channel {
|
|||
|
-
|
|||
|
.AKA
|
|||
|
..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
|
|||
|
..Clean All Records:Fix.All.Minduser
|
|||
|
-
|
|||
|
}
|
|||
|
dialog AKA_Search {
|
|||
|
title "AKA Search Engine"
|
|||
|
size -1 -1 206 221
|
|||
|
option dbu
|
|||
|
edit "", 1, 8 5 149 10, autohs
|
|||
|
button "Search", 2, 163 4 32 12
|
|||
|
radio "Search HostMask", 4, 61 22 55 10
|
|||
|
radio "Search Nicknames", 5, 123 22 56 10
|
|||
|
list 6, 8 38 190 169, sort extsel vsbar
|
|||
|
button "Check Selected", 7, 67 206 40 12
|
|||
|
button "Close", 8, 160 206 38 12, cancel
|
|||
|
box "Search Type", 3, 11 17 183 18
|
|||
|
button "Copy to Clipboard", 9, 111 206 46 12
|
|||
|
}
|
|||
|
On *:Dialog:Aka_Search:init:*: { did -c $dname 5 }
|
|||
|
On *:Dialog:Aka_Search:Sclick:2,7,9: {
|
|||
|
if ($did == 2) && ($did($dname,1)) {
|
|||
|
did -r $dname 6
|
|||
|
var %search $+(*,$v1,*), %type $iif($did($dname,5).state,data,item), %matches = $hfind(NickNames,%search,0,w). [ $+ [ %type ] ]
|
|||
|
while (%matches) {
|
|||
|
did -a $dname 6 $hfind(NickNames,%search,%matches,w). [ $+ [ %type ] ]
|
|||
|
dec %matches
|
|||
|
}
|
|||
|
did -c $dname 6 1
|
|||
|
}
|
|||
|
elseif ($did == 7) && ($did($dname,6).seltext) { echo -ga $AKALogo 07 $mid($replace($hget(NickNames,$v1),$chr(126),$chr(44)),2,-1) }
|
|||
|
elseif ($did == 9) && ($did($dname,6).seltext) { clipboard $mid($v1,$pos($v1,*,1)) }
|
|||
|
}
|
|||
|
On *:Start:{
|
|||
|
if (!$hget(NickNames)) { hmake NickNames 10 }
|
|||
|
if ($isfile(NickNames.hsh)) { hload NickNames NickNames.hsh }
|
|||
|
}
|
|||
|
On *:Exit: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
|
|||
|
On *:Disconnect: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
|
|||
|
On *:Unload: { hfree NickNames }
|
|||
|
alias -l ialupdateCheck {
|
|||
|
inc -z $+(%,ialupdateCheck,$network) $calc($nick($1,0) / 4)
|
|||
|
;If your ial is already being updated on join .who $1 out.
|
|||
|
;If you are using /names to update ial you will still need this line.
|
|||
|
.who $1
|
|||
|
}
|
|||
|
Raw 352:*: {
|
|||
|
if ($($+(%,ialupdateCheck,$network),2)) haltdef
|
|||
|
NickNamesAdd $6 $+($network,$address($6,2))
|
|||
|
}
|
|||
|
Raw 315:*: {
|
|||
|
if ($($+(%,ialupdateCheck,$network),2)) haltdef
|
|||
|
}
|
|||
|
|
|||
|
</textarea></form>
|
|||
|
<script>
|
|||
|
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
|||
|
theme: "twilight",
|
|||
|
lineNumbers: true,
|
|||
|
matchBrackets: true,
|
|||
|
indentUnit: 4,
|
|||
|
mode: "text/mirc"
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<p><strong>MIME types defined:</strong> <code>text/mirc</code>.</p>
|
|||
|
|
|||
|
</article>
|