忍法帖 開発スレッド Part18at SAKHALIN
忍法帖 開発スレッド Part18 - 暇つぶし2ch233:名無しさん@お腹いっぱい。
11/08/09 10:11:53.98 発信元:124.147.108.71 0
HAPを更新せずに忍法帖の連投規制をかいくぐるやつ対策
書き込んだ忍者IDを片っ端から有効期限付きでredis DBに放り込む
期限内は書き込み不可

redisは0番~15番まで複数のDBを持てる(デフォルト設定。増減可)
指定しなければ0番を使う
ここでは1番を指定した

my $NINJA_Samba_DB = 1; # 1番のDBに名前を付けてみた

my $r = Redis->new(server => '127.0.0.1:6379', encoding => undef);
$r->auth("foobared");
$r->ping || die "no server?";

$r->select($NINJA_Samba_DB); # 1番のDBを使う

my $ninjaid = "Ddummy1310123456789012"; # 忍者ID(例)
my $lvl = "15"; # レベル(例)
die "Lv=0 は書けない" if $lvl == 0;

# レベルに応じた連投規制値
my $ninja_samba = ( $lvl < 2 ? 120 :
$lvl < 4 ? 60 :
$lvl < 6 ? 45 :
$lvl < 8 ? 30 :
$lvl < 20 ? 15 :
$lvl < 30 ? 5 :
2 );

# DBに忍者IDが記録されている間は書けない
if ($r->exists($ninjaid)) {
my $ninja_samba_ttl = $r->ttl($ninjaid);
print "$ninjaid はあと $ninja_samba_ttl秒書けない\n";
}
else{
print "書き込みOK\n";
$r->setex($ninjaid => $ninja_samba => time());
}
$r->quit;


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch