Author |
Topic |
Anthares
Stregone
Italy
61 Posts |
Posted - 23/06/2013 : 01:22:47
|
Maaaa... questi script come funzionano, dite un po'! Perchè a me programmicchiare piace abbastanza, dopo la sessione d'esami potrei anche mettermici! Tanto la sintassi la imparo in fretta, sono di bocca buona, dall'Assembly al C al Python va tutto bene |
|
|
Bardolfo
Indovino
47 Posts |
Posted - 23/06/2013 : 02:52:13
|
Sono anche troppo semplici come comandi... talmente semplici che per poter prendere la bacchetta in automatico ho dovuto apportare una modifichina al JEEneoN. |
|
|
Bardolfo
Indovino
47 Posts |
Posted - 01/07/2013 : 23:58:49
|
Facciamo un riepilogo:
Con @? vedete l'elenco dei comandi speciali di questo client.
Gli script hanno una sintassi di questo tipo: NOME_SCRIPT NUMERO_RIGHE_SCRIPT RIGA_1 RIGA_2 ... RIGA_N
Gli script vanno salvati in file di nome JEEneoN.script.n dove n va da zero a nove. I file devono essere nella stessa directory del log del bardo. Si caricano con @load n, si lanciano con @start n, si fermano con @stop n. Diversamente dalle macro possono essere ricaricati a piacere senza riavviare il client.
I comandi possono essere: MESSAGE testo (stampa #testo) MSGBOX testo (finestrella con testo) CLEARFEED STARTFEED STOPFEED (il feed e' tutto il testo che il client riceve, deve essere lungo almeno 5 caratteri, attenzione agli a capo) WAITFOR testo (attende che nel feed compaia uno specifico testo) SEND comando SLEEP sec (numero secondi) SKIP-IF-NOT testo (se nel feed NON trova testo salta la riga successiva) SKIP-IF testo (se nel feed trova testo salta la riga successiva) GOTO riga (salta ad una riga specifica) GOTOREL righe (salta un numero di righe relativo, in piu' o in meno) RESTOREWINDOW (non lo so, mai usato) HALT STOP (non so bene che differenza ci sia)
Il tutto funziona egregiamente nonostante sia molto basilare (non ci sono variabili per esempio). I due script che mi sono fatto servono per recuperare la bacchetta e per affrontare i tunnel. Tanto per darvi un'idea della complessita', il primo e' di sole 1209 righe |
Edited by - Bardolfo on 02/07/2013 00:00:17 |
|
|
-Aron-
Evocatore
119 Posts |
Posted - 02/07/2013 : 08:16:50
|
Grazie Bardolfo! Quante volte te l'ho già detto che sei un grande? |
|
|
Anthares
Stregone
Italy
61 Posts |
Posted - 05/07/2013 : 11:21:45
|
Grazie mille, Bardolfo! Gran bel lavoro :) |
|
|
kaneru
Apprendista
17 Posts |
Posted - 07/07/2013 : 15:15:27
|
quote: Originally posted by Bardolfo
Facciamo un riepilogo: ...... I due script che mi sono fatto servono per recuperare la bacchetta e per affrontare i tunnel. Tanto per darvi un'idea della complessita', il primo e' di sole 1209 righe
il mio per la bacchetta risulta di 1798 righe non proprio ottimizzato direi. Forse ho esagerato con i casi. |
|
|
Bardolfo
Indovino
47 Posts |
Posted - 08/07/2013 : 00:14:19
|
La mia prima versione era circa lunga come la tua, pero' ci metteva veramente troooooppo tempo (5 minuti circa)... allora ho cambiato approccio ed ora e' veramente rapida nonchè più breve. |
|
|
kaneru
Apprendista
17 Posts |
Posted - 08/07/2013 : 20:59:32
|
quote: Originally posted by Bardolfo
La mia prima versione era circa lunga come la tua, pero' ci metteva veramente troooooppo tempo (5 minuti circa)... allora ho cambiato approccio ed ora e' veramente rapida nonchè più breve.
ho adottato la seguente tecnica che ovviamente deve passarsi tutto il programma prima di terminare.
10 SKIP-IF seguenza1 meno l'ultima parte. 11 GOTOREL 21 12 MESSAGE trovato c1 13 SEND ...... per tutte e tre le combinazioni 20 SEND .... 21 SKIP-IF sequenza2
Pensavo di utilizzare il "GOTO 1020" in modo da uscire quando trova quello giusto, ovviamente se è tra i primi è rapido mentre se l'elemento giusto è alla fine deve scorrere tutto. Però mi pare che il GOTO non funzioni, mi confermi o ho sbagliato qualcosa io?
Hai qualche suggerimento?
|
|
|
Bardolfo
Indovino
47 Posts |
Posted - 08/07/2013 : 21:37:38
|
E' proprio quello il problema, passandole tutte una per una ci mette un sacco. Se la sequenza inizia con 'pa' ti va bene, se inizia con 'ri' aspetti minuti... il caso peggiore e' 3x3x3x3x3=343 confronti!
Prova invece a analizzare le singole note una per una costruendo delle sotto-sequenze, nel caso peggiore farai soli 5x3=15 confronti...
|
|
|
axeman
Evocatore
127 Posts |
Posted - 24/07/2013 : 17:20:18
|
Ciao a tutti, eh...
Non so se sono più stupito di vedere qualcuno spiegare ad altri un linguaggio (turing-complete, anche senza variabili, gnè gnè ) che ho inventato io, o di essermi ricordato la password di questo account
|
|
|
kaneru
Apprendista
17 Posts |
Posted - 25/07/2013 : 00:02:49
|
quote: Originally posted by axeman
Ciao a tutti, eh...
Non so se sono più stupito di vedere qualcuno spiegare ad altri un linguaggio (turing-complete, anche senza variabili, gnè gnè ) che ho inventato io, o di essermi ricordato la password di questo account
Ben tornato Axeman! Mi auguro di incontrarti in giro per la valle uno di questi giorni!
PS c'è modo di processare carattere per carattere in sequenza il contenuto del feed?
|
|
|
Polaris
Ammaliatore
Italy
228 Posts |
Posted - 25/07/2013 : 06:53:41
|
Axeeeeeeeeeeeeeeeee che piacere vederti!!!! |
|
|
axeman
Evocatore
127 Posts |
Posted - 25/07/2013 : 08:05:09
|
quote: Originally posted by kaneru Ben tornato Axeman! Mi auguro di incontrarti in giro per la valle uno di questi giorni!
PS c'è modo di processare carattere per carattere in sequenza il contenuto del feed?
Per potermi incontrare nel gioco (sperando di ricordarmi le credenziali) dovrei prima avere il tempo di far funzionare la componente telnet over http di jeeneon (che avevo incominciato ad implementare all'epoca) dato che il proxy dell'ufficio è alquanto stitico sotto questo punto di vista e lascia passare solo http (e filtra fino a layer7, quindi non lo posso aggirare semplicemente con un PAT)
Relativamente alla tua seconda domanda, spiegati meglio che non ho capito cosa vorresti fare |
|
|
-Aron-
Evocatore
119 Posts |
Posted - 25/07/2013 : 09:14:44
|
Bentornato Axeman! |
|
|
Bardolfo
Indovino
47 Posts |
Posted - 25/07/2013 : 11:53:19
|
Esiste un client telnet fatto in javascript che usavo su un altro MUD, ma non ricordo il nome... |
|
|
Topic |
|