m-MUD — File Browser
m-MUDv0.0.2 / m-MUDv0.0.2 / mmud.mrc
mmud.mrc — 18.02 KB — Download this file
;;;;; EDIT TIS IS SPACING IS OFF. IT'S EITHER GOING TO BE 255 or 160
alias space_character { return 160 }
alias stchr { return $chr($space_character) }
dialog mmud_connect {
title "m-MUD v0.0.2"
size -1 -1 196 63
option dbu
list 1, 0 0 195 32, sort size
text "Server", 2, 2 34 101 8
text "Port", 3, 119 34 74 8
button "Connect", 4, 154 50 37 12
button "Add", 5, 4 50 28 12
button "Delete", 6, 36 50 28 12
button "Properties", 7, 68 50 28 12
button "Extras", 8, 100 50 28 12
}
dialog mmud_prop {
title "m-MUD Server Properties: "
size -1 -1 135 152
option dbu
text "Editing Properties for [server]", 1, 0 2 173 8
box "MUD Window", 2, 0 10 135 50
edit "", 4, 30 18 50 10, autohs
text "Font Name:", 3, 2 19 28 8, right
text "Font Size:", 5, 2 29 28 8, right
edit "", 6, 30 28 50 10, autohs
edit "", 7, 30 37 50 10, autohs
text "Height:", 8, 2 38 28 8, right
text "Width:", 9, 2 48 28 8, right
edit "", 10, 30 47 50 10, autohs
edit "", 11, 110 18 20 10, autohs
text "X:", 12, 84 19 25 8, right
edit "", 13, 110 28 20 10, autohs
text "Y:", 14, 84 29 25 8, right
box "Other", 15, 0 60 135 52
check "Logging", 16, 2 68 50 10
check "Echo text Sent to MUD", 17, 2 78 95 10
check "Enable Command Stacking", 18, 2 88 95 10
text "Stack Char:", 19, 2 100 30 8
edit "", 20, 32 98 50 10, limit 1
box "Address / Port", 21, 0 113 135 23
text "Address:", 22, 3 123 25 8
edit "", 23, 26 122 52 10, autohs
text "Port:", 24, 79 123 15 8
edit "", 25, 94 122 27 10, autohs
button "Save", 26, 0 138 37 12
button "Exit", 27, 98 138 37 12
check "Strip Colors", 28, 80 68 50 10
text "Text Label", 29, 1 163 25 8
}
on *:DIALOG:mmud_*:*:* {
if ($dname == mmud_connect) {
if ($did == 0 && $devent == init) {
var %i = 1, %c = 0
did -r $dname 1
while (%i <= $findfile($scriptdir $+ servers\,*.ini,0,0)) {
var %p = $findfile($scriptdir $+ servers\,*.ini,%i,0)
var %name = $nopath($remove(%p,.ini)), %host = $readini(%p,connection,address), %port = $readini(%p,connection,port)
var %c = 1
did -a $dname 1 %name
inc %i
}
did -b $dname 8
}
if ($devent == sclick) {
if ($did == 1) {
if ($did(1).seltext != $null) {
var %file = $scriptdir $+ servers\ $+ $did(1).seltext $+ .ini
var %host = $readini(%file,connection,address), %port = $readini(%file,connection,port)
did -ra $dname 2 %host
did -ra $dname 3 %port
}
}
if ($did == 5) {
VAR %name = $input(Please enter a name to call this server., eogq, m-MUD New Server, New Mud Server)
if (%name != $null) {
var %host = $input(Please enter an address to connect to the MUD., eogq, m-MUD New Server, mud.nmudserv.org)
if (%host != $null) {
var %port = $input(Please enter an address to connect to the MUD., eogq, m-MUD New Server, 23)
if (%port != $null) {
if (%port !isnum 0-) {
var %a = $input(Your port number is not valid. It has been changed to 23 $+ $chr(44) the default port., ogw, m-MUD New Server)
var %port = 23
}
var %name = $gettok(%name,1,32)
if ($isfile($scriptdir $+ servers\ $+ %name $+ .ini) == $true) {
var %a = $input(Sorry. You already have a server with this name, ogw, m-MUD New Server)
if (%a) { return }
}
else {
var %file = $+($scriptdir,servers\,%name,.ini)
writeini $+(",%file,") connection address %host
writeini $+(",%file,") connection port %port
writeini $+(",%file,") window font Courier New
writeini $+(",%file,") window x 0
writeini $+(",%file,") window y 0
writeini $+(",%file,") window width 640
writeini $+(",%file,") window height 480
writeini $+(",%file,") window fontsize 12
writeini $+(",%file,") options echo 1
writeini $+(",%file,") options logging 0
writeini $+(",%file,") options cmdstack 1
writeini $+(",%file,") options cmdchar ;
writeini $+(",%file,") options strip 0
writeini $+(",%file,") aliases enabled 1
var %a = $input(Server Added!, ogi, m-MUD New Server)
var %i = 1, %c = 0
did -r $dname 1
while (%i <= $findfile($scriptdir $+ servers\,*.ini,0,0)) {
var %p = $findfile($scriptdir $+ servers\,*.ini,%i,0)
var %name = $nopath($remove(%p,.ini)), %host = $readini(%p,connection,address), %port = $readini(%p,connection,port)
var %c = 1
did -a $dname 1 %name
inc %i
}
if (%a) { return }
}
}
}
}
}
if ($did == 6) {
if ($did(1).seltext != $null) {
var %a = $input(Are you sure you want to delete $chr(34) $+ $did(1).seltext $+ $chr(34) $+ ?, ygq, m-MUD Server Delete)
if (%a == $true) {
if (%m-mud.curserver) {
mMudDisconnect $+
}
if ($isfile($+( $scriptdir ,servers\,$did(1).seltext,.ini)) == $true) { .remove $+(",$scriptdir,servers\,$did(1).seltext,.ini,") }
if ($isfile($+( $scriptdir ,servers\,$did(1).seltext,.trg)) == $true) { .remove $+(",$scriptdir,servers\,$did(1).seltext,.trg,") }
var %a = $input(Server Removed, ogi, m-MUD Server Delete)
var %i = 1, %c = 0
did -r $dname 1
while (%i <= $findfile($scriptdir $+ servers\,*.ini,0,0)) {
var %p = $findfile($scriptdir $+ servers\,*.ini,%i,0)
var %name = $nopath($remove(%p,.ini)), %host = $readini(%p,connection,address), %port = $readini(%p,connection,port)
var %c = 1
did -a $dname 1 %name
inc %i
}
if (%a) { return }
}
}
}
if ($did == 4) { mMudConnect $did(1).seltext }
if ($did == 7) {
dialog $iif($dialog(mmud_prop),-v,-m) mmud_prop mmud_prop
}
if ($did == 8) {
dialog $iif($dialog(mmud_prop),-v,-m) mmud_extras mmud_extras
}
}
if ($devent == close) {
if ($dialog(mmud_prop)) {
var %a = $input(Do you want to change settings to the current server?, ygi, m-MUD Server Properties)
if (%a == $true) {
saveServProps
dialog -x $dname $dname
}
else {
dialog -x $dname $dname
}
}
}
}
if ($dname == mmud_prop) {
if ($devent == init && $did == 0) {
if (%m-mud.x != $null) { var %ax = 1 }
if (!$dialog(mmud_connect) || $did(mmud_connect,1).seltext == $null && %ax != 1) {
var %a = $input(Error: Could not edit properties $+ $crlf $+ No server selected or connection window is not opened., ogw, m-MUD Server Properties)
dialog -x $dname $dname
}
else {
var %sel = $iif(%m-mud.x,%m-mud.x,$did(mmud_connect,1).seltext)
unset %m-mud.x
var %file = $scriptdir $+ servers\ $+ %sel $+ .ini
var %name = $readini(%file,connection,address), %port = $readini(%file,connection,port)
did -ra $dname 1 Editing Properties for %name ( $+ %port $+ ) $+([,$nopath($remove(%file,.ini)),])
did -ra $dname 29 $nopath($remove(%file,.ini))
did -ra $dname 23 %name
did -ra $dname 25 %port
did -ra $dname 4 $readini(%file,window,font)
did -ra $dname 6 $readini(%file,window,fontsize)
did -ra $dname 7 $readini(%file,window,height)
did -ra $dname 10 $readini(%file,window,width)
did -ra $dname 11 $readini(%file,window,x)
did -ra $dname 13 $readini(%file,window,y)
did -b $dname 16
if ($readini(%file,options,logging)) { did -c $dname 16 }
if ($readini(%file,options,echo)) { did -c $dname 17 }
if ($readini(%file,options,cmdstack)) { did -c $dname 18 }
if ($readini(%file,options,strip)) { did -c $dname 28 }
did -ra $dname 20 $readini(%file,options,cmdchar)
}
}
if ($devent == sclick && $did == 26) {
saveServProps
}
if ($devent == sclick && $did == 27) { dialog -x $dname $dname }
}
}
on *:LOAD {
linesep
echo -a »» Welcome to m-MUD version 0.0.2
echo -a »»»»»»» Made by Aether Gray
echo -a »»»»»»»»»»» Email: AetherGray@gmail.com
if ($version < 6.03) {
echo -a You are unable to use m-MUD because you do not have mIRC 6.03 or higher.
.unload -rs $+(",$script,")
halt
}
if ($isdir($scriptdir $+ servers\) == $false) { mkdir $+(",$scriptdir,servers\,") }
echo -a »» To start m-MUD type $+ $color(info).dd $+ /mmud
linesep
}
alias mMud {
if (alias isin $1) { mMudAliases $2- }
else { mMudConnect $2- }
}
; mMudAlias [add|del|list] [server name] [name] [command]
; If no parameters are given, then it opens up the dialog window.
; Example:
; mMudAlias add Aetolia jjump JUMP; say HI!
; mMudAlias del Aetolia jjump
; mMudAlias list Aetolia
alias mMudAliases {
var %a = $input("Aliases are not working in this version...", eogw, "m-MUD Aliases")
if (%a) { halt }
halt
if (!$1) { dialog $iif($dialog(mmud_aliases),-v,-m) mmud_aliases mmud_aliases }
}
alias mMudConnect {
if (!$1) { dialog $iif($dialog(mmud_connect),-v,-m) mmud_connect mmud_connect | halt }
var %file = $scriptdir $+ servers\ $+ $1 $+ .ini
if ($isFile(%file) == $false) {
var %a = $input(Error: Server Not Found, ogw, m-MUD Error)
if (%a) { return }
}
if ($sock(mMud).status == Active) {
var %a = $input(Error: Could Not Connect. $+ $crlf $+ Do you want to disconnect from current location? , ygi, m-MUD Connection Error)
if (%a == $true) {
mMudDisconnect
}
else {
return
}
}
else {
if ($window(@m-MUD)) { window -c @m-MUD }
set %m-mud.curserver $readini(%file,connection,address)
set %m-mud.curport $readini(%file,connection,port)
set %m-mud.servfile %file
window -emnk +bmnstx @m-MUD $gwin(%file)
window -a @m-MUD
echo @m-MUD »» Connecting to $nopath($remove(%file,.ini))
echo @m-MUD »» Please wait...
sockopen mmud %m-mud.curserver %m-mud.curport
}
}
alias mMudDisconnect {
if ($sock(mmud)) { sockclose mmud }
if ($window(@m-MUD)) {
showDisconnectMsg
}
}
alias -l showDisconnectMsg {
showmsg »» You are now disconnected from %m-mud.curserver
}
alias -l gwin {
; Returns WINDOW ATTRIB
var %file = $+(",$1-,")
return $readini(%file,window,x) $readini(%file,window,y) $readini(%file,window,width) $readini(%file,window,height) $&
$readini(%file,window,font) $readini(%file,window,fontsize)
}
alias mmud_alias {
var %file = %m-mud.servfile
if ($isid) {
if ($prop == is) {
if ($readini(%file,aliases,$1) != $null) { return $true }
else { return $false }
}
else {
if ($1 != $null) {
if ($readini(%file,connection,address) == $null) { return $null }
else {
if ($readini(%file,aliases,$1) != $null) { return $readini(%file,aliases,$1) }
else { return $null }
}
}
}
}
}
alias -l mud.parser {
var %file = %m-mud.servfile
if ($1 == -r) { var %parse = $3-, %n = $2 }
else { var %parse = $1-, %n = 1 }
; Check for \[stackchar] so that it can be set to chr(26) to avoid stacking.
if (\ $+ $readini(%file,options,cmdchar) isin %parse) { var %parse = $replace(%parse,\ $+ $readini(%file,options,cmdchar),$chr(26)) }
if ($readini(%file,options,cmdchar) isin %parse) { var %parse = $replace(%parse,$readini(%file,options,cmdchar),$chr(23)) }
var %parse = $replace(%parse,$chr(26),$readini(%file,options,cmdchar))
while (%n <= $numtok(%parse,23)) {
var %x = $remove($gettok(%parse,%n,23),$chr(23))
var %1 = $gettok(%x,1,32), %cat = $right(%1,-1)
; #wait command
if (%1 == #wait) {
inc %n
if ($gettok(%x,2,32) !isnum || $gettok(%x,2,32) < 1) { continue }
.timerpause $+ $ticks 1 $gettok(%x,2,32) mud.parser -r %n %parse
break
}
elseif ($left(%1,2) == #d) {
mmuddisconnect
}
; Regular Command Parsing? Forgot the use of this.
elseif ($left(%1,2) == #!) {
// $+ $right($gettok(%x,1-,32),-2)
}
; Custom Aliases
elseif ($mmud_alias(%1).is && $readini(%file,aliases,enabled) == 1) {
.timerparseagain $+ $ticks -m 1 50 mud.parser -r %n $mmud_alias(%1)
halt
}
else {
; var %x = $var.parse(%x)
mudsend %x | if ($readini(%file,options,echo)) { echo @m-MUD -> %x } }
inc %n
}
}
; Sends text to the active mud window
; Usage: See Code
alias mudsend {
if (!$isid) {
if ($sock(mmud)) { sockwrite -tn mmud $1- }
else { echo -a Could not send text. Not connected to a server. }
}
}
alias SaveServProps {
var %file = $+($scriptdir,servers\,$did($dname,29).text,.ini)
if ($dialog(mmud_prop)) {
if ($did($dname,23).text == $null) { var %a = $input(Invalid Server., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") connection address $did($dname,23).text }
if ($did($dname,25).text !isnum 0-) { var %a = $input(Invalid Port., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") connection port $did($dname,25).text }
if ($did($dname,4).text == $null) { var %a = $input(Invalid Font Name., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window font $did($dname,4).text }
if ($did($dname,6).text !isnum 1-) { var %a = $input(Invalid Font Size., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window fontsize $did($dname,6).text }
if ($did($dname,7).text !isnum 1-) { var %a = $input(Invalid Window Height., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window height $did($dname,7).text }
if ($did($dname,10).text !isnum 1-) { var %a = $input(Invalid Window Width, ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window width $did($dname,10).text }
if ($did($dname,11).text !isnum) { var %a = $input(Invalid Window X Postion, ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window x $did($dname,11).text }
if ($did($dname,13).text !isnum) { var %a = $input(Invalid Window Y Position., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") window y $did($dname,13).text }
if ($did($dname,20).text == $null) { var %a = $input(Invalid Command Stacking Char., ogw, m-MUD Server Properties) | goto e1 }
else { writeini $+(",%file,") options cmdchar $did($dname,20).text }
writeini $+(",%file,") options logging $did($dname,16).state
writeini $+(",%file,") options echo $did($dname,17).state
writeini $+(",%file,") options cmdstack $did($dname,18).state
writeini $+(",%file,") options strip $did($dname,28).state
var %a = $input(Settings Saved., ogw, m-MUD Server Properties)
return
:e1
return
}
}
alias showMsg {
if (!$1) { halt }
if ($window(@m-MUD)) { echo @m-MUD $1- }
else { echo -a $1- }
}
on *:sockopen:mmud: {
if ($sockerr > 0) { showMsg An error has occured. m-MUD was unable to connect. | sockclose $sockname | halt }
showMsg
showmsg
showMsg Now connected to %m-mud.curserver on port %m-mud.curport
showmsg »» Double-Click on the window to show stats.
titlebar @m-MUD - Connected to %m-mud.curserver
}
on *:sockread:mmud: {
var %file = %m-mud.servfile
if ($sockerr > 0) { return }
:initdone
var %s
sockread -f %s
var %buffer = $ansi2mirc($remove($replace(%s,$chr(32),$chr($space_character)),$chr(13)))
if ($readini(%file,options,strip)) { var %buffer = $strip(%buffer) }
if ($sockbr == 0) { return }
showMsg %buffer
goto initdone
}
on *:sockclose:mmud: {
mMudDisconnect
}
on *:KEYDOWN:@m-MUD:* {
if ($editbox($active) == $null && $keyval == 13) {
mudsend $crlf
}
}
on *:INPUT:@m-MUD: {
if ($left($1,1) != /) {
if ($ctrlenter == $true) { mudsend $1- } | else { mud.parser $1- }
}
}
on *:CLOSE:@m-MUD: {
mMudDisconnect
unset %m-mud.curserver
unset %m-mud.curport %m-mud.servfile
}
on *:UNLOAD: {
echo -a Thank you for using m-MUD v0.0.2
mmuddisconnect
unset %m-mud.*
}
menu @m-MUD {
$style(2) $+ m-MUD - $nopath($remove(%m-mud.servfile,.ini)):return
-
$iif(%m-mud.servfile,$style(0),$style(2)) $+ $iif($sock(mmud),Disconnect from,Connect to) server : {
if (!$sock(mmud)) {
mmudconnect $nopath($remove(%m-mud.servfile,.ini))
}
else { mmuddisconnect }
}
$iif(%m-mud.servfile,$style(0),$style(2)) $+ Properties for $nopath($remove(%m-mud.servfile,.ini))
.Properties: {
set %m-mud.x $nopath($remove(%m-mud.servfile,.ini))
$iff($dialog(mmud_prop),dialog -x mmud_prop ) | dialog -m mmud_prop mmud_prop
}
.-
. $+ $iif($readini(%m-mud.servfile,options,echo),$style(1),$style(0)) $+ Echo Text Sent to MUD: writeini $+(",%m-mud.servfile,") options echo $iif($readini(%m-mud.servfile,options,echo),0,1)
;. $+ $iif($readini(%m-mud.servfile,options,logging),$style(2),$style(2)) $+ Logging: writeini $+(",%m-mud.servfile,") options logging $iif($readini(%m-mud.servfile,options,logging),0,1)
. $+ $iif($readini(%m-mud.servfile,options,strip),$style(1),$style(0)) $+ Strip Colors: writeini $+(",%m-mud.servfile,") options strip $iif($readini(%m-mud.servfile,options,strip),0,1)
. $+ $iif($readini(%m-mud.servfile,options,cmdstack),$style(1),$style(0)) $+ Command Stacking: writeini $+(",%m-mud.servfile,") options cmdstack $iif($readini(%m-mud.servfile,options,cmdstack),0,1)
-
}
menu status,menubar {
m-MUD: mmud
}