私設SoS2オーナー応援BBS

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

No.1628  Re[8]:連勝数の追加とグラフ表示
発言者: rien
発言日: 2009 01/07 23:09
> sub fightの上のほうで例えば以下のようにしているとします。
>   if ($plf eq $id && time < $ptm + $limit)    { push (@msg,"$pnmとは暫く戦えません"); return } # $limitは再戦を禁止する時間
> このような場合は以下のようにします。
>   $limit -= 3600 if(index($psp, 'NPCスキル') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を1時間短くする
>   if ($plf eq $id && time < $ptm + $limit)    { push (@msg,"$pnmとは暫く戦えません"); return } # $limitは再戦を禁止する時間
> 上記は相手の時間を見て判断するという非常に単純な場合ですが、要するに相手がNPCなら再戦禁止時間の値自体を減少させれば良いのではないか、ということです。

いつもお返事ありがとうございます。
再戦禁止の改造は深海星さんの改造を取り入れていて
上記の
>>$limit -= 3600 if(index($psp, 'NPCスキル') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を1時間短くする
>   if ($plf eq $id && time < $ptm + $limit)
の$limitに$btlser_timeを代入してみたのですが・・
これだと時間が制限されずに連戦できてしまいました。
NPC問わずに。
Sub fightはこのようになっているのですが

>>@plf1 = split(/△/,$plf);
$remtime = time - $plf1[1];
$remain = $remtime / 3600;
$remhor = $btlser_time - int($remtime/3600) - 1;
$remmin = 59 - int(($remtime%3600)/60);
$remsec = 59 - $remtime % 60;
$btlser_time -= 3600 if(index($psp, 'Ng') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を1時間短くする
if ($plf1[0] eq $id && $remain < $btlser_time) {
push (@msg,"$pnmとは暫く戦えません(あと$remhor時間$remmin分$remsec秒)"); return;

そのまま追記してしまったのですが・・
やはり記述が足りないのでしょうか?

▼関連発言

1620:連勝数の追加とグラフ表示 [rien] 01/05 19:13
 └1621:Re:連勝数の追加とグラフ表示 [moon] 01/06 00:49
  └1622:Re[2]:連勝数の追加とグラフ表示 [rien] 01/06 18:50
   └1623:Re[3]:連勝数の追加とグラフ表示 [moon] 01/06 22:27
    └1624:Re[4]:連勝数の追加とグラフ表示 [rien] 01/06 23:31
     └1625:Re[5]:連勝数の追加とグラフ表示 [moon] 01/07 00:23
      └1626:Re[6]:連勝数の追加とグラフ表示 [rien] 01/07 18:04
       └1627:Re[7]:連勝数の追加とグラフ表示 [moon] 01/07 22:09
        └1628:Re[8]:連勝数の追加とグラフ表示 [rien] 01/07 23:09
         └1629:Re[9]:連勝数の追加とグラフ表示 [moon] 01/07 23:45
          └1630:Re[10]:連勝数の追加とグラフ表... [rien] 01/08 00:26
           └1631:Re[11]:連勝数の追加とグラフ... [moon] 01/08 08:09
            └1632:Re[12]:連勝数の追加とグラ... [rien] 01/08 17:40
             └1633:Re[13]:連勝数の追加とグ... [moon] 01/08 23:26
              └1634:Re[14]:連勝数の追加と... [rien] 01/09 00:29<-last

Pass 保存


CGIROOM