Updated version of my old script, this one adds networks when you open the dialog, found it easier and it doesn't take much space doing so. The dialog is basic and easy to use, it was made for SassIRC but I guess I'll post it here also as the other version looks weird >.>
dialog ajnb {
option dbu
size -1 -1 175 100
;Every tab
link "www.sassirc.com" 7, 65 90 45 10
;Information tab
tab "Information" 1, 1 1 174 98
text "" 2, 5 20 160 10, tab 1
text "" 3, 5 30 160 10, tab 1
text "" 4, 5 40 160 10, tab 1
text "" 5, 5 50 160 10, tab 1
text "Script made by Aucun for www.sassirc.com Email: Aucun.AuServ@gmail.com" 6, 5 65 105 15, tab 1
;Password tab
tab "Password" 8
text "Your password will be blocked out when you type, your operator password will be blocked aswell." 9, 5 20 160 15, tab 8
edit "" 10, 5 45 165 10, tab 8, password
button "Set Password" 11, 5 55 81 10, tab 8
button "Remove Password" 12, 89 55 81 10, tab 8
radio "Enable Password" 13, 7 70 60 10, tab 8
radio "Disable Password" 14, 70 70 60 10, tab 8
;Channels tab
tab "Channels" 15
list 16, 5 20 165 55, tab 15
button "Add Channels" 17, 5 68 81 10, tab 15
button "Remove Channel" 18, 89 68 81 10, tab 15
;Operator tab
tab "Operator Options" 19
edit "" 20, 5 20 165 10, tab 19
button "Set Operator User" 21, 5 30 81 10, tab 19
button "Remove Operator User" 22, 89 30 81 10, tab 19
edit "" 23, 5 45 165 10, tab 19, password
button "Set Operator Password" 24, 5 55 81 10, tab 19
button "Remove Operator Password" 25, 89 55 81 10, tab 19
radio "Enable Operator" 26, 7 70 60 10, tab 19
radio "Disable Operator" 27, 70 70 60 10, tab 19
}
on *:dialog:ajnb:*:*: {
if ($devent == init) {
set %ajnb_network $network
dialog -t ajnb %ajnb_network
update_list
if (!$readini(ajnb.ini,%ajnb_network,Date_Time)) { writeini ajnb.ini %ajnb_network Date_Time $date }
did -a ajnb 2 Network - %ajnb_network added on $readini(ajnb.ini,%ajnb_network,Date_Time)
if ($readini(ajnb.ini,%ajnb_network,Password)) {
did -a ajnb 3 Password - %ajnb_network has a password
did -a ajnb 10 $readini(ajnb.ini,%ajnb_network,Password)
}
else { did -a ajnb 3 Password - %ajnb_network doesn't have a password }
$iif($readini(ajnb.ini,%ajnb_network,Use_Password),did -c ajnb 14,did -c ajnb 13)
$iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
if ($readini(ajnb.ini,%ajnb_network,OperUser)) { did -a ajnb 20 $readini(ajnb.ini,%ajnb_network,OperUser) }
if ($readini(ajnb.ini,%ajnb_network,OperPass)) {
did -a ajnb 5 Operator Password - %ajnb_network has a operator password
did -a ajnb 23 $readini(ajnb.ini,%ajnb_network,OperPass)
}
else { did -a ajnb 5 Operator Password - %ajnb_network doesn't have a operator password }
$iif($readini(ajnb.ini,%ajnb_network,Use_Oper),did -c ajnb 27,did -c ajnb 26)
}
else if ($devent == sclick) {
if ($did == 7) { url www.sassirc.com }
else if ($did == 11 && $did(10)) {
writeini ajnb.ini %ajnb_network Password $did(10)
did -ra ajnb 3 Password - %ajnb_network has a password
}
else if ($did == 12) {
remini ajnb.ini %ajnb_network Password
did -ra ajnb 3 Password - %ajnb_network doesn't have a password
}
else if ($did == 13) { remini ajnb.ini %ajnb_network Use_Password }
else if ($did == 14) { writeini ajnb.ini %ajnb_network Use_Password No }
else if ($did == 17) { $channel_check($$?="Enter Channels - #Channel1 #Channel2...") }
else if ($did == 18) {
if ($did(16).sel >= 1) {
$iif($numtok($readini(ajnb.ini,%ajnb_network,Channels),32) > 1,writeini ajnb.ini %ajnb_network Channels $remove($readini(ajnb.ini,%ajnb_network,Channels),$did(16).seltext),remini ajnb.ini %ajnb_network Channels)
$iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
update_list
}
}
else if ($did == 21 && $did(20)) { writeini ajnb.ini %ajnb_network OperUser $did(20) }
else if ($did == 22) { remini ajnb.ini %ajnb_network OperUser }
else if ($did == 24 && $did(23)) {
writeini ajnb.ini %ajnb_network OperPass $did(23)
did -ra ajnb 5 Operator Password - %ajnb_network has a operator password
}
else if ($did == 25) {
remini ajnb.ini %ajnb_network OperPass
did -a ajnb 5 Operator Password - %ajnb_network doesn't have a operator password
}
else if ($did == 26) { remini ajnb.ini %ajnb_network Use_Oper }
else if ($did == 27) { writeini ajnb.ini %ajnb_network Use_Oper No }
}
else if ($devent == close) { unset %ajnb_network }
}
alias ajnb { $iif($dialog(ajnb),dialog -v ajnb,dialog -m ajnb ajnb) }
alias -l channel_check {
if ($readini(ajnb.ini,%ajnb_network,Channels)) {
var %channels = $1-
var %number = $numtok(%channels,32)
while (%number) {
if (!$findtok($readini(ajnb.ini,%ajnb_network,Channels),$gettok(%channels,%number,32),1,32)) { writeini ajnb.ini %ajnb_network Channels $readini(ajnb.ini,%ajnb_network,Channels) $gettok(%channels,%number,32) }
dec %number
}
}
else { writeini ajnb.ini %ajnb_network Channels $1- }
$iif($readini(ajnb.ini,%ajnb_network,Channels),did -a ajnb 4 Channels - %ajnb_network has $numtok($readini(ajnb.ini,%ajnb_network,Channels),32) channels added,did -a ajnb 4 Channels - %ajnb_network doesn't have any channels added)
update_list
}
alias -l update_list {
var %list = $numtok($readini(ajnb.ini,%ajnb_network,Channels),32)
did -r ajnb 16
while (%list) {
did -a ajnb 16 $gettok($readini(ajnb.ini,%ajnb_network,Channels),%list,32)\
dec %list
}
}
on *:connect: {
if ($readini(ajnb.ini,$network,Date_Time)) {
if (!$readini(ajnb.ini,$network,Use_Password)) {
if ($readini(ajnb.ini,$network,Password)) { identify $readini(ajnb.ini,$network,Password) }
}
if (!$readini(ajnb.ini,$network,Use_Oper)) {
if ($readini(ajnb.ini,$network,OperUser)) {
if ($readini(ajnb.ini,$network,OperPass)) { oper $readini(ajnb.ini,$network,OperUser) $readini(ajnb.ini,$network,OperPass) }
}
}
if ($readini(ajnb.ini,$network,Channels)) {
var %channels = 1
while (%channels <= $numtok($readini(ajnb.ini,$network,Channels),32)) {
join $gettok($readini(ajnb.ini,$network,Channels),%channels,32)
inc %channels
}
}
}
}
menu channel,status {
SassIRC Auto-Join:ajnb
}
yours werent too "original" either Daniel.
when learning scripting, most of the time it is easier to re-create, the "simpler" ideas" rather than jumping straight into "original" ideas. and tbw, almost everything has been done, so you could spend weeks just trying to come up with a good idea, and chances are, its been done already.