▼スレッド
│
└◇1342:顔画像変更 [醒夢] 11/19 18:50
├◇1345:Re:顔画像変更 [cosmos] 11/19 19:33
│└◇1347:Re[2]:顔画像変更 [醒夢] 11/19 23:18
└◇1346:Re:命中・回避アップ [cosmos] 11/19 19:58
└◇1348:Re[2]:命中・回避アップ [醒夢] 11/19 23:37
└◇1349:Re[3]:命中・回避アップ [moon] 11/20 00:25
└◇1354:Re[4]:命中・回避アップ [醒夢] 11/20 12:27
└◇1356:Re[5]:命中・回避アップ [moon] 11/20 20:52
└◇1363:Re[6]:命中・回避アップ [醒夢] 11/21 18:35<-last
先日はありがとうございました。スレッド一覧
無事販売数を追加できました。
http://www.honey.ne.jp/~yuya/sos/の顔画像選択を使わせて頂いているのですが、プレイ中に顔画像を変更できるコマンドを追加できませんかね?
あと、レティさんのレベルアップシステムと命中率・回避率システムを導入しているのですが、レベルアップで命中・回避を成長させたいのですがどうすればいいですかね
教えて君ですみませんが、どうかご教授をお願い致します。
ええと自分が答えるのもなんですが一様・・(何スレッド一覧
> http://www.honey.ne.jp/~yuya/sos/の顔画像選択を使わせて頂いているのですが、プレイ中に顔画像を変更できるコマンドを追加できませんかね?
http://ks-karin.kiy.jp/ScriptofSagaII/sosII.htmlで公開されてますよ♪
ありがとうございます。スレッド一覧
変更できるようになりました。
> あと、レティさんのレベルアップシステムと命中率・回避率システムを導入しているのですが、レベルアップで命中・回避を成長させたいのですがどうすればいいですかねスレッド一覧
については自分も他のステータスをレベルアップした時に上げられるようにしてます。その時の改造ですが・・
# Sub User Level Up Before #の
# 上昇する可能性のある能力の配列作成ここより
if($sp =~ /Tf/){
if($ak < $Max_ak){ push(@sts_up,"攻撃力") }
の下にでも
if($hi < $Max_hi){ push(@sts_up,"命中") }
if($ev < $Max_ev){ push(@sts_up,"回避") }
を追加
# Sub User Level Up After #
の
}
elsif($Fm{'LVU'} eq "所持数"){
$grow_up = int(rand($stsup_xi_rvs)+1);
$Max_grow_up = $Max_xi - $xi;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$xi += $grow_up;
}
の下にでも
}
elsif($Fm{'LVU'} eq "命中"){
$grow_up = int(rand($stsup_hi_rvs)+1);
$Max_grow_up = $Max_hi - $hi;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$hi += $grow_up;
}
elsif($Fm{'LVU'} eq "回避"){
$grow_up = int(rand($stsup_ev_rvs)+1);
$Max_grow_up = $Max_ev - $ev;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$ev += $grow_up;
}
設定に
$Max_hi = 99; # 命中限界値
$Max_ev = 99; # 回避限界値
$stsup_hi_rvs = 3; # 成長時命中力上昇値の乱数幅設定(設定値までの乱数で獲得経験値を決定)
$stsup_ev_rvs = 3; # 成長時回避力上昇値の乱数幅設定(設定値までの乱数で獲得経験値を決定)
でいけると思います。
でも確かこのシステムは一つのフラグのみで2つの変数を格納しているからこれでいけるかどうかは自分もわかりません(汗
ご回答ありがとうございます。スレッド一覧
私もそういう風にすれば出来るかと思ったのですが無理でした。
やはり一つのフラグに二つの変数を格納しているというのがダメなんですかね?
でも、とあるサイトさんでは勝利数や敗北数を消費して命中・回避を上げる施設があるんですがね。原理は似ているから出来そうなんですが…。
> 私もそういう風にすれば出来るかと思ったのですが無理でした。スレッド一覧
> やはり一つのフラグに二つの変数を格納しているというのがダメなんですかね?
$quが該当パラメータだと思いますので、パラメータを参照または変更する前に、
($hi, $ev) = split(/△/, $qu);
パラメータを変更した後に、
$qu = join('△', $hi, $ev);
を実行すれば反映されると思います。
レスありがとうございます。スレッド一覧
こんな感じにしてみたのですがこれでいいのでしょうか?
# Sub Lv Form #
sub lv_form {
&level_up_after if $Fm{'mode'} eq 'level_up_after';
&header;
&table_top;
&level_up_before if $Fm{'mode'} eq 'level_up_before';
&msg;
&normal_action;
&player_data;
&table_bottom;
}
# Sub User Level Up Before #
sub level_up_before {
@rcdlines = &get_user("$Fm{'id'}");
$fg = 'LVB'; &userout;
$next_exp = ($lv+1) * $exp_rvs;
if($exp < $next_exp){ push (@msg,"経験値が足りません。次のレベルにはあと$next_exp-$expの経験値が必要です"); return }
($hi,$ev) = split(/△/,$qu);
# 上昇する可能性のある能力の配列作成ここより
if($sp =~ /Tf/){
if($ak < $Max_ak){ push(@sts_up,"攻撃力") }
if($dd < $Max_dd){ push(@sts_up,"防御力") }
if($hi < $Max_hi){ push(@sts_up,"命中率") }
if($ev < $Max_ev){ push(@sts_up,"回避率") }
if($xp < $Max_xp){ push(@sts_up,"HP") }
if($xi < $Max_xi){ push(@sts_up,"所持数") }
}else{
if($xp < $Max_xp){ push(@sts_up,"体力") }
if($xi < $Max_xi){ push(@sts_up,"所持数") }
}
# ここまで
$sts_up = @sts_up;
if(!$sts_up){ push (@msg,'成長する能\力値がありません'); return }
push (@msg,"成長させたい\能\力を選択し、$def_okボタンを押してください");
&form('start'); print qq|<tr><td colspan=2>|;
foreach (0 .. $#sts_up) {
&input('radio','LVU',"$sts_up[$_]",'checked',''); print qq|$sts_up[$_]\n|;
}
&OKbuttoninform('n','level_up_after');
print qq|</td></tr>|; &form('end');
}
# Sub User Level Up After #
sub level_up_after {
@rcdlines = &get_user("$Fm{'id'}");
return if $fg ne 'LVB';
$next_exp = ($lv+1) * $exp_rvs;
if($exp < $next_exp){ push (@msg,"経験値が足りません。次のレベルには$next_expの経験値が必要です"); return }
if($Fm{'LVU'} eq "攻撃力"){
$grow_up = int(rand($stsup_ak_rvs)+1);
$Max_grow_up = $Max_ak - $ak;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$ak += $grow_up;
}
elsif($Fm{'LVU'} eq "防御力"){
$grow_up = int(rand($stsup_dd_rvs)+1);
$Max_grow_up = $Max_dd - $dd;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$dd += $grow_up;
}
elsif($Fm{'LVU'} eq "命中率"){
$grow_up = int(rand($stsup_hi_rvs)+1);
$Max_grow_up = $Max_hi - $hi;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$hi += $grow_up;
}
elsif($Fm{'LVU'} eq "回避率"){
$grow_up = int(rand($stsup_ev_rvs)+1);
$Max_grow_up = $Max_ev - $ev;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$ev += $grow_up;
}
elsif($Fm{'LVU'} eq "HP"){
$grow_up = int(rand($stsup_xp_rvs)+1);
$Max_grow_up = $Max_xp - $xp;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$xp += $grow_up;
}
elsif($Fm{'LVU'} eq "所持数"){
$grow_up = int(rand($stsup_xi_rvs)+1);
$Max_grow_up = $Max_xi - $xi;
$grow_up = $Max_grow_up if $grow_up > $Max_grow_up;
$xi += $grow_up;
}
$qu = join('△', $hi, $ev);
push (@msg,"LvUP!$Fm{'LVU'}が$grow_up上がった!");
$exp -= $next_exp;
$lv++;
$fg = ''; &userout;
}
1;
> こんな感じにしてみたのですがこれでいいのでしょうか?スレッド一覧
splitとjoinしか見ていませんが、sub level_up_afterでsplitしていないようです。
ありがとうございます!スレッド一覧
無事上げる事が出来ました。
仰る通りafterの方にsplitを入れていなかったのが問題だったようです。