私設SoS2オーナー応援BBS

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

No.105  Re:Colosseum System の投票
発言者: moon
発言日: 2002 11/02 15:17
> Colosseum System を楽しく使用させていただいてます。
> 今日は質問なのですが
> アイテム脱着画面 (sub normal_action のところ)に
> コロシアムの投票期間中だけ(参加受付中のときは表示しない)
> としたいことがあるのですが、単に
> if ($entrysize>=$maxentry) {
> とするだけでは上手くいきません。
> $colodatを読み込んでないのでダメだとは思うのですが…?(違うかもしれません。)
> もし簡単に 投票期間中だけ と、指定できる書き方がありましたら教えていただけませんでしょうか?
>
> 現在は投票中だよ!とわかりやすくして、投票に来てくれる人を増やしたいと思っているのです。
> よろしくお願いいたします。

ええと、ファイルを使用する方法を書いてみます。(うまく動作しないかもしれません。)

---- colo.pl ----
バトル開始処理内の&colo_write;の下に、
  unlink('colobet') if(-f 'colobet');
  close(COLOFILE) if(open(COLOFILE,'>coloentry'));
を追加。
参加登録処理内と'if($now>$next〜'の処理内にある'$next = $prev〜'の下にそれぞれ、
  unlink('coloentry') if(-f 'coloentry');
  close(COLOFILE) if(open(COLOFILE,'>colobet'));
を追加。

---- sos2.cgi ----
参加受付中などを表示させたい箇所に、
  if(-f 'coloentry'){print '参加受付中';}
  elsif(-f 'colobet'){print '投票期間中';}
もしくは、
  print -f 'coloentry' ? '参加受付中' : -f 'colobet' ? '投票期間中' : '';
を追加。

で、おそらく表示できるのではないかと思います。

実際はファイルを1つだけ使えばそれが存在するかどうかにより参加と投票を区別できるのですが、汎用性が効く様に2つ使用してみました。
注意点として、coloentryなどと書かれているところを難しいパスに書き換えるとか、coloentry.cgiのように他人が書き込みできないようにした方が良いです。

▼関連発言

104:Colosseum System の投票 [紫猿(しえん)] 11/02 14:16
 └105:Re:Colosseum System の投票 [moon] 11/02 15:17
  └106:勘違い [moon] 11/03 00:32
   └107:ありがとうございます。 [紫猿(しえん)] 11/03 07:55
    └108:Re:ありがとうございます。 [moon] 11/03 12:55
     └117:Re[2]:ありがとうございます。 [紫猿(しえん)] 11/06 23:30
      └118:Re[3]:ありがとうございます。 [moon] 11/06 23:58<-last

Pass 保存


CGIROOM