罪と罰++二律背反


*「軍事コマンド:待ち伏せ」のバグ [#uc0dd611]

-ページ: [[罪罰改造掲示板]]
-投稿者: [[ryukku☆]]
-優先順位: 普通
-状態: 完了
-カテゴリー: 罪罰管理者の雑談
-投稿日: 2004-08-03 (火) 20:21:03
-バージョン: 

**メッセージ [#e13b706f]
inc/ore_sub-mission.cgi
の設定項目で一番下にある、

#------------------------------------------------------------------------------
 sub gun_tm42{
 
        $log .= qq|待ち伏せ任務を完了しました<br>\n|;
 
        $rank_exe+=int(rand(2)+1);
        $sol_lv+=int(rand(10)+5);
        $sol_lv=100 if($sol_lv>100);
        $amb_cnt++;
        if($amb_cnt==50){
 
        }
 
        $type='';
        $tm=$cmd=0;
        &call_main_st;
 }

は

 sub gun_tm42{
	$log .= "待ち伏せ任務を完了しました。<br>";
	$rank_exe+=int(rand(2)+1);
	$sol_lv+=int(rand(10)+5);
	$sol_lv=100 if($sol_lv>100);
	$amb_cnt++;
	}
	if($amb_cnt==50){
	$type='';
	$tm=$cmd=0;
	&call_main_st;
 }
ですよね(^^;


その他、とても参考になるスクリプトで勉強になりましたm(__)m
----
-あぁ〜これはですね、上のままでOKです^^ -- [[あくあ]] &new{2004-08-03 (火) 21:43:43};
-if($amb_cnt==50){  } の中には待ち伏せを50回したら○○称号を取得っ!というのが入ります。称号が不明なので入れてないんです -- [[あくあ]] &new{2004-08-03 (火) 21:45:08};
-言われてみたらそうですね…。うっかりしてましたm(__)m 後気になったのは、# 待ち伏せ行動開始 の中止しました。のところの、$misson_menu; は&mission_menu; ではないのですか? -- [[ryukku☆]] &new{2004-08-04 (水) 14:37:08};
-待伏せを設置してみましたが、やっぱりこのままじゃ普通に戻れないみたいです。 -- [[ryukku☆]] &new{2004-08-04 (水) 15:31:19};
-# 待ち伏せ行動開始  -- [[ryukku☆]] &new{2004-08-04 (水) 15:31:59};
-	if($cmd<=0){		$log .= "中止しました<br>";		$nation=0;		$tm = $cmd =0;		&mission_menu; -- [[ryukku☆]] &new{2004-08-04 (水) 15:32:58};
-	}else{  の所も同様。にしないと戻らないみたいです… -- [[ryukku☆]] &new{2004-08-04 (水) 15:33:56};
-後…  if($tnation==$camp && $tcamp==$nation && $ttype eq '待伏' && $tla+$tpr<$time){ の $tnation  $tcamp  $tla   $tpr  は共有サブルーチンに追加しないと作動しないと思うのですが… -- [[ryukku☆]] &new{2004-08-04 (水) 16:30:28};
-確かにそうですね。修正場所は、罪罰/待ち伏せに修正を加えておきます -- [[あくあ]] &new{2004-08-04 (水) 17:54:57};
-修正場所は、ore_sub-wartime.cgiの変数追加5行 と ore_sub-mission.cgi の misson_menu 呼び出し部分2ヶ所です -- [[あくあ]] &new{2004-08-04 (水) 18:10:28};
-system.cgi じゃなくて wartime.cgiの方なんですね(^^; 待伏せは上手く作動するようになりました。 もう一つ気になる所があるんですけど(汗) wartime.cgi に追加している、# 待ち伏せの $wr_mes .= qq|$nm は、$tnmの待伏せに遭遇しました<br>|; を書き込むには、 &hist_write; が必要ですよね? いちを試してみたんですけどダメ書き込まれなかったので…。 &hist_write; を追加したら、前のログの隣に表示されたので結果的にはこれでもダメでした。いちを自分なりにあくあさんのを参考にしてきちんとログに書き込まれるように改造してみたのですが、どうやってレスで改行して書いたら良いのか分からないので困ってます(汗) -- [[ryukku☆]] &new{2004-08-05 (木) 02:17:04};
-$wr_mes = ""; &hist_write; でいけると思います -- [[あくあ]] &new{2004-08-05 (木) 17:45:51};
-いけますか(汗) 私がローカルでテストした時はうまく出来てなかったのでいちを、私がやった方法を書いておきます。 

 if($tnation==$camp && $tcamp==$nation && $ttype eq '待伏' && $tla+$tpr<$time){
				$log .= "<font color=\"red\">$tnm が待ち伏せしてた!<br>$nm 部隊は$tnm部隊に先手を打たれ、<br>兵士数が2割減り、訓練度が50減った!!</font><br><br>";
				$sol_lv -= 50;
				$sol_lv = 1 if($sol_lv<=1);
				$sol = int($sol*0.8);
				$type = '待伏戦争中';
			}

として、
栄光への書き込みを全て、

				if($type eq '待伏戦争中'){
					$wr_mes ="$date $cmp[$camp]の$syogo が $cmp[$nation] に侵攻、$tnmが待伏せしていたが、一騎討ちの末これを下し $N の国力を奪う事に成功";
				}else{
					$wr_mes ="$date $cmp[$camp]の$syogo が $cmp[$nation] に侵攻、$tnm と一騎討ちの末これを下し $N の国力を奪う事に成功";
				}

にして、
				$type='';
の前に、
				&hist_write;
を持ってくる。

後
ore_.cgiのファイルの
 elsif($type eq '戦争中'){ require './inc/ore_sub-wartime.cgi';&wr_st; }
を
 elsif($type eq '戦争中' or $type eq '待伏戦争中'){ require './inc/ore_sub-wartime.cgi';&wr_st; }
に変更で。

変更箇所が多すぎて面倒ですけど(^^;
出来ない人はやってみて下さいm(__)m -- [[ryukku☆]] &new{2004-08-05 (木) 23:10:57};

#comment

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