フレーム表示

ここでは、Script of SagaII専用のオリジナル改造プログラムを載せていきます。
エラーが出る可能性があるので、必ずバックアップを取って使用して下さい。
バグ報告はサポート掲示板で。



1、ステータスゲージの表示

# Sub Player's Data #の

print qq|攻撃力:$ak|; print qq| + $ab| if $ab; print qq|<br>\n|;
print qq|防御力:$dd|; print qq| + $db| if $db; print qq|<br>\n|;
を、
if($ak > 0 && $ab > 0) {
print qq|攻撃力:<IMG src=\"sosst.png\" height=\"8\" width=\"$ak\"><IMG src=\"soseq.png\" height=\"8\" width=\"$ab\"> $ak|; print qq| + $ab| if $ab; print qq|<br>\n|;}
elsif($ak > 0 && $ab <= 0) {
print qq|攻撃力:<IMG src=\"sosst.png\" height=\"8\" width=\"$ak\"> $ak|; print qq| + $ab| if $ab; print qq|<br>\n|;}
elsif($ak <= 0 && $ab > 0) {
print qq|攻撃力:<IMG src=\"soseq.png\" height=\"8\" width=\"$ab\"> $ak|; print qq| + $ab| if $ab; print qq|<br>\n|;}
elsif($ak <= 0) {
print qq|攻撃力: $ak|; print qq| + $ab| if $ab; print qq|<br>\n|;}
if($dd > 0 && $db > 0) {
print qq|防御力:<IMG src=\"sosdf.png\" height=\"8\" width=\"$dd\"><IMG src=\"soseq.png\" height=\"8\" width=\"$db\"> $dd|; print qq| + $db| if $db; print qq|<br>\n|;}
elsif($dd > 0 && $db <= 0) {
print qq|防御力:<IMG src=\"sosdf.png\" height=\"8\" width=\"$dd\"> $dd|; print qq| + $db| if $db; print qq|<br>\n|;}
elsif($dd <= 0 && $db > 0) {
print qq|防御力:<IMG src=\"soseq.png\" height=\"8\" width=\"$db\"> $dd|; print qq| + $db| if $db; print qq|<br>\n|;}
else {print qq|防御力: $dd|; print qq| + $db| if $db; print qq|<br>\n|;}
に変え、
# Sub Partner's Data #の
print qq|攻撃力:$pak|; print qq| + $pab| if $pab; print qq|<br>\n|;
print qq|防御力:$pdd|; print qq| + $pdb| if $pdb; print qq|<br>\n|;
を、
if($pak > 0 && $pab > 0) {
print qq|攻撃力:<IMG src=\"sosst.png\" height=\"8\" width=\"$pak\"><IMG src=\"soseq.png\" height=\"8\" width=\"$pab\"> $pak|; print qq| + $pab| if $pab; print qq|<br>\n|;}
elsif($pak > 0 && $pab <= 0) {
print qq|攻撃力:<IMG src=\"sosst.png\" height=\"8\" width=\"$pak\"> $pak|; print qq| + $pab| if $pab; print qq|<br>\n|;}
elsif($pak <= 0 && $pab > 0) {
print qq|攻撃力:<IMG src=\"soseq.png\" height=\"8\" width=\"$pab\"> $pak|; print qq| + $pab| if $pab; print qq|<br>\n|;}
else {
print qq|攻撃力: $pak|; print qq| + $pab| if $pab; print qq|<br>\n|;}
if($pdd > 0 && $pdb > 0) {
print qq|防御力:<IMG src=\"sosdf.png\" height=\"8\" width=\"$pdd\"><IMG src=\"soseq.png\" height=\"8\" width=\"$pdb\"> $pdd|; print qq| + $pdb| if $pdb; print qq|<br>\n|;}
elsif($pdd > 0 && $pdb <= 0) {
print qq|防御力:<IMG src=\"sosdf.png\" height=\"8\" width=\"$pdd\"> $pdd|; print qq| + $pdb| if $pdb; print qq|<br>\n|;}
elsif($pdd <= 0 && $pdb > 0) {
print qq|防御力:<IMG src=\"soseq.png\" height=\"8\" width=\"$pdb\"> $pdd|; print qq| + $pdb| if $pdb; print qq|<br>\n|;}
else {
print qq|防御力: $pdd|; print qq| + $pdb| if $pdb; print qq|<br>\n|;}
に変えます。
の部分はゲージ画像のパスで、の部分は画像縦のサイズです。
ゲージ画像については、自分で用意するか、うちのSoSIIのゲージ画像をそのまま持ち帰って(ぉ)、sos2.cgiと同じ場所に置いて下さい。



2、ステータス画面のレアアイテムの色を変える

# Sub Player's Data #と# Sub Partner's Data #両方の
($item,$sts,$price) = split(/△/,$item);
if ($sts =~ /Q[swat]/) { print qq|【$item】<br>\n| }
elsif ($price > 0) { print qq|$item⇒$price\G<br>\n| }
else { print qq|$item<br>\n| }
を、
($item,$sts,$price) = split(/△/,$item);
if ($price > 0 && $sts =~ /Li/) { print qq|<font color=\"$stliclr\">$item</font>⇒$price\G<br>\n| }
elsif ($sts =~ /Li/ && $sts =~ /Q[swat]/) { print qq|【<font color=\"$stliclr\">$item</font>】<br>\n| }
elsif ($sts =~ /Li/) { print qq|<font color=\"$stliclr\">$item</font><br>\n| }
elsif ($sts =~ /Q[swat]/) { print qq|【$item】<br>\n| }
elsif ($price > 0) { print qq|$item⇒$price\G<br>\n| }
else { print qq|$item<br>\n| }
に変え、
変数設定に、
$stliclr = 'red'; # ステータス画面時のレアアイテムの色
を加えます。$stliclrで色を設定できます。



3、スキル「電光石火」

スキル「電光石火」は、設定した確率で、NPC用スキル「不死身」「鋼」を除く、
防御スキル(鉄壁、カウンター、悩殺など)を全て無視して、確実にダメージを与えるスキルです。

# Fight Sub #を以下のように書き変えます。
sub fight_sub {
$denkou = 0;
($Wn,$Wh,$Ws,$Ww,$Wb,$Wa,$Wv,$Wt,$Wm,$Ln,$Lh,$Ls,$Lb,$Lv,$Lt,$Lr,$Lm) = @_;
($Wd = $Wb) =~ tr/A-Za-z//d;
($Ld = $Lb) =~ tr/A-Za-z//d;
&fmsg('勝');
if ($Ls =~ /Im/) { &fmsg('不'); goto JUMP }
if (!$Dsdice && $Ws =~ /Ds/) { &fmsg('電'); $denkou++ }
if (!$Bedice && $Ls =~ /Be/ && !$denkou) { &fmsg('悩'); goto JUMP }
if (!$Chdice && $Ws =~ /Ch/ && $Ls !~ /Ac/) { &fmsg('殺'); $DIE = 1; goto JUMP }
if (!$Cndice && $Ws =~ /Cn/ && $Lr >= $def_rp && $Ls !~ /Ac/)
{ &fmsg('狩'); $DIE = 1; goto JUMP }
if (!$Afdice && $Ls =~ /Af/ && !$denkou) { &fmsg('鉄') } else { &fmsg('ダ'); $Lh -= $dmg }
if (!$Drdice && $Ws =~ /Dr/ && !$denkou) { &fmsg('吸'); $Wh += $dmg }
if (!$Lddice && $Ls =~ /Ld/ && !$denkou) { &fmsg('犬'); $Wh -= $dmg }
if (!$Mgdice && $Ws =~ /Mg/) { &fmsg('魔'); $Lh -= $Wa }
if (!$Dkdice && $Ws =~ /Dk/) { &fmsg('連'); $Lh -= $Ww }
if (!$Bkdice && $Ws =~ /Bk/) { $hWh = int($Wh/2); &fmsg('走'); $Lh -= $hWh }
if ($Wb =~ /Di/) {
if (!$Cmdice && $Ls =~ /Cm/ && !$denkou) { &fmsg('魅'); $Wh -= $Wd }
elsif ($Ls =~ /Aa/) { &fmsg('鋼') } else { &fmsg('追'); $Lh -= $Wd }
}
if ($Lb =~ /Lc/ && !$denkou) { &fmsg('守'); $Lh += $Ld }
if ($Wb =~ /Pz/) {
if ($Ls =~ /Np/) { &fmsg('解') }
else { &fmsg('毒'); $Lv = 'poison' }
}
if (!$Ctdice && $Ls =~ /Ct/ && !$denkou) { &fmsg('反'); $Wh = int(($Wh + 1)/2) }
if ($Lh <= 0) { &fmsg('死'); $DIE = 1 }
if ($Wh < 1) { $Wh = 1 }
JUMP:
if ($DIE) { $Lv = 'dead'; $Lt++; $Lh = 0 }
if ($DIE && !$Dtdice && $Ls =~ /Dt/)
{ &fmsg('道'); $Wv = 'dead'; $Wt++; $Wh = 0 }
if ($DIE && $Lr >= $def_rp) { &fmsg('褒'); $Wm = $Lr; $Lr = 0 }
return ($Lh,$Lv,$Lt,$Lr,$Wh,$Wv,$Wt,$Wm);
}
そして、
# Fight Message #の「%fmsg」「%frcd」両方に
'電',"$Wnの電光石火!$Lnは$Wnの行動を把握できない!",
を加え、
# Sub Fight #の下の方の
$Bedice = int(rand($Bedice)); $Lddice = int(rand($Lddice)); $Dtdice = int(rand($Dtdice));
$Chdice = int(rand($Chdice)); $Mgdice = int(rand($Mgdice)); $Bidice = int(rand($Bidice));
$Cndice = int(rand($Cndice)); $Dkdice = int(rand($Dkdice)); $Sidice = int(rand($Sidice));
$Afdice = int(rand($Afdice)); $Cmdice = int(rand($Cmdice)); $Bkdice = int(rand($Bkdice));
$Drdice = int(rand($Drdice)); $Ctdice = int(rand($Ctdice)); $Bldice = int(rand($Bldice));
のすぐ下に
$Dsdice = int(rand($Dsdice));
を加え、
変数設定に
$Dsdice = 6; # 電光石火の発動確率 1/x
をいれればOKです。
スキルは「Ds」です。



4、スキル「鮫肌」

スキル「鮫肌」は、負けた時に相手に少しだけダメージを与えるというスキルです。
スキル「カウンター」とは違い、与えるダメージが少ない代わりに確実に発動するという特徴があります。

# Fight Sub #の
if (!$Ctdice && $Ls =~ /Ct/) { &fmsg('反'); $Wh = int(($Wh + 1)/2) }
のすぐ下に
if ($Ls =~ /Sx/) { &fmsg('鮫'); $Wh = int(($Wh + 1)/1.4) }
を加え、
# Fight Message #の%fmsg、%frcd両方に
'鮫',"$Wnは$Lnの鮫肌で傷ついた!",
を加えて下さい。これだけです。
スキルは「Sx」です。



5、鑑定不可のランダム効果アイテム

このアイテムスキルは、使ってから効果のランダム処理が行われるという、恐ろしいスキルです。
鑑定は役立たず、無意味な結果が表示されます。

# Sub Use After #の
elsif ($sts =~ /Fd/) { &food }
elsif ($sts =~ /Fd/ || $sts =~ /Rf/) { &food }
に変え、
# Sub Food #の
} else {&umsg('摂'); $hp = &hpcheck($hp,$xp,$iak); $gn = 1 }
を、
} else {
        if($sts =~ /Rf/) {
                $iak = int(rand(5)); srand(); $pm = int(rand(10));
                if($pm<5){
                        $iak = $iak-($iak*2);
                }
        }
        &umsg('摂'); $hp = &hpcheck($hp,$xp,$iak); $gn = 1
}
に変えます。
の数字はプラスマイナスの値です。5にすると、効果は-5〜5となります。
アイテムスキルは「Rf」です。
このアイテムスキルは効果量を必要としないので、値段以外は00にしてOKです。

例:新・恐怖の秘薬<>00030000Rf<>8<>


ぽけえた (POKEMON ETERNAL) (C) 2001- Y.W All rights reserved.
ポケットモンスター (ポケモン) (C) 1995- Nintendo All rights reserved.