| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Irssi_BIGharja 11.10.04 11:14 Käyttäydy eliitisti IRC:ssä ja anna mielipiteesi kuulua!
#!/usr/bin/perl ## # KÄYTTÖ # hae tämä skripti kahdella fonttitiedostolla varustettuna osoitteesta # http://users.utu.fi/maharj/big.tar.bz2 # Kopioi hakemistoon ~/.irssi/scripts ja komenna irssissä /SCRIPT LOAD big # Tämän jälkeen komennolla /big [tekstiä] saat aikaan vaikuttavaa jälkeä! # toisen fontin käyttöönotto # /big load [fontin_nimi] ## # Muutokset: # + tukee joitakin erikoismerkkejä # + uusi fonttitiedostoformaatti # + muuttaa syötteen lowercaseksi automaattisesti use strict; use vars qw($VERSION %IRSSI); use Irssi; $VERSION='1.00'; %IRSSI = ( authors => 'Mikko Harju', contact => 'maharj@DSutu.fi', name => 'BIG LETTERS', description => 'Be elite and write big letters', license => 'GPL' ); our %letters; # ASETA TÄHÄN OMA SKRIPTIHAKEMISTOSI our $SCRIPT_DIR="/home/harja/.irssi/scripts"; our $DEFAULT_FONT="font_big"; # Hae korkein fontti ja palauta sen korkeus sub get_max_height { my $max_rows=0; for my $c (split //, shift @_) { if($letters{$c}{"rows"} > $max_rows) { $max_rows=$letters{$c}{"rows"}; } } return $max_rows; } # Tulostaa kirjaimet sub print_big_letters { my ($data, $server, $witem) = @_; my $max_height=get_max_height($data); # komennolla "load" ladataan uusi fontti sis<E4><E4>n if($data=~/^load (.+)/) { load_big_letters($SCRIPT_DIR.'/'.$1); return; } elsif($data=~/^version (.+)/) { $witem->command("/SAY BIG version $VERSION"); return; } $data=lc $data; # Tulostetaan stringi<E4> yksi rivi kerrallaan for my $i (0..$max_height-1) { my $row="/SAY "; for my $c (split //, $data) { my $rows=$letters{$c}{"rows"}; # aloitetaan tulostamaan t<E4>t<E4> kirjainta vasta oikealla rivill<E4> if($i + $rows >= $max_height) { $row.=$letters{$c}{"letter"}[$i-($max_height-$rows)]; } else { for my $j (0..$letters{$c}{"cols"}-1) { $row.=' '; } } } # tulostetaan kanavalle komennot $witem->command($row); } } # Ladataan kirjaimet tiedostosta sub load_big_letters { my ($filename) = @_; open F, $filename || die("Eip<E4> onnistu!"); my $num_letters=<F> and chop; %letters=(); # aakkosten m<E4><E4>r<E4> for my $j (0..$num_letters) { $_=<F> and chop; my ($letter, $cols, $rows) = split /,/; $letters{$letter}{"rows"}=$rows; $letters{$letter}{"cols"}=$cols; for my $i (0..$rows-1) { $_=<F> and chop; $letters{$letter}{"letter"}[$i]=$_; } } close F; } # ladataan vakiofontti load_big_letters($SCRIPT_DIR.'/'.$DEFAULT_FONT); # bindataan komento Irssi::command_bind big => \&print_big_letters; Kryil 22:54 12.10.04 Vaikka onkin aika peelo niin ihan hyvää jälkeä tekee. BlueByte 23:32 14.10.04 mirc show down 7.0 o parempi Jake-san 21:41 10.7.05 Mirc on silti vain windows ohjelma.. ptman 18:02 5.10.05 IRC:n väärinkäyttöä! Joku fiksu irssi-helpperi olisi aiheellinen, mutta tämä on turhaakin turhempi. |
![]() Haku
|