- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!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>