私設SoS2オーナー応援BBS

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

No.805  Re:1日の戦闘制限
発言者: moon
発言日: 2003 10/08 19:55
> 内容が別なので分けさせていただきましたm(_"_)m
>
> 相手1人に対し1日の戦闘を1回に制限して、その日のうちは戦えなくし、翌0時以降に再び挑めるようになる、という改造を取り入れたいのです。
> これまたまったくわかりませんでした(ToT)
> どのようにすればよろしいでしょうか?

最大5人まで記録しておくやり方は、
sub fightの、
  if ($plf eq $id)    { push (@msg,"$pnmとは暫く戦えません"); return }
を、
  my $today = join('', (localtime(time))[5, 4, 3]);
  my @plf = split(/,/, $plf);
  foreach(@plf){
    if($_ eq "$id:$today"){
      push(@msg, "$pnmとは暫く戦えません");
      return;
    }
  }
と変更しさらに、
  $plf = $id;
を、
  my @newplf = ();
  foreach(@plf){
    if((split(/:/, $_))[1] eq $today){
      push(@newplf, $_);
    }
    else{
      last;
    }
  }
  unshift(@newplf, "$id:$today");
  splice(@newplf, 5) if(@newplf > 5);
  $plf = join(',', @newplf);
に変更すれば良いかな。(行頭に全角空白を使用しているので適宜修正してください。)
即興で作成したので動作の保証はしませんが多分大丈夫だろうとは思います。

▼関連発言

804:1日の戦闘制限 [mizuho] 10/08 16:00
 └805:Re:1日の戦闘制限 [moon] 10/08 19:55
  └810:Re[2]:1日の戦闘制限 [mizuho] 10/09 11:55
   └812:Re[3]:1日の戦闘制限 [moon] 10/09 19:23
    └817:できました! [mizuho] 10/10 10:28<-last

Pass 保存


CGIROOM