罪と罰++二律背反


*能力一括上げ [#ea0c92f8]

-ページ: [[罪罰改造板2]]
-投稿者: [[RUNNER]]
-優先順位: 緊急
-状態: 完了
-カテゴリー: こんなのが欲しい♪
-投稿日: 2006-10-14 (土) 11:37:46
-バージョン: 

**内容 [#x3a48778]
能力を入力した数字の分あげたいので

 sub ability_menu{
 
 	# 能力コマンド
 	@st		 = ('やめる','体力-UP','精神-UP','功撃-UP','防御-UP','魔攻-UP','魔防-UP','指揮-UP','速さ-UP','レベル-UP');
 	$log .=qq|<br>上昇値<input type="text" $button1 name="point" value="" size="6" style="width:80;"><br>\n|;  # 送金
 	$log2 .=qq|<form action="$script"method="$method" name="ore_">\n|;
 	$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
 	$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
 
 	$log2 .=qq|<select name="cmd" size="1">\n|;
 	foreach(0 .. $#st){ $log2 .= "<option value=$_>$st[$_]</option>\n";}
 	$log2 .=qq|</select><br>\n|;
 	$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
 #	my $point = $in{'point'};
}
 
 #-------------------------------------------------------------------------------
 # 能力処理
 sub ability_exe{

	if(!$tm){

		&abi_up_data;
	my $point = $in{'point'};
 $point=1 if($point<1);

		if($cmd<=0){
			$log .= "止めておきます<br>\n";
			$tm = $cmd = 0;
			$type='';
			&call_main_st;
		}elsif($cmd==1){
			if($gold<5000*$point){
				$log .= "お金が足りません<br>\n";
				$tm = $cmd = 0;
				$type='';
				&ability_menu;
			}else{
 $point3=$point*3;
				$log .= "最大HPが$point3上がった<br>\n";
				$max_hp+=3*$point;
				$gold-=5000*$point;
				$tm = $cmd = 0;
				$type='';
				&ability;
			}
		}elsif($cmd==2){
 #以下省略

としましたがどんな数値を入れても1しか上昇しません。
テキストに入れた数字が変数の $point に代入されてないようですので、それの書き方をご指導願いたいと思います。
----
-数値*変数ではなくて、例えば15上げたいなら~
$max_hp+=15;~
にしてお金の部分を~
if($gold<25000){~
$gold-=25000;~
でできますよ。 -- [[six]] &new{2006-10-14 (土) 12:25:49};
-pointのinputがformの内側にないといけないですね -- [[あくあ]] &new{2006-10-14 (土) 13:07:05};

 # HPを入力方式にする場合
 		}elsif($cmd==1){
 			$log.="HPの上昇値を指定してください。<br>";
 			$tm=1;
 			$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
 			$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
 			$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
 			$log2 .=qq|<input type=text name="point" $button1 style="width:100px">\n|; # ここのnameをpointにする
 			$log2 .=qq|<select name=cmd size=1>\n|;
 			$log2 .=qq|<option value=0>やめる</option>\n|;
 			$log2 .=qq|<option value=1>上昇させる</option>\n|;
 			$log2 .=qq|</select><br>\n|;
 			$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
  
 
 # }elsif($cmd==){が終了したあたりから
 		}elsif($tm==1){
 			&abi_up_data;
 			if($cmd==0){
 				$log .= "上昇させるのをやめた。<br>\n";
 				$tm = $cmd = 0;
 				$type='';
 				&call_main_st;
 			}elsif($in{'point'}>100){
 				$log .="HPを100P以上上げることは出来ません。($in{'hpup'}上げようとした)<br>\n";
 				$tm = $cmd = 0;
 				$type='';
 				&call_main_st;
 			}elsif($in{'point'}*5000<$gold){
 				$log .= "HPを $in{'point'}\P上昇させました。<br>\n";
 				$max_hp += $in{'point'};
 				$hp +=$in{'point'};
 				$gold -=$in{'point'}*5000;
 				$tm = $cmd = 0;
 				$type='';
 				&call_main_st;
 			}else{
 				$log .= "お金が足りない・・・。<br>\n";
 				$tm = $cmd = 0;
 				$type='';
 				&call_main_st;
 			}
-私のところではこのようにしていました。 これを応用すれば他のも入力式にできると思います。 あまり綺麗なソースではありませんが、参考程度にどうぞ。 -- [[Gun]] &new{2006-10-15 (日) 09:17:38};
-色々試したところ、反映されるようになりました。皆さんありがとうございました!! -- [[RUNNER]] &new{2006-10-15 (日) 13:11:03};

#comment

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