Total = Total Today = Today Yesterday = Yesterday
Galle Basra
Last-modified:
 

ガルバスラ / CGI

創作系検索サイト オリジナルサーチ『Orient ElDorado』 / Twitter「紅堂幹人」始めました。

Perl/CGI「COMCHAT」のROM表示について

皆さんご存知であろう、KENT-WEBのKENTさんのCOMCHATの改造方法です。
 このテキストに対応してるバージョンはCOMCHAT 4.4です。

以下はCOMCHAT v4.4の改造方法です。一部COMCHATのスクリプトから引用しています。
COMCHATの著作権はKENTさんにあります。  KENT WEB フリーソフト利用規定
んでもって、この改造部分の著作権は紅堂幹人にある事を忘れないでください。
 既に改造済みのCOMCHAT v4.4を『ElDorado Chat』として再配布しています。無改造の方は是非。

CGI改造に成功しましたら、著作権・フッター部分ででもリンクしてくれると嬉しいです。
  改造協力:<a href="http://galle.oe-p.com/">紅堂幹人</a>
……という感じでしょうか。リンクしなくてもいいから、改造協力:紅堂幹人は必ず。

ここではコピーがしやすいようにと『<textarea>~</textarea>』で表示しています。
 スクリプトにそのまま貼り付ける時にインデント(字下げ)が崩れないようにという配慮でもあります。
 ……そのせいでここで見辛いのはご愛嬌、ね?(汗)。

外ROMの人数を表示する(ROM人数表示) Ref.2005/02/19 追加

Hisarinさんが配布している『COMCHAT-EX+ ROMα』のような物です。
通常COMCHATでは$memberに参加者名を記憶するのですが、ここでは配列に追加し、ROM人数を計算している、と。
後、通常のCOMCHATだと同じ学校からだと人数表示が狂うのですが、対策にここではHOST+名前で判別しています。
『よくあるROM表示改造の劣化コピーか』とか言われそうですが、一応オリジナルなんで勘弁してください(苦笑)。
$romのカウントを増やす方法ではなく、『COMCHAT-EX+ ROMα』のように『全体-参加者』とか計算する事も可能ですよね。

 計算方法、2つあります。『$romを数えていく方法』と、『全体-参加者=$romとする方法』。
 以下に前者を示します。後者も方法だけ書いておきます。

まず、『sub log_view(記事表示)』の参加者表示の部分を弄ります。
部分引用しますが、

参加者($num):$member
の部分を以下のようにします。表記は各自自由に弄ってください。

次は、『sub member(在室者処理)』を書き換えます。COMCHAT v4.4の場合を先に書きます。
後の方にステータス改造済の場合も書いてあります。改造済の方はそちらをどうぞ。


以下は、『ステータス機能』改造済みの場合。または『ElDorado Chat』を自分で改造する場合。
外ROMの人数を表示する(ROM人数表示) 別ヴァージョン Ref.2005/02/19 追加

『全体-参加者=$romとする方法』の改造方法。

} elsif ($name2 eq "$host2") { $rom++; }

} elsif ($in{'name'} eq "$host") { $rom++; }
以上の箇所のelsif以下を削除かコメントアウトし、『# 参加者数を認識』の所を以下のようにします。

これだけ。……よく考えると、こちらの方が良いんじゃないかな、とか思うのですが、気のせいですか?(吐血)