私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇809:
Re[3]:現在の参加者表示 [mizuho] 10/09 11:49

 └◇811:Re[4]:現在の参加者表示 [LIM] 10/09 19:08
  └◇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


809● Re[3]:現在の参加者表示[ mizuho ] 2003 10/09 11:49
おかげさまで、メイン画面の上部には何とか表示されるようになりました。
しかし、プレイ中にも表示されるようにしようとしたのですがなかなかうまくいきません。
とりあえず、sub play_form の &header; の下に何とか埋め込もうとしたのですが、いろいろやってみてもできませんでした。
どうにかなりますでしょうか?
スレッド一覧


811● Re[4]:現在の参加者表示[ LIM ] 2003 10/09 19:08
こんばんは。
いきなりのレス失礼します。

この場合(プレイ中に表示)は、
sub list_order
を通らないので、
sub header

&list_order;
を追加すれば対応できそうです。

//間違っていたらごめんなさい。
スレッド一覧


813● Re[5]:現在の参加者表示[ moon ] 2003 10/09 19:36
> この場合(プレイ中に表示)は、
> sub list_order
> を通らないので、
> sub header
> に
> &list_order;
> を追加すれば対応できそうです。
>
> //間違っていたらごめんなさい。

間違いではないですけれどファイルロックを消去してからいろいろと処理を行うことになる場面が多いので危ないです。

プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)

# そもそも&list_orderの実行は高負荷なのでプレイ中に参加者を表示させること自体をお勧めしません。
スレッド一覧


814● Re[6]:現在の参加者表示[ moon ] 2003 10/09 19:43
> プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)

正確には、
  print qq|<input type=hidden name=pass value="$ps">\n|;
以降です。
スレッド一覧


815● Re[7]:現在の参加者表示[ mizuho ] 2003 10/10 10:17
> > プレイ中に表示したいのであればsub player_data内が適当かと思います。(もちろんこの場合は参加者の表示は、右側のプレイヤーのパラメータ画面内になりますが。)
>
> 正確には、
>   print qq|<input type=hidden name=pass value="$ps">\n|;
> 以降です。
スレッド一覧


816● Re[7]:現在の参加者表示[ mizuho ] 2003 10/10 10:25
> > プレイ中に表示したいのであれば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人):

という表示にしかなりませんでした。
高負荷になるということで、表示されるかどうかだけ試してみようかと思ったのですが、うまくいきません。
今後継続的な表示はあきらめるとして、原因だけでも知りたいのですが、何故だかわかるでしょうか?
スレッド一覧


818● Re[8]:現在の参加者表示[ moon ] 2003 10/10 19:35
> 今後継続的な表示はあきらめるとして、原因だけでも知りたいのですが、何故だかわかるでしょうか?

ちゃんと見てみたら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 ";
    }
  }
}
スレッド一覧


819● できました![ mizuho ] 2003 10/11 16:45
試してみたら、表示されました!
ご丁寧にどうもありがとうございました♪
今後ともどうぞよろしくお願いしますm(_"_)m
スレッド一覧

CGIROOM