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>