- ; /hlist [-asw] [table] [item] [data] [window]
- ; -a active
- ; -s status
- ; -w @window
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; HLIST ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;Info:
- ;
- ; By Kashin @ QuakeNet
- ; Version 1.9 (written and tested on mIRC 6.17)
- ;
- ; Last edit: Sat July 1 2006
- ;
- ;
- ;What does this script do?
- ;
- ; List items and data of a hash table
- ;
- ;How to use:
- ;
- ; /hlist [-asw] [table] [item] [data] [window]
- ;
- ;Parameters
- ;
- ; The -a echoes to the active window
- ; The -s echoes to the status window
- ; The -w echoes to a custom window (Own window names can be used: /hlist -w <table> <data> [window name])
- ; Should no name be given, default window name will be used.
- ;
- ;Updates
- ;
- ; * Added end report
- ; * Added total items in table display
- ; * Added matching items for each table
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.COLOR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set the color code for the background color of none matching items/data, note this only works if hlist.display is set to 1.
- alias -l hlist.color {
- !return 14
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.DISPLAY ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set this to 0 if you want the script to hide non-matching items.
- ; Set this to 1 if you want the script to give non-matching items a background color instead of hiding them.
- ; Set this to 2 if you want the script to make matching items a background color.
- alias -l hlist.display {
- !return 1
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.ITEMS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set this to 1 if you want the script to show amount of items in each table when performing a search
- alias -l hlist.items {
- !return 1
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.ITEMS.MATCH ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set this to 1 if you want the script to show amount of matching items in each table
- alias -l hlist.items.match {
- !return 1
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.MS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set this to 1 if you want the script to show how many ms search took.
- alias -l hlist.ms {
- !return 1
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.REPORT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set this to 1 if you would like a report of search shown when search is done.
- alias -l hlist.report {
- !return 1
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.SEPERATOR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set the sign that should be seperating data from items when performing a search.
- alias -l hlist.seperator {
- !return -->
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.SIGN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set the sign that should be used next to table matches, names, end's and search ms.
- alias -l hlist.sign {
- !return :::
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST.WINDOW ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ; Set the default window name if none should be suplied.
- alias -l hlist.window {
- !return @Hlist
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ALIAS HLIST ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- alias hlist {
- if ($hlist.ms == 1) { var %ticks = $ticks }
- if (!$1) { var %1 = *,%2 = *,%3 = * }
- else { var %1 $1,%2 $iif($2,$2,*),%3 $iif($3,$3,*),%4 $iif($4,$4,*),$iif($5,%5 $5) }
- elseif (($left(%1,1) == -) && (!$istokcs(-a -s -w ,%1,32))) { echo $color(info text) -es * /hlist: invalid switch ( $+ %1 $+ ) | halt }
- elseif (($left(%1,1) == -) && ($istokcs(-a -s -w,%1,32)) && (!%2)) { echo $color(info text) -es * /hlist: insufficient parameters | halt }
- elseif ($iif($left(%1,1) == -,%5,%4)) { echo $color(info text) -es * /hlist: too many parameters | halt }
- elseif (($chr(42) !isin $iif($left(%1,1) == -, %2, %1)) && ($hget($iif($left(%1,1) == -, %2, %1)) == $null)) { echo $color(info text) -es * /hlist: No matching table ( $+ $iif($left(%1,1) == -, %2, %1) $+ ) | halt }
- var %i = 1, %c = 0,%it = $color(info text)
- while (%i <= $hget(0)) {
- if ($iif($left(%1,1) == -, %2, %1) iswm $hget(%i)) { var %tjeck = $true | inc %c }
- inc %i
- }
- if (!%tjeck) { echo %it -as * /hlist: No matching $iif($chr(42) isin $iif($left(%1,1) == -, %2, %1), tables, table) ( $+ $iif($left(%1,1) == -, %2, %1) $+ ) | halt }
- var %w = $iif($left(%1,1) == -, %1, -a)
- if (%w == -w) {
- var %w = $iif(%5 == $null,$hlist.window $+ . $+ %2 $+ . $+ %3 $+ $+ . $+ %4, $iif($left(%5,1) == @,$left(%5,-1),@ $+ $left(%5,-1)))
- window -e %w
- }
- if ($chr(42) isin $iif($left(%1,1) == -, %2, %1)) echo %it $iif($left(%w,1) == @, -e %w, %w $+ e) $hlist.sign %c $iif(%c == 1, table, tables) matching ( $+ $iif($left(%1,1) == -, %2, %1) $+ ) $hlist.sign
- var %i = 1
- while (%i <= $hget(0)) {
- if ($iif($left(%1,1) == -, %2, %1) iswm $hget(%i)) {
- echo %w $hlist.sign $+ $hget(%i) $+ $iif($hlist.items == 1,$chr(40) $+ $hget(%i,o).item) items $+ $chr(41)) $hlist.sign
- if (($hlist.display == 1) || ($hlist.display == 2)) {
- var %j = 1, %mi = 0, %mi.t = 0
- while (%j <= $hget(%i,0).item) {
- if ($hlist.display == 1) {
- echo %w $iif(($iif($left(%1,1) == -,%3,%2) !iswm $hget(%i,%j).item || $iif($left(%1,1) == -,%4,%3) !iswm $hget(%i,%j).data), $+ $color(normal text) $+ $chr(44) $+ $hlist.color) $+ $hget(%i,%j).item $hlist.seperator $hget(%i,%j).data }
- if ($hlist.display == 2) { echo %w $iif(($iif($left(%1,1) == -,%3,%2) iswm $hget(%i,%j).item && $iif($left(%1,1) == -,%4,%3) iswm $hget(%i,%j).data), $+ $color(normal text) $+ $chr(44) $+ $hlist.color) $+ $hget(%i,%j).item $hlist.seperator $hget(%i,%j).data }
- inc %j
- }
- }
- else {
- var %j = 1, %a = $hfind(%i,$iif($left(%1,1) == -,%3,%2),0,w), %item = $iif($left(%1,1) == -,%3,%2), %mi = 0, %mi.t = 0
- while (%j <= %a) {
- $iif($iif($left(%1,1) == -,%4,%3) iswm $hget(%i,$hfind(%i,%item,%j,w)),echo %w $hfind(%i,%item,%j,w) $hlist.seperator $hget(%i,$hfind(%i,%item,%j,w))) | inc %mi | inc %mi.t
- inc %j
- }
- }
- echo $iif($left(%w,1) == @, -e %w, %w $+ e) $hlist.sign Table end $iif($hlist.items.match == 1,$chr(40) $+ %mi items matching $+ $chr(41)) $hlist.sign
- }
- inc %i
- }
- if ($hlist.report == 1) {
- echo %it %w End report:
- echo %it %w Search Criteria: Table: %1 ; Item: %2 ; Data: %3
- echo %it %w %c matching $iif(%c == 1,table,tables)
- echo %it %w %mi.t matching $iif(%mi.t == 1,item,items)
- }
- if ($hlist.ms == 1) { echo $iif($left(%w,1) == @, -e %w, %w $+ e) $hlist.sign Search took $calc($ticks - %ticks) ms $hlist.sign }
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SCRIPT END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Hlist v1.9
By: Kashin | Date: Feb 1 2007 13:42 | Format: None | Expires: never | Size: 6.75 KB | Hits: 1365
Latest pastes
2 days ago
3 days ago
3 days ago
4 days ago
5 days ago