「yard.cgi」の編集履歴(バックアップ)一覧はこちら
「yard.cgi」(2010/09/20 (月) 23:30:53) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<p>造船所関連</p>
<p> </p>
<p># Sub Shipyard #<br />
sub shipyard {<br />
if ($F{'yard'} == 1) { &yard_buy; return }<br />
if ($F{'yard'} == 2) { &yard_sell; return }<br />
if ($F{'yard'} == 3) { &yard_rep; return }<br />
print <<YARD;<br />
造船所<br><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="1"><br />
<input type=submit value="購入" class=button><br />
</form><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="2"><br />
<input type=submit value="売却" class=button><br />
</form><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="3"><br />
<input type=submit value="修理" class=button></form><br />
YARD<br />
}<br /><br /><font color="#339966">valueが1なら購入へ。valueが2なら売却へ。valueが3なら修理へ。<br />
船の改造を追加したいなら改造のsubを作りココにvalueが4なら改造へという様にすればOKです。</font><br /><br />
# Sub Buy Yard #<br />
sub yard_buy {<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br /><font color="#339966">造船所のファイルを読み込み、@yardlineに格納。</font><br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:購入 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
foreach (0 .. $#yardline) {<br /><font color="#339966">@yardlineの最初から最後までforeachで処理。</font><br />
($goods,$kind,$goods_img,$sale_area,$sale_port,$volume,$ship_hp,$knot,$price)<br />
= split(/<>/,$yardline[$_]);<font color="#339966"><br />
$yardline[N番目]の値を<>ごとに分割し各変数に格納。<br />
$goods「名前」,$kind「種類」,$goods_img「画像名」,$sale_area「販売エリア」,$sale_port「販売港」,$volume「積載」,$ship_hp「HP」,$knot「速度」,$price「価格」</font><br />
if ($sale_area =~ /$area/ || $sale_port =~ /$port/) {<br />
$checked = !$first ? ' checked' : '';<br />
$first = 1;<br />
&price_up;<br /><font color="#339966">能力の価格の処理</font><br />
print qq|<input type=radio name=goods
value="$_"$checked>|;<br />
print qq|<img src="$img/$goods_img" height=15>$goods:$price
G<br>|;<br />
if ($kind == 1) {<br />
print qq|[積載:$volume 耐久:$ship_hp 速度:$knot]<br>\n|;<br />
}<br />
elsif ($kind == 2) {<br />
print qq|戦闘力+$volume<br>\n|;<br />
}<br />
elsif ($kind == 3) {<br />
print qq|指揮力+$volume<br>\n|;<br />
}<br />
elsif ($kind == 4) {<br />
print qq|航海力+$volume<br>\n|;<br />
}<br />
}<br />
}<br />
print qq|<input type=hidden name=yard value="1"><input type=hidden
name=mode value="buy_ship">\n|;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br /><br /><br /><br />
# Sub Price Up #<br />
sub price_up {<br />
if ($kind == 2 || $kind == 3 || $kind ==4) {<br />
my $rate = $atk + $cmd + $nav;<br />
$price = int($price * exp($rate * 0.03 - 3))<br />
}<br />
}<br /><font color="#339966">能力の価格処理。価格 * ((攻撃力+指揮力+航海力)*0.03-3)のべき乗</font><br /><br />
# Sub Buy Ship #<br />
sub buy_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&get_port($area,$port);<br />
&ship_data;<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($goods,$kind,$goods_img,$sale_area,$sale_port,$volume,$ship_hp,$knot,$price)<br />
= split(/<>/, $yardline[$F{'goods'}] );<br />
if ( $sale_area !~ /$area/ && $sale_port !~ /$port/ ) {
&play("不正です"); exit }<br />
&price_up;<br />
if ( $money < $price ) { &play("資金が足りません"); exit }<br />
if ( $#ship_ind == 16 && $kind == 1 ) { &play("これ以上船は買えません");
exit}<br />
if ( $kind == 1 && $#ship_ind < 16 ) {<br />
push(@ship_ind , "$goods_img,$volume,$ship_hp,$knot,$goods");<br />
&msg("$goodsを買いました");<br />
&add_record("$goodsを $priceで 購入")<br />
}<br />
elsif ( $kind == 2 ) {<br />
if ($atk >= $atk_limit) { &play("これ以上は無理です"); exit }<br />
$atk += $volume;<br />
&msg("武装しました");<br />
&add_record("戦闘力 + $volume")<br />
}<br />
elsif ( $kind == 3 ) {<br />
if ($cmd >= $cmd_limit) { &play("これ以上は無理です"); exit }<br />
$cmd += $volume;<br />
&msg("指揮力が高まりました");<br />
&add_record("指揮力 + $volume")<br />
}<br />
elsif ( $kind == 4 ) {<br />
if ($nav >= $nav_limit) { &play("これ以上は無理です"); exit }<br />
$nav += $volume;<br />
&msg("航海力が高まりました");<br />
&add_record("航海力 + $volume")<br />
}<br />
$action = '';<br />
$money -= $price;<br />
&play;<br />
}<br /><font color="#339966">購入処理</font><br /><br />
# Sub Yard Sell #<br />
sub yard_sell {<br />
if ( $#ship_ind < 0) { print qq|船がありません|; &return_button; return
}<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:売却 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
for ($i = 0; $i <= $#ship_ind; $i++) {<br />
($price) = map{ (split(/<>/))[8] } grep {$ship[$i][4] eq
(split(/<>/,$_))[0]} @yardline;<font color="#339966"><br />
@yardlineのN番目の9番目の値「価格」を分割抽出し、プレーヤーのN番目の船の名前と一致した船の名前の価格を$priceに格納。</font><br />
$price = int($price / 2);<br />
$checked = $i == 0 ? ' checked' : '';<br />
print qq|<input type=radio name=goods value="$i"$checked>|;<br />
print qq|$ship[$i][4]:$price G<br>\n|;<br />
print qq|[積載:$ship[$i][1] 耐久:$ship[$i][2]
速度:$ship[$i][3]]<br>|;<br />
}<br />
print qq|<input type=hidden name=yard value="2"><input type=hidden
name=mode value="sell_ship">\n|;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br />
# Sub Sell Ship #<br />
sub sell_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&ship_data;<br />
&fleet;<br />
&load_data;<br />
if ( ($total - $total_load - $food - $sailor - $ship[$F{'goods'}][1]) <
0 ) {<br />
&play("残積荷が足りません");<br />
return<br />
}<br />
$action = '';<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($price) = map{ (split(/<>/))[8] } grep {$ship[$F{'goods'}][4] eq
(split(/<>/,$_))[0]} @yardline;<br />
splice(@ship_ind , $F{'goods'} ,1);<br />
my $upmoney = int($price / 2);<br />
$money += $upmoney;<br />
&msg("$ship[$F{'goods'}][4]を売却しました");<br />
&add_record("$ship[$F{'goods'}][4]を $upmoneyで 売却");<br />
&play;<br />
}<br />
売却処理<br /><br />
# Sub Yard Repair #<br />
sub yard_rep {<br />
if ( $#ship_ind < 0) { print qq|船がありません|; &return_button; return
}<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:修理 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
for ($i = 0; $i <= $#ship_ind; $i++) {<br />
($max_hp,$price) = map{ (split(/<>/))[6,8] } grep {$ship[$i][4]
eq (split(/<>/,$_))[0]} @yardline;<br />
if (!$max_hp) { $max_hp = $ship[$F{'goods'}][1] * 0.2; $price =
$ship[$F{'goods'}][1] * 10000; }<br /><font color="#339966">$max_hpが偽ならば、$max_hpは積載*0.2、価格は積載*10000。</font><br />
if ($max_hp <= $ship[$i][2]) { next }<br />
$price = $max_hp ? int($price * 0.03 / ($ship[$i][2] / $max_hp)) :
0;<br /><font color="#339966">A ? B : C は、Aが真であればBを、偽であればCを値とする。</font><br /><font color="#339966">つまり、$priceに $max_hpが真であれば、($price*0.03/(船のHP/$max_hp))を格納し、偽ならば0を格納する。</font><br />
if ($ship[$i][1] > 500) { $down = $ship[$i][1] - 20 }<br />
elsif ($ship[$i][1] > 100) { $down = $ship[$i][1] - 10 }<br />
else { $down = $ship[$i][1] }<font color="#339966"><br />
修理後の積載減少の処理</font><br />
$checked = !$f ? ' checked' : '';<br />
$f = 1;<br />
print qq|<input type=radio name=goods value="$i"$checked>|;<br />
print qq|$ship[$i][4]:$price G<br>\n|;<br />
print qq|[積載:$ship[$i][1] 耐久:$ship[$i][2]
速度:$ship[$i][3]]<br>|;<br />
print qq|修理後 [積載:$down 耐久:$max_hp]<br>|;<br />
}<br />
print qq|修理できる船はありません<input type=hidden name=mode value="play">\n| if
!$f;<br />
print qq|<input type=hidden name=yard value="3"><input type=hidden
name=mode value="rep_ship">\n| if $f;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br />
# Sub Repair Ship #<br />
sub rep_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&ship_data;<br />
&fleet;<br />
&load_data;<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($max_hp,$price) = map{ (split(/<>/))[6,8] } grep
{$ship[$F{'goods'}][4] eq (split(/<>/,$_))[0]} @yardline;<br />
if (!$max_hp) { $max_hp = $ship[$F{'goods'}][1] * 0.2; $price =
$ship[$F{'goods'}][1] * 10000; }<br />
$price = $max_hp ? int($price * 0.03 / ($ship[$F{'goods'}][2] / $max_hp)) :
0;<br />
if ( $money < $price ) { &play("資金が足りません"); exit }<br />
if ($ship[$F{'goods'}][1] > 500) { $down = 20 }<br />
elsif ($ship[$F{'goods'}][1] > 100) { $down = 10 }<br />
if ( ($total - $total_load - $food - $sailor - $down) < 0 ) {<br />
&play("残積荷が足りません");<br />
return<br />
}<br />
$action = '';<br />
$ship[$F{'goods'}][1] = $ship[$F{'goods'}][1] - $down;<br />
splice(@ship_ind , $F{'goods'} ,1
,"$ship[$F{'goods'}][0],$ship[$F{'goods'}][1],$max_hp,$ship[$F{'goods'}][3],$ship[$F{'goods'}][4]");<br />
$money -= $price;<br />
&msg("$ship[$F{'goods'}][4]を修理しました");<br />
&add_record("$ship[$F{'goods'}][4]を $priceで 修理");<br />
&play;<br />
}<font color="#339966"><br />
修理処理</font><br />
1;</p>
<p>造船所関連</p>
<p> </p>
<p># Sub Shipyard #<br />
sub shipyard {<br />
if ($F{'yard'} == 1) { &yard_buy; return }<br />
if ($F{'yard'} == 2) { &yard_sell; return }<br />
if ($F{'yard'} == 3) { &yard_rep; return }<br />
print <<YARD;<br />
造船所<br><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="1"><br />
<input type=submit value="購入" class=button><br />
</form><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="2"><br />
<input type=submit value="売却" class=button><br />
</form><form method=$method action=$seacgi><br />
<input type=hidden name=id value="$F{'id'}"><br />
<input type=hidden name=ps value="$F{'ps'}"><br />
<input type=hidden name=mode value="play"><br />
<input type=hidden name=yard value="3"><br />
<input type=submit value="修理" class=button></form><br />
YARD<br />
}<br /><br /><font color="#339966">valueが1なら購入へ。valueが2なら売却へ。valueが3なら修理へ。<br />
船の改造を追加したいなら改造のsubを作りココにvalueが4なら改造へという様にすればOKです。</font><br /><br />
# Sub Buy Yard #<br />
sub yard_buy {<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br /><font color="#339966">造船所のファイルを読み込み、@yardlineに格納。</font><br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:購入 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
foreach (0 .. $#yardline) {<br /><font color="#339966">@yardlineの最初から最後までforeachで処理。</font><br />
($goods,$kind,$goods_img,$sale_area,$sale_port,$volume,$ship_hp,$knot,$price)<br />
= split(/<>/,$yardline[$_]);<font color="#339966"><br />
$yardline[N番目]の値を<>ごとに分割し各変数に格納。<br />
$goods「名前」,$kind「種類」,$goods_img「画像名」,$sale_area「販売エリア」,$sale_port「販売港」,$volume「積載」,$ship_hp「HP」,$knot「速度」,$price「価格」</font><br />
if ($sale_area =~ /$area/ || $sale_port =~ /$port/) {<br />
$checked = !$first ? ' checked' : '';<br />
$first = 1;<br />
&price_up;<br /><font color="#339966">能力の価格の処理</font><br />
print qq|<input type=radio name=goods
value="$_"$checked>|;<br />
print qq|<img src="$img/$goods_img" height=15>$goods:$price
G<br>|;<br />
if ($kind == 1) {<br />
print qq|[積載:$volume 耐久:$ship_hp 速度:$knot]<br>\n|;<br />
}<br />
elsif ($kind == 2) {<br />
print qq|戦闘力+$volume<br>\n|;<br />
}<br />
elsif ($kind == 3) {<br />
print qq|指揮力+$volume<br>\n|;<br />
}<br />
elsif ($kind == 4) {<br />
print qq|航海力+$volume<br>\n|;<br />
}<br />
}<br />
}<br />
print qq|<input type=hidden name=yard value="1"><input type=hidden
name=mode value="buy_ship">\n|;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br /><br /><br /><br />
# Sub Price Up #<br />
sub price_up {<br />
if ($kind == 2 || $kind == 3 || $kind ==4) {<br />
my $rate = $atk + $cmd + $nav;<br />
$price = int($price * exp($rate * 0.03 - 3))<br />
}<br />
}<br /><font color="#339966">能力の価格処理。価格 * ((攻撃力+指揮力+航海力)*0.03-3)のべき乗</font><br /><br />
# Sub Buy Ship #<br />
sub buy_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&get_port($area,$port);<br />
&ship_data;<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($goods,$kind,$goods_img,$sale_area,$sale_port,$volume,$ship_hp,$knot,$price)<br />
= split(/<>/, $yardline[$F{'goods'}] );<br />
if ( $sale_area !~ /$area/ && $sale_port !~ /$port/ ) {
&play("不正です"); exit }<br />
&price_up;<br />
if ( $money < $price ) { &play("資金が足りません"); exit }<br />
if ( $#ship_ind == 16 && $kind == 1 ) { &play("これ以上船は買えません");
exit}<br />
if ( $kind == 1 && $#ship_ind < 16 ) {<br />
push(@ship_ind , "$goods_img,$volume,$ship_hp,$knot,$goods");<br />
&msg("$goodsを買いました");<br />
&add_record("$goodsを $priceで 購入")<br />
}<br />
elsif ( $kind == 2 ) {<br />
if ($atk >= $atk_limit) { &play("これ以上は無理です"); exit }<br />
$atk += $volume;<br />
&msg("武装しました");<br />
&add_record("戦闘力 + $volume")<br />
}<br />
elsif ( $kind == 3 ) {<br />
if ($cmd >= $cmd_limit) { &play("これ以上は無理です"); exit }<br />
$cmd += $volume;<br />
&msg("指揮力が高まりました");<br />
&add_record("指揮力 + $volume")<br />
}<br />
elsif ( $kind == 4 ) {<br />
if ($nav >= $nav_limit) { &play("これ以上は無理です"); exit }<br />
$nav += $volume;<br />
&msg("航海力が高まりました");<br />
&add_record("航海力 + $volume")<br />
}<br />
$action = '';<br />
$money -= $price;<br />
&play;<br />
}<br /><font color="#339966">購入処理</font><br /><br />
# Sub Yard Sell #<br />
sub yard_sell {<br />
if ( $#ship_ind < 0) { print qq|船がありません|; &return_button; return
}<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:売却 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
for ($i = 0; $i <= $#ship_ind; $i++) {<br />
($price) = map{ (split(/<>/))[8] } grep {$ship[$i][4] eq
(split(/<>/,$_))[0]} @yardline;<font color="#339966"><br />
@yardlineのN番目の9番目の値「価格」を分割抽出し、プレーヤーのN番目の船の名前と一致した船の名前の価格を$priceに格納。</font><br />
$price = int($price / 2);<br />
$checked = $i == 0 ? ' checked' : '';<br />
print qq|<input type=radio name=goods value="$i"$checked>|;<br />
print qq|$ship[$i][4]:$price G<br>\n|;<br />
print qq|[積載:$ship[$i][1] 耐久:$ship[$i][2]
速度:$ship[$i][3]]<br>|;<br />
}<br />
print qq|<input type=hidden name=yard value="2"><input type=hidden
name=mode value="sell_ship">\n|;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br />
# Sub Sell Ship #<br />
sub sell_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&ship_data;<br />
&fleet;<br />
&load_data;<br />
if ( ($total - $total_load - $food - $sailor - $ship[$F{'goods'}][1]) <
0 ) {<br />
&play("残積荷が足りません");<br />
return<br />
}<br />
$action = '';<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($price) = map{ (split(/<>/))[8] } grep {$ship[$F{'goods'}][4] eq
(split(/<>/,$_))[0]} @yardline;<br />
splice(@ship_ind , $F{'goods'} ,1);<br />
my $upmoney = int($price / 2);<br />
$money += $upmoney;<br />
&msg("$ship[$F{'goods'}][4]を売却しました");<br />
&add_record("$ship[$F{'goods'}][4]を $upmoneyで 売却");<br />
&play;<br />
}<br /><font color="#339966">売却処理</font><br /><br />
# Sub Yard Repair #<br />
sub yard_rep {<br />
if ( $#ship_ind < 0) { print qq|船がありません|; &return_button; return
}<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
&form_table('up','100%',1);<br />
&reload;<br />
print qq|造船所:修理 |;<br />
&submit_button;<br />
print qq|</td></tr><tr><td align=left>\n|;<br />
for ($i = 0; $i <= $#ship_ind; $i++) {<br />
($max_hp,$price) = map{ (split(/<>/))[6,8] } grep {$ship[$i][4]
eq (split(/<>/,$_))[0]} @yardline;<br />
if (!$max_hp) { $max_hp = $ship[$F{'goods'}][1] * 0.2; $price =
$ship[$F{'goods'}][1] * 10000; }<br /><font color="#339966">$max_hpが偽ならば、$max_hpは積載*0.2、価格は積載*10000。</font><br />
if ($max_hp <= $ship[$i][2]) { next }<br />
$price = $max_hp ? int($price * 0.03 / ($ship[$i][2] / $max_hp)) :
0;<br /><font color="#339966">A ? B : C は、Aが真であればBを、偽であればCを値とする。</font><br /><font color="#339966">つまり、$priceに $max_hpが真であれば、($price*0.03/(船のHP/$max_hp))を格納し、偽ならば0を格納する。</font><br />
if ($ship[$i][1] > 500) { $down = $ship[$i][1] - 20 }<br />
elsif ($ship[$i][1] > 100) { $down = $ship[$i][1] - 10 }<br />
else { $down = $ship[$i][1] }<font color="#339966"><br />
修理後の積載減少の処理</font><br />
$checked = !$f ? ' checked' : '';<br />
$f = 1;<br />
print qq|<input type=radio name=goods value="$i"$checked>|;<br />
print qq|$ship[$i][4]:$price G<br>\n|;<br />
print qq|[積載:$ship[$i][1] 耐久:$ship[$i][2]
速度:$ship[$i][3]]<br>|;<br />
print qq|修理後 [積載:$down 耐久:$max_hp]<br>|;<br />
}<br />
print qq|修理できる船はありません<input type=hidden name=mode value="play">\n| if
!$f;<br />
print qq|<input type=hidden name=yard value="3"><input type=hidden
name=mode value="rep_ship">\n| if $f;<br />
&id_ps;<br />
&form_table('down');<br />
}<br /><br />
# Sub Repair Ship #<br />
sub rep_ship {<br />
&get_me($F{'id'});<br />
if ($action ne $F{'reload'}) { &play; exit }<br />
&ship_data;<br />
&fleet;<br />
&load_data;<br />
my $YardFile = new Nfile("$datadir/$yarddat",'read');<br />
my @yardline = $YardFile->read;<br />
($max_hp,$price) = map{ (split(/<>/))[6,8] } grep
{$ship[$F{'goods'}][4] eq (split(/<>/,$_))[0]} @yardline;<br />
if (!$max_hp) { $max_hp = $ship[$F{'goods'}][1] * 0.2; $price =
$ship[$F{'goods'}][1] * 10000; }<br />
$price = $max_hp ? int($price * 0.03 / ($ship[$F{'goods'}][2] / $max_hp)) :
0;<br />
if ( $money < $price ) { &play("資金が足りません"); exit }<br />
if ($ship[$F{'goods'}][1] > 500) { $down = 20 }<br />
elsif ($ship[$F{'goods'}][1] > 100) { $down = 10 }<br />
if ( ($total - $total_load - $food - $sailor - $down) < 0 ) {<br />
&play("残積荷が足りません");<br />
return<br />
}<br />
$action = '';<br />
$ship[$F{'goods'}][1] = $ship[$F{'goods'}][1] - $down;<br />
splice(@ship_ind , $F{'goods'} ,1
,"$ship[$F{'goods'}][0],$ship[$F{'goods'}][1],$max_hp,$ship[$F{'goods'}][3],$ship[$F{'goods'}][4]");<br />
$money -= $price;<br />
&msg("$ship[$F{'goods'}][4]を修理しました");<br />
&add_record("$ship[$F{'goods'}][4]を $priceで 修理");<br />
&play;<br />
}<font color="#339966"><br />
修理処理</font><br />
1;</p>