私設SoS2オーナー応援BBS

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

スレッド

└◇1449:
連続攻撃の防止策 [矢神] 02/18 00:22

 ├◇1450:Re:連続攻撃の防止策 [moon] 02/18 08:13
 │└◇1454:Re[2]:連続攻撃の防止策 [矢神] 02/18 22:53
 │ └◇1456:訂正 [矢神] 02/18 23:24
 │  └◇1457:Re:訂正 [moon] 02/18 23:43
 │   └◇1458:ありがとうございました。 [矢神] 02/19 05:16


1449● 連続攻撃の防止策[ 矢神 ] 2008 02/18 00:22
こんばんは。またご意見を聞かせて戴きたい事がありお邪魔しました。
時間による戦闘制限なのですが、デフォルトの、
・同じ相手には〜時間攻撃不可
に加えて、
・相手にかかわらず、最後の攻撃から〜分間は攻撃不可
という仕様を導入したいのですが、これだと新たなフラグ足しが必要になってしまうでしょうか?
スレッド一覧


1450● Re:連続攻撃の防止策[ moon ] 2008 02/18 08:13
> こんばんは。またご意見を聞かせて戴きたい事がありお邪魔しました。
> 時間による戦闘制限なのですが、デフォルトの、
> ・同じ相手には〜時間攻撃不可
> に加えて、
> ・相手にかかわらず、最後の攻撃から〜分間は攻撃不可
> という仕様を導入したいのですが、これだと新たなフラグ足しが必要になってしまうでしょうか?

自分が数分間おきにしか挑戦不可ということでしたら新たなパラメータを用意したほうが良いです。
逆に、挑戦される側が数分間は誰からも挑戦されなくなるということでしたら既存のパラメータの使い回しで大丈夫です。

後者の参考情報として、一定時間後に再戦「可能」なようにする方法を紹介しておきます。
この場合、条件を変更すれば再戦不可能にすることができます。
・本家SOS2BBSの過去ログにある994-996
http://web.archive.org/web/20040810191319/http://www.area-s.com/cgi-bin/sosbbs/sos2bbs.cgi?mode=allread&no=24&page=0
スレッド一覧


1454● Re[2]:連続攻撃の防止策[ 矢神 ] 2008 02/18 22:53
ご返答ありがとうございます。
提供いただいた参考情報に目を通してみましたが、
> 自分が数分間おきにしか挑戦不可ということでしたら新たなパラメータを用意したほうが良いです。
やはりこちらが必要ですので、なんとか改造してみようかと思います。


手順をおおざっぱに纏めてみると、

1.新たなフラグ$fbatを用意する(sub get_userで読み込む)

2.戦闘後useroutの前に、$fbatにtime + 300を入れる
>  $fbat = time + 300;
>  $fbat = time + 300; $fbat = join($fbat);

3.戦闘開始時に、制限時間内であるかどうかを判別する
>  if ($fbat > time) { push (@msg,'5分間は戦闘出来ません'); return }

2の二行目がかなり怪しい感じなんですが、これで大丈夫でしょうか?
スレッド一覧


1456● 訂正[ 矢神 ] 2008 02/18 23:24
>  $fbat = time + 300; $fbat = join($fbat);

そもそもこれ、要らないっぽいでしょうか。
joinを勘違いしていたかも知れません。
スレッド一覧


1457● Re:訂正[ moon ] 2008 02/18 23:43
> >  $fbat = time + 300; $fbat = join($fbat);
>
> そもそもこれ、要らないっぽいでしょうか。
> joinを勘違いしていたかも知れません。

はい、この場合は単純に時間を代入すれば良いだけなのでこの1行は必要無いです。
他は特に問題無いと思います。
スレッド一覧


1458● ありがとうございました。[ 矢神 ] 2008 02/19 05:16
知識不足から多少トラブルがありましたが、どうにか形になったようです。
合わせてAddFlagもDLして使用させていただきました。とても便利ですね!
お世話になりました。ありがとうございました。
スレッド一覧

CGIROOM