WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:最新版のYY-CHATでROMを表示〜

0:[投稿] みう★ [2002/07/12 22:05 ][環境:WIN+IE UNIX系+Perl]

こちらのサイトには、以前より参考にさせて頂いております。

ところで、YY-CHATの最新版で、ROMを以下のように表示したいのですが、どのように改造したらよろしいでしょうか。もしよろしければ教えて頂けますと幸いです。

参加者(1):masaru◆
ROM(3)127.0.0.1◇

上記のようにしたいのですが、もし不可能でしたら、
下記のような感じでもいいです。

参加者(2):masaru◆127.0.0.1(ROM)◆

デフォルトのスプリクトはこのようになってます。
--------------#
#  在室者処理  #
#--------------#
sub member {
    if ($mode ne "regist") {
        open(IN,"$memfile") || &error("Open Error : $memfile");
        @data = <IN>;
        close(IN);
    }

    $member="";
    @new=();
    $flag=0;
    foreach (@data) {
        ($time2,$name2,$host2) = split(/<>/);
        # 60秒以上発言のない者は削除
        if ($times-60 > $time2) { next; }
        elsif ($host2 eq "$host") {
            # 退室者は削除
            if ($_[0] eq 'bye') { next; }

            # ホスト名が同一であれば時間と名前を更新
            $_ = "$times<>$in{'name'}<>$host<>\n";
            $name2 = $in{'name'};
            $flag=1;
        }
        # 更新用配列 @new に追加
        if ($name2 ne "$host2") {
            push(@new,$_);
            $member .= "$name2◆";
        }
    }
    # 新規参加者を追加
    if (!$flag && !$bye) {
        if ($in{'name'} ne "$host") {
            push(@new,"$times<>$in{'name'}<>$host<>\n");
            $member .= "$in{'name'}◆";
        }
    }
    # 参加者数を認識
    $num = @new + 1;

    # ファイル更新
    if ($mode || $in{'retime'}) {
        open(OUT,">$memfile") || &error("Write Error : $memfile");
        eval "flock(OUT,2);";
        truncate(OUT,0);
        seek(OUT,0,0);
        print OUT @new;
        close(OUT);
    }
}


1:[回答] ナン [2002/07/16 09:19 ]

そろそろ、タイムオーバーですね。とりあえずage。

(最近、perlは、さっぱりで...、申し訳ない。)


2:[回答] さと [MAIL] [URL] [2002/07/16 21:46 ]

以下のような改造で、ROMの人の情報を保持できると思います。


--------------------
$member = "";
@new = ();
$romlist = ""; # ←を追加(ROMのホスト名リスト)
$romcount = 0; # ←を追加(ROMの人数)
$flag = 0;
--------------------

--------------------
if($name2 ne "$host2"){
push(@new,$_);
$member .= "$name2◆";
}
# ここから追加
else{
$romcount ++;
$romlist .= "$host2◇";
}
# ここまで
--------------------

あとは、参加者を表示するところで、$romcountの値と$romlistの値を表示すれば良いでしょう。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World