|
|
@ -0,0 +1,279 @@ |
|
|
|
; mIRC Scribble 1.5, for mIRC v5.3 and up |
|
|
|
; by Brennen Bearnes (with thanks to Gurney, who's been a great help when |
|
|
|
; I'm stuck. Which happens more than it really ought to...) |
|
|
|
|
|
|
|
; To be honest, this script isn't very good. As an alternative, I'd suggest MarkP's |
|
|
|
; Shared Whiteboard script, which can be found at: |
|
|
|
; http://www3.nbnet.nb.ca/pacman/scripts.html |
|
|
|
|
|
|
|
; Anyway, if you still want to use this, here's how it works. If DCC mode is off, |
|
|
|
; it only allows 2 users, since any more would quickly flood you off the server. |
|
|
|
; Just do "/scribble <nick>" (if you don't put in a nick, it asks you for one), and |
|
|
|
; your scribbles will be sent via MSG to the other user. |
|
|
|
|
|
|
|
; If it's in DCC mode, all open DCC chats at the time you run /scribble will be |
|
|
|
; sent to. Just open a DCC chat to the other user(s), and run /scribble. |
|
|
|
|
|
|
|
; A custom window named @Scribble will pop up, just select the tool you want |
|
|
|
; to use from the listbox, and start scribbling. Right-clicking brings up a popup |
|
|
|
; with colors, line & dot size, etc. |
|
|
|
|
|
|
|
alias scribble { |
|
|
|
if %mSActive != 1 { |
|
|
|
if %mSDCC == on { |
|
|
|
if $chat(0) == 0 { |
|
|
|
echo $colour(info text) -se No DCC chats currently open. You need at least one DCC chat window open to use Scribble in DCC mode. Either turn DCC mode off, or open a DCC chat to the person you're sending to. |
|
|
|
halt |
|
|
|
} |
|
|
|
elseif $chat(0) >= 1 { |
|
|
|
%mSNum = $chat(0) |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
if $len($1) > 0 { |
|
|
|
%mSNick = $1 |
|
|
|
} |
|
|
|
else { |
|
|
|
%mSNick = $?="Send scribbles to:" |
|
|
|
} |
|
|
|
} |
|
|
|
%mSActive = 1 |
|
|
|
%mSLine = 1 |
|
|
|
%mSBox = 1 |
|
|
|
%mSDotSize = 2 |
|
|
|
%mSLineSize = 1 |
|
|
|
%mSColor = 1 |
|
|
|
window -l9p @Scribble @Scribble |
|
|
|
.enable #ScribbleAliases |
|
|
|
.enable #ScribbleMenus |
|
|
|
.enable #ScribbleEvents |
|
|
|
aline -l @scribble Dot |
|
|
|
aline -l @scribble Line |
|
|
|
aline -l @scribble Box |
|
|
|
aline -l @scribble FilledBox |
|
|
|
aline -l @scribble Ellipse |
|
|
|
aline -l @scribble Text |
|
|
|
aline -l @scribble Eraser |
|
|
|
if %mSDCC == on { titlebar @Scribble to $chat(0) DCC Windows } |
|
|
|
else { titlebar @Scribble to %mSNick } |
|
|
|
} |
|
|
|
else { |
|
|
|
echo $colour(info text) -se A Scribble session is already open. |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
#ScribbleAliases off |
|
|
|
alias mSMSG { |
|
|
|
if %mSDCC == on { |
|
|
|
%mSLoop = %mSNum |
|
|
|
:StartMSG |
|
|
|
msg = $+ $chat(%mSLoop) $$1- |
|
|
|
dec %mSLoop 1 |
|
|
|
if %mSLoop > 0 { goto StartMSG } |
|
|
|
unset %mSLoop |
|
|
|
} |
|
|
|
else { |
|
|
|
msg %mSNick $$1- |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
alias mSDraw { |
|
|
|
if $$1 == (@DOT { |
|
|
|
drawdot @scribble $$2 $$3 $$4 $$5 |
|
|
|
} |
|
|
|
elseif $$1 == (@LINE { |
|
|
|
drawline @scribble $$2 $$3 $$4 $$5 $$6 $$7 |
|
|
|
} |
|
|
|
elseif $$1 == (@BOX { |
|
|
|
drawrect @scribble $$2 $$3 $$4 $$5 $$6 $$7 |
|
|
|
} |
|
|
|
elseif $$1 == (@FULLBOX { |
|
|
|
drawrect -f @scribble $$2 $$3 $$4 $$5 $$6 $$7 |
|
|
|
} |
|
|
|
elseif $$1 == (@ELLIPSE { |
|
|
|
drawrect -e @scribble $$2 $$3 $$4 $$5 $$6 $$7 |
|
|
|
} |
|
|
|
elseif $$1 == (@TEXT { |
|
|
|
drawtext @scribble $$2- |
|
|
|
} |
|
|
|
elseif $$1 == (@ERASE { |
|
|
|
drawrect -f @scribble 0 $$3 $$4 $$5 $$6 $$7 |
|
|
|
} |
|
|
|
elseif $$1 == (@CLEAR { |
|
|
|
clear @scribble |
|
|
|
} |
|
|
|
} |
|
|
|
#ScribbleAliases end |
|
|
|
|
|
|
|
menu menubar { |
|
|
|
- |
|
|
|
Scribble Options |
|
|
|
.DCC Mode ( $+ %mSDCC $+ ):{ |
|
|
|
if %mSActive != 1 { |
|
|
|
if %mSDCC == on { |
|
|
|
%mSDCC = off |
|
|
|
echo $colour(info text) -se Scribbles will be sent through private messages (careful, you could flood yourself off this way) |
|
|
|
} |
|
|
|
else { |
|
|
|
%mSDCC = on |
|
|
|
echo $colour(info text) -se Scribbles will be sent through DCC |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
echo $colour(info text) -se Sorry, you can't switch modes while a scribble session is active. |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
menu query { |
|
|
|
Scribble:/scribble |
|
|
|
} |
|
|
|
|
|
|
|
#ScribbleMenus off |
|
|
|
menu @scribble { |
|
|
|
sclick:{ |
|
|
|
%mSTool = $sline(@scribble,1) |
|
|
|
if %mSTool == Dot { |
|
|
|
drawdot @scribble %mSColor %mSDotSize $mouse.x $mouse.y |
|
|
|
mSMSG (@DOT %mSColor %mSDotSize $mouse.x $mouse.y |
|
|
|
} |
|
|
|
elseif %mSTool == Line { |
|
|
|
if %mSLine == 1 { |
|
|
|
drawdot @scribble %mSColor 1 $mouse.x $mouse.y |
|
|
|
%mSx = $mouse.x |
|
|
|
%mSy = $mouse.y |
|
|
|
%mSLine = 2 |
|
|
|
} |
|
|
|
elseif %mSLine == 2 { |
|
|
|
drawline @scribble %mSColor %mSLineSize %mSx %mSy $mouse.x $mouse.y |
|
|
|
mSMSG (@LINE %mSColor %mSLineSize %mSx %mSy $mouse.x $mouse.y |
|
|
|
%mSLine = 1 |
|
|
|
} |
|
|
|
} |
|
|
|
elseif (%mSTool == Text) { |
|
|
|
%mSText = $$?="Text:" |
|
|
|
%mSTextSize = $$?="Text size:" |
|
|
|
drawtext @Scribble %mSColor %mSFont %mSTextSize $mouse.x $mouse.y %mSText |
|
|
|
mSMSG (@TEXT %mSColor %mSFont %mSTextSize $mouse.x $mouse.y %mSText |
|
|
|
unset %mSText |
|
|
|
unset %mSTextSize |
|
|
|
} |
|
|
|
elseif (%mSTool == Box) || (%mSTool == FilledBox) || (%mSTool == Ellipse) || (%mSTool == Eraser) { |
|
|
|
if %mSBox == 1 { |
|
|
|
drawdot @scribble %mSColor 1 $mouse.x $mouse.y |
|
|
|
%mSx = $mouse.x |
|
|
|
%mSy = $mouse.y |
|
|
|
%mSBox = 2 |
|
|
|
} |
|
|
|
elseif %mSBox == 2 { |
|
|
|
%mSBx = $mouse.x |
|
|
|
%mSBy = $mouse.y |
|
|
|
if (%mSBx < %mSx) { %mSTemp = %mSBx | %mSBx = %mSx | %mSx = %mSTemp | unset %mSTemp } |
|
|
|
if (%mSBy < %mSy) { %mSTemp = %mSBy | %mSBy = %mSy | %mSy = %mSTemp | unset %mSTemp } |
|
|
|
%mSBx = %mSBx - %mSx |
|
|
|
%mSBy = %mSBy - %mSy |
|
|
|
if (%mSTool == Box) { |
|
|
|
drawrect @scribble %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
mSMSG (@BOX %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
} |
|
|
|
elseif (%mSTool == FilledBox) { |
|
|
|
drawrect -f @scribble %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
mSMSG (@FULLBOX %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
} |
|
|
|
elseif (%mSTool == Eraser) { |
|
|
|
drawrect -f @scribble 0 %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
mSMSG (@ERASE 0 %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
} |
|
|
|
elseif (%mSTool == Ellipse) { |
|
|
|
drawrect -e @scribble %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
mSMSG (@ELLIPSE %mSColor %mSLineSize %mSx %mSy %mSBx %mSBy |
|
|
|
} |
|
|
|
%mSBox = 1 |
|
|
|
unset %mSBx |
|
|
|
unset %mSBy |
|
|
|
} |
|
|
|
} |
|
|
|
unset %mSTool |
|
|
|
} |
|
|
|
Clear:{ |
|
|
|
clear @scribble |
|
|
|
mSMSG (@CLEAR |
|
|
|
} |
|
|
|
Color |
|
|
|
.0:%mSColor = 0 |
|
|
|
.1:%mSColor = 1 |
|
|
|
.2:%mSColor = 2 |
|
|
|
.3:%mSColor = 3 |
|
|
|
.4:%mSColor = 4 |
|
|
|
.5:%mSColor = 5 |
|
|
|
.6:%mSColor = 6 |
|
|
|
.7:%mSColor = 7 |
|
|
|
.8:%mSColor = 8 |
|
|
|
.9:%mSColor = 9 |
|
|
|
.10:%mSColor = 10 |
|
|
|
.11:%mSColor = 11 |
|
|
|
.12:%mSColor = 12 |
|
|
|
.13:%mSColor = 13 |
|
|
|
.14:%mSColor = 14 |
|
|
|
.15:%mSColor = 15 |
|
|
|
Line Size |
|
|
|
.1:%mSLineSize = 1 |
|
|
|
.2:%mSLineSize = 2 |
|
|
|
.3:%mSLineSize = 3 |
|
|
|
.4:%mSLineSize = 4 |
|
|
|
.5:%mSLineSize = 5 |
|
|
|
.10:%mSLineSize = 10 |
|
|
|
.20:%mSLineSize = 20 |
|
|
|
.Other:%mSLineSize = $$?="Line size:" |
|
|
|
Dot Size |
|
|
|
.1:%mSDotSize = 1 |
|
|
|
.2:%mSDotSize = 2 |
|
|
|
.3:%mSDotSize = 3 |
|
|
|
.4:%mSDotSize = 4 |
|
|
|
.5:%mSDotSize = 5 |
|
|
|
.10:%mSDotSize = 10 |
|
|
|
.20:%mSDotSize = 20 |
|
|
|
.Other:%mSDotSize = $$?="Dot size:" |
|
|
|
Font:%mSFont = " $+ $$?="Font:" $+ " |
|
|
|
} |
|
|
|
|
|
|
|
#ScribbleMenus end |
|
|
|
|
|
|
|
on 1:LOAD:{ |
|
|
|
%mSDCC = off |
|
|
|
%mSFont = "Arial" |
|
|
|
} |
|
|
|
|
|
|
|
#ScribbleEvents off |
|
|
|
on 1:TEXT:(@*:?:{ |
|
|
|
mSDraw $1- |
|
|
|
} |
|
|
|
|
|
|
|
on 1:CHAT:(@*:{ |
|
|
|
mSDraw $1- |
|
|
|
} |
|
|
|
|
|
|
|
on 1:CLOSE:=:{ |
|
|
|
%mSNum = %mSNum - 1 |
|
|
|
toolbar @Scribble to $chat(0) DCC windows |
|
|
|
} |
|
|
|
|
|
|
|
on 1:CLOSE:@scribble:{ |
|
|
|
if %mSDCC == off { echo $colour(info text) -se Ending scribble session with %mSNick } |
|
|
|
else { echo $colour(info text) -se Ending DCC scribble session } |
|
|
|
.disable #ScribbleAliases |
|
|
|
.disable #ScribbleMenus |
|
|
|
.disable #ScribbleEvents |
|
|
|
unset %mSNick |
|
|
|
unset %mSNum |
|
|
|
unset %mSActive |
|
|
|
unset %mSBox |
|
|
|
unset %mSLine |
|
|
|
unset %mSBox |
|
|
|
unset %mSDotSize |
|
|
|
unset %mSLineSize |
|
|
|
unset %mSColor |
|
|
|
unset %mSx |
|
|
|
unset %mSy |
|
|
|
} |
|
|
|
#ScribbleEvents end |