SION0018
Parts1
<TABLE width="778" border="0" cellspacing="0" cellpadding="5">
<TR bgcolor="#CCCCFF"> <TD class="text"> <HR> <FONT face="MS ゴシック, Osaka−等幅" class="text"> </FONT> この改造は、「質屋には無条件で会える」事を前提としています。<BR> この改造の利用により、(質屋キャラの)保存方法に関わらず、質屋と同じエリアに居れば100%アイテムを売りつける事が可能となります。 <HR> </TD> </TR>
</TABLE>
Parts2
<BR>
<FONT color="#0000FF"><B>sos2.cgi # Sub Player's Data # Line580以降 (本家original) </b></FONT><BR>
<FONT color="#FF0000"><B><FONT color="#0000FF">perl/players.cgi # Sub Player's Data # Line52以降 (dollEx)</B></FONT><BR>
※ 改造法 タイプA ※ 1エリアに質屋が1人前提(軽量版)</B></FONT><BR>
<b>if (@items) { </b><BR>
<TEXTAREA name="textarea2" cols="100" rows="5" wrap="OFF">
#-ADD-
foreach $line (@lstlines) { ($pbid,$pbnm,$pbps,$pbjb,$pbig,$pbsp,$pbbp,$pbbn,$pbak,$pbdd,$pbhp,$pbxp, $pbab,$pbdb,$pbav,$pbwn,$pblz,$pbdt,$pbmn,$pbbg,$pbxi,$pbtm,$pblf,$pbfe, $pbcm,$pbis,$pbht,$pbfg,$pbrw,$pbkl) = split(/<>/,$line); if ($tw eq $pbtw && $area eq $pbaa && $pbsp =~ /Pb/ && ($pbsp =~ /Bf/ && $sp !~ /Pb/ || $pbsp =~ /Bm/ && $sp !~ /Tf/)) { $pb_sell = $pbid; last; } }
#-END of ADD- SION0018v1.02-1-1(1)/3
if (@items) {
</TEXTAREA><BR>
※ split(/<>/,$line); 部分は書き換えてご利用下さい。<BR><BR>
<b>print qq|</SELECT><HR>\n|;</b><BR>
<TEXTAREA name="textarea2" cols="100" rows="5" wrap="OFF">
#-EDIT- print qq|</SELECT><HR>\n|;
print qq|<OPTION value="sell_after_pb">$pbnm に売る\n| if ($pb_sell); print qq|</SELECT><HR>\n|; &input('hidden','pd',"$pb_sell",'','');
#-END of EDIT- SION0018v1.02-1-1(2)/3
</TEXTAREA><BR><BR><BR>
<FONT color="#FF0000"><B>※ 改造法 タイプB ※ 1エリアに質屋が複数いる場合(重量版)</B></FONT><BR>
<b>print qq|</SELECT><HR>\n|;</b><BR>
<TEXTAREA name="textarea" cols="100" rows="5" wrap="OFF">
#-ADD-
foreach $line (@lstlines) { ($pbid,$pbnm,$pbps,$pbjb,$pbig,$pbsp,$pbbp,$pbbn,$pbak,$pbdd,$pbhp,$pbxp, $pbab,$pbdb,$pbav,$pbwn,$pblz,$pbdt,$pbmn,$pbbg,$pbxi,$pbtm,$pblf,$pbfe, $pbcm,$pbis,$pbht,$pbfg,$pbrw,$pbkl) = split(/<>/,$line); if ($tw eq $pbtw && $area eq $pbaa && $pbsp =~ /Pb/ && ($pbsp =~ /Bf/ && $sp !~ /Pb/ || $pbsp =~ /Bm/ && $sp !~ /Tf/)) { print qq|<OPTION value="sell_after_pb$pbid">$pbnm に売る\n|; } }
#-END of ADD- SION0018v1.02-1-1/3
print qq|</SELECT><HR>\n|;
</TEXTAREA><br>
<FONT color="#FF0000">※ split(/<>/,$line); 部分は書き換えてご利用下さい。 </FONT>
Parts3
<BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Sell After # Line1125-1159 (本家original)</FONT></B><BR>
<B><FONT color="#0000FF">perl/bisiness.cgi # Sub Sell After # Line72-105 (dollEx)</FONT></B><BR>
sub sell_after のルーチンを置き換える<BR>
<B><FONT color="#FF0000"><B>※ 改造法 タイプA ※ 1エリアに質屋が1人前提(軽量版)</B></FONT><BR>
<TEXTAREA name="textarea3" cols="100" rows="5" wrap="OFF">
#=《 Sell After 》===========#
sub sell_after {
if (!$post) { return } @rcdlines = &get_user("$Fm{'id'}"); if ($Fm{'mode'} =~ /pb/) { push (@editor,"質屋に売る Ver 1.00 <A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'>by SION & SOSWiki</A>"); } else { return if $fg ne 'SB'; } @prclines = &get_partner("$Fm{'pd'}"); &splititem('iI'); $space = $pxi - $#pitems - 1; foreach (0 .. $#items) { ($item,$sts,$price) = split(/△/,$items[$_]); $returnbag = 1; $pc = int(substr($sts,0,4)); if ($Fm{"$_"} && $sts !~ /Q[swat]/) { if ($sts =~ /Wi/) { push(@msg,"$itemは売れません"); } elsif ($sts =~ /(V[a-z])/ && $psp =~ /$1/) { push(@msg,"$itemは売れません"); } elsif ($pmn < $pc) { push(@msg,"$pnmは$itemを買うお金がありません"); } elsif (!$space && $sts !~ /Ti/ && !$def_ad) { push(@msg,"$pnmは$itemを買う気がないようです"); } else { $pmn -= $pc; $mn += $pc; push (@msg,"$itemを売りました"); $words .= "$itemを$pc\Gで買い取りました。"; if ($sts =~ /Ti/) { $space++ } elsif ($def_ap || $def_as) { $pc += $def_as if $def_as; $pc += int($def_ap * $pc / 100) if $def_ap; push(@pitems,"$item△$sts△$pc"); } else { push(@pitems,"$item△$sts") } $returnbag = 0; $space--; shift(@pitems) if $def_ad && $#pitems >= $pxi; } } if ($returnbag) { push(@newitems,$items[$_]); } } @items = @newitems; &joinitem('iI'); $fg = ''; &userout; &add_record("[$id] $nmから $words");
}
</TEXTAREA><br>
※ dollEx版では、Ver1.10にするか、if (!$post).. の部分を削除して下さい。 <br><BR><BR>
<FONT color="#FF0000"><B>※ 改造法 タイプB ※ 1エリアに質屋が複数いる場合(重量版)</B></FONT><BR>
<TEXTAREA name="textarea3" cols="100" rows="5" wrap="OFF">
#=《 Sell After 》===========#
sub sell_after {
if (!$post) { return } @rcdlines = &get_user("$Fm{'id'}"); if ($Fm{'mode'} =~ /pb/) { push (@editor,"質屋に売る Ver 1.00 <A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'>by SION & SOSWiki</A>"); $Fm{'pd'} = substr($Fm{'mode'},13); } else { return if $fg ne 'SB'; } @prclines = &get_partner("$Fm{'pd'}"); &splititem('iI'); $space = $pxi - $#pitems - 1; foreach (0 .. $#items) { ($item,$sts,$price) = split(/△/,$items[$_]); $returnbag = 1; $pc = int(substr($sts,0,4)); if ($Fm{"$_"} && $sts !~ /Q[swat]/) { if ($sts =~ /Wi/) { push (@msg,"$itemは売れません"); } elsif ($sts =~ /(V[a-z])/ && $psp =~ /$1/) { push (@msg,"$itemは売れません"); } elsif ($pmn < $pc) { push (@msg,"$pnmは$itemを買うお金がありません"); } elsif (!$space && $sts !~ /Ti/ && !$def_ad) { push (@msg,"$pnmは$itemを買う気がないようです"); } else { $pmn -= $pc; $mn += $pc; push (@msg,"$itemを売りました"); $words .= "$itemを$pc\Gで買い取りました。"; if ($sts =~ /Ti/) { $space++ } elsif ($def_ap || $def_as) { $pc += $def_as if $def_as; $pc += int($def_ap * $pc / 100) if $def_ap; push(@pitems,"$item△$sts△$pc"); } else { push(@pitems,"$item△$sts") } $returnbag = 0; $space--; shift(@pitems) if $def_ad && $#pitems >= $pxi; } } if ($returnbag) { push(@newitems,$items[$_]); } } @items = @newitems; &joinitem('iI'); $fg = ''; &userout; &add_record("[$id] $nmから $words");
}
</TEXTAREA><BR>
※ dollEx版では、Ver1.10にするか、if (!$post).. の部分を削除して下さい。
Parts4
<BR>
<B><FONT color="#0000FF">sos2.cgi # Main Program # Line229</FONT></B><BR>
<b>if ($Fm{'mode'} eq 'find_item') { &play_form } </B><BR>
<TEXTAREA name="textarea6" cols="100" rows="4" wrap="OFF">
if ($Fm{'mode'} eq 'find_item') { &play_form }
#-ADD-
elsif ($Fm{'mode'} =~ /sell_after_pb/) { &play_form }
#-END of ADD- SION0018v1.02-3-2/3
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Play Form # Line302</FONT></B><BR>
<b>&use_after if $Fm{'mode'} eq 'use_after'; </b><BR>
<TEXTAREA name="textarea4" cols="100" rows="4" wrap="OFF">
&use_after if $Fm{'mode'} eq 'use_after';
#-ADD-
if ($Fm{'mode'} =~ /sell_after_pb/) { &sell_after }
#-END of ADD- SION0018v1.02-3-3/3
</TEXTAREA>
Parts5
<BR>
<B><FONT color="#0000FF">sos2.cgi # Main Program # Line36</FONT></B><BR>
<b>elsif ($Fm{'mode'} eq 'find_item') { require $formpl; &play_form } </B><BR>
<TEXTAREA name="textarea7" cols="100" rows="4" wrap="OFF">
elsif ($Fm{'mode'} eq 'find_item') { require $formpl; &play_form }
#-ADD-
elsif ($Fm{'mode'} =~ /sell_after_pb/) { require $formpl; &play_form }
#-END of ADD- SION0018v1.02-3-3/2
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">perl/form.cgi # Sub Play Form # Line28</FONT></B><BR>
<b>elsif ( $Fm{'mode'} eq 'use_after' ) { require $usepl; &use_after } </b><BR>
<TEXTAREA name="textarea7" cols="100" rows="4" wrap="OFF">
elsif ( $Fm{'mode'} eq 'use_after' ) { require $usepl; &use_after }
#-ADD-
elsif ($Fm{'mode'} =~ /sell_after_pb/) { require $bisinesspl; &sell_after }
#-END of ADD- SION0018v1.02-3-3/3
</TEXTAREA>