▼スレッド
│
└◇813:Re[5]:現在の参加者表示 [moon] 10/09 19:36
└◇814:Re[6]:現在の参加者表示 [moon] 10/09 19:43
├◇815:Re[7]:現在の参加者表示 [mizuho] 10/10 10:17
└◇816:Re[7]:現在の参加者表示 [mizuho] 10/10 10:25
└◇818:Re[8]:現在の参加者表示 [moon] 10/10 19:35
└◇819:できました! [mizuho] 10/11 16:45<-last
> この場合(プレイ中に表示)は、スレッド一覧
> sub list_order
> を通らないので、
> sub header
> に
> &list_order;
> を追加すれば対応できそうです。
>
> //間違っていたらごめんなさい。
間違いではないですけれどファイルロックを消去してからいろいろと処理を行うことになる場面が多いので危ないです。
プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)
# そもそも&list_orderの実行は高負荷なのでプレイ中に参加者を表示させること自体をお勧めしません。
> プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)スレッド一覧
正確には、
print qq|<input type=hidden name=pass value="$ps">\n|;
以降です。
> > プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)スレッド一覧
>
> 正確には、
> print qq|<input type=hidden name=pass value="$ps">\n|;
> 以降です。
> > プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)スレッド一覧
>
> 正確には、
> print qq|<input type=hidden name=pass value="$ps">\n|;
> 以降です。
require './pl/list_order.pl';
&list_order;
if (!$playernow) { $playernow = 0 }
print qq|<br><b>現在プレイ中($playernow人):$current</b>\n|;
という感じで入れてみましたが、プレイ中の者がいても
現在プレイ中(0人):
という表示にしかなりませんでした。
高負荷になるということで、表示されるかどうかだけ試してみようかと思ったのですが、うまくいきません。
今後継続的な表示はあきらめるとして、原因だけでも知りたいのですが、何故だかわかるでしょうか?
> 今後継続的な表示はあきらめるとして、原因だけでも知りたいのですが、何故だかわかるでしょうか?スレッド一覧
ちゃんと見てみたらsub player_dataが実行される状況ではlist_orderで参加者の判定は行わないので0人になるのが正常です。
参加者を表示するためには次のようなサブルーチンを追加してください。
&unlockは実行していないのでsub player_data以外で実行しても大丈夫です。
sub get_active{
&get_file;
&list_in;
$playernow = 0;
$current = '';
my ($aid, $anm, $afg);
foreach(0 .. $#lstlines){
($aid, $anm, $afg) = (split(/<>/, $lstlines[$_]))[0, 1, 27];
if($afg eq '' || index($afg, 'B') != -1){
$playernow++;
$current .= "[$aid]$anm ";
}
}
}
試してみたら、表示されました!スレッド一覧
ご丁寧にどうもありがとうございました♪
今後ともどうぞよろしくお願いしますm(_"_)m