トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

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(/&lt;&gt;/,$line);
	if ($tw eq $pbtw &amp;&amp; $area eq $pbaa &amp;&amp; $pbsp =~ /Pb/ &amp;&amp; ($pbsp =~ /Bf/ &amp;&amp; $sp !~ /Pb/ || $pbsp =~ /Bm/ &amp;&amp; $sp !~ /Tf/)) {
		$pb_sell = $pbid; last;
}	}

#-END of ADD- SION0018v1.02-1-1(1)/3

if (@items) {

</TEXTAREA><BR>
※ split(/&lt;&gt;/,$line); 部分は書き換えてご利用下さい。<BR><BR>
<b>print qq|&lt;/SELECT&gt;&lt;HR&gt;\n|;</b><BR>
<TEXTAREA name="textarea2" cols="100" rows="5" wrap="OFF">
#-EDIT- print qq|&lt;/SELECT&gt;&lt;HR&gt;\n|;

	print qq|&lt;OPTION value=&quot;sell_after_pb&quot;&gt;$pbnm に売る\n| if ($pb_sell);
	print qq|&lt;/SELECT&gt;&lt;HR&gt;\n|;
	&amp;input('hidden','pd',&quot;$pb_sell&quot;,'','');

#-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|&lt;/SELECT&gt;&lt;HR&gt;\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(/&lt;&gt;/,$line);
		if ($tw eq $pbtw &amp;&amp; $area eq $pbaa &amp;&amp; $pbsp =~ /Pb/ &amp;&amp; ($pbsp =~ /Bf/ &amp;&amp; $sp !~ /Pb/ || $pbsp =~ /Bm/ &amp;&amp; $sp !~ /Tf/)) {
			print qq|&lt;OPTION value=&quot;sell_after_pb$pbid&quot;&gt;$pbnm に売る\n|;
		}
	}

#-END of ADD- SION0018v1.02-1-1/3
print qq|&lt;/SELECT&gt;&lt;HR&gt;\n|;
</TEXTAREA><br>
<FONT color="#FF0000">※ split(/&lt;&gt;/,$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 = &amp;get_user(&quot;$Fm{'id'}&quot;);
if ($Fm{'mode'} =~ /pb/) { push (@editor,&quot;質屋に売る Ver 1.00 &lt;A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'&gt;by SION & SOSWiki&lt;/A&gt;&quot;); }
else { return if $fg ne 'SB'; }
@prclines = &amp;get_partner(&quot;$Fm{'pd'}&quot;);
&amp;splititem('iI');
$space = $pxi - $#pitems - 1;
foreach (0 .. $#items) {
	($item,$sts,$price) = split(/△/,$items[$_]);
	$returnbag = 1;
	$pc = int(substr($sts,0,4));
	if ($Fm{&quot;$_&quot;} &amp;&amp; $sts !~ /Q[swat]/) {
		if    ($sts =~ /Wi/)                        { push(@msg,&quot;$itemは売れません&quot;); }
		elsif ($sts =~ /(V[a-z])/ &amp;&amp; $psp =~ /$1/)  { push(@msg,&quot;$itemは売れません&quot;); }
		elsif ($pmn &lt; $pc)                          { push(@msg,&quot;$pnmは$itemを買うお金がありません&quot;); }
		elsif (!$space &amp;&amp; $sts !~ /Ti/ &amp;&amp; !$def_ad) { push(@msg,&quot;$pnmは$itemを買う気がないようです&quot;); }
		else {
			$pmn -= $pc; $mn += $pc;
			push (@msg,&quot;$itemを売りました&quot;);
			$words .= &quot;$itemを$pc\Gで買い取りました。&quot;;
			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,&quot;$item△$sts△$pc&quot;); }
			else { push(@pitems,&quot;$item△$sts&quot;) }
			$returnbag = 0; $space--;
			shift(@pitems) if $def_ad &amp;&amp; $#pitems &gt;= $pxi;
	}	}
	if ($returnbag) { push(@newitems,$items[$_]); }
}
@items = @newitems; &amp;joinitem('iI');
$fg = ''; &amp;userout; &amp;add_record(&quot;[$id] $nmから $words&quot;);

}
</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 = &amp;get_user(&quot;$Fm{'id'}&quot;);
if ($Fm{'mode'} =~ /pb/) {
	push (@editor,&quot;質屋に売る Ver 1.00 &lt;A href='http://www.salion2.halfmoon.jp/soswiki/wiki.cgi' target='_blank'&gt;by SION & SOSWiki&lt;/A&gt;&quot;);
	$Fm{'pd'} = substr($Fm{'mode'},13);
} else { return if $fg ne 'SB'; }
@prclines = &amp;get_partner(&quot;$Fm{'pd'}&quot;);
&amp;splititem('iI');
$space = $pxi - $#pitems - 1;
foreach (0 .. $#items) {
	($item,$sts,$price) = split(/△/,$items[$_]);
	$returnbag = 1;
	$pc = int(substr($sts,0,4));
	if ($Fm{&quot;$_&quot;} &amp;&amp; $sts !~ /Q[swat]/) {
		if    ($sts =~ /Wi/)                        { push (@msg,&quot;$itemは売れません&quot;); }
		elsif ($sts =~ /(V[a-z])/ &amp;&amp; $psp =~ /$1/)  { push (@msg,&quot;$itemは売れません&quot;); }
		elsif ($pmn &lt; $pc)                          { push (@msg,&quot;$pnmは$itemを買うお金がありません&quot;); }
		elsif (!$space &amp;&amp; $sts !~ /Ti/ &amp;&amp; !$def_ad) { push (@msg,&quot;$pnmは$itemを買う気がないようです&quot;); }
		else {
			$pmn -= $pc; $mn += $pc;
			push (@msg,&quot;$itemを売りました&quot;);
			$words .= &quot;$itemを$pc\Gで買い取りました。&quot;;
			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,&quot;$item△$sts△$pc&quot;); }
			else { push(@pitems,&quot;$item△$sts&quot;) }
			$returnbag = 0; $space--;
			shift(@pitems) if $def_ad &amp;&amp; $#pitems &gt;= $pxi;
	}	}
	if ($returnbag) { push(@newitems,$items[$_]); }
}
@items = @newitems; &amp;joinitem('iI');
$fg = ''; &amp;userout; &amp;add_record(&quot;[$id] $nmから $words&quot;);

}
</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') { &amp;play_form }
#-ADD-
elsif ($Fm{'mode'} =~ /sell_after_pb/) { &amp;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">

&amp;use_after   if $Fm{'mode'} eq 'use_after';

#-ADD-

if ($Fm{'mode'} =~ /sell_after_pb/)   { &amp;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; &amp;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; &amp;sell_after }

#-END of ADD- SION0018v1.02-3-3/3
</TEXTAREA>