dialog AddNickHost.info { title "WiseS" size -1 -1 82 51 option dbu text "Add by:", 1, 1 1 25 8 radio "Nick", 2, 1 10 23 10 radio "Ident", 3, 25 14 23 10 radio "Host", 4, 1 18 23 10 edit "", 6, 1 29 77 10 button "Ok", 7, 1 39 34 11 button "Cancel", 8, 44 39 34 11, cancel } on *:dialog:AddNickHost.info:*:*: { if ($devent == init) { if (!$dialog(infoline)) { dialog -x $dname } } if ($devent == sclick) && ($did == 7) { if ($did(6).text) { if ($did(AddNickHost.info,2,0).state == 1) { set %x $chr(127) $+ Nick } if ($did(AddNickHost.info,3,0).state == 1) { set %x $chr(127) $+ Ident } if ($did(AddNickHost.info,4,0).state == 1) { set %x $chr(127) $+ Host } if ($did(AddNickHost.info,5,0).state == 1) { set %x $chr(127) $+ Full } writeini Data\InfoLine.ws $+($ini.encode($did(6).text),%x) on true unset %x info.refreshnicks dialog -x $dname } else { noop $input(Please input text,w,Warning,w) } } } dialog AddInfo.info { title "Add Info [WiseScript]" size -1 -1 137 37 option dbu button "Ok", 5, 3 21 34 11, ok button "Cancel", 6, 40 21 36 11, cancel text "Info:", 1, 2 1 25 8 } on *:dialog:AddInfo.info:*:*: { if ($devent == init) { if (!$dialog(infoline)) { dialog -x $dname } dcx Mark $dname AddInfo.info_cb xdialog -c $dname 2 richedit 4 18 260 20 } if ($devent == sclick) { if ($did == 5) { set %x $calc($remove($ini(Data\InfoLine.ws,$info.getselected,$ini(Data\InfoLine.ws,$info.getselected,0)),info) + 1) writeini Data\InfoLine.ws $info.getselected $+(info,%x) $xdid($dname,2).text info.refreshinfos %Info.ToAdd unset %Info.ToAdd unset %x } if ($did == 6) { unset %Info.ToAdd } } if ($devent == close) { if (%Info.ToAdd) { unset %Info.ToAdd } } } alias AddInfo.info_cb { } dialog infoline { title "Info Line [WiseScript]" size -1 -1 454 250 option pixels button "", 12, -1 -1 1 1, ok } on *:dialog:infoline:*:*: { if ($devent == init) { dcx Mark $dname InfoLine_cb xdialog -c $dname 1 listview 8 29 110 146 report grid showsel singlesel xdialog -c $dname 2 listview 128 29 308 146 report grid noheader showsel singlesel xdid -t $dname 1 +c 0 60 Nick/host $chr(9) +c 0 47 type xdid -t $dname 2 +c 0 304 Info Lines xdialog -c $dname 3 button 8 176 46 20 xdid -t $dname 3 Add xdialog -c $dname 4 button 60 176 46 20 xdid -t $dname 4 Delete xdialog -c $dname 5 button 338 176 46 20 xdid -t $dname 5 Add xdialog -c $dname 6 button 390 176 46 20 xdid -t $dname 6 Delete xdialog -c $dname 7 text 8 12 50 16 xdid -t $dname 7 Nick/Host: xdialog -c $dname 8 text 130 12 50 16 xdid -t $dname 8 Info Line: xdialog -c $dname 9 text 8 202 50 16 xdid -t $dname 9 Preview: xdialog -c $dname 10 @info.win 6 224 364 20 xdialog -c $dname 11 button 372 222 74 24 xdid -t $dname 11 Ok info.refreshnicks } if ($devent = close) { if ($dialog(AddNickHost.info)) { dialog -x AddNickHost.info } if ($dialog(AddInfo.info)) { dialog -x AddInfo.info } } } alias infoline_cb { if ($2 == sclick) { if ($3 == 1) { info.refreshinfos $info.getselected } if ($3 == 2) { } if ($3 == 3) { if ($dialog(AddNickHost.info)) { dialog -v AddNickHost.info } else { dialog -m AddNickHost.info AddNickHost.info } } if ($3 == 4) { var %x if ($xdid(infoline,1).selnum > 0) { remini Data\InfoLine.ws $info.getselected info.refreshnicks } } if ($3 == 5) { set %Info.ToAdd $info.getselected if ($dialog(AddInfo.info)) { dialog -v AddInfo.info } else { dialog -m AddInfo.info AddInfo.info } } if ($3 == 6) { remini Data\InfoLine.ws $info.getselected $ini(Data\InfoLine.ws,$info.getselected,$calc($xdid(infoline,2).sel + 1)) info.refreshinfos $info.getselected } if ($3 == 11) { dialog -k infoline } } } alias info.refreshnicks { xdid -r infoline 1 var %y 1 while ($ini(Data\InfoLine.ws,%y)) { var %x $v1 xdid -a infoline 1 0 0 0 0 0 0 0 0 0 $replace(%x,$gettok(%x,1,127),$ini.decode($gettok(%x,1,127)),$chr(127),$tab $+ 0 0 $+ $chr(32),Full,Full Name) inc %y } } alias info.refreshinfos { xdid -r infoline 2 var %x 2 while ($ini(Data\InfoLine.ws,$1,%x)) { xdid -a infoline 2 0 0 0 0 0 0 0 0 0 $readini(Data\InfoLine.ws,$1,$v1) inc %x } unset %1 } alias info.getselected { return $+($ini.encode($xdid(infoline,1,0).seltext),$chr(127),$replace($xdid(infoline,1,1).seltext,Full Name,Full)) } alias info.design { return Random InfoLine for $+(,$left($1,1),,$right($1,-1)) } on *:join:#: { var %info.nick $ini.encode($nick) var %info.ident $ini.encode($ident($nick)) var %info.host $ini.encode($address($nick,5)) if ($ini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),0) > 1) { set %x $rand(2,$v1) msg $chan $info.design $+ $nick $+($([),$calc(%x - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),$ini(Data\InfoLine.ws,$+(%info.nick,$chr(127),nick),%x)) unset %x } elseif ($ini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),0) > 1) { set %x $rand(2,$v1) msg $chan $info.design $+ $nick $+($([),$calc(%x - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),$ini(Data\InfoLine.ws,$+(%info.ident,$chr(127),ident),%x)) unset %x } else { var %x 1 while ($ini(Data\InfoLine.ws,%x)) { set %z $v1 if ($gettok($v1,2,127) == host) { set %y $deltok(%z,2,127) echo %y echo %info.host if (%y iswm %info.host) { if ($ini(Data\InfoLine.ws,$+(%y,$chr(127),host),0) > 1) { set %a $rand(2,$v1) msg $chan $info.design $+ $nick $+($([),$calc(%a - 1),/,$calc($v1 - 1),$(])) : $readini(Data\InfoLine.ws,$+(%y,$chr(127),host,$ini(Data\InfoLine.ws,$+(%y,$chr(127),host),host)),$ini(Data\InfoLine.ws,$+(%y,$chr(127),host,$ini(Data\InfoLine.ws,$+(%y,$chr(127),host),host)),%a)) unset %a } } unset %y } inc %x } unset %z } }