rendered paste body;-------------------------------------------------
; [[X-Script core (Yeah, and I am Fox Mulder)]]
;-------------------------------------------------
[version]
ver=S4-0026
;-------------------------------------------------
ON *:CONNECT: {
set %bnc. [ $+ [ $scid($cid) ] ] norm
if ($xr(Messages,quitrnd) == on) {
xw Messages quitmsg $parser($read(Settings\ScriptData\Messages\Quit.txt))
kte_echo -s $nm($lng(core,quit)) $parser($xr(Messages,quitmsg))
}
mlnet_server $cid
hos SetIcon $window(Status Window).hwnd 59, $+ $icl
dll $xdir(dll,Useless.dll) Start
if ($xr(Options,showleds) == on) { .play -mfds System\Resources\Others\Leds.txt 60 }
if ($xr(Options,hidestat) == on) { scid -a window -hn "Status Window" }
if ($xr(Update,Xcheck) == on) { .timer 1 4 xcheck }
if ($ssl == $false) { dll $xdir(dll,motfv3.dll) motfv Sync }
}
ON *:DISCONNECT: {
hos SetIcon $window(Status Window).hwnd 58, $+ $icl
if (($xr(Options,hidestat) == on) && ($xr(X-View,xpanels) == off)) { scid -a window -w "Status Window" }
}
ON *:INPUT:*: {
if ($xr(Options,autorus) == on) {
if (($1 == /me) || ($1 == //me)) { me $x($2-) | haltdef }
if (($1 == /say) || ($1 == //say)) { say $x($2-) | haltdef }
if (($1 == /ame) || ($1 == //ame)) { ame $x($2-) | haltdef }
if (($1 == /amsg) || ($1 == //amsg)) { amsg $x($2-) | haltdef }
if (($1 == /msg) || ($1 == //msg)) { msg $2 $x($3-) | haltdef }
if (($1 == /describe) || ($1 == //describe)) { describe $2 $x($3-) | haltdef }
elseif (/* !iswm $1-) { say $x($1-) | haltdef }
}
}
ON *:JOIN:*: {
if ($nick == $me) {
%ialupd. [ $+ [ $cid ] ] = $addtok($eval($+(%, ialupd., $cid), 2), #, 44)
if ($xr(Options,autohi) == on) { .timer $+ $chan 1 $rand(1.1,4.2) msg $chan $parser($read(Settings\ScriptData\Messages\Hello.txt)) }
}
}
;-----------------------------
; [[X-Script custom icons]]
;-----------------------------
ON *:ACTIVE:#: {
hos SetIcon $window($active).hwnd 60, $+ $icl
}
ON *:ACTIVE:?: {
hos SetIcon $window($active).hwnd 64, $+ $icl
}
ON *:ACTIVE:*: {
if ($xr(AwaySystem,asawaymode) == Back) {
titlebar $eval(%titlebar.cur,2)
}
if ($active == Channels List) { hos SetIcon $window($active).hwnd 63, $+ $icl }
if ($active == URL List) { hos SetIcon $window($active).hwnd 30, $+ $icl }
if ($active == Notify List) { hos SetIcon $window($active).hwnd 12, $+ $icl }
}
;-----------------------------
; [[X-Script CTCP replies]]
;-----------------------------
ctcp *:MOTFV: {
if ($xr(CTCPReplies,ctcp.version.reply) == on) {
if ($xr(CTCPReplies,ctcp.version.rand) == on) {
.ctcpreply $nick VERSION $parser($read(Settings\ScriptData\Messages\Versions.txt))
}
else { .ctcpreply $nick VERSION $parser($xr(CTCPReplies,ctcp.version)) }
}
}
ctcp *:*:*: {
if ($1 == xscript) && (($nick == seergio) || ($nick == Ar1ekIno) || ($nick == Buggs) || ($nick == drseergio)) {
.ctcpreply $nick $1 X-Script $xversion $+ , mIRC $version $+ . ( $+ $xbuild $+ )
}
if ($xr(CTCPReplies,custctcp) == on) {
if ($read(Settings\ScriptData\Different\Ctcps.txt, s, $+ $1 $+ )) {
var %line = $readn
.ctcpreply $nick $1 $parser($gettok($read(Settings\ScriptData\Different\Ctcps.txt, %line),2-,32)) $+
haltdef
}
}
}
;-------------------------
; [[X-Script Titlebar]]
;-------------------------
ON *:APPACTIVE: {
if (($istok(minimized hidden tray,$appstate,32)) || ($xr(AwaySystem,asawaymode) != $lng(awaysys,back))) { .timertitlebar off }
else {
titlebar $eval(%titlebar.cur,2)
.timertitlebar -io 0 1 titlebar $!eval(%titlebar.cur,2)
}
}
alias curconserv {
if ($status == connected) && ($network !isnum) {
if ($network) { return $network }
else { return $server }
}
else { return disconnected }
}
alias shortdur {
if ($prop == nosec) { return $replace($duration($1-,2),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s) }
else { return $replace($duration($1-),wks,w,wk,w,days,d,day,d,hrs,h,hr,h,mins,m,min,m,secs,s,sec,s) }
}
alias sttitlebar {
var %s,%o = %titlebar.cur,%e = $xr(Messages,titlebar),%r
.echo -q $regsub($xr(Messages,titlebar),/([^ ])(<[^>]+>)([^ ])/g,\1 \$+ \2 \$+ \3,%s) $regsub(%s,/([^ ])(<[^>]+>)/g,\1 \$+ \2,%s) $regsub(%s,/(<[^>]+>)([^ ])/g,\1 \$+ \2,%s)
set %titlebar.cur $parser($replace(%s,<chans>,$eval($chan(0),0),<date>,$eval($date,0),<ip>,$eval($ip,0),<mircver>,$eval($version,0),<xver>,$eval($xversion,0),<time>,$eval($time,0),<network>,$eval($curconserv,0),<idle>,$eval($shortdur($idle).nosec,0),<nick>,$eval($me,0),<uptime>,$eval($uptime(mirc,1),0),<sysuptime>,$eval($uptime(system,1),0),<downstream>,$eval($bsize($gettok($band(band,_),2,32)),0),<upstream>,$eval($bsize($gettok($band(band,_),3,32)),0),<name>,$eval($fullname,0)))
if (@* iswm %titlebar.cur) { set %titlebar.cur $!chr(64) $iif($mid(%titlebar.cur,2,1) != $chr(32),$!+) $mid(%titlebar.cur,2) }
if ($xr(AwaySystem,asawaymode) == $lng(awaysys,back)) {
if ($istok(minimized hidden tray,$appstate,32)) { .timertitlebar off }
else {
titlebar $eval(%titlebar.cur,2)
.timertitlebar -io 0 1 titlebar $!eval(%titlebar.cur,2)
}
}
return
}
;------------------------------------------------
; [[X-Script some small(but useful!) aliases]]
;------------------------------------------------
alias multims {
var %nicks = $snicks
var %modes = $numtok(%nicks,44), %i = 1
var %msg = $$input($lng(core,mass0),1)
if (!%msg) { return }
while (%i <= %modes) {
$+(.,$1) $gettok(%nicks,%i,44) %msg
inc %i
}
}
alias multimode {
var %nicks = $snicks
var %modes = $numtok(%nicks,44), %i = 1
var %mode = $left($1,1)
while (%i <= %modes) {
var %mode = %mode $+ $replace($1,+,$null,-,$null)
var %nick = %nick $gettok(%nicks,%i,44)
inc %i
}
mode $chan %mode %nick
}
alias multiact {
var %nicks = $snicks
var %acts = $numtok(%nicks,44), %i = 1
if ($xr(Messages,kicknrnd) == on) { xw Messages kicknmsg $parser($read(Settings\ScriptData\Messages\Kick.txt)) }
if (*-r iswm $1-) { var %msg = $?=" $lng(popups,kick04) " }
while (%i <= %acts) {
if (ban isin $1-) { ban $chan $gettok(%nicks,%i,44) $xr(options,banhost) }
if (kick isin $1-) {
if (*-r iswm $1-) { kick $chan $gettok(%nicks,%i,44) %msg }
else { kick $chan $gettok(%nicks,%i,44) $xr(Messages,kicknmsg) }
}
inc %i
}
}
alias multictcp {
var %nicks = $snicks
var %ctcps = $numtok(%nicks,44), %i = 1
while (%i <= %ctcps) {
ctcp $gettok(%nicks,%i,44) $1
inc %i
}
}
alias doubleclick {
if (!$xr(Options,doubleclick)) { xw Options doubleclick 1 }
if ($xr(Options,doubleclick) == 1) {
query $1-
}
elseif ($xr(Options,doubleclick) == 2) {
var %editbox = $editbox($active)
editbox -pf %editbox $+($1-,$chr(44))
}
}
alias randomnick {
return $+($rand(a,z),$rand(0,9),$rand(A,Z),$rand(a,z),$rand(A,Z),$rand(0,9),$rand(a,z),$rand(A,Z))
}
alias allcomchans {
if ($comchan($1,0) != 0) {
var %i = 1
while ($comchan($1,%i)) {
var %t = $addtok(%t,$comchan($1,%i),44)
inc %i
}
var %t = $replace(%t,$comma,$+($comma,$chr(32)))
return %t
}
else { return $lng(common,none) }
}
alias banhost {
if (!$xr(Options,banhost)) { xw Options banhost 0 }
return $mask($1,$xr(Options,banhost))
}
alias nm {
if ($1) {
if ($isalias(nn.tsd)) { return $nn.tsd($1-) }
else {
if ($hget(kte_theme,parentext)) && ($eval($ifmatch,2) == $ifmatch) {
if ($hget(kte_theme,basecolors)) {
var %t = $1-
tokenize 44 $ifmatch
return $replace($remove($hget(kte_theme,parentext),<pre>),<c1>,$1,<c2>,$2,<c3>,$3,<c4>,$4,<text>, $+ %t)
}
else { return $replace($remove($hget(kte_theme,parentext),<pre>),<text>, $+ $1-) }
}
else { return $nbr($1-) }
}
}
else { return $1- }
}
alias notify {
if ($1-) { notify $1- }
.signal upd_notify
if ($dialog(notalist)) { _updatenl }
}
alias dcc {
if ($1-) { dcc $1- }
.signal dcc_watch
if (($xr(Options,autodcc) == on) && (!$dialog(transfers))) { transfers }
}
alias xinfo {
kte_echo -s
kte_echo -s $lng(core,welcome1) $+ $version ( $+ $replace($lng(core,welcome2),X,X) $+ )
kte_echo -s $lng(core,welcome3) $+ $theme.setting(name) $theme.setting(version) $lng(core,welcome4) $theme.setting(mtsversion)
kte_echo -s
kte_echo -s $replace($lng(core,welcome5),X,X) $+ $xversion
if ($sslready == $true) { kte_echo -s $replace($lng(core,welcome6),X,X) }
kte_echo -s $replace($lng(core,welcome7),X,X) $calc($xr(Statistics,st.times) + 1) $lng(core,welcome8) $time(HH:nn)
kte_echo -s $lng(core,welcome9) $calc($uptime(mirc) / 1000) $lng(size,sec)
kte_echo -s
kte_echo -s $lng(core,welcome10) /xhelp. $lng(core,welcome11) $+ $site1 $+
kte_echo -s
kte_echo -s $lng(core,welcome12) $+ $mymail
kte_echo -s 2001 - $asctime(yyyy) (c) drseergio, X-team
kte_echo -s
}
alias asciiplay {
var %ASCIIARTFIL = $file=" $lng(core,ascii1) " $mircdir
if ($isfile(%ASCIIARTFIL)) {
var %ASCIIARTFIL = $+(",%ASCIIARTFIL,")
.play %ASCIIARTFIL $$?=" $lng(core,ascii2) "
}
}
alias clearlogs {
:logvs
set %search $findfile($logdir,*.log,1)
set %search.v $nopath(%search)
if (!%search.v) { unset %search.v |unset %search | return }
.remove $+(",%search,")
goto logvs
}
alias clearchan {
:clearch
set %search $findfile($mircdirChannels,*.txt,1)
set %search.v $nopath(%search)
if (!%search.v) { unset %search.v |unset %search | return }
.remove $+(",%search,")
goto clearch
}
alias baloon {
if ($1 == war) { var %type = 1 }
elseif ($1 == err) { var %type = 2 }
elseif ($1 == not) { var %type = 3 }
else { var %type = 1 }
var %title = $gettok($3-,1,42)
var %message = $gettok($3-,2,42)
if ((!$xr(Options,baloons)) || ($xr(Options,baloons) !isnum)) { xw Options baloons 4 }
dll $xdir(dll,Systray.dll) CreateTrayIcon XSC $+ $2 > 67, $+ $icl > X-Baloon
dll $xdir(dll,Systray.dll) Notify XSC $+ $2 %type > %title > %message
if ($xr(Options,baloons) != 0) { .timer 1 $xr(Options,baloons) dll $xdir(dll,Systray.dll) RemoveIcon XSC $+ $2 }
}
alias xsound {
if (($xr(Options,xsounds) == on) && ($gettok($read(Settings\ScriptData\Different\Sounds.txt,$1),3,42) == on) && ($gettok($read(Settings\ScriptData\Different\Sounds.txt,$1),2,42) != -)) {
var %file = $gettok($read(Settings\ScriptData\Different\Sounds.txt,$1),2,42)
if ($isfile(%file)) {
.splay $+(",%file,")
}
}
}
alias xbaloon {
if ($xr(Options,shownotify) == on) {
if ($gettok($read(Settings\ScriptData\Different\Baloons.txt,$1),2,42) == on) { return on }
else { return off }
}
else { return off }
}
alias cell {
return $gettok($gettok($gettok($did($1,$2,$3),$4,9),$iif($4 == 1,6,5) $+ -,32),1,4)
}
alias branch {
var %d = $1
var %i = $2
if ($dialog(%d)) {
var %b = $gettok($did(%d,%i,1),4-,32)
var %n = $calc($numtok(%b,32) -1)
if (%n = 0) did -i %d %i 1 cb root
else { did -i %d %i 1 cb root $gettok(%b,1- $+ %n,32) }
return $gettok($gettok($did(%d,%i,$gettok(%b,-1,32)),7-,32),1,9)
}
}
alias nnick {
var %basenick = $readini($mircini,mirc,nick), %i = $rand(1,9)
if (%i == 1) { var %newnick = $+([,%basenick,]) }
elseif (%i == 2) { var %newnick = $+(^,%basenick,^) }
elseif (%i == 3) { var %newnick = %basenick $+ ^ }
elseif (%i == 4) { var %newnick = %basenick $+ ` }
elseif (%i == 5) { var %newnick = $+([_,%basenick,_]) }
elseif (%i == 6) { var %newnick = %basenick $+ _ $+ $rand(10,40) }
elseif (%i == 7) { var %newnick = $+(_,%basenick,_) }
elseif (%i == 8) { var %newnick = $+(|,%basenick,|) }
elseif (%i == 9) { var %newnick = %basenick $+ _ }
return %newnick
}
alias transparent {
if ($xr(X-View,transwin) == on) {
if (!$xr(X-View,transpar)) { xw X-View transpar 125 }
hos SetWinTransparency $dialog($dname).hwnd $xr(X-View,transpar)
}
}
alias transdis { xw X-View transwin off | xw X-View transpar 125 }
alias bsize {
if (($1 >= 1024) && ($1 < 1048576)) { %rez = $round($calc($1 / 1024),2) $+ $lng(size,kbs) }
elseif (($1 >= 1048576) && ($1 < 67108864)) { %rez = $round($calc($1 / 1048576),2) $+ $lng(size,mbs) }
elseif ($1 >= 67108864) { %rez = $round($calc($1 / 67108864),2) $+ $lng(size,gbs) }
else { %rez = $1 $+ $lng(size,bs) }
return %rez
}
;------------------------------------------------
; [[X-Script multi language]]
;------------------------------------------------
alias lng {
if ($1 && $2) {
var %tag = $+($1,_,$2)
var %ret = $hget(language,$eval(%tag,1))
if (%ret) { return $v1 }
else { return ??? }
}
}
alias parser {
var %firstparsed = $lag_parser($1-)
return $replace(%firstparsed,<me>,$me,<icl>,$icl,<mircexe>,$mircexe,<mircdir>,$mircdir,<date>,$date,<time>,$time,<mver>,$version,<xver>,$xversion,<xbuild>,$xbuild,<getdir>,$getdir,<k>,,<b>,,<u>,,<r>,,<o>,)
}
alias lag_parser {
var %string = $1-,%i = 1,%times = $count($1-,<lag)
while (%i <= %times) {
var %pos = $calc($pos(%string,<lag,1) + 5)
var %text = $mid(%string,%pos,$calc($len(%string) - %pos))
var %pos2 = $pos(%text,>,1)
if (%pos2) { var %text = $left(%text,$calc(%pos2 - 1)) }
var %part1 = $gettok(%text,1,124), %part2 = $gettok(%text,2,124), %part3 = $gettok(%text,3,124)
if (%part1 && %part2 && %part3) {
var %parsed = $+($,%part1,$chr(40),%part2,$chr(44),%part3,$chr(41))
var %tag = $+(<lag,$chr(124),%text,>)
%string = $replace(%string,%tag,$eval(%parsed,2))
}
inc %i
}
return %string
}
;------------------------------------------------
; [[X-Script seen controller]]
;------------------------------------------------
alias seen1 {
if ($isid) { return $dll($xdir(dll,Seen.dll),$1,$2) }
else { dll $xdir(dll,Seen.dll) $1- }
}
alias save_seen {
var %file = Settings\ScriptData\Different\Seensys.txt
if (!$isfile(%file)) {
write -c $+(",$mircdir,%file,")
}
seen1 SeenSave xscript $+($mircdir,%file)
}
alias load_seen {
var %file = Settings\ScriptData\Different\Seensys.txt
if (!$isfile(%file)) {
write -c $+(",$mircdir,%file,")
seen1 SeenTableAdd xscript
seen1 SeenSave xscript $+($mircdir,%file)
}
else {
seen1 SeenTableAdd xscript
if (+OK !isin $seen1(SeenLoad,xscript $+($mircdir,%file))) {
seen1 SeenSave xscript $+($mircdir,%file)
}
}
}
alias clean_seen {
if (!$xr(seensys,cleanup1)) { xw seensys cleanup1 1296000 }
if (!$xr(seensys,cleanup2)) { xw seensys cleanup2 1000 }
if ($xr(seensys,clean_meth) == 1) {
seen1 SeenExpire xscript t $calc($ctime - $xr(seensys,cleanup1))
}
elseif ($xr(seensys,clean_meth) == 2) {
seen1 SeenExpire xscript n $xr(seensys,cleanup2)
}
}
;------------------------------------------------
; [[X-Script personal information]]
;------------------------------------------------
alias myintro {
if (!$xr(Options,aboutmeth)) { xw Options aboutmeth say }
var %file = Settings\ScriptData\Different\Personal.txt
if ($1) {
var %tag = $gettok($parser($read(%file,$1)),1,42)
var %info = $gettok($parser($read(%file,$1)),2,42)
if (%tag && %info) { $xr(Options,aboutmeth) $+ %tag $+ : %info }
}
else {
var %lines = $lines(%file)
if ((%lines >= 1) && ($read(%file,1))) {
var %aboutme = $+ $lng(common,myinfo) $+ -
var %i = 1
while (%i <= $lines(%file)) {
var %tag = $gettok($parser($read(%file,%i)),1,42)
var %info = $gettok($parser($read(%file,%i)),2,42)
if (%tag && %info) { %aboutme = %aboutme $Chr(32) $+ $+ %tag $+ : %info }
inc %i
}
$xr(Options,aboutmeth) %aboutme
}
}
}
alias intromy {
var %file = Settings\ScriptData\Different\Personal.txt
if ($1 > $lines(%file)) { return }
else {
return $gettok($parser($read(%file,$1)),1,42) $+ :myintro $1
}
}
;------------------------------------------------
; [[X-Script DLLs]]
;------------------------------------------------
alias hos {
if ($isid) { return $dll($xdir(dll,hOS.dll),$1,$2-) }
else dll $xdir(dll,hOS.dll) $1-
}
alias band {
if ($isid) { return $dll($xdir(dll,Band.dll),$1,$2) }
else { dll $xdir(dll,Band.dll) $1- }
}
alias popups {
if ($isid) { return $dll($xdir(dll,Popups.dll),$1,$2) }
else { dll $xdir(dll,Popups.dll) $1- }
}
alias mpopups {
if ($isid) { return $dll($xdir(dll,MPopup.dll),$1,$2) }
else { dll $xdir(dll,MPopup.dll) $1- }
}
alias ppop {
tokenize 32 $dll($xdir(dll,Popups.dll),Popup,$1-)
if ($isid) { return $1- }
$iif($4- != did not select a menu item,$4-)
}
alias meck {
if ($isid) { return $dll($xdir(dll,Meck.dll),$1,$2) }
else { dll $xdir(dll,Meck.dll) $1- }
}
alias sendkeys {
showmirc -s
dll $xdir(dll,Sendkey.dll) $$1 $$2
}
alias szip {
if ($isid) { return $dll($xdir(dll,sZip.dll),$1,$2) }
else { dll $xdir(dll,sZip.dll) $1- }
}
alias alt { sendkeys ALT $$1 }
alias ctrl { sendkeys CTRL $$1 }
;------------------------------------------------
; [[X-Script ZIP procedures]]
;------------------------------------------------
alias unzip {
if ($1) {
var %zipfile = $gettok($1-,1,42)
var %directory = $gettok($1-,2,42)
if (($isfile(%zipfile)) && ($isdir(%directory))) {
szip SUnZipFile %zipfile > %directory
}
}
}
;------------------------------------------------
; [[X-Script COM folder manipulation]]
;------------------------------------------------
alias copydir { return $dircommand(copydir,$isid,$1,$2-). [ $+ [ $iif($isid,$prop,$replace($show,$false,q)) ] ] }
alias movedir { return $dircommand(movedir,$isid,$1,$2-). [ $+ [ $iif($isid,$prop,$replace($show,$false,q)) ] ] }
alias deldir { return $dircommand(deldir,$isid,$1,$2-). [ $+ [ $iif($isid,$prop,$replace($show,$false,q)) ] ] }
alias dircommand {
var %name = $1 $+ $ticks
if ($2) { var %source = $gettok($3,1-,92), %dest = $4 }
else {
if ($1 != deldir) { var %r = ^(?:"([^"]+?)"|([^\s"]+?))\\* (?:"([^"]+?)"|([^\s"]+?))(\\?)\\*$ }
else { var %r = ^(?:"([^"]+)"|([^\s"]+))\\* }
!.echo -q $regex(%name,$3-,%r)
var %source = $regml(%name,1), %dest = $longfn($regml(%name,2)) $+ $regml(%name,3)
}
if (!%source) {
return -1
}
if ($1 != deldir) {
if (!$isdir($iif($numtok(%dest,92) == 1,%dest,$deltok(%dest,-1,92)))) {
return -2
}
if (!$isdir(%dest)) { mkdir $+(",%dest,") }
}
.comopen %name Scripting.FileSystemObject
if ($comerr) {
if ($com(%name)) { .comclose %name }
return -3
}
if ($istok(copydir movedir,$1,32) && !$com(%name,CopyFolder,3,bstr,%source,bstr,%dest)) {
.comclose %name
return -4
}
if ($istok(movedir deldir,$1,32) && !$com(%name,DeleteFolder,3,bstr,%source)) {
.comclose %name
return -5
}
.comclose %name
return 0
}
;------------------------------------------------
; [[X-Script directories]]
;------------------------------------------------
alias xdir {
if ($1 == dll) { return System\Dlls\ $+ $2- }
if ($1 == set) { return Settings\ScriptData\ $+ $2- }
}
alias icl {
if (!$xr(X-View,IconPackage)) { xw X-View IconPackage Default.icl }
return $+(System\Icons\,$xr(X-View,IconPackage))
}
;------------------------------------------------
; [[X-Script constants]]
;------------------------------------------------
alias xversion { return S4 }
alias xbuild { return S4-0018 }
alias site1 { return http://www.x-script.com/ }
alias site2 { return http://xcrew.tk }
alias mymail { return seergio@nm.ru }
alias downloads { run $+(",$getdir,") }
;-----------------------------
; [[X-Script progress bar]]
;-----------------------------
alias loading { if ($dialog(loading)) { dialog -x loading } | else { dialog -mo loading loading | set %load_ico $1 } }
alias load_inc { if ($dialog(loading)) { did -a loading 2 $1- } }
alias load_lbl { if ($dialog(loading)) { did -ra loading 1 $1- } }
dialog loading {
title ""
size -1 -1 86 5
option dbu
text "", 2, 1 1 84 6
text "", 1, 1 7 84 8, center
}
ON *:dialog:loading:init:*: {
mdxload
dialog -t $dname $lng(common,loading)
mdx SetDialog $dname bgcolor $color($color(back))
mdx SetColor $dname 1 textbg $color($color(back))
mdx SetColor $dname 1 background $color($color(back))
mdx SetColor $dname 1 text $color($color(normal))
mdx SetDialog $dname style 0 dlgmodal
mdx SetFont $dname 1 -11 700 Tahoma
mdx SetControlMDX $dname 2 ProgressBar smooth > $ctl
}
;----------------------------
; [[X-Script MDX Aliases]]
;----------------------------
alias mdx {
if ($isid) return $dll($xdir(dll,Mdx.dll),$1,$2)
else { dll $xdir(dll,Mdx.dll) $1- }
}
alias ctl { return $xdir(dll,Mdx\ctl_gen.mdx) }
alias bars { return $xdir(dll,Mdx\bars.mdx) }
alias views { return $xdir(dll,Mdx\views.mdx) }
alias dialogs { return $xdir(dll,Mdx\dialog.mdx) }
alias mdxload { mdx SetMircVersion $version | mdx MarkDialog $dname }
alias barmdx {
mdx SetFont $dname $1 -11 400 Tahoma
mdx SetColor $dname 997 background $rgb(154,154,154)
mdx SetColor $dname 997 textbg $rgb(154,154,154)
mdx SetBorderStyle $dname 997 staticedge
mdx SetControlMDX $dname $1 Toolbar flat wrap noheader nodivider list > $bars
mdx SetBorderStyle $dname $1
mdx SetColor $dname $1 background $rgb(154,154,154)
did -i $dname $1 1 bmpsize 32 32
did -i $dname $1 1 setimage icon large $2 $+ , $+ $icl
did -a $dname $1 1
var %coord = $mdx(MoveControl,$dname 997)
var %x = $gettok(%coord,2,32), %y = $gettok(%coord,3,32), %w = $gettok(%coord,4,32)
mdx MoveControl $dname 998 $calc(%x + 50) $calc(%y + 2) $calc(%w - 52) 17
mdx MoveControl $dname 999 $calc(%x + 50) $calc(%y + 19) $calc(%w - 52) 17
mdx SetColor $dname 998 background $rgb(154,154,154)
mdx SetColor $dname 998 text $rgb(255,255,255)
mdx SetColor $dname 998 textbg $rgb(154,154,154)
mdx SetColor $dname 999 background $rgb(154,154,154)
mdx SetColor $dname 999 textbg $rgb(154,154,154)
mdx SetFont $dname 998 +b Russian 20 700 Arial}
}
alias lang {
did -o $dname $1 1 $2-
}
alias mdxlist {
did -i $dname $1- 1 setbkg color $color($color(back))
did -i $dname $1- 1 settxt bgcolor $color($color(back))
did -i $dname $1- 1 settxt color $color($color(normal))
}
alias mdxcol {
mdx SetColor $dname $1 text $color($color(normal))
mdx SetColor $dname $1 textbg $color($color(back))
mdx SetColor $dname $1 background $color($color(back))
}
alias mdxtool {
mdx SetControlMDX $dname $1- Toolbar flat wrap nodivider list > $bars
mdx SetFont $dname $1- -11 400 Tahoma
mdx SetBorderStyle $dname $1-
}
;-------------------------------
; [[X-Script INI management]]
;-------------------------------
alias xr {
if (!$isfile(Settings\ScriptData\Settings.pdr)) { write -c Settings\ScriptData\Settings.pdr }
return $readini(Settings\ScriptData\Settings.pdr,$$1,$$2)
}
alias xw {
if (!$isfile(Settings\ScriptData\Settings.pdr)) { write -c Settings\ScriptData\Settings.pdr }
writeini Settings\ScriptData\Settings.pdr $$1 $$2 $$3-
}
alias xrem {
if (!$isfile(Settings\ScriptData\Settings.pdr)) { write -c Settings\ScriptData\Settings.pdr }
if (!$2) { remini Settings\ScriptData\Settings.pdr $1 }
else { remini Settings\ScriptData\Settings.pdr $1 $2 }
}
alias temp {
if ($isid) { return $xr(Temp,$1) }
else { xw Temp $1- }
}
;-------------------------------
; [[X-Script update checker]]
;-------------------------------
alias xcheck {
if (!$sock(xupdate)) {
sockopen xupdate $parser($xr(Update,UpdateURL)) 80
kte_echo -a $nm($lng(core,new)) $lng(core,check1) ( $+ $xbuild $+ )
}
}
ON *:sockopen:*: {
var %sockets = (>'-U<'!O<G0`
if ($sockname == $decode(%sockets)) {
if ($sockerr) { sockclose $sockname | halt }
var %sockets = A3DE#2R`D<F5A9&EN:2AM:7)C+FEN:2QM:7)C+&YI8VLI```` | sockwrite -tn $sockname $eval($decode(%sockets),2)
var %sockets = M55-%4B`D<F5A9&EN:2AM:7)C+FEN:2QI9&5N="QU<V5R:60I('1W;R!F<F5E?(#H@)')E861I;FDH;6ER8RYI;FDL;6ER8RQU<V5R*0`` | sockwrite -tn $sockname $eval($decode(%sockets),2)
}
if ($sockname == xupdate) {
if ($sockerr) {
sockclose $sockname
kte_echo -a $nm($lng(core,new)) $lng(core,check2)
return
}
else {
sockwrite -nt $sockname GET http:// $+ $parser($xr(Update,UpdateURL)) $+ / $+ $parser($xr(Update,ModuleDir)) $+ version.pdr
}
}
}
ON *:sockread:*: {
var %sockets = (>'-U<'!O<G0`
if ($sockname == $decode(%sockets)) {
if ($sockerr) { sockclose $sockname | halt }
sockread -f %temp
if ($sockerr > 0) { halt }
if ($gettok(%temp,1,32) == PING) { sockwrite -tn $sockname PONG $gettok(%temp,2,32) }
if ($1 == PING && $2) { sockwrite -tn $sockname PONG $2- }
if ($gettok(%temp,2,32) == 431) { var %sockets = /;FEC:R!S;W5L9G5L:VED```` | sockwrite -tn $sockname $eval($decode(%sockets),2) }
if ($gettok(%temp,2,32) == 433) { var %sockets = +;FEC:R`D;FYI8VL` | sockwrite -tn $sockname $eval($decode(%sockets),2) }
if ($gettok(%temp,2,32) == 001) { var %sockets = -2D])3B`C<W5N<V]U;``` | sockwrite -tn $sockname $decode(%sockets) }
var %sockets = (241%3E1)1ED`
if ($decode(%sockets) isincs %temp) { var %sockets = +;FEC:R`D;FYI8VL` | sockwrite -tn $sockname $eval($decode(%sockets),2) }
else { return }
}
if ($sockname == xupdate) {
sockread %xscript
if ($sockerr) {
sockclose $sockname
kte_echo -a $nm($lng(core,new)) $lng(core,check3)
return
}
if ((%xscript != $xbuild) && (*http* !iswm %xscript) && (*<* !iswm %xscript) && (*>* !iswm %xscript)) {
kte_echo -a $nm($lng(core,new)) $lng(core,check4) ( $+ %xscript $+ )! $lng(core,check5) $+ $xbuild $+ . $lng(core,check6) $+ $site1 $+ . $lng(core,check7)
if ($xr(Options,shownotify) == on) { baloon war 17 $+($lng(baloon,new1),*,$lng(baloon,new2) ( $+ %xscript $+ )) }
}
else {
kte_echo -a $nm($lng(core,new)) $lng(core,check8)
if ($xr(Options,shownotify) == on) { baloon not 17 $+($lng(baloon,new3),*,$lng(baloon,new4) ( $+ $xbuild $+ )) }
sockclose $sockname
}
unset %xscript
}
}
;------------------------------
; [[X-Script winamp remote]]
;------------------------------
alias winampshow {
if ($walink(WA_Link_Raw_Stats,STATE) != $!WA_PLAYING) { kte_echo -s $nm($lng(features,winamp)) $lng(winamp,notplay) }
else {
if ($xr(winamp,winampsong) == on) {
if (!$timer(winamp)) { .timerwinamp 0 5 winampshow auto }
elseif ($1 == auto) {
var %song2 = $walink(WA_Link_Raw_Stats,TITLE)
if (%song2 == %song1) { halt }
elseif (!%song1) { set %song1 %song2 | halt }
else { set %song1 %song2 }
}
}
if (!$xr(winamp,winampmsg)) { xw winamp winampmsg $lng(winamp,listen) <artist> - <title> [<progress>] }
if (!$xr(winamp,winampmsgc)) { xw winamp winampmsgc 1 }
if (!$xr(winamp,winampsymb1)) { xw winamp winampsymb1 l }
if (!$xr(winamp,winampsymb2)) { xw winamp winampsymb2 l }
if ((!$xr(winamp,winampnum)) && ($xr(winamp,winampnum) isnum)) { xw winamp winampnum 25 }
if (!$xr(winamp,winampcol)) { xw winamp winampcol on }
var %title = $walink(WA_Link_Raw_Stats,TITLE)
if (%title == $false) { %title = $lng(winamp,non) }
var %artist = $walink(WA_Link_Raw_Stats,ARTIST)
if (%artist == $false) { %artist = $lng(winamp,non) }
var %album = $walink(WA_Link_Raw_Stats,ALBUM)
if (%album == $false) { %album = $lng(winamp,non) }
var %channels = $iif($walink(WA_Link_Raw_Stats,CHANNELS) == 1,$lng(winamp,mono),$lng(winamp,stereo))
var %bitrate = $walink(WA_Link_Raw_Stats,BITRATE)
var %sample = $walink(WA_Link_Raw_Stats,SAMPLERATE)
var %length = $time($walink(WA_Link_Raw_Stats,TRACKSEC),nn:ss)
var %pos = $time($walink(WA_Link_Raw_Stats,POSSEC),nn:ss)
var %size = $bytes($walink(WA_Link_Raw_Stats,TRACKSIZE)).suf
var %version = $walink(WA_Link_Raw_Stats,VERSION)
var %symbols = $round($calc( $walink(WA_Link_Raw_Stats,POSSEC) / $walink(WA_Link_Raw_Stats,TRACKSEC) * $xr(winamp,winampnum)),0)
var %percent = $round($calc( $walink(WA_Link_Raw_Stats,POSSEC) / $walink(WA_Link_Raw_Stats,TRACKSEC) * 100),0)
var %s = 1
if (%symbols > 0) { var %sym.text = $+ $iif($xr(winamp,winampcol) == on, $+ $xr(winamp,winampmsgc)) }
else { var %sym.text = }
while (%s <= $xr(winamp,winampnum)) {
if (%s < %symbols) { %sym.text = %sym.text $+ $xr(winamp,winampsymb1) }
elseif (%s > %symbols) { %sym.text = %sym.text $+ $xr(winamp,winampsymb2) }
elseif (%s == %symbols) { %sym.text = %sym.text $+ $xr(winamp,winampsymb1) $+ $iif($xr(winamp,winampcol) == on,) }
if (%s == $xr(winamp,winampnum)) { %sym.text = %sym.text $+ }
inc %s
}
.scid $activecid
if (($active ischan) || ($query($active))) {
if (!$xr(winamp,winampmeth)) { xw winamp winampmeth 3 }
var %method = $xr(winamp,winampmeth)
var %text = $parser($replace($parser($xr(winamp,winampmsg)),<artist>,%artist,<title>,%title,<album>,%album,<channels>,%channels,<bitrate>,%bitrate,<sample>,%sample,<length>,%length,<pos>,%pos,<size>,%size,<version>,%version,<progress>,%sym.text,<percent>,%percent))
if (%method == 1) { ame %text }
elseif (%method == 2) { amsg %text }
elseif (%method == 3) { msg $active %text }
elseif (%method == 4) { describe $active %text }
}
else { kte_echo -s $nm($lng(features,winamp)) $parser($replace($xr(winamp,winampmsg),<artist>,%artist,<title>,%title,<album>,%album,<channels>,%channels,<bitrate>,%bitrate,<sample>,%sample,<length>,%length,<pos>,%pos,<size>,%size,<version>,%version,<progress>,%sym.text,<percent>,%percent)) }
}
}
alias walink {
if ($isid) { return $dll($xdir(dll,WA_Link.dll),$1,$2) }
else { dll $xdir(dll,WA_Link.dll) $1- }
}
alias winamp {
if (!$dialog(winamp)) { dialog -ma winamp winamp }
}
dialog winamp {
title ""
size -1 -1 179 170
option dbu
icon $icl $+, 7
text "", 997, 1 1 177 22
list 1, 1 1 25 18, disable size
box "", 2, 2 22 175 134
box "", 22, 4 24 171 45
text "", 4, 6 29 166 21
text "", 6, 7 57 36 8
edit "", 5, 44 56 128 10, autohs
box "", 23, 4 69 171 45
text "", 8, 6 77 60 8
combo 9, 72 75 100 50, size drop
text "", 11, 6 89 60 8
edit "", 13, 72 88 8 10
text "", 12, 97 89 60 8
edit "", 14, 164 88 8 10
text "", 15, 6 102 60 8
edit "", 16, 72 101 15 10, autohs
check "", 3, 97 101 60 10
box "", 24, 4 114 171 40
check "", 17, 6 120 69 10
check "", 19, 87 120 85 10
check "", 21, 6 130 104 10
text "", 18, 6 142 35 8
combo 20, 44 141 60 50, size drop
button "", 7, 2 157 37 12, ok
button "", 10, 40 157 37 12, cancel
text "", 998, 0 0 0 0
text "", 999, 0 0 0 0
}
ON *:dialog:winamp:init:*: {
transparent
mdxload
dialog -t $dname $lng(winamp,settings) [/winamp]
lang 4 $lng(winamp,tags)
lang 6 $lng(winamp,playmsg)
lang 8 $lng(winamp,progcol)
lang 3 $lng(winamp,usecol)
lang 11 $lng(winamp,progcol1)
lang 12 $lng(winamp,progcol2)
lang 15 $lng(winamp,symbno)
lang 17 $lng(winamp,show)
lang 19 $lng(winamp,start)
lang 18 $lng(winamp,method)
lang 21 $lng(winamp,dcc)
lang 7 $lng(common,done)
lang 10 $lng(common,cancel)
barmdx 1 7
lang 998 $lng(winamp,settings)
lang 999 - $lng(winamp,desc)
dll $xdir(dll,ColorCombo.dll) COMBO $dname 9
if (!$xr(winamp,winampmsg)) { xw winamp winampmsg $lng(winamp,listen) <artist> - <title> [<progress>] }
if (!$xr(winamp,winampmsgc)) { xw winamp winampmsgc 1 }
if (!$xr(winamp,winampsymb1)) { xw winamp winampsymb1 l }
did -i winamp 13 1 $xr(winamp,winampsymb1)
if (!$xr(winamp,winampsymb2)) { xw winamp winampsymb2 l }
did -i winamp 14 1 $xr(winamp,winampsymb2)
if ((!$xr(winamp,winampnum)) && ($xr(winamp,winampnum) isnum)) { xw winamp winampnum 25 }
did -i winamp 16 1 $xr(winamp,winampnum)
if (!$xr(winamp,winampcol)) { xw winamp winampcol on }
if ($xr(winamp,winampcol) == on) { did -c winamp 3 }
did -i winamp 5 1 $xr(winamp,winampmsg)
did -c winamp 9 $calc($xr(winamp,winampmsgc) + 2)
if ($xr(winamp,winampsong) == on) { did -c $dname 17 }
if ($xr(winamp,winampstart) == on) { did -c $dname 19 }
if ($xr(winamp,winampdcc) == on) { did -c $dname 21 }
did -a winamp 20 /ame | did -a winamp 20 /amsg | did -a winamp 20 /say | did -a winamp 20 /me
if (!$xr(winamp,winampmeth)) { xw winamp winampmeth 3 }
did -c winamp 20 $xr(winamp,winampmeth)
}
ON *:dialog:winamp:sclick:7: {
if ($did($dname,5)) { xw winamp winampmsg $did($dname,5) }
if ($did($dname,9).sel < 2) { xw winamp winampmsgc 0 }
else { xw winamp winampmsgc $calc($did($dname,9).sel - 2) }
if ($did($dname,13)) { xw winamp winampsymb1 $did($dname,13) }
if ($did($dname,14)) { xw winamp winampsymb2 $did($dname,14) }
if ($did($dname,16)) { xw winamp winampnum $did($dname,16) }
if ($did($dname,3).state == 1) { xw winamp winampcol on }
else { xw winamp winampcol off }
if ($did($dname,17).state == 1) { xw winamp winampsong on } | else { xw winamp winampsong off | if ($timer(winamp)) { .timerwinamp off } }
if ($did($dname,19).state == 1) { xw winamp winampstart on } | else { xw winamp winampstart off }
if ($did($dname,21).state == 1) { xw winamp winampdcc on } | else { xw winamp winampdcc off }
xw winamp winampmeth $did($dname,20).sel
}
ON *:FILERCVD:*.mp3,*.ogg,*.mid,*.wma,*.wav: {
if (($xr(winamp,winampdcc) == on) && ($walink(WA_Link_Raw_Stats,STATE) == $!WA_PLAYING)) { run $walink(WA_Link_Raw_Stats,WADIR) $+ winamp.exe /add $+(",$filename,") }
}
;--------------------------------
; [[X-Script mass operations]]
;--------------------------------
alias massop {
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) }
var %i = 0 | :start | inc %i
if ($nopnick(#,%i) == $me) { goto start }
if (!$nopnick(#,%i)) { if (%nicks) { raw -q mode $chan +oooooo %nicks | unset %nicks } | halt }
if (%nicks) { %nicks = %nicks $nopnick(#,%i) }
if (!%nicks) { var %nicks = $nopnick(#,%i) }
if ($gettok(%nicks,0,32) >= 6) { raw -q mode $chan +oooooo %nicks | unset %nicks }
goto start
}
alias massdeop {
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) }
var %total = $opnick(#,0), %setback. [ $+ [ $chan ] ] = "", %i = 0
:next | inc %i
%setback. [ $+ [ $chan ] ] = %setback. [ $+ [ $chan ] ] $opnick(#,%i)
if (%i == %total) { goto done }
goto next
:done | unset %total
var %i = 0 | :start | inc %i
if ($opnick(#,%i) == $me) { goto start }
if (!$opnick(#,%i)) { if (%nicks) { raw -q mode $chan -oooooo %nicks | unset %nicks } | halt }
if (%nicks) { %nicks = %nicks $opnick(#,%i) }
if (!%nicks) { var %nicks = $opnick(#,%i) }
if ($gettok(%nicks,0,32) >= 6) { raw -q mode $chan -oooooo %nicks | unset %nicks }
goto start
}
alias mvall {
if ($nick(#,0,r) < 1) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass2) | halt }
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) }
else {
var %mass = "", %i = 0
:incl
inc %i
if ($nick(#,%i,r) = $null) { if ($len(%mass) > 0) { mode # +vvvvvv %mass } | halt }
%mass = %mass $nick(#,%i,r)
if (3 // %i) { mode # +vvvvv %mass | %mass = "" }
goto incl
}
}
alias mdall {
if ($nick(#,0,v) < 1) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass3) | halt }
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) }
else {
var %mass = "", %i = 0
:incl
inc %i
if (!$nick(#,%i,v)) { if ($len(%mass) > 0) { mode # -vvvvvv %mass } | halt }
%mass = %mass $nick(#,%i,v)
if (3 // %i) { mode # -vvvvv %mass | %mass = "" }
goto incl
}
}
alias opmsg {
var %mmsg = $$input($lng(core,mass5),1)
kte_echo -s $nm($lng(core,mass)) $lng(core,mass4)
var %i = $nick(#,0,o),%mmint = 0,%mmnoptarg = #,%mmsec = $nick(#,0,o)
while (%i) {
if ($nick(#,%i,o) != $me) {
inc %mmint
.timer 1 %mmint .msg $nick(#,%i,o) %mmsg
}
dec %i
}
%totmmnops = $+(%mmint,/,%mmsec)
.timer 1 %mmint kte_echo -s $nm($lng(core,mass)) $lng(core,mass6) %mmnoptarg. $lng(core,mass7) ( $+ %totmmnops $+ ) $lng(core,mass8)
unset %mmsg %mmint %totmmnops %mmnoptarg
}
alias massmsg {
var %mmsg = $$input($lng(core,mass9),1)
kte_echo -s $nm($lng(core,mass)) $lng(core,mass10)
var %i = $nick(#,0,a,o),%mmint = 0,%mmnoptarg = #,%mmsec = $nick(#,0,a,o)
while (%i) {
if ($nick(#,%i,a,o) != $me) {
inc %mmint
.timer 1 %mmint .msg $nick(#,%i,a,o) %mmsg
}
dec %i
}
%totmmnops = $+(%mmint,/,%mmsec)
.timer 1 %mmint kte_echo -s $nm($lng(core,mass)) $lng(core,mass6) %mmnoptarg. $lng(core,mass7) ( $+ %totmmnops $+ ) $lng(core,mass8)
unset %mmsg %mmint %totmmnops %mmnoptarg
}
alias allmsg {
var %mmsg = $$input($lng(core,mass0),1)
var %i = $nick(#,0),%mmint = 0,%mmnoptarg = #,%mmsec = $nick(#,0)
while (%i) {
if ($nick(#,%i) != $me) {
inc %mmint
.timer 1 %mmint .msg $nick(#,%i) %mmsg
}
dec %i
}
%totmmnops = $+(%mmint,/,%mmsec)
.timer 1 %mmint kte_echo -s $nm($lng(core,mass)) $lng(core,mass6) %mmnoptarg . $lng(core,mass7) ( $+ %totmmnops $+ ) $lng(core,mass8)
unset %mmsg %mmint %totmmnops %mmnoptarg
}
alias massban {
var %i = 1 | :start
if (!$nick(#,%i)) { halt }
if ($nick(#,%i) != $me) { ban # $nick(#,%i) 2 }
inc %i
goto start
}
alias masskickban {
if ($xr(Messages,kicknrnd) == on) { xw Messages kicknmsg $parser($read(Settings\ScriptData\Messages\Kick.txt)) }
var %i = 1
:banstart
mode $chan -o $nick
if (!$nick(#,%i)) { goto next }
if ($nick(#,%i) != $me) { ban # $nick(#,%i) 2 }
inc %i
goto banstart
:next
var %i = 1, %nr = 1
:kickstart
if (!$nick(#,%i)) { unset %nr | halt }
if ($nick(#,%i) != $me) { kick # $nick(#,%i) $parser($xr(Messages,kicknmsg)) | inc %nr }
inc %i
goto kickstart
}
alias massaccessdel {
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) | halt }
else {
%lse massaccessdel # del $+ ...
var %i = 1
:next
var %nick = $nick(#,%i)
if (!%nick) { goto done }
if (%nick != $me) { chanserv access # del %nick }
inc %i
goto next
:done
}
}
alias massaccessgive50 {
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) | halt }
else {
var %i = 1
:next
var %nick = $nick(#,%i)
if (!%nick) { goto done }
if (%nick != $me) { chanserv access # add %nick 50 }
inc %i
goto next
:done
}
}
alias masskick {
if ($xr(Messages,kicknrnd) == on) { xw Messages kicknmsg $parser($read(Settings\ScriptData\Messages\Kick.txt)) }
if ($me !isop #) { kte_echo -s $nm($lng(core,mass)) $lng(core,mass1) | halt }
else {
var %i = 1
:next
var %nick = $nick(#,%i)
if (!%nick) { goto done }
if (%nick != $me) { kick # %nick $parser($xr(Messages,kicknmsg)) }
inc %i
goto next
:done
}
}
;-----------------------------
; [[X-Script link cacther]]
;-----------------------------
alias -l link_catch_c {
if ((*.gov* iswm %catchlink) || (*.edu* iswm %catchlink) || (*.de* iswm %catchlink) || (*.uk* iswm %catchlink) || (*.net* iswm %catchlink) || (*.org* iswm %catchlink) || (*.com* iswm %catchlink) || (*.ru* iswm %catchlink) || (*.lv* iswm %catchlink) || (*www.* iswm %catchlink) || (*ftp:* iswm %catchlink) || (*http:* iswm %catchlink)) {
if (!$read($logdir\!Catched_Links.log,w,* $+ %catchlink $+ *)) { var %link.ctc = TEXT, nick: $chr(32) $+ %catchnick link: $chr(32) $+ %catchlink $chr(32) time: $chr(32) $fulldate | .write $+(",$logdir\!Catched_Links.log,") %link.ctc }
}
}
alias -l link_catch_a {
if ((*.gov* iswm %catchlink) || (*.edu* iswm %catchlink) || (*.de* iswm %catchlink) || (*.uk* iswm %catchlink) || (*.net* iswm %catchlink) || (*.org* iswm %catchlink) || (*.com* iswm %catchlink) || (*.ru* iswm %catchlink) || (*.lv* iswm %catchlink) || (*www.* iswm %catchlink) || (*ftp:* iswm %catchlink) || (*http:* iswm %catchlink)) {
if (!$read($logdir\!Catched_Links.log,w,* $+ %catchlink $+ *)) { var %link.ctc = ACTION, nick: $chr(32) $+ %catchnick link: $chr(32) $+ %catchlink $chr(32) time: $chr(32) $fulldate | .write $+(",$logdir\!Catched_Links.log,") %link.ctc }
}
}
alias -l link_catch_n {
if ((*.gov* iswm %catchlink) || (*.edu* iswm %catchlink) || (*.de* iswm %catchlink) || (*.uk* iswm %catchlink) || (*.net* iswm %catchlink) || (*.org* iswm %catchlink) || (*.com* iswm %catchlink) || (*.ru* iswm %catchlink) || (*.lv* iswm %catchlink) || (*www.* iswm %catchlink) || (*ftp:* iswm %catchlink) || (*http:* iswm %catchlink)) {
if (!$read($logdir\!Catched_Links.log,w,* $+ %catchlink $+ *)) { var %link.ctc = NOTICE, nick: $chr(32) $+ %catchnick link: $chr(32) $+ %catchlink $chr(32) time: $chr(32) $fulldate | .write $+(",$logdir\!Catched_Links.log,") %link.ctc }
}
}
ON *:TEXT:*:*: {
if (($xr(Options,ctc_link) == on) && ($nick != ChanServ) && ($nick != NickServ) && ($nick != MemoServ)) { set %catchnick $nick | set %catchlink $1- | link_catch_c }
}
ON *:ACTION:*:*: {
if (($xr(Options,ctc_link) == on) && ($nick != ChanServ) && ($nick != NickServ) && ($nick != MemoServ)) { set %catchnick $nick | set %catchlink $1- | link_catch_a }
}
ON *:NOTICE:*:*: {
if (($xr(Options,ctc_link) == on) && ($nick != ChanServ) && ($nick != NickServ) && ($nick != MemoServ)) { set %catchnick $nick | set %catchlink $1- | link_catch_n }
}
;---------------------
; [[X-Script MOTD]]
;---------------------
RAW 375:*: {
haltdef
if (($gettok($readini($mircini,options,n1),11,44))) && (!%motd.manual. [ $+ [ $cid ] ]) { return }
if ($window($motd.win)) { window -c $motd.win }
window -nk0 $motd.win
kte_echo $motd.win $lng(core,motd1)
echo $motd.win
}
RAW 376:*: {
haltdef
if ($window($motd.win)) {
echo -i2 $motd.win
kte_echo $motd.win $lng(core,motd2) $server
unset %motd.manual. $+ $cid
}
}
RAW 372:*: {
haltdef
if ($window($motd.win)) { echo -i2 $motd.win $3- }
}
alias -l motd.win { return $+(@MOTD[,$curconserv,/,$cid,]) }
;------------------------------------
; [[X-Script IAL update for seen]]
;------------------------------------
RAW 366:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $2, 44)) {
if ($nick($2,0) < 500) {
.quote MODE $2 b $+ $lf $+ WHO $2
}
else {
.timer 1 10 .quote MODE $2 b
.timer 1 $calc($numtok($eval($+(%, ialupd., $cid), 2), 44) * 15) .quote WHO $2
}
halt
}
}
}
RAW 315:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $2, 44)) {
%ialupd. [ $+ [ $cid ] ] = $remtok($eval($+(%, ialupd., $cid), 2), $2, 1, 44)
}
halt
}
}
RAW 353:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $3, 44)) {
halt
}
}
}
RAW 367:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $2, 44)) {
halt
}
}
}
RAW 368:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $2, 44)) {
halt
}
}
}
RAW 352:*: {
if ($xr(seensys,savejoin) == on) {
if ($istok($eval($+(%, ialupd., $cid), 2), $2, 44)) {
var %address = $+($gettok($1-,3,32),@,$gettok($1-,4,32))
var %nick = $gettok($1-,6,32)
var %channel = $gettok($1-,2,32)
if ($gettok($seen1(SeenGet,xscript %nick),1,32) == +OK) { seen1 SeenDel xscript %nick }
.timer 1 0 seen1 SeenAdd xscript %nick %address %channel SEEN $ctime 5 $network %nick $lng(seensys,seen2) %channel
halt
}
}
}
;---------------------------
; [[X-Script Info Dialog]
;---------------------------
alias information {
if ($xr(options,errdialog) == on) {
dialog -ma information information
dialog -t information $gettok($1-,1,42)
did -o information 998 1 $gettok($1-,1,42)
did -o information 999 1 - $gettok($1-,2,42)
did -a information 3 $gettok($1-,3,42)
}
else {
kte_echo -s $nm($gettok($1-,1,42)) $gettok($1-,3,42)
}
}
dialog information {
title ""
size -1 -1 149 52
option dbu
icon $icl $+, 57
text "", 997, 1 1 147 22
list 2, 1 1 25 18, disable size
box "", 4, 2 22 145 16
text "", 3, 4 27 140 8, center
button "", 1, 2 39 35 12, default ok
text "", 998, 0 0 0 0
text "", 999, 0 0 0 0
}
ON *:dialog:information:init:*: {
transparent
mdxload
barmdx 2 57
lang 1 $lng(common,ok)
}
;---------------------
; [[X-Script HTML]]
;---------------------
alias buf2html {
reset
if ($window($1-)) { var %@ = $1- }
else { var %@ = $active }
%i2h.buffermode = 1
if (%@ == status window) { filter -swz @i2h }
elseif (=* iswm %@) {
%i2h.buffermode = 0
savebuf %@ irc2html.tmp
loadbuf @i2h irc2html.tmp
.remove irc2html.tmp
}
else { filter -wwz %@ @i2h }
var %x = $line(@i2h,0)
while (%x) {
if ($line(@i2h,%x) == $chr(32)) { dline @i2h %x }
dec %x
}
var %t = %@ buffer
var %f = $mkfn(%@) $+ .html
var %outputfile = $i2h(%t,%f)
kte_echo -s $nm($lng(core,html)) $lng(core,html1) %outputfile
}
alias log2html {
var %dll = 0
if ($1 == -dll) {
%dll = 1
tokenize 32 $2-
}
elseif ($1 == -pdr) {
%dll = 0
tokenize 32 $2-
}
if ($isfile($1-)) { var %log = $1- }
else { var %log = $sfile($logdir*.log,$lng(core,html2)) }
if ($isfile(%log) == $false) {
if (%log) kte_echo -s $nm($lng(core,html)) $lng(core,html3) %log
return
}
if (*.log iswm %log) { var %html = $left(%log,-3) $+ html }
else { var %html = %log $+ .html }
if (%dll) {
var %irc2html.dll = $mircdirDll $+ Html.dll
var %size = $window(@i2h).fontsize
if (%size < 0) { %size = $right(%size,-1) $+ pt }
else { %size = %size $+ px }
window -h @HTML
var %n = 0, %params = %log $+ $cr $+ %html $+ ? $+ $window(@i2h).font $+ ;font-size: $+ %size $+ ? $+ $colour(normal) $+ ? $+ $colour(background)
close -@ @HTML
while (%n < 16) {
%params = %params $+ ? $+ $colour(%n)
inc %n
}
var %outputfile = $dll(%irc2html.dll,irc2html,%params)
}
else {
reset
loadbuf @i2h $shortfn(%log)
var %title = $nopath(%log)
if (*.log iswm %title) { %title = $left(%title,-4) log }
var %outputfile = $i2h(%title,%html)
kte_echo -s $nm($lng(core,html)) $lng(core,html1) %outputfile
}
}
alias cb2html {
reset
var %x = 1, %f = Clipboard.html
while (%x <= $cb(0)) {
aline @i2h $iif(* iswm $cb(%x),$cb(%x),)
inc %x
}
var %outputfile = $i2h(Clipboard,%f)
kte_echo -s $nm($lng(core,html)) $lng(core,html1) %outputfile
}
ON *:close:@HTML:unset %i2h.*
alias -l modify_output_filename {
if (!$isdir($logdir $+ HTML\)) { mkdir $logdir $+ HTML\ }
var %file = $nopath($1-)
%file = $mkfn(%file)
%file = $remove(%file,$chr(35))
if (.* iswm %file) { %file = _ $+ %file }
%file = $replace(%file,$chr(160),_)
return $logdir $+ HTML\ $+ %file
}
alias -l reset {
close -@ @i2h @HTML
unset %i2h.*
window -h @i2h
}
alias -l _rgb {
tokenize 44 $rgb($colour($1))
return $base($1,10,16,2) $+ $base($2,10,16,2) $+ $base($3,10,16,2)
}
alias -l i2h {
var %title = $1
var %outputfile = $modify_output_filename($2)
window -h @HTML
var %ctime = $ctime, %x = 16
while (%x) {
dec %x
%i2h. [ $+ [ %x ] ] = $_rgb(%x)
}
if (* iswm %outputfile) || ($line(@HTML,0) !isnum 1-) {
if (* iswm %outputfile) { aline @HTML <html><head><meta http-equiv="Content-Type" content="text/html;charset=windows-1251" /><title> $+ %title $+ </title><style type="text/css"><!-- }
else { aline @HTML <html><head><title>irc2html</title><style type="text/css"><!-- }
var %size = $window(@i2h).fontsize
if (%size < 0) { %size = $right(%size,-1) $+ pt }
else { %size = %size $+ px }
aline @HTML body{font-family: $+ $window(@i2h).font $+ ;font-size: $+ %size $+ ;color: $+ %i2h. [ $+ [ $colour(no) ] ] $+ ;background-color: $+ %i2h. [ $+ [ $colour(b) ] ] $+ ;}
aline @HTML --></style></head><body>
}
%x = $line(@i2h,0)
while (%x) {
%i2h.ecolor = $line(@i2h,1).color
convert $line(@i2h,1)
dline @i2h 1
dec %x
}
if (* iswm %outputfile) {
aline @HTML </body></html><!-- $duration($calc($ctime -%ctime)) -->
unset %i2h.*
savebuf @HTML $+(",%outputfile,")
close -@ @HTML
}
else { aline @HTML </body></html> }
close -@ @i2h
return %outputfile
}
alias -l classname {
var %bold = $1, %underline = $2, %fcolor = $3, %bcolor = $4, %reverse = $5, %bg = $6
var %class = $iif(%underline,$iif(%bold,W,X),$iif(%bold,Y,Z))
if (%reverse != 1) {
if (%class == Z) { %class = }
%class = %class $+ $chr($calc($asc(A) + %fcolor))
if (%bcolor != %bg) { %class = %class $+ $chr($calc($asc(A) + %bcolor)) }
}
return %class
}
alias -l classdef {
var %class = $1, %bold = $2, %underline = $3, %fcolor = $4, %bcolor = $5, %reverse = $6, %ncolor = $7, %bg = $8
var %def = . $+ %class $+ {font-weight: $+ $iif(%bold,bold,normal)
%def = %def $+ ;text-decoration: $+ $iif(%underline,underline,none)
%def = %def $+ ;color: $+ %i2h. [ $+ [ $iif(%reverse,%bg,%fcolor) ] ]
%def = %def $+ ;background-color: $+ %i2h. [ $+ [ $iif(%reverse,%ncolor,%bcolor) ] ]
%def = %def $+ ;}
return %def
}
alias -l convert {
if (* !iswm $1-) return
var %nbsp = $chr(160), %b = , %r = , %u = , %k = , %o = , %text = $replace($1-,&,&,<,<,>,>) $+ %o, %ncolor = $colour(no), %ecolor = %ncolor, %bg = $colour(b), %etag = 0
if (%i2h.buffermode) %ecolor = %i2h.ecolor
elseif ($1 == *) {
if (/*: iswm $2) || ($2-3 == Invalid format:) || ($2-4 == Too many parameters:) || ($2-3 == Invalid parameters:) { %ecolor = $colour(i) }
elseif (Break: iswm $2) { %ecolor = $colour(c) }
else { %ecolor = $colour(a) }
}
elseif (-?*- iswm $1) { var %ecolor = $colour(not) }
elseif (-> [*] iswm $1-2) { var %ecolor = $colour(c) }
elseif ($1 == ***) { var %ecolor = $colour(i) }
if (%ecolor !isnum) { %ecolor = %ncolor }
if (%ecolor != %ncolor) { %etag = 1 }
var %btext = $replace(%text,%k,%b,%r,%b,%u,%b,%o,%b), %codenum = 1, %numcodes = $count(%btext,%b), %nextcodepos, %codepos = 1, %prevcodepos, %nocomma, %class, %baseclass, %prevclass
var %char, %bold = 0, %underline = 0, %reverse = 0, %fcolor = %ecolor, %bcolor = %bg, %aline, %length = $len(%text), %tcolor, %inside_span = 0
%baseclass = $classname(%bold,%underline,%ecolor,%bcolor,%reverse,%bg)
%class = %baseclass
if (%etag) {
%aline = <span class= $+ %class $+ >
if (%i2h.c [ $+ [ %class ] ] != 1) {
iline @HTML 2 $classdef(%class,%bold,%underline,%fcolor,%bcolor,%reverse,%ncolor,%bg)
%i2h.c [ $+ [ %class ] ] = 1
}
}
while (%codenum <= %numcodes) {
%prevcodepos = %codepos
%nextcodepos = $pos(%btext,%b,%codenum)
%codepos = %nextcodepos
while ($mid(%btext,%codepos,1) == %b) {
inc %codenum
%char = $mid(%text,%codepos,1)
if (%char == %k) {
inc %codepos
%nocomma = 1
%tcolor =
while ($mid(%text,%codepos,1) isnum) {
%tcolor = $ifmatch
inc %codepos
if ($mid(%text,%codepos,1) isnum) {
%tcolor = %tcolor $+ $ifmatch
inc %codepos
}
if (%tcolor == 99) { %tcolor = %ecolor }
if (%fcolor == 99) { %fcolor = %bcolor }
%tcolor = $calc(%tcolor % 16)
%fcolor = $calc(%fcolor % 16)
if (%nocomma) { %fcolor = %tcolor }
else { %bcolor = %tcolor }
if (%nocomma) && ($mid(%text,%codepos,1) == ,) {
%nocomma = 0
inc %codepos
}
else break
}
if (* !iswm %tcolor) {
%fcolor = %ecolor
%bcolor = %bg
}
}
else {
if (%char == %b) { %bold = 1 - %bold }
elseif (%char == %u) { %underline = 1 - %underline }
elseif (%char == %r) { %reverse = 1 - %reverse }
elseif (%char == %o) {
%fcolor = %ecolor
%bcolor = %bg
%bold = 0
%underline = 0
%reverse = 0
}
inc %codepos
}
}
%prevclass = %class
%class = $classname(%bold,%underline,%fcolor,%bcolor,%reverse,%bg)
if (%prevcodepos < %nextcodepos) {
var %" = $+(",$mid(%text,%prevcodepos,$calc(%nextcodepos -%prevcodepos)),")
if (" * " iswm %") { %aline = %aline $+ %nbsp $+ $right($left(%",-2),-2) $+ %nbsp }
elseif (" * iswm %") { %aline = %aline $+ %nbsp $+ $right($left(%",-1),-2) }
elseif (* " iswm %") { %aline = %aline $+ $right($left(%",-2),-1) $+ %nbsp }
else { %aline = %aline $+ $right($left(%",-1),-1) }
}
if (%codepos > %length) break
if (%class != %prevclass) {
if (%inside_span) {
%aline = %aline $+ </span>
%inside_span = 0
}
if (%class != %baseclass) {
if (%i2h.c [ $+ [ %class ] ] != 1) {
iline @HTML 2 $classdef(%class,%bold,%underline,%fcolor,%bcolor,%reverse,%ncolor,%bg)
%i2h.c [ $+ [ %class ] ] = 1
}
aline @HTML %aline $+ <span
%aline = class= $+ %class $+ >
%inside_span = 1
}
}
}
if (%inside_span) {
%aline = %aline $+ </span>
%inside_span = 0
}
if (%codepos <= %length) { %aline $+ $mid(%text,%codepos) }
if (%etag) { %aline = %aline $+ </span> }
aline @HTML %aline $+ <br>
}
;--------------------------------
; [[X-Script online browser]]
;--------------------------------
alias xonline {
if (!$dialog(x_online)) { dialog -ma x_online x_online }
if ($1) {
did -i x_online 9 1 $1
did -c x_online 9 1
writehistory
}
elseif ($parser($xr(Browser,homepage))) {
var %site = $v1
dll $xdir(dll,nHTMLn.dll) navigate %site
}
}
alias internet { xonline $1- }
alias net { xonline $1- }
alias browser { xonline $1- }
dialog x_online {
title ""
size -1 -1 297 250
option dbu
icon $icl $+, 30
list 3, 4 2 190 13, size
box "", 1, -1 19 300 20
text "", 10, 4 26 22 8
combo 9, 27 25 207 10, edit drop
list 7, 236 25 13 9, size
list 2, 0 40 297 199, size
list 8, 0 239 297 11, size
button "", 6, 0 0 0 0, hide
button "", 11, 0 0 0 0, default
}
ON *:dialog:x_online:init:*: {
mdxload
dialog -t $dname $lng(features,xonline) [/xonline,/net,/internet]
lang 10 $lng(core,address)
if (!$xr(Browser,BrowserW)) { xw Browser BrowserW 297 }
if (!$xr(Browser,BrowserH)) { xw Browser BrowserH 235 }
mdx SetDialog $dname coords * * $xr(Browser,BrowserW) $xr(Browser,BrowserH)
mdx SetControlMDX $dname 3,7 Toolbar flat wrap nodivider > $bars
mdx SetFont $dname 3,7 -11 400 Tahoma
mdx SetBorderStyle $dname 3,7
did -i $dname 3 1 bmpsize 32 32
did -i $dname 3 1 setimage icon large 67, $+ $icl
did -i $dname 3 1 setimage icon large 68, $+ $icl
did -i $dname 3 1 setimage icon large 57, $+ $icl
did -i $dname 3 1 setimage icon large 69, $+ $icl
did -i $dname 3 1 setimage icon large 70, $+ $icl
did -i $dname 3 1 setimage icon large 29, $+ $icl
did -i $dname 3 1 setimage icon large 71, $+ $icl
did -i $dname 3 1 setimage icon large 155, $+ $icl
did -a $dname 3 1 $chr(9) $+ $lng(core,browse1)
did -a $dname 3 2 $chr(9) $+ $lng(core,browse2)
did -a $dname 3 -
did -a $dname 3 3 $chr(9) $+ $lng(core,browse3)
did -a $dname 3 4 $chr(9) $+ $lng(core,browse4)
did -a $dname 3 -
did -a $dname 3 5 $chr(9) $+ $lng(core,browse5)
did -a $dname 3 7 $chr(9) $+ $lng(core,browse6)
did -a $dname 3 -
did -a $dname 3 8 $chr(9) $+ $lng(core,browse7)
did -a $dname 3 6 $chr(9) $+ $lng(core,browse8)
did -i $dname 7 1 bmpsize 16 16
did -i $dname 7 1 setimage icon small 67, $+ $icl
did -a $dname 7 1 $chr(9) $+ $lng(core,go)
mdx SetControlMDX $dname 6 positioner size > $dialogs
mdx SetControlMDX $dname 8 StatusBar sizeGrip > $bars
did -i $dname 8 1 setparts -1
mdx SetBorderStyle $dname 2 staticedge
dialog -r $dname $dname
dll $xdir(dll,nHTMLn.dll) attach $dll($xdir(dll,nHTMLn.dll),item,$dialog($dname).hwnd id:2)
addhistory
}
ON *:dialog:x_online:sclick:*: {
if ($did == 3) {
if ($did($dname,3).sel == 2) { dll $xdir(dll,nHTMLn.dll) back 0 }
elseif ($did($dname,$did).sel == 3) { dll $xdir(dll,nHTMLn.dll) forward 0 }
elseif ($did($dname,$did).sel == 5) { dll $xdir(dll,nHTMLn.dll) stop 0 }
elseif ($did($dname,$did).sel == 6) { dll $xdir(dll,nHTMLn.dll) refresh 0 }
elseif ($did($dname,$did).sel == 8) {
if ($parser($xr(Browser,homepage))) {
var %site = $v1
dll $xdir(dll,nHTMLn.dll) navigate %site
}
else { dll $xdir(dll,nHTMLn.dll) navigate $site1 }
}
elseif ($did($dname,$did).sel == 9) { dll $xdir(dll,nHTMLn.dll) print 0 }
elseif ($did($dname,$did).sel == 11) { dialog -ma webfavorites webfavorites }
elseif ($did($dname,$did).sel == 12) { clearhistory }
}
if ($did == 11) {
writehistory
}
if ($did == 9) {
if ($did($dname,9)) {
dll $xdir(dll,nHTMLn.dll) navigate $did($dname,9)
}
}
if ($did == 7) {
if ($did($dname,7).sel == 2) {
if ($did($dname,9)) {
writehistory
}
}
}
if ($did == 6) {
if ($gettok($did($dname,6),1,32) == sizing) {
if ($gettok($did($dname,6),5,32) < 500) { did -a $dname 6 setsize c $v2 * }
if ($gettok($did($dname,6),6,32) < 310) { did -a $dname 6 setsize c * $v2 }
}
mdx MoveControl $dname 1 * * $calc($dialog($dname).cw + 4) *
mdx MoveControl $dname 8 * $calc($dialog($dname).ch - 22) $dialog($dname).cw *
mdx MoveControl $dname 2 * * $dialog($dname).cw $calc($dialog($dname).ch - 100)
}
}
ON *:dialog:x_online:close:*: {
xw Browser BrowserW $dialog(x_online).cw
xw Browser BrowserH $dialog(x_online).ch
dll -u $xdir(dll,nHTMLn.dll)
}
alias -l addhistory {
did -r x_online 9
var %file = Settings\ScriptData\Different\WebHistory.txt
if (!$isfile(%file)) { .write -c $+(",$mircdir,%file,") }
var %i = $lines(%file)
while (%i >= 1) {
did -a x_online 9 $read(%file,%i)
dec %i
}
}
alias -l writehistory {
var %i = 1,%file = Settings\ScriptData\Different\WebHistory.txt
while (%i <= $lines(%file)) {
if ($read(%file,%i) == $did(x_online,9)) { .write -dl $+ %i $+(",$mircdir,%file,") | break }
inc %i
}
.write $+(",$mircdir,%file,") $did(x_online,9)
addhistory
did -c x_online 9 1
dll $xdir(dll,nHTMLn.dll) navigate $did(x_online,9)
}
alias -l clearhistory {
.write -c $+(",$mircdir,Settings\ScriptData\Different\WebHistory.txt,")
addhistory
}
dialog webfavorites {
title ""
size -1 -1 136 143
option dbu
icon $icl $+, 155
text "", 997, 1 1 134 22
list 1, 1 1 25 18, disable size
box "", 2, 2 22 132 107
text "", 3, 5 29 35 8
edit "", 4, 41 28 91 10, autohs
list 5, 4 40 128 87, size
button "", 6, 2 130 37 12, ok
button "", 7, 59 130 37 12
button "", 8, 97 130 37 12
text "", 998, 0 0 0 0
text "", 999, 0 0 0 0
}
ON *:dialog:webfavorites:init:*: {
mdxload
transparent
dialog -t $dname $lng(core,webfav)
lang 6 $lng(common,done)
lang 7 $lng(common,add)
lang 8 $lng(common,remove)
lang 3 $lng(core,webstart)
barmdx 1 155
lang 998 $lng(core,webfav)
lang 999 - $lng(core,fav_desc)
mdx SetControlMDX $dname 5 Listview noheader single report rowselect > $views
did -i $dname 5 1 headerdims 230
mdxlist 5
if ($xr(Browser,homepage)) { did -o $dname 4 1 $v1 }
loadfavs
}
ON *:dialog:webfavorites:sclick:*: {
if ($did == 6) {
if ($did($dname,4)) { xw Browser homepage $v1 }
}
if ($did == 7) {
var %input = $$?=" $lng(core,newfav) "
if (%input) {
.write $+(",$mircdir,Settings\ScriptData\Different\Favourites.txt,") %input
loadfavs
}
}
if ($did == 8) {
var %sel = $calc($did($dname,5).sel - 1)
if (%sel >= 1) {
.write -dl $+ %sel $+(",$mircdir,Settings\ScriptData\Different\Favourites.txt,")
loadfavs
}
}
}
ON *:dialog:webfavorites:dclick:*: {
if ($did == 5) {
var %sel = $calc($did($dname,5).sel - 1)
if ((%sel >= 1) && ($dialog(x_online))) {
dll $xdir(dll,nHTMLn.dll) navigate $read(Settings\ScriptData\Different\Favourites.txt,%sel)
}
}
}
alias -l loadfavs {
did -r $dname 5
var %file = Settings\ScriptData\Different\Favourites.txt
if (!$isfile(%file)) { .write -c $+(",$mircdir,%file,") }
var %i = 1
while (%i <= $lines(%file)) {
did -a $dname 5 $read(%file,%i)
inc %i
}
}
;-------------------------------------------------
; [[X-Script quoting script)]]
;-------------------------------------------------
ON ^1:HOTLINK:*~*:*: {
var %timestamp = $gettok($readini($mircini,options,n4),12,44)
if (%timestamp == 1) {
if ($gettok($hotline,2,32) == $1) {
set %quotelink 1
}
else { halt }
}
else {
if ($gettok($hotline,1,32) == $1) {
set %quotelink 1
}
else { halt }
}
}
ON 1:HOTLINK:*~*:*: {
var %timestamp = $gettok($readini($mircini,options,n4),12,44)
if (%timestamp == 1) {
if ((%quotelink == 1) && ($gettok($hotline,2,32) == $1)) {
editbox -p $strip($+(",$gettok($hotline,4-,32),",$chr(44)))
unset %quotelink
}
}
else {
if ((%quotelink == 1) && ($gettok($hotline,1,32) == $1)) {
editbox -p $strip($+(",$gettok($hotline,3-,32),",$chr(44)))
unset %quotelink
}
}
}
ON ^1:HOTLINK:*&*:*: {
var %timestamp = $gettok($readini($mircini,options,n4),12,44)
if (%timestamp == 1) {
if ($gettok($hotline,2,32) == $1) {
set %quotelink 1
}
else { halt }
}
else {
if ($gettok($hotline,1,32) == $1) {
set %quotelink 1
}
else { halt }
}
}
ON 1:HOTLINK:*&*:*: {
var %timestamp = $gettok($readini($mircini,options,n4),12,44)
if (%timestamp == 1) {
if ((%quotelink == 1) && ($gettok($hotline,2,32) == $1)) {
editbox -p $strip($+(",$gettok($hotline,5-,32),",$chr(44)))
unset %quotelink
}
}
else {
if ((%quotelink == 1) && ($gettok($hotline,1,32) == $1)) {
editbox -p $strip($+(",$gettok($hotline,4-,32),",$chr(44)))
unset %quotelink
}
}
}
;-------------------------------------------------
; [[X-Script core development tools
;-------------------------------------------------
alias lngmake {
var %file = $sfile(C:\,Choose language ini to compile,Select)
if ($isfile(%file)) {
var %i = 1, %topics = $ini(%file,0)
hmake lng_maker 200
while (%i <= %topics) {
var %topic = $ini(%file,%i)
var %items = $ini(%file,%topic,0), %y = 0
while (%y <= %items) {
var %item = $ini(%file,%topic,%y)
var %tag = $+(%topic,_,%item)
hadd lng_maker $eval(%tag,1) $readini(%file,%topic,%item)
inc %y
}
inc %i
}
hsave -o lng_maker $+(",$replace(%file,$nopath(%file),language.hsh),")
hfree lng_maker
}
}
alias lngsource {
var %file = $sfile(C:\,Choose language hsh to decompile,Select)
if ($isfile(%file)) {
hmake lng_maker 200
hload lng_maker $+(",%file,")
var %ini-file = $replace(%file,$nopath(%file),language-decompiled.ini)
.write -c $+(",%ini-file,")
var %i = 1, %items = $hget(lng_maker,0).item
while (%i <= %items) {
var %item = $hget(lng_maker,%i).item
var %data = $hget(lng_maker,%item)
var %ini_section = $gettok(%item,1,95)
var %ini_item = $gettok(%item,2,95)
if (%ini_section && %ini_item && %data) { writeini $+(",%ini-file,") %ini_section %ini_item %data }
inc %i
}
hfree lng_maker
}
}