罪と罰++二律背反


*プレーヤーによる不正操作? [#e4279f8a]


-ページ: [[罪罰改造掲示板]]
-投稿者: [[Ranmaru]]
-優先順位: 緊急
-状態: 完了
-カテゴリー: 罪罰管理者の雑談
-投稿日: 2004-07-27 (火) 00:40:18
-バージョン: 

**メッセージ [#l2215354]

----
最近ワタシのサイトでcmdを不正に操るプレーヤーが続出しています。

特に最近問題になっているのは
戦争で勝てない相手に当たったとき
兵を減らさずに限界オーバーを出すことをするプレーヤーが多く困ってます。

そこで対策をしました。

皆さんの中にもこの様なことをされているところがあるかもしれません。

もぉそんなことはとっくに対応してるって方もいるかもしれませんが・・・

*限界オーバーの起こし方 [#cf748a5e]
-/ore_.cgi?id=id&pw=pass&cmd=X

Xに攻撃、防御、突撃、退却以外の数値を入れることによりターン数が1ずつ減っていきます。

そこで以下のようにして不正を出来なくしてみました。

 elsif($cmd==1){
	$l=int(rand(3));
	if($l==0){
	$x=int(($sol/100)+($lr*10))+$sol_lv;
	$y=int(($tsol/100)+($tlr*10))+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (攻撃陣形) VS $tnm (攻撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==1){
	$x=int((($sol/100)+($lr*10))*2)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*0.5)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (攻撃陣形) VS $tnm (防御陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==2){
	$x=int((($sol/100)+($lr*10))*0.5)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*2)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (攻撃陣形) VS $tnm (突撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}
 }elsif($cmd==2){
	$l=int(rand(3));
	if($l==0){
	$x=int((($sol/100)+($lr*10))*0.5)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*2)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (防御陣形) VS $tnm (攻撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==1){
	$x=int(($sol/100)+($lr*10))+$sol_lv;
	$y=int(($tsol/100)+($tlr*10))+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (防御陣形) VS $tnm (防御陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==2){
	$x=int((($sol/100)+($lr*10))*2)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*0.5)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (防御陣形) VS $tnm (突撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}
 }elsif($cmd==3){
	$l=int(rand(3));
	if($l==0){
	$x=int((($sol/100)+($lr*10))*2)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*0.5)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (突撃陣形) VS $tnm (攻撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==1){
	$x=int((($sol/100)+($lr*10))*0.5)+$sol_lv;
	$y=int((($tsol/100)+($tlr*10))*2)+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (突撃陣形) VS $tnm (防御陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}elsif($l==2){
	$x=int(($sol/100)+($lr*10))+$sol_lv;
	$y=int(($tsol/100)+($tlr*10))+$tsol_lv;
	$x=1 if($x<1);
	$y=1 if($y<1);
	$log .="$nm (突撃陣形) VS $tnm (突撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 $x<br>\n";
	$sol-=$y;
	$tsol-=$x;
	}
 }elsif($cmd !=-1){
	$y=int(($tsol/100)+($tlr*10))+$tsol_lv;
	$y=1 if($y<1);
	$log .="$nm (怯えている) VS $tnm (突撃陣形)<br>\n";
	$log .="○自軍被害 $y ●敵軍被害 0<br>\n";
	$sol-=$y;
	$war_cnt+=50;
 }

CENTER:または
 $b_v+=1 if($cmd>0);
CENTER:の部分を
 $b_v+=1 if($cmd>=1 && $cmd<=3);
に書き換えても防げます。

皆さんのお役に立てれば・・
-情報ありがとうございます、そんな抜け道もあるんですね。罪罰Tipsの「戦争時、リロードでの一騎打ちを防ぐ」もその関連ですね((別物なのでターンを進めるのを防ぐことは出来ません))。 -- [[あくあ]] &new{2004-07-27 (火) 17:44:30};
-携帯だと簡単に出来てしまうんです。(涙) 似たような手順でデフォルトでは戦闘時にMPなくても必殺技発動させることも可能です。階級が一番下でも全ての階級技発動も容易ですし・・ -- [[Ranmaru]] &new{2004-07-29 (木) 13:27:34};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS