*能力一括上げ [#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