*国技の追加について [#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