SION0026
Parts1
<TABLE width="778" border="0" cellspacing="0" cellpadding="5">
<TR bgcolor="#CCCCFF"> <TD class="text"> <HR> <CENTER> <FONT color="#6666FF">この改造によって追加される機能</FONT> </CENTER> <HR> <P>○NPC管理の手間を軽減する改造(自動適用)</P> <P>● 最初に設定した一時使用アイテムが消える事無く永久に使用出来ます。<BR> ● 死亡時に自動的に蘇生・体力回復します。(死亡時以外は通常通りです) <BR> ● ステラツィオの交換をされた場合、自動的にトレード設定をします。<BR> ● 装備品が失われなくなります。 <BR> ● 勝敗によってレベルを自動調整します。(レベルシステムが導入されている場合/自動レベルアップには非対応) <BR> ● NPC質屋(Pb)の資金が不足(5000G未満)した時、資金を補充(+10000G)します。 </P> <P>○NPC追加機能(追加フラグを設定した場合に限り適用)</P> <P> ● 特殊スキル「Is」を追加した場合、ステラツィオをトレードされても、トレード前のステラツィオが失われません。<BR> これによって、特定のステラツィオ屋さん(任意のステラツィオを特定のステラツィオと交換する)が実装出来ます。<BR> ● 特殊スキル「Bg」を追加した場合、商品を販売したり戦闘で奪われても、鞄の中身が変わりません。<BR> これによって、NPCのインゴット屋や武器屋なども実装出来ます。 <BR> ● 特殊フラグ「Cp」をアイテムに追加した物は、盗まれたり販売したりした時に失われなくなります。</P> <HR> </TD> </TR>
</TABLE>
Parts2
<BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Get Partner # Line:2164</FONT></B><BR>
<B><FONT color="#0000FF">perl/subsos.cgi # Sub Get Partner # Line:83</FONT></B><BR>
<b> shift(@_); </b><br>
<TEXTAREA name="textfield" cols="100" rows="5" wrap="OFF">
#-ADD-
$ngbp = $pbp; $ngbn = $pbn; $ngis = $pis; $ngbg = $pbg;
#-END of ADD- SION0026v1.00-1-1/4
shift(@_);
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Partner Out # Line:2179</FONT></B><BR>
<B><FONT color="#0000FF">perl/subsos.cgi # Sub Partner Out # Line:100</FONT></B><BR>
<b>sub partnerout { </b><Br>
<TEXTAREA name="textfield" cols="100" rows="5" wrap="OFF">
sub partnerout {
#-ADD-
if ($psp =~ /Ng/) {
$pbp = $ngbp; $pbn = $ngbn; if ($result eq '1' && $lv < $plv) { $plv--; } elsif ($result eq '-1' && $lv >= $plv) { $plv++; } $pis = lc($pis); if ($psp =~ /Is/) { $pis = $ngis; } if ($psp =~ /Bg/) { $pbg = $ngbg; } $pexp = 0; if ($pav eq 'dead') { $pav = 'alive'; $php = $pxp; } if ($psp =~ /Pb/ && $pmn < 5000) { $pmn += 10000; }
}
#-END of ADD- SION0026v1.00-1-2/4
shift(@_);
</TEXTAREA><BR><BR><BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Buy After # Line:1206</FONT></B><BR>
<B><FONT color="#0000FF">perl/bisiness.cgi # Sub Buy After # Line:152</FONT></B> <BR>
<b>push(@items,"$item△$sts"); $space--; $returnbag = 0;</b><br>
<TEXTAREA name="textfield" cols="100" rows="2" wrap="OFF">
#-EDIT- push(@items,"$item△$sts"); $space--; $returnbag = 0;
push(@items,"$item△$sts"); $space--; if ($psp !~ /Ng/ || $sts !~ /Cp/) { $returnbag = 0; }
#-END of EDIT- SION0026v1.00-1-3/4
</TEXTAREA>
Parts3
<BR>
NPCのスキルに、NPCである事を示すフラグ「Ng」を追加します。<BR>
ステラツィオの状態を変えたくないキャラには、さらに「Is」を追加します。<BR>
鞄の状態を変えたくないキャラには、さらに「Bg」を追加します。<BR>
失わないアイテム(販売したり盗まれたりした時には、同じアイテムが増殖する)には、アイテムフラグ「Cp」を追加します。<BR>
※いずれのフラグも、NPC「Ng」のスキルを持つキャラに限って有効です。<BR>
Parts4
<BR>
<B><FONT color="#0000FF">sos2.cgi # Sub Fight # Line:1653-1658</FONT></B> <BR>
<b>if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) } <BR>
splice(@pitems,$Sidice,1); push(@items,"$item△$sts"); <BR>
$psp =~ s/Qb//g if $sts =~ /Bw/; <BR>
$psp =~ s/Qk//g if $sts =~ /Kt/; <BR>
$psp =~ s/Qx//g if $sts =~ /Ax/; <BR>
$psp =~ s/Qm//g if $sts =~ /Sw/; </b><br>
<TEXTAREA name="textarea3" cols="100" rows="5" wrap="OFF">
#-EDIT- if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) }
# splice(@pitems,$Sidice,1); push(@items,"$item△$sts");
# $psp =~ s/Qb//g if $sts =~ /Bw/;
# $psp =~ s/Qk//g if $sts =~ /Kt/;
# $psp =~ s/Qx//g if $sts =~ /Ax/;
# $psp =~ s/Qm//g if $sts =~ /Sw/;
if ($psp =~ /Ng/ && $sts =~ /(Q[swat]|Cp)/) { $sts =~ s/Cp//g; push(@items,"$item△$sts"); } else { if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) } splice(@pitems,$Sidice,1); push(@items,"$item△$sts"); $psp =~ s/Qb//g if $sts =~ /Bw/; $psp =~ s/Qk//g if $sts =~ /Kt/; $psp =~ s/Qx//g if $sts =~ /Ax/; $psp =~ s/Qm//g if $sts =~ /Sw/; }
#-END of EDIT- SION0026v1.00-3-4/4
</TEXTAREA>
Parts5
<BR>
<B><FONT color="#0000FF">perl/fight.cgi # Sub Fight # Line:159-168</FONT></B> <BR>
<b>if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) } <BR>
splice(@pitems,$Sidice,1); push(@items,"$item△$sts"); <BR>
$psp =~ s/Qb//g if $sts =~ /Bw/; <BR>
$psp =~ s/Qk//g if $sts =~ /Kt/; <BR>
$psp =~ s/Qx//g if $sts =~ /Ax/; <BR>
$psp =~ s/Qm//g if $sts =~ /Sw/; <BR>
$psp =~ s/Of// if $sts =~ /Of/; # 釣り竿の盗み処理 <BR>
#属性<BR>
foreach (@element_ak) { if($sts =~ /$_/) { $psp =~ s/$_// } }<BR>
foreach (@element_df) { if($sts =~ /$_/) { $psp =~ s/$_// } } </b><Br>
<TEXTAREA name="textarea2" cols="100" rows="5" wrap="OFF">
#-EDIT- if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) }
# splice(@pitems,$Sidice,1); push(@items,"$item△$sts");
# $psp =~ s/Qb//g if $sts =~ /Bw/;
# $psp =~ s/Qk//g if $sts =~ /Kt/;
# $psp =~ s/Qx//g if $sts =~ /Ax/;
# $psp =~ s/Qm//g if $sts =~ /Sw/;
# $psp =~ s/Of// if $sts =~ /Of/; # 釣り竿の盗み処理
##属性
# foreach (@element_ak) { if($sts =~ /$_/) { $psp =~ s/$_// } }
# foreach (@element_df) { if($sts =~ /$_/) { $psp =~ s/$_// } }
if ($psp =~ /Ng/ && $sts =~ /(Q[swat]|Cp)/) { $sts =~ s/Cp//g; push(@items,"$item△$sts"); } else { if ($sts =~ s/Q[swat]//g) { $pab -= substr($sts,4,2); $pdb -= substr($sts,6,2) } splice(@pitems,$Sidice,1); push(@items,"$item△$sts"); $psp =~ s/Qb//g if $sts =~ /Bw/; $psp =~ s/Qk//g if $sts =~ /Kt/; $psp =~ s/Qx//g if $sts =~ /Ax/; $psp =~ s/Qm//g if $sts =~ /Sw/; $psp =~ s/Of// if $sts =~ /Of/; # 釣り竿の盗み処理
#属性
foreach (@element_ak) { if($sts =~ /$_/) { $psp =~ s/$_// } } foreach (@element_df) { if($sts =~ /$_/) { $psp =~ s/$_// } } }
#-END of EDIT- SION0026v1.00-3-4/4
</TEXTAREA>