罪と罰++二律背反


*国技の追加について [#kd046db3]

-ページ: [[罪罰改造板2?]]
-投稿者: [[沙羅伝]]
-優先順位: 緊急
-状態: 完了
-カテゴリー: スクリプト配布
-投稿日: 2006-09-21 (日) 22:36:53
-バージョン: 

**内容 [#f12d2df2]
新しく国技を追加しようと思ったんですが、
ore_config.cgi の@spell と@sp_mp に追加し、
ore_sub-battle.cgi に↓のように追加したのですが、技の選択肢に載りません。どうすればいいのですか?
(多分、何か足りないと思います。)

 }elsif($v == 8){
					$dh =int(rand(20)) ;
					if($dh==0){
						$v = int($ua_a*1000);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*7)           if($bst =~ /W/);
						$v = $v;
						$v = 1 if($v<1);
						$v = 140000 if($v > 140000);
 
                                                     $thp -= $v;
						$log .="滅びよ!<br>零式・滅!$tnm に $v の傷を与えた!<br>\n";
					}elsif($dh==1){
						$v = int($ua_a*800);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*800)           if($bst =~ /W/);
						$v = $v;
						$v = 1 if($v<1);
						$v = 150000 if($v > 150000);
 
                                                     $thp -= $v;
						$hp -= 100;
						$log .="神に変わりお仕置きよ!<br>零式・滅!$tnm に $v の傷を与えた!<br>しかし技を制御しきれず\暴\走し $nm は100の傷を負った。<br>\n";
					}elsif($dh==2){
						$v = int($ua_a*800);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*8)           if($bst =~ /W/);
						$v = $v;
						$v = 1 if($v<1);
						$v = 150000 if($v > 150000);
 
                                                     $thp -= $v;
						$mp -= ???;
						$log .="果てなぁ♪<br>零式・滅!$tnm に $v の傷を与えた!<br>しかし精神に負荷がかかり$nm は???のMPを失った。<br>\n";
					}
konokikainikuniwazanituitekaitekudasaimacennka?onegaisimasu----
-私も国技を追加しようとしたのですが、うまくできません。ore_config.cgi の@spell と@sp_mp に項目を追加し、battleファイルにも修正を加えました。技一覧には出るのですが、それを選択すると階級技の1番上が出てしまいます。解決策はどうすればよいでしょうか? -- [[スイミー]] &new{2006-09-22 (金) 22:51:58}
-戦闘時のセレクトメニュー表示の
 for($i=0,$j=8,$k=10;$i<=$#kspell;$i++,$j=$j+2,$k++){←階級技呼び出し$k がoption valueになってるのが原因。
国技の数を増やした分だけ$kを増やします。国技・階級技を増やした場合、道具が発動する場合は、
 $log2 .="<option value=15>$di_data[$di_a][1]\[1\]</option>\n";のoption value を増やし、デフォ124行目 &dogu_k if($di_a > 1 && $cmd==15);の15を増やす
-アクアさんへ、2コめ投稿に失敗しました。削除願います  改行は、どうやればいいのでしょう? -- [[774]] &new{2006-09-26 (火) 20:12:56};
-
 sub spell_sp {
	$log2 .="<select name=cmd size=1>\n<option value=1>攻撃</option>\n";
	for($i=0,$j=2;$i<int($lv/5) && $i<=$#spell;$i++,$j++){
		next if($mp<$sp_mp[$i]);
		$v = int($mp/$sp_mp[$i]);
		$log2 .="<option value=$j>$spell[$i]\[$v\]</option>\n";
	}#;
	for($i=0,$j=8,$k=10;$i<=$#kspell;$i++,$j=$j+2,$k++){
		if($rank >= $j && $mp >= $ksp_mp[$i] && $camp >0){
			$v = int($mp/$ksp_mp[$i]);
			$k2 = ($k >13) ? $k+100: $k;#階級技追加
			$log2 .="<option value=$k2>$kspell[$i]\[$v\] </option>\n";
		}
	}
	if($di_a>0){
		$log2 .="<option value=15>$di_data[$di_a][1]\[1\]</option>\n";
	}
	$log2 .="</select>";
 }
これが現在の私の#戦闘時のセレクトメニュー表示です。
国技を追加する場合は$kでいいのでしょうか?
階級技を追加してあるので$kは$k2になっていますが、そのあたりはどういじるのでしょうか?
質問ばかりですみません(汗 いくつか試してみたのですが動かなくて・・・-- [[スイミー]] &new{2006-09-26 (火) 21:57:54};
-$k10の意味は「攻撃」1コ+国技8コで階級技が10コ目からだからです。この意味が分かれば$k2は不要です -- [[774]] &new{2006-09-26 (火) 23:04:51};
-なんとか国技は出るようになりましたが、5国目だけ追加した国技が出なくなりました。何か原因でもあるのでしょうか? -- [[スイミー]] &new{2006-09-27 (水) 20:52:20};
-セレクトメニューには国別の記述はありませんので、5国めの記述ミスかと・・・ -- [[774]] &new{2006-09-27 (水) 22:25:16};
-どういじっても5国目出ないです(泣
http://www.abcoroti.com:4800/~tanutanu/ore_sub-battle.txt
スクリプト載せておきます。PerlCheckではエラーは出ていません。 -- [[スイミー]] &new{2006-09-29 (金) 16:41:14};
-5国目、8つ目の技の{}の位置がずれていますね。 全体で見ると文法、処理上は問題なく動いてしまうので、気づきにくいかも。インデントをしっかりしておくとわかりやすいかもしれませんね。 -- [[ZONE]] &new{2006-09-29 (金) 18:29:05};
-ZONEさんありがとうございました。無事動きました。7つ目の技の閉じ括弧の中に書いていましたね(汗 次回から気をつけたいと思います。 -- [[スイミー]] &new{2006-09-30 (土) 16:35:42};

#comment

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