LezioneMDX - Parte 2 - Martedì 11 Febbraio 2003 I log sono stati tagliati in vari punti dove c'erano delle cose superflue, dato che il corso si è svolto in chat c'era casino :P [22:03:13] <@Guerrjero> La volta scorsa D3fcoN ha spiegato alcune funzioni della mdx, ossia come cambiare il font, [22:03:50] <@Guerrjero> Per chi non fosse stato presente può trovare i log sul nostro sito nella sezione mircscripting. [22:03:52] <@Guerrjero> :) <@Guerrjero> Credo che già sia stato detto nella precedente lezione, cmq prima di usare una dll è necessario [22:04:45] <@Guerrjero> conoscere abbastanza bene il mirc scripting di base. [22:05:03] <@Guerrjero> Dando per scontato che avete con voi l'intera mdx.dll ( [22:05:17] <@Guerrjero> http://www.tuttoirc.it/modules.php?op=modload&name=Downloads&file=index&req=getit&lid=110 ) [22:05:54] <@Guerrjero> e l'avete unzippata nella cartella principale del mIRC, diamo inizio alla lezione. [22:06:28] sta cosa ke ho scaricato [22:06:28] ?? [22:06:37] <@Guerrjero> la dll mdx [22:06:53] <@Guerrjero> unzippala nella cartella principale del mIRC [22:07:00] in questo mirc ke uso [22:07:03] <@Guerrjero> senza fare altre sottocartelle [22:07:03] <@Guerrjero> :) [22:07:50] <@Guerrjero> Andiamo nella sezione remote (Alt + R) e iniziamo a cotruire un alias (per facilitare [22:07:50] <@Guerrjero> l'esecuazione del dialog) ed il dialog stesso: [22:08:09] <@Guerrjero> alias lez { dialog -m lez lez } [22:08:27] <@Guerrjero> dialog lez { [22:08:37] <@Guerrjero> title " MDX" [22:08:46] <@Guerrjero> size -1 -1 200 80 [22:08:59] <@Guerrjero> button "Chiudi" 1, 60 60 80 18, ok [22:09:12] <@Guerrjero> text "" 2, 15 15 170 20 [22:09:14] <@Guerrjero> } [22:09:46] <@Guerrjero> A questo punto interveniamo nell'evento on init e vediamo come sostituire l'icona standard del [22:10:05] <@Guerrjero> mIRC con una scelta da noi: [22:10:25] <@Guerrjero> on *:dialog:lez:init:0:{ [22:10:38] <@Guerrjero> dll mdx.dll SetMircVersion $version [22:10:54] <@Guerrjero> dll mdx.dll MarkDialog $dname [22:11:00] <@Guerrjero> dll mdx.dll SetDialog $dname icon 0 nomeicona.ico [22:11:03] <@Guerrjero> } [22:12:54] <@Guerrjero> l'evento init si verifica quando il dialog viene aperto, le prime 2 righe di codice sono [22:13:04] <@Guerrjero> SEMPRE necessarie e servono per caricare la nostra dll. [22:13:20] <@Guerrjero> La terza riga serve per settare l'icona, se questa si trova sotto un'altra cartella, [22:13:34] <@Guerrjero> bisogna specificare l'intero percorso; quindi se l'icona si trova sotto [22:13:48] <@Guerrjero> la cartella immagini del mIRC dovremme sostituire nomeicona.ico con immagini\nomeicona.ico. [22:14:04] <@Guerrjero> Ora provate a scrivere dalla riga di camando /lez e premete invio. Se non sono stati commessi [22:14:18] <@Guerrjero> errori verrà visualizzata la nostra icona al posto di quella standard... Tutto chiaro? [22:18:27] <+DjDexpo13> non è facile trovare un'icona [22:18:38] <@Guerrjero> vai su start [22:18:46] <@Guerrjero> trova [22:18:53] <@Guerrjero> e metti *.ico [22:20:45] <@Guerrjero> cmq è sempre meglio farli a mano i dialog [22:21:01] <@Guerrjero> anche perchè il codice è sempre in espansione [22:21:17] <@Guerrjero> e gli editor non dispongono d tutte le funzioni [22:21:29] <+DjDexpo13> si, ma è una grandissima palla -_- [22:21:33] <{N[I]O}> capisco [22:21:35] <@Guerrjero> ma [22:21:42] <@Guerrjero> io ci metto poco a fare un dialog [22:21:42] <+DjDexpo13> :D [22:21:52] <+DjDexpo13> Guerrjero: sei sempre il maestro [22:22:48] <@Guerrjero> vado avanti? [22:23:21] <{N[I]O}> x me ok [22:23:51] <@Guerrjero> Proseguiamo... :) [22:24:22] <{N[I]O}> il sito e stupendo cmq :)) [22:24:26] <{N[I]O}> k grazie :D [22:24:33] <@Guerrjero> mmm, aspetta d vedere quell nuovo [22:24:40] <{N[I]O}> si? :)) [22:24:52] <@Guerrjero> continuo... [22:24:58] <@Guerrjero> utilizzando sempre il precedente dialog, vediamo come costruire una progress bar: [22:25:13] <{N[I]O}> k [22:25:15] <@Guerrjero> per costruirla la mdx lavora con l'oggetto TEXT, che come avete notato è già stato inserito [22:25:32] <@Guerrjero> nel dialog (text "" 2, 15 15 170 20), e con il file ctl_gen.mdx (presente nel file .zip della mdx). [22:26:03] <@Guerrjero> Facciamo prima un esempio e poi spieghiamo, modificate l'evento init come segue: [22:26:24] <@Guerrjero> on *:dialog:lez:init:0:{ [22:26:27] <@Guerrjero> dll mdx.dll SetMircVersion $version [22:26:27] <@Guerrjero> dll mdx.dll MarkDialog $dname [22:26:27] <@Guerrjero> dll mdx.dll SetDialog $dname icon 0 nomeicona.ico [22:26:27] <@Guerrjero> dll mdx.dll SetControlMDX 2 ProgressBar smooth > ctl_gen.mdx [22:26:27] <@Guerrjero> did -a $dname 2 barcolor $rgb(200,255,255) [22:26:30] <@Guerrjero> did -a $dname 2 bgcolor $rgb(0,0,0) [22:26:32] <@Guerrjero> } [22:26:44] <@Guerrjero> le cose importanti da spiegare nella quarta riga sono il numero, che si riferisce all'id dell'oggeto [22:27:05] <@Guerrjero> TEXT e smooth, che serve per "modificare" graficamente la progressione della progress bar. [22:28:38] <@Guerrjero> Al posto di smooth potete usare anche vertical (in questo caso la progress bar sarà verticale), [22:28:56] <@Guerrjero> oppure non mettere niente ottendendo così una progressbar classica. Le 2 ultime righe settano [22:29:17] <@Guerrjero> rispettivamente il colore del testo all'interno della progress bar, ed il suo sfondo. [22:30:03] <@Guerrjero> Tenendo il dialog lez aperto, provate a scrivere dalla riga di comando: [22:30:24] <@Guerrjero> /did -a lez 2 delta 50 [22:30:39] <@Guerrjero> credo che il comando delta sia chiaro anche senza spiegazioni. :) [22:30:44] <@Guerrjero> oltre a /did -a è possibile usare anche /did -r, che azzera la bar e /did -ra, che azzera prima [22:30:55] <@Guerrjero> la bar e poi aggiunge il valore da noi scelto. Usando invece /did -a la bar sarà spostata di volta [22:31:08] <@Guerrjero> in volta del valore che inseriamo. [22:32:13] <@Guerrjero> La progress bar ha come valore di default 100 (immaginatele come 100 caselle). [22:32:17] <@Guerrjero> Per variare questo parametro basta usare: [22:32:35] <@Guerrjero> /did -a nomedialog ID valore min max [22:32:54] <@Guerrjero> Esempio: /did -a lez 2 130 0 200 [22:33:15] <@Guerrjero> In questo modo le "caselle" della nostra progressbar sono passate da 100 a 200. 0 è il valore minimo [22:33:59] <@Guerrjero> e 200 quello massimo, mentre 130 il valore della bar [22:34:07] <@Guerrjero> Per capire meglio questo comando creiamo un alias che lo contenga: [22:34:25] <@Guerrjero> dai remote scriviamo: [22:34:28] <@Guerrjero> alias pbar { [22:34:28] <@Guerrjero> var %chan = $active, %n = $nick(%chan,0), %i = 1 [22:34:28] <@Guerrjero> while (%n >= %i) { did -a lez 2 %i 0 %n | dialog -t lez $chr(32) $+ MDX - $nick(%chan,%i) | inc %i } [22:34:28] <@Guerrjero> } [22:34:52] <@Guerrjero> e modifichiamo l'evento init come segue: [22:35:04] <@Guerrjero> on *:dialog:lez:init:0:{ [22:35:04] <@Guerrjero> dll mdx.dll SetMircVersion $version [22:35:04] <@Guerrjero> dll mdx.dll MarkDialog $dname [22:35:04] <@Guerrjero> dll mdx.dll SetDialog $dname icon 0 nomeicona.ico [22:35:04] <@Guerrjero> dll mdx.dll SetControlMDX 2 ProgressBar smooth > ctl_gen.mdx [22:35:04] <@Guerrjero> did -a $dname 2 barcolor $rgb(200,255,255) [22:35:07] <@Guerrjero> did -a $dname 2 bgcolor $rgb(0,0,0) [22:35:07] <@Guerrjero> .timerpb 1 1 pbar [22:35:13] <@Guerrjero> } [22:35:17] <@Guerrjero> Analizziamo did -a lez 2 %i 0 %n [22:35:26] <@Guerrjero> %i è il valore [22:35:42] <@Guerrjero> 0 è il valore minimo della bar [22:35:50] <@Guerrjero> mentre %n il valore massimo (ossia i nick presenti in quel canale). [22:36:00] <@Guerrjero> ora fare /lez e vedere il risultato [22:36:03] <@Guerrjero> :) [22:38:31] <@Guerrjero> per oggi è tutto [22:39:08] <{N[I]O}> io prima di provare devo partire con altre cose basilari [22:39:17] <{N[I]O}> cioe' iriesco a smanettare un po [22:39:25] <@Guerrjero> beh, qualsiasi cosa [22:39:27] <{N[I]O}> conosco i comandi on text. splay [22:39:30] <{N[I]O}> ecc [22:39:33] <@Guerrjero> il nostro forum è sempre a disposizione [22:40:03] <+DjDexpo13> Guerrjero [22:40:13] <+DjDexpo13> grazie :D [22:40:13] <{N[I]O}> k [22:40:23] <{N[I]O}> grazie anke da parte mia [22:40:34] <@Guerrjero> niente ;) [22:54:45] <+DjDexpo13> la nicklist [22:54:47] <+DjDexpo13> l'ho solo colorata [22:55:04] <+DjDexpo13> vedo ke tt gli ultimi scirpt [22:55:04] <+DjDexpo13> hanno [22:55:07] <+DjDexpo13> toolbar [22:55:11] <+DjDexpo13> switchbar [22:55:14] <+DjDexpo13> nicklist [22:55:17] <+DjDexpo13> rifatte.. [22:56:36] <@Guerrjero> mdx [22:56:45] <@Guerrjero> ci puoi fare molte cose.