Identificatori
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!!!!
Lamerone the Mescalinized |
|
|
|
|
 |
|
|
|