dialog bobmain {
; header
title "projectbob - Control Panel"
icon $mircdirprojectbob\gfx\projectbob.ico
option dbu
size -1 -1 240 160
; end header
; tabs
tab "General", 1, 0 0 240 160
tab "Kernel", 2
tab "Quake 3 Servers", 3
tab "Channels", 4
tab "Log", 5
tab "Advanced", 6
tab "Op Protection", 7
; end tabs
; tab 1
text "Nick:",101,5 20 30 7, tab 1
edit "", 102, 30 20 64 9, tab 1
button "Change Nick", 103, 96 20 44 9, tab 1
check "Start with mIRC", 104, 5 32 45 9, tab 1
check "Run init script on connect", 105, 96 32 70 9, tab 1
text "Init Script (these are raw commands, use %bobSessionName for current name):",106,5 44 230 7, tab 1
edit "", 107, 5 53 230 36, multi vsbar autovs return tab 1
button "Save Settings", 108, 170 135 64 12, default tab 1
; end tab 1
; tab 3
text "name:", 301, 5 20 30 7, tab 3
edit "<new server>", 302, 30 20 64 9, tab 3
text "server IP:", 303, 5 32 30 7, tab 3
edit "127.0.0.1", 304, 30 32 64 9, tab 3
text "port:", 305, 5 44 30 7, tab 3
edit "27960", 306, 30 44 64 9, tab 3
text "server list:", 307, 5 65 60 7, tab 3
list 308, 5 74 88 58, sort vsbar tab 3
button "Add/Edit", 309, 5 56 30 9, default tab 3
button "Del", 310, 64 56 30 9, default tab 3
text "available chans:", 311, 100 20 60 7, tab 3
text "announce in:", 312, 170 20 60 7, tab 3
list 313, 100 32 64 100, sort vsbar tab 3
list 314, 170 32 64 100, sort vsbar tab 3
button "Start", 315, 5 130 30 9, default tab 3
button "Stop", 316, 64 130 30 9, default tab 3
text "status:", 317, 100 130 18 7, tab 3
text "inactive", 318, 118 130 30 7, tab 3
check "autostart on irc connect", 319, 170 130 68 9, tab 3
; end tab 3
; tab 6
text "raw commands:", 601, 5 20 43 7, tab 6
edit "", 602, 44 20 190 9, limit 255 autohs multi tab 6
button "Send", 603, 170 32 64 12, default tab 6
text "WARNING: this is for advanced users only. Raw commands entered here could easily break script functionality if you don't know what you are doing", 604, 5 32 160 21, multi tab 6
; end tab 6
; tab 2
text "name:", 201, 5 20 30 7, tab 2
edit "__hyperion", 202, 30 20 64 9, tab 2
text "alt name:", 203, 5 32 30 7, tab 2
edit "projectbob", 204, 30 32 64 9, tab 2
text "server:", 205, 5 44 30 7, tab 2
edit "irc.aten-hosted.com", 206, 30 44 64 9, tab 2
text "port:", 207, 5 56 30 7, tab 2
edit "6667", 208, 30 56 64 9, tab 2
text "version:", 209, 5 68 30 7, tab 2
edit "projectbob - hyperion kernel 1", 210, 30 68 64 9, autohs read tab 2
text "chan list:", 211, 100 20 30 7, tab 2
text "join list:", 212, 170 20 30 7, tab 2
list 213, 100 32 64 100, sort vsbar tab 2
list 214, 170 32 64 100, sort vsbar tab 2
text "chan:", 215, 5 101 30 7, tab 2
edit "#channel", 216, 30 101 64 9, tab 2
button "Add to list >>", 217, 30 113 64 12, default tab 2
check "auto reconnect", 218, 5 80 44 9, tab 2
check "invisible mode", 219, 53 80 42 9, tab 2
button "Connect", 220, 5 135 64 12, default tab 2
button "Disconnect", 221, 70 135 64 12, default tab 2
button "Save Settings", 222, 170 135 64 12, default tab 2
check "connect on startup", 223, 5 148 55 9, tab 2
button "Remove", 224, 140 20 24 9, default tab 2
button "Password", 225, 203 20 32 9, default tab 2
text "Status:", 226, 171 150 20 9, tab 2
text "Disconnected", 227, 192 150 55 9, tab 2
; end tab 2
; tab 5
edit "", 501, 0 14 240 146, read multi vsbar autovs tab 5
; end tab 5
}
alias BobIRCsave {
set %bobMainAddr $did(winbobmain, 206).text
set %bobMainPort $did(winbobmain, 208).text
set %bobMainName $did(winbobmain, 202).text
set %bobMainAname $did(winbobmain, 204).text
set %bobMainAuto $did(winbobmain, 218).state
set %bobMainInvis $did(winbobmain, 219).state
set %bobMainStartup $did(winbobmain, 223).state
set %bobGenStartup $did(winbobmain, 104).state
set %bobGendoInit $did(winbobmain, 105).state
writeini %bobConfigFile kernel serverAddress %bobMainAddr
writeini %bobConfigFile kernel serverPort %bobMainPort
writeini %bobConfigFile kernel Name %bobMainName
writeini %bobConfigFile kernel Aname %bobMainAname
writeini %bobConfigFile kernel Auto %bobMainAuto
writeini %bobConfigFile kernel Invis %bobMainInvis
writeini %bobConfigFile kernel Startup %bobMainStartup
writeini %bobConfigFile General Startup %bobGenStartup
writeini %bobConfigFile General doInit %bobGendoInit
write -c %bobInitFile
set %bobl $did(winbobmain, 107).lines
set %bobc 0
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
write -a %bobInitFile $did(winbobmain, 107, %bobc).text
}
}
did -a winbobmain 501 Saving kernel settings to ini file $mircdirprojectbob\config\settings.ini ...
}
alias BobAutoStartServers {
set %bobm $lines(%bobServerFile)
set %bobc 1
if (%bobm > 1) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobServerFile, %bobc)
set %bobe $left(%bobl,$calc($pos(%bobl,=,1)-1))
set %bobmonitortemp $readini(%bobServer2File,%bobe,autoStart)
if (%bobmonitortemp == 1) {
set %tempIP $readini(%bobServer2File,%bobe,serverIP)
set %tempPort $readini(%bobServer2File,%bobe,serverPort)
hadd bobIRCip bobIRCq $+ %bobe %bobe
hadd bobIRCip2 bobIRCq $+ %bobe %tempIP $+ $chr(58) $+ %tempPort
hadd bobIRCipR %bobe bobIRCq $+ %bobe
hadd bobIRCactive %bobe 1
if ($did(winbobmain, 308).seltext == %bobe) {
did -ra winbobmain 318 active
}
.timerbobIRCq $+ %bobe 0 10 sockudp -k bobIRCq $+ %bobe %tempIP %tempPort ÿÿÿÿgetstatus
}
}
}
}
alias BobJoinChannels {
set %bobm $lines(%bobChannelFile)
set %bobc 1
if (%bobm > 1) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobChannelFile, %bobc)
set %bobe $left(%bobl,$calc($pos(%bobl,=,1)-1))
set %bobv $right(%bobl,$calc($len(%bobl) - $pos(%bobl,=,1)))
set %bobReadPwd $readini(%bobPasswordFile,passwords,%bobe)
if (%bobv == 2) {
if (%bobReadPwd == $null) {
sockwrite bobskt1 JOIN %bobe $+ $crlf
did -a winbobmain 501 * JOIN %bobe $+ $crlf
}
else {
sockwrite bobskt1 JOIN %bobe : $+ %bobReadPwd $+ $crlf
did -a winbobmain 501 * JOIN %bobe : $+ %bobReadPwd $+ $crlf
}
}
}
}
}
alias BobIRCexit {
if ($hget(bobIRCip) != $null) hfree bobIRCip
if ($hget(bobIRCip2) != $null) hfree bobIRCip2
if ($hget(bobIRCipR) != $null) hfree bobIRCipR
if ($hget(bobIRCmap) != $null) hfree bobIRCmap
if ($hget(bobIRCplayers) != $null) hfree bobIRCplayers
if ($hget(bobIRCactive) != $null) hfree bobIRCactive
if ($sock(bobskt1).status != $null) {
sockwrite bobskt1 QUIT :hyperion logging off $+ $crlf
sockclose bobskt1
set %bobConnected 0
}
.timerBobState off
sockclose bobIRCq*
.timerbobIRCq* off
}
alias BobIRCinit {
sockopen bobskt1 $did(winbobmain, 206).text $did(winbobmain, 208).text
set %bobMainAddr $did(winbobmain, 206).text
set %bobMainPort $did(winbobmain, 208).text
set %bobMainName $did(winbobmain, 202).text
set %bobMainAname $did(winbobmain, 204).text
set %bobMainAuto $did(winbobmain, 218).state
set %bobMainInvis $did(winbobmain, 219).state
set %bobMainStartup $did(winbobmain, 223).state
set %bobGenStartup $did(winbobmain, 104).state
set %bobGendoInit $did(winbobmain, 105).state
set %bobConnected 1
did -ra winbobmain 227 Connecting...
;if (%bobMainAuto == 1) {
.timerBobState 0 30 BobCheckState
;}
}
alias BobCheckState {
if ($sock(bobskt1).status == $null && %bobConnected == 1) {
did -ra winbobmain 227 Disconnected
set %bobConnected 0
sockclose bobIRCq*
.timerbobIRCq* off
did -ra winbobmain 318 inactive
if (%bobMainAuto == 1) {
did -a winbobmain 501 * Lost link to server... reconnecting... $+ $crlf
did -ra winbobmain 227 Reconnecting...
sockopen bobskt1 $did(winbobmain, 206).text $did(winbobmain, 208).text
set %bobMainAddr $did(winbobmain, 206).text
set %bobMainPort $did(winbobmain, 208).text
set %bobMainName $did(winbobmain, 202).text
set %bobMainAname $did(winbobmain, 204).text
set %bobMainAuto $did(winbobmain, 218).state
set %bobMainInvis $did(winbobmain, 219).state
set %bobMainStartup $did(winbobmain, 223).state
set %bobGenStartup $did(winbobmain, 104).state
set %bobGendoInit $did(winbobmain, 105).state
set %bobConnected 1
did -ra winbobmain 227 Connecting...
}
}
}
alias BobIRCload {
if ($dialog(winbobmain)) {
dialog -v winbobmain
return
}
dialog -dm winbobmain bobmain
set %bobConnected 0
set %bobMainAddr $readini(%bobConfigFile,kernel,serverAddress)
set %bobMainPort $readini(%bobConfigFile,kernel,serverPort)
set %bobMainName $readini(%bobConfigFile,kernel,Name)
set %bobMainAname $readini(%bobConfigFile,kernel,Aname)
set %bobMainAuto $readini(%bobConfigFile,kernel,Auto)
set %bobMainInvis $readini(%bobConfigFile,kernel,Invis)
set %bobMainStartup $readini(%bobConfigFile,kernel,Startup)
set %bobGenStartup $readini(%bobConfigFile,General,Startup)
set %bobGendoInit $readini(%bobConfigFile,General,doInit)
did -ra winbobmain 206 %bobMainAddr
did -ra winbobmain 208 %bobMainPort
did -ra winbobmain 202 %bobMainName
did -ra winbobmain 204 %bobMainAname
did -ra winbobmain 102 %bobMainName
if ($hget(bobIRCip) != $null) hfree bobIRCip
if ($hget(bobIRCip2) != $null) hfree bobIRCip2
if ($hget(bobIRCipR) != $null) hfree bobIRCipR
if ($hget(bobIRCmap) != $null) hfree bobIRCmap
if ($hget(bobIRCplayers) != $null) hfree bobIRCplayers
if ($hget(bobIRCactive) != $null) hfree bobIRCactive
hmake bobIRCip 256
hmake bobIRCip2 256
hmake bobIRCipR 256
hmake bobIRCmap 256
hmake bobIRCplayers 256
hmake bobIRCactive 256
if (%bobGenStartup == 1) {
did -c winbobmain 104
}
else {
did -u winbobmain 104
}
if (%bobGendoInit == 1) {
did -c winbobmain 105
}
else {
did -u winbobmain 105
}
did -r winbobmain 107
set %bobm $lines(%bobInitFile)
set %bobc 0
if (%bobm > 0) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobInitFile,n, %bobc)
did -i winbobmain 107 %bobc %bobl
}
}
did -ra winbobmain 210 %bobVersion
if (%bobMainAuto == 1) {
did -c winbobmain 218
}
else {
did -u winbobmain 218
}
if (%bobMainInvis == 1) {
did -c winbobmain 219
}
else {
did -u winbobmain 219
}
if (%bobMainStartup == 1) {
did -c winbobmain 223
}
else {
did -u winbobmain 223
}
set %bobm $lines(%bobChannelFile)
set %bobc 1
if (%bobm > 1) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobChannelFile, %bobc)
set %bobe $left(%bobl,$calc($pos(%bobl,=,1)-1))
set %bobv $right(%bobl,$calc($len(%bobl) - $pos(%bobl,=,1)))
if (%bobv == 1) {
did -a winbobmain 213 %bobe
}
if (%bobv == 2) {
did -a winbobmain 214 %bobe
did -a winbobmain 313 %bobe
}
}
}
set %bobm $lines(%bobServerFile)
set %bobc 1
if (%bobm > 1) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobServerFile, %bobc)
set %bobe $left(%bobl,$calc($pos(%bobl,=,1)-1))
did -a winbobmain 308 %bobe
}
}
if (%bobMainStartup == 1) {
BobIRCinit
}
}
on 1:sockopen:bobskt1:{
sockwrite bobskt1 NICK %bobMainName $+ $crlf
sockwrite bobskt1 USER %bobMainAname localhost localhost :hyperion $+ $crlf
set %bobSessionName %bobMainName
did -ra winbobmain 102 %bobSessionName
}
on 1:udpread:bobIRCq*: {
if (%bobConnected == 1) {
set %Q3SKwaits 0
set %Q3SKreads 0
set %players $null
set %ingame 0
while (%Q3SKwaits == 0) {
sockread -fn %ociq3
if (%ociq3 == $null || $sockbr == 0) {
set %Q3SKwaits 1
}
else {
inc %Q3SKreads 1
if (%Q3SKreads == 2) {
set %oneminustoken $findtok(%ociq3,sv_hostname,1,92)
inc %oneminustoken 1
set %hostname $gettok(%ociq3,%oneminustoken,92)
set %hostname $remove(%hostname,^0,^1,^2,^3,^4,^5,^6,^7,^8,^9,^x,^b,^f,^#,^n)
set %oneminustoken $findtok(%ociq3,mapname,1,92)
inc %oneminustoken 1
set %mapname $gettok(%ociq3,%oneminustoken,92)
set %oneminustoken $findtok(%ociq3,sv_maxclients,1,92)
inc %oneminustoken 1
set %maxclients $gettok(%ociq3,%oneminustoken,92)
set %oneminustoken $findtok(%ociq3,sv_privateClients,1,92)
inc %oneminustoken 1
set %prvclients $gettok(%ociq3,%oneminustoken,92)
}
if (%Q3SKreads > 2) {
set %bobplayertemp $hget(bobIRCplayers, $sockname)
set %servertempIP $hget(bobIRCip2, $sockname)
set %scoretemp $gettok(%ociq3,1,32)
set %pingtemp $gettok(%ociq3,2,32)
set %player $remove($mid(%ociq3,$pos(%ociq3,$chr(34),1)),$chr(34))
set %player $remove(%player,^0,^1,^2,^3,^4,^5,^6,^7,^8,^9,^x,^b,^f,^#,^n)
set %bobcheck $null
set %bobcheck $pos(%bobplayertemp,%player)
if (%bobcheck == $null && %scoretemp == 0 && %pingtemp > 0) {
set %bobchantemp $readini(%bobServer2File,$hget(bobIRCip, $sockname),channels)
set %bobl $numtok(%bobchantemp, 32)
set %bobc 0
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
;sockwrite bobskt1 PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ 7 $+ %player has joined %servertempIP ( $+ %hostname $+ ) $+ $crlf
sockwrite bobskt1 PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ %player has joined %servertempIP ( $+ %hostname $+ ) $+ $crlf
did -a winbobmain 501 * PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ %player has joined %servertempIP ( $+ %hostname $+ ) $+ $crlf
}
}
}
set %players %players $+ $chr(92) $+ %player
inc %ingame 1
}
}
}
set %boboldmap $hget(bobIRCmap, $sockname)
set %tempmax %maxclients - %prvclients
if (%boboldmap != %mapname) {
set %bobchantemp $readini(%bobServer2File,$hget(bobIRCip, $sockname),channels)
set %bobl $numtok(%bobchantemp, 32)
set %bobc 0
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
set %servertempIP $hget(bobIRCip2, $sockname)
;sockwrite bobskt1 PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ 7 $+ map %mapname is now playing on %servertempIP ( $+ %hostname $+ ) with %ingame of %tempmax players $+ $crlf
sockwrite bobskt1 PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ map %mapname is now playing on %servertempIP ( $+ %hostname $+ ) with %ingame of %tempmax players $+ $crlf
did -a winbobmain 501 * PRIVMSG $gettok(%bobchantemp, %bobc, 32) $chr(58) $+ map %mapname is now playing on %servertempIP ( $+ %hostname $+ ) with %ingame of %tempmax players $+ $crlf
}
}
}
hadd bobIRCplayers $sockname %players
hadd bobIRCmap $sockname %mapname
}
sockclose $sockname
}
on 1:sockread:bobskt1:{
; main socket handling here, parse raw commands, etc.
; #########################################
sockread %bobreadtemp
; not sure if this next one should be done like this, or buffered to memory/file in case dialog is closed
; maybe should exit when dialog closed
did -a winbobmain 501 %bobreadtemp $+ $crlf
if ($mid(%bobreadtemp,1,4) == PING) {
sockwrite bobskt1 PONG $mid(%bobreadtemp,6) $+ $crlf
did -a winbobmain 501 * PONG $mid(%bobreadtemp,6) $+ $crlf
}
set %bobStart $pos(%bobreadtemp,$chr(32),1)
inc %bobStart 1
set %bobChars $calc($pos(%bobreadtemp,$chr(32),2) - %bobStart)
set %bobRAW $mid(%bobreadtemp,%bobStart,%bobChars)
if (%bobRAW == PRIVMSG) {
if ($count(%bobreadtemp,VERSION) > 0) {
set %bobChars $calc($pos(%bobreadtemp,!,1) - 2)
set %bobRppName $mid(%bobreadtemp,2,%bobChars)
sockwrite bobskt1 NOTICE %bobRppName :VERSION %bobVersion $+ $+ $crlf
did -a winbobmain 501 * NOTICE %bobRppName :VERSION %bobVersion $+ $+ $crlf
}
if ($count(%bobreadtemp,PING) > 0) {
set %bobChars $calc($pos(%bobreadtemp,!,1) - 2)
set %bobRppName $mid(%bobreadtemp,2,%bobChars)
set %bobChars $calc($pos(%bobreadtemp,PING,1) + 6)
set %bobRppPong $mid(%bobreadtemp,%bobChars)
sockwrite bobskt1 NOTICE %bobRppName :PING %bobRppPong $+ $crlf
did -a winbobmain 501 * NOTICE %bobRppName :PING %bobRppPong $+ $crlf
}
if ($count(%bobreadtemp,TIME) > 0) {
set %bobChars $calc($pos(%bobreadtemp,!,1) - 2)
set %bobRppName $mid(%bobreadtemp,2,%bobChars)
sockwrite bobskt1 NOTICE %bobRppName :TIME time request denied $+ $+ $crlf
did -a winbobmain 501 * NOTICE %bobRppName :TIME time request denied $+ $+ $crlf
}
if ($count(%bobreadtemp,FINGER) > 0) {
set %bobChars $calc($pos(%bobreadtemp,!,1) - 2)
set %bobRppName $mid(%bobreadtemp,2,%bobChars)
sockwrite bobskt1 NOTICE %bobRppName :FINGER hyperion by Rroff $+ $+ $crlf
did -a winbobmain 501 * NOTICE %bobRppName :FINGER hyperion by Rroff $+ $+ $crlf
}
}
; will need a var for current name and need to keep an eye on what the name is
if (%bobRAW == NICK) {
; someone is changing nick or a nick change is being forced, look for the name and if its our current name, update current name with latest on server
if ( $count($mid(%bobreadtemp,1,$pos(%bobreadtemp,$chr(32),1)),!) > 0) {
set %bobChars $calc($pos(%bobreadtemp,!,1) - 2)
set %bobRppName $mid(%bobreadtemp,2,%bobChars)
if (%bobRppName == %bobSessionName) {
set %bobStart $calc($pos(%bobreadtemp,$chr(58),$count(%bobreadtemp,$chr(58))) + 1)
set %bobSessionName $mid(%bobreadtemp,%bobStart)
did -ra winbobmain 102 %bobSessionName
}
}
}
if (%bobRAW == 431 || %bobRAW == 432 || %bobRAW == 433 || %bobRAW == 436) {
if (%bobSessionName == %bobMainAname) {
set %bobrand $rand(1000,9999)
sockwrite bobskt1 NICK %bobMainAname $+ %bobrand $+ $crlf
did -a winbobmain 501 * NICK %bobMainAname $+ %bobrand $+ $crlf
}
else {
sockwrite bobskt1 NICK %bobMainAname $+ $crlf
did -a winbobmain 501 * NICK %bobMainAname $+ $crlf
}
}
if (%bobRAW == 001) {
set %bobFirstConnect 1
}
if (%bobRAW == 376 || %bobRAW == 422) {
if (%bobMainInvis == 1 && %bobFirstConnect == 1) {
sockwrite bobskt1 MODE %bobSessionName +i $+ $crlf
did -a winbobmain 501 * MODE %bobSessionName +i $+ $crlf
if (%bobGendoInit == 1) {
set %bobm $lines(%bobInitFile)
set %bobc 0
if (%bobm > 0) {
while (%bobc < %bobm) {
inc %bobc 1
set %bobl $read(%bobInitFile, %bobc)
sockwrite bobskt1 %bobl $+ $crlf
did -a winbobmain 501 * %bobl $+ $crlf
}
}
}
BobJoinChannels
BobAutoStartServers
set %bobFirstConnect 0
did -ra winbobmain 227 Connected
}
}
}
on 1:dialog:winbobmain:sclick:103:{
set %bobNewName $did(winbobmain, 102).text
if (%bobConnected == 1 && %bobNewName != $null) {
sockwrite bobskt1 NICK %bobNewName $+ $crlf
did -a winbobmain 501 * NICK %bobNewName $+ $crlf
}
}
on 1:dialog:winbobmain:sclick:603:{
sockwrite bobskt1 $did(winbobmain,602).text $+ $crlf
did -a winbobmain 501 * $did(winbobmain,602).text $+ $crlf
}
on 1:dialog:winbobmain:sclick:221:{
if ($sock(bobskt1).status != $null) {
sockwrite bobskt1 QUIT :hyperion logging off $+ $crlf
did -a winbobmain 501 * QUIT :hyperion logging off $+ $crlf
sockclose bobskt1
set %bobConnected 0
did -ra winbobmain 227 Disconnected
.timerBobState off
sockclose bobIRCq*
.timerbobIRCq* off
did -ra winbobmain 318 inactive
}
}
on 1:dialog:winbobmain:sclick:217:{
if ($len($did(winbobmain, 216).text) < 1) return
set %bobChannel $did(winbobmain, 216).text
if ($readini(%bobChannelFile,channels,%bobChannel) == $null) {
did -a winbobmain 213 %bobChannel
writeini %bobChannelFile channels $did(winbobmain, 216).text 1
}
}
on 1:dialog:winbobmain:sclick:218:{
set %bobMainAuto $did(winbobmain, 218).state
;if (%bobMainAuto == 1 && %bobConnected == 1) {
.timerBobState 0 30 BobCheckState
;}
;if (%bobMainAuto == 0) {
; .timerBobState off
;}
}
on 1:dialog:winbobmain:dclick:213:{
did -a winbobmain 214 $did(winbobmain, 213).seltext
did -a winbobmain 313 $did(winbobmain, 213).seltext
writeini %bobChannelFile channels $did(winbobmain, 213).seltext 2
did -d winbobmain 213 $did(winbobmain, 213,1).sel
}
on 1:dialog:winbobmain:sclick:224:{
if ($did(winbobmain, 213,0).sel == 0) return
remini %bobChannelFile channels $did(winbobmain, 213).seltext
did -d winbobmain 213 $did(winbobmain, 213,1).sel
}
on 1:dialog:winbobmain:sclick:225:{
if ($did(winbobmain, 214,0).sel == 0) return
set %bobChan4Pwd $did(winbobmain, 214).seltext
set %bobChanPwd $input(Enter the join password for %bobChan4Pwd,eoqs,winbobmain,Enter Channel Password,$readini(%bobPasswordFile,passwords,%bobChan4Pwd))
if (%bobChanPwd != $null) {
writeini %bobPasswordFile passwords %bobChan4Pwd %bobChanPwd
}
else {
remini %bobPasswordFile passwords %bobChan4Pwd
}
}
on 1:dialog:winbobmain:sclick:308:{
did -ra winbobmain 302 $did(winbobmain, 308).seltext
did -ra winbobmain 304 $readini(%bobServer2File,$did(winbobmain, 308).seltext,serverIP)
did -ra winbobmain 306 $readini(%bobServer2File,$did(winbobmain, 308).seltext,serverPort)
if ($hget(bobIRCactive, $did(winbobmain, 308).seltext) == 1 ) {
if (%bobConnected == 1) {
did -ra winbobmain 318 active
}
else {
did -ra winbobmain 318 inactive
hadd bobIRCactive $did(winbobmain, 308).seltext 0
}
}
else {
did -ra winbobmain 318 inactive
}
set %bobmonitortemp $readini(%bobServer2File,$did(winbobmain, 308).seltext,autoStart)
if (%bobmonitortemp == 1) {
did -c winbobmain 319
}
else {
did -u winbobmain 319
}
did -r winbobmain 314
set %bobchantemp $readini(%bobServer2File,$did(winbobmain, 308).seltext,channels)
set %bobl $numtok(%bobchantemp, 32)
set %bobc 0
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
did -a winbobmain 314 $gettok(%bobchantemp, %bobc, 32)
}
}
}
on 1:dialog:winbobmain:sclick:309:{
if ($len($did(winbobmain, 302).text) < 1) return
set %bobServer $did(winbobmain, 302).text
if ($readini(%bobServerFile,servers,%bobServer) == $null) {
did -a winbobmain 308 %bobServer
}
writeini %bobServerFile servers %bobServer 1
writeini %bobServer2File %bobServer serverIP $did(winbobmain, 304).text
writeini %bobServer2File %bobServer serverPort $did(winbobmain, 306).text
writeini %bobServer2File %bobServer autoStart $did(winbobmain, 319).state
set %bobl $did(winbobmain, 314).lines
set %bobc 0
set %bobchantemp $null
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
set %bobchantemp %bobchantemp $did(winbobmain, 314, %bobc).text
}
writeini %bobServer2File %bobServer channels %bobchantemp
}
}
on 1:dialog:winbobmain:sclick:310:{
; rem need to make sure something is selected in 308
set %bobremovetemp $did(winbobmain, 308).seltext
set %bobremovenum $did(winbobmain, 308, 1).sel
remini %bobServerFile servers %bobremovetemp
remini %bobServer2File %bobremovetemp
did -d winbobmain 308 %bobremovenum
sockclose $hget(bobIRCipR, $did(winbobmain, 308).seltext)
.timer $+ $hget(bobIRCipR, $did(winbobmain, 308).seltext) off
hadd bobIRCactive $did(winbobmain, 308).seltext 0
did -ra winbobmain 318 inactive
}
on 1:dialog:winbobmain:sclick:316:{
hadd bobIRCactive $did(winbobmain, 308).seltext 0
sockclose $hget(bobIRCipR, $did(winbobmain, 308).seltext)
.timer $+ $hget(bobIRCipR, $did(winbobmain, 308).seltext) off
did -ra winbobmain 318 inactive
}
on 1:dialog:winbobmain:sclick:315:{
set %tempIP $readini(%bobServer2File,$did(winbobmain, 308).seltext,serverIP)
set %tempPort $readini(%bobServer2File,$did(winbobmain, 308).seltext,serverPort)
hadd bobIRCip bobIRCq $+ $did(winbobmain, 308).seltext $did(winbobmain, 308).seltext
hadd bobIRCip2 bobIRCq $+ $did(winbobmain, 308).seltext %tempIP $+ $chr(58) $+ %tempPort
hadd bobIRCipR $did(winbobmain, 308).seltext bobIRCq $+ $did(winbobmain, 308).seltext
hadd bobIRCactive $did(winbobmain, 308).seltext 1
did -ra winbobmain 318 active
.timerbobIRCq $+ $did(winbobmain, 308).seltext 0 10 sockudp -k bobIRCq $+ $did(winbobmain, 308).seltext %tempIP %tempPort ÿÿÿÿgetstatus
}
on 1:dialog:winbobmain:dclick:214:{
writeini %bobChannelFile channels $did(winbobmain, 214).seltext 1
did -a winbobmain 213 $did(winbobmain, 214).seltext
set %bobTemp $did(winbobmain, 214,1).sel
did -d winbobmain 214 %bobTemp
did -d winbobmain 313 %bobTemp
}
on 1:dialog:winbobmain:dclick:313:{
set %bobl $did(winbobmain, 314).lines
set %bobc 0
if (%bobl > 0) {
while (%bobc < %bobl) {
inc %bobc 1
if ($did(winbobmain, 314, %bobc).text == $did(winbobmain, 313).seltext) {
return
}
}
}
did -a winbobmain 314 $did(winbobmain, 313).seltext
}
on 1:dialog:winbobmain:dclick:314:{
set %bobTemp $did(winbobmain, 314,1).sel
did -d winbobmain 314 %bobTemp
}
on 1:dialog:winbobmain:sclick:220:{
BobIRCinit
}
on 1:dialog:winbobmain:sclick:222:{
BobIRCsave
}
on 1:dialog:winbobmain:sclick:108:{
BobIRCsave
}
on 1:dialog:winbobmain:close:0:{
BobIRCexit
}
on 1:unload:{
BobIRCexit
if ($version >= 6.2) {
/toolbar -d bobsep1
/toolbar -d bobbut1
/toolbar -d bobsep2
}
}
on 1:start:{
if ($hget(bobIRCip) != $null) hfree bobIRCip
if ($hget(bobIRCip2) != $null) hfree bobIRCip2
if ($hget(bobIRCipR) != $null) hfree bobIRCipR
if ($hget(bobIRCmap) != $null) hfree bobIRCmap
if ($hget(bobIRCplayers) != $null) hfree bobIRCplayers
if ($hget(bobIRCactive) != $null) hfree bobIRCactive
hmake bobIRCip 256
hmake bobIRCip2 256
hmake bobIRCipR 256
hmake bobIRCmap 256
hmake bobIRCplayers 256
hmake bobIRCactive 256
set %bobConfigFile " $+ $mircdirprojectbob\config\settings.ini $+ "
set %bobInitFile " $+ $mircdirprojectbob\config\init.txt $+ "
set %bobServerFile " $+ $mircdirprojectbob\config\servers.ini $+ "
set %bobServer2File " $+ $mircdirprojectbob\config\servers2.ini $+ "
set %bobChannelFile " $+ $mircdirprojectbob\config\channels.ini $+ "
set %bobPasswordFile " $+ $mircdirprojectbob\config\passwords.ini $+ "
set %bobVersion projectbob - hyperion kernel 2005.1.3 experimental client
set %bobSessionName $null
set %bobFirstConnect 1
if (%bobGenStartup == 1) {
BobIRCload
}
if ($version >= 6.2) {
/toolbar -as bobsep1
/toolbar -az1 bobbut1 "ProjectBob" "projectbob\gfx\projectbob.ico" /BobIRCload
/toolbar -as bobsep2
}
}
menu menubar {
-
ProjectBob:{
BobIRCload
}
}