Non c'e' niente di meglio, ora, di una bella listozza di identificatori
per farvi alzare il tasso di colesterolo nel sangue... iD3nTiFi3rS r0x
:o*
$read [-l#] {nomefile.txt}
Questo identificatore molto carino. Legge una riga casuale dal file specificato
e inserisce la linea nell'alias specificato. La linea puo' contenere testo
o comandi!!
$!read funziona come $read pero' non viene considerato la prima volta
che viene letto in una routine alias. Questo ti permette di usare questo
comando associandolo ad un comando /timer se vuoi che la stringa $read
sia rivalutata diverse volte.
Esempio: /eheh /say $read c:\mirc\eheh.txt
Scrivete: /eheh
Risultato: direte una frase pescata a caso nel file eheh.txt che si trova
in c:\mirc
Esempio: /kick /kick # $1 $read c:\mirc\belkick.txt
Scrivete: /kick nick
Risultato: kickerete dal canale nel canale corrente il nick specificato
con una motivazione pescata casualmente dal file belkick.txt
Esempio: /cazzate /say $read -l5 uaz.txt
Scrivete: /cazzate
Risultato: verra' detta nel canale o nella query corrente la quinta riga
del file uaz.txt
$readini {fileini} {sezione} {voce}
Simile al $read, questo identificatore legge voci dai files .ini. E' stato
ideato in unione ad comando /writeini. Entrambi utilizzano le routines
del windows per leggere dai e scrivere sui files .ini standard di Windows.
Credo che $readini e /writeini apriranno nuove porte sulla gestione dei
.ini in unione a IRC. (che frase cazzuta e piena di speranze...) (speranze
si usa spesso con windows!)
$url
Questo identificatore ha per valore l'url della pagina corrente caricata
nel tuo browser...
Esempio: /www /say Ehi raga, ho trovato una pagina web divina: $url
Scrivete: /www
Risultato: Darete ai raga l'url attualmente attiva nel vostro browser.
Esempio: /mu /me ha trovato questa URL strafika: $url
Scrivete: /mu
Risultato: parte un bell'action con la scrittarella e l'url attiva nel
vostro browser.
# Indica il nome del canale nel quale viene eseguito il comando.
$me Il vostro nick.
$ip Il tuo indirizzo IP.
$server Il server che usi.
$active Il nome della finestra attiva in mIRC.
$time L'ora del tuo PC.
$away Dice se sei in away o no.
$ticks Il numero di ticks effettuati da quando il tuo O/S e' stato
avviato.
$idle Il numero di secondi di idle che si hanno in risposta a un
ctcp userinfo e finger.
$online Il numero di secondi che sei online.
$ctime Il numero di secondi trascorsi dal 01/01/1970 ore 00:00:00
GMT.
$asctime(N) Il valore ctime in formato data.
$day Il giorno corrente in inglese :o( (ex. Monday, Tuesday, ecc)
$date La data (formato europeo) (ex. 19/07/99)
$adate La data (formato americano) (ex. 07/19/99)
$fulldate Formato completo (ex. Mon Jul 19 20:51:53 1999)
$duration(secondi) Traduce numeri come 123456 in 1day 10hrs 17mins
36secs.
$logdir, $getdir, $wavedir, $mircdir I percorsi
di queste directories.
$nopath(nomefile) Restituisce il nome del file senza il percorso..
$nofile(nomefile) Non considera il nome del file e restituisce
solo il percorso..
$exists(nomefile) Controlla se il file esiste. (Restituisce $true
o $false).
$findfile(dir,nomefile,N) Cerca nella dir e subdir specificata il
N nomefile.
$abs(N) Restituisce il valore assoluto del numero N.
$chr(N) Restituisce il carattere con numero ASCII N.
$asc(C) Restituisce il numero ASCII del carattere C.
$len(testo) Restituisce il numero di caratteri di "testo".
$upper(testo) Restituisce "testo" in maiuscolo.
$lower(testo) Restituisce "testo" in minuscolo.
$left(N,testo) Restituisce i primi N caratteri di 'testo'.
$right(N,testo) Restituisce gli ultimi N caratteri di 'testo'.
$mid(testo,S,N) Restituisce N caratteri a partire dal carattere
S.
$pos(stringa,substringa) REstituisce la posizione della stringa
nella substringa.
$replace(stringa,substringa,rimpiazzo) Rimpiazza una substringa
in una stringa.
$remove(stringa,substringa) Rimuove una substringa in una stringa.
$strip(testo) Elimina tutti i caratteri in bold, underline, reverse,
e colorati da "testo". $count(stringa1,stringa2) Il numero
di volte che stringa2 si ripete in stringa1.
$str(testo,N) Restituisce "testo" ripetuto N volte.
$rand(X,Y) Restituisce un carattere random tra il carattere X e
Y.
$lines(file) Restituisce il numero di linee contenute nel file
specificato.
$usermode Restituisce i tuoi modes correnti.
$topic(#) Restituisce il topic del canale attivo.
$nick(#,N) Restituisce il nickname N del canale #.
$snick(N,#) Restituisce il nickname selezionato N del canale #.
$opnick(N,#) Restituisce il nickname dell'op N del canale #.
$nopnick(N,#) Restituisce il nickname del nonop N del canale #.
$vnick(N,#) Restituisce il nickname del voice N del canale #.
$nvnick(N,#) Restituisce il nickname del nonvoice N del canale
#.
$query(N) Restituisce il nickname della query N.
$chat(N) Restituisce il nickname della DCC Chat N.
$fserv(N) Restituisce il nickname del Fserve N.
$send(N) e $get(N) Restituiscono il nickname della finestra
getfile/sendfile N.
$notify(N) Restituisce il nickname N della notify liste attualmente
su IRC.
$token(testo,N,C) Restituisce il numero N di token in 'testo' separati
dal carattere C
$addtok(testo,token,C) $addtok(a.b.c,d,46) restituisce a.b.c.d
(il carattere 46 e' il .)
$deltok(testo,N,C) $deltok(a.b.c.d,3,46) restituisce a.b.d
$findtok(testo,token,C) $findtok(a.b.c.d,c,1,46) restituisce 3
$gettok(testo,N,C) $gettok(a.b.c.d.e,3,46) restituisce c
$instok(testo,token,N,C) $instok(a.b.d,c,3,46) restituisce a.b.c.d
$numtok(testo,C) Restituisce il numero dei tokens nel testo.
$puttok(text,token,N,C) $puttok(a.b.c.d,e,2,46) restituisce a.e.c.d
$istok(testo,token,C) Restituisce $true se il token e' presente
nella stringa. Altrimenti $false.
$matchtok(tokens,stringa,N,C) $matchtok(one two three, e, 2,
32) restituisce three
$remtok(testo,token,C) $remtok(a.b.c.d,b,1,46) restituisce a.c.d
$reptok(testo,token,nuovo,C) $reptok(a.b.c.d,b,e,1,46) restituisce
a.e.c.d
$wildtok(tokens,wildstring,N,C) $wildtok(one two three, t*, 0,
32) restituisce 2
Per tutti gli identificatori precedenti, se si specifica il valore 0
per il numero N, si avra' il numero totale dei nick/canali/ecc per quell'identificatore.
$snotify Restituisce il nick correntemente selezionato nella finestra
della Notify List
$address Restituisce l'address completo dell'user chea ha azionato
una linea dei remote.
$address(nickname,tipo) Scansiona la lista utenti interna e, se
trova un address di un user, lo restituisce.
$maddress Restituisce l'address dell'utente correntemente associato
ad un evento dei remote.
$level(address) Trova un address nella user list e ne indica il
livello associato.
$ulevel Restituisce il livello dell'user associato ad un evento.
$clevel Restituisce i livelli del comando dei remote specificato
per un evento.
$dlevel Restituisce il livello user di default dei remote.
$mask(address,type) Restituisce un address utilizzando la maschera
specificata.
Identificatori e variabili possono essere piazzati all'interno di parentesi
quadre.
Esempio: /echo $right(3,$left($len(goats),ToMooOrNotToMoo))
Risultato: ' Moo'
Identificatori con Proprieta'
Molti identificatori possono essere usati con speciali parametri. Questa
facilitazione e' una gran figata per quanto riguarda lo scripting.
La sintassi e': $identificatore(N|#|nick).proprieta'
$server(N) Da accesso alla servers list sotto File/Setup/IRC_Servers.
$server(N) per l'address, .desc per la descrizione, .port per la
porta, .group per il gruppo.
$ial(mask,N) Da accesso alla Internal Address List.
$ial(mask,N) per laddress completo, .nick per il nick, .user per
l'user, .host per l'host, .addr per l'address.
$url(N) Da accesso alla lista di url.
$url(N) per l'address, .desc per la descrizione, .group per il
prefisso.
$chan(N/#).proprieta' Restituisce i settaggi dei canali nei quali
ti trovi.
$chan(N/#) Restituisce il nome del canale, .topic, .mode, .key,
.limit, $chat(N) nickname, .ip, .status (active, waiting, inactive).
$fserv(N) nickname, .ip, .status, .cd (directory corrente)
$get(N) nickname, .ip, .status, .file, .size, .rcvd, .cps, .pc
$send(N) nickname, .ip, .status, .file, .size, .sent, .lra, .cps,
.pc
$timer(N) Restituisce il numero di timers attivi.
$timer(N) per l'id, .com, .time, .reps, .delay, .type
Identificatori
User-Definibili
(Sessione scritta in origine da Li0nheart)
Come avrai ben visto, mIRC comprende un numero elevato di identificatori
prestabiliti che possono essere usati negli aliases e nei remote.
E' anche possibile creare identificatori nuovi di zekka e configurarli
per farli funzionare a proprio piacimento :o)
Gli identificatori sono programmati nella sessione Aliases esattamente
come si programma un alias generico, con la sola eccezione che alla fine
andra' aggiunto il comando /return X.
L'identificatore associato al return puo' essere cio' che vuoi.
Ad esempio, la somma di due numeri:
/sum { %temp = $1 + $2 return %temp }
Ora puoi usare l'identificatore $sum dove vuoi, aliases, popups, o remote.
Ad esempio in una voce dei popups:
Add:/say La somma di 45 e 78 e' $sum(45,78)
Oppure l'alias:
/add /say La somma di $1 e $2 e' $sum($1,$2)
Tutti i parametri dati all'identificatore sono separati dal carattere
comma.
Nella definizione dell''identificatore puoi usare tutte le strutture logiche
if/then/else.
Potresti, per pignoleria, controllare se tutti i parametri richiesti sono
stati forniti e restituire un Errore nel caso si manifestasse questa carenza.
Ad esempio, questa routine calcola la percentuale di X e Y:
/perc {
if ($1 == $null) || ($2 == $null) { return Errore: parametri mancanti
}
if ($2 != 1) { %half = $2 / 2 }
else { %half = 1 } %dummy = $1 * 100 %perc = %dummy / $2 %remainder =
%dummy % $2
if (%perc == 0) { goto return }
elseif (%remainder >= %half) { inc %perc }
:return
return %perc
}
La prima linea si assicura che tutti i parametri richiesti siano stati
forniti..
Il resto e' il calcolo della percentuale, dove alcune parti di script
si assicurano che il totale delle percentuali parziali sia uguale a 100%.
Gli identificatori possono assumere un valore alfanumerico, quindi non
solo numerico ma anche alfabetico ad esempio l'ora in formato americano
(7:52 pm):
/atime {
set %hr $token(1,58,$time)
set %min $token(2,58,$time)
if (%hr == 0) { set %hr 12 | set %sub am }
elseif (%hr < 12) { set %sub am }
elseif (%hr == 12) { set %sub pm }
else { %hr = %hr - 12 | set %sub pm }
return %hr $+ : $+ %min $+ %sub
}
Con un po' di creativita' potrai creare identificatori per qualsiasi
cosa tu vorrai.
DIVERTITI!!!!
|