▼スレッド
│
└◇1633:Re[13]:連勝数の追加とグラフ表示 [moon] 01/08 23:26
└◇1634:Re[14]:連勝数の追加とグラフ表示 [rien] 01/09 00:29<-last
> > 関係するそれぞれの変数の変更後にpush(@msg, 〜);で変数の値を表示してみて、正しい値になっていることを確認してください。スレッド一覧
>
> お返事ありがとうございます。
> sub_fightに部分をこうして記述を追加してみました
> >>if ($plf1[0] eq $id && $remain < $btlser_time--) {
> @plf1 = split(/△/,$plf);
> $remtime = time - $plf1[1];
> $remain = $remtime / 3600;
> $remhor = $btlser_time-- - int($remtime/3600) - 1;
> $remmin = 59 - int(($remtime%3600)/60);
> $remsec = 59 - $remtime % 60;
> $btlser_time -- if(index($psp, 'Ng') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を1時間短くする
>
> push (@msg,"$pnmとは暫く戦えません(あと$remhor時間$remmin分$remsec秒)"); return;
>
> 戦闘を行うと12という数値が出ます。
> 12は設定部分で$btlser_timeを設定している数値です。
移動するif文が違います。
また、移動するだけでは表示上の問題は解決しなかったです。
諸々を変更したソース例を載せます。
$btlser_time -= 30 if(index($psp, 'Ng') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を30分短くする
@plf1 = split(/△/,$plf);
$remtime = time - $plf1[1]; # 経過時間を求める(秒単位)
if ($plf1[0] eq $id && $remtime < $btlser_time * 60) {
my $remspan = $btlser_time * 60 - $remtime;
$remhor = int($remspan / 3600); # 表示用の残り時間の時間部分を求める
$remmin = int(($remspan % 3600) / 60); # 表示用の残り時間の分部分を求める
$remsec = int($remspan % 60); # 表示用の残り時間の秒部分を求める
push (@msg,"$pnmとは暫く戦えません(あと$remhor時間$remmin分$remsec秒)");
return;
}
> 移動するif文が違います。スレッド一覧
> また、移動するだけでは表示上の問題は解決しなかったです。
> 諸々を変更したソース例を載せます。
> $btlser_time -= 30 if(index($psp, 'Ng') != -1); # 相手にNPCスキルがある場合には再戦禁止時間を30分短くする
> @plf1 = split(/△/,$plf);
> $remtime = time - $plf1[1]; # 経過時間を求める(秒単位)
> if ($plf1[0] eq $id && $remtime < $btlser_time * 60) {
> my $remspan = $btlser_time * 60 - $remtime;
> $remhor = int($remspan / 3600); # 表示用の残り時間の時間部分を求める
> $remmin = int(($remspan % 3600) / 60); # 表示用の残り時間の分部分を求める
> $remsec = int($remspan % 60); # 表示用の残り時間の秒部分を求める
> push (@msg,"$pnmとは暫く戦えません(あと$remhor時間$remmin分$remsec秒)");
> return;
> }
お返事ありがとうございます。
詳しいソースまで出していただいてありがとうございます。
記述する文から間違っていたのですね。。
お恥ずかしい限りです。。
再戦の単位を分刻みに直していただき
どこを直すと良いのか分かりました。
いつもお世話になります。
ありがとうございました。