どんなに素晴らしい@パの改造者さんも、最初は簡単な物から始めています。
此処では簡単な改造なのに、実際設置すると凄く手が込んでいるように見える改造方法を一つだけご紹介しましょう。
もちろんこの改造はほんの一例ですから、実際にはもっと手を込ませる事も可能です。
実際に簡単な改造を施してから難しい改造に取り掛かる事で、
モチベーションの維持とこれからの改造への目標にもなります。
そのため、簡単な改造から手を付けるのをオススメ致します。
また、改造を施す際には少し弄っては保存して、公開しては失敗してを繰り返す事になります。
試しにアップロードして失敗した時等は以下のサイトで、何処が間違えているか等を見直すと良いかもしれません。
500エラーや黒画面になったら、それはエラーです。更新しても直らない場合は速やかに修正しましょう。
Perl文法&シフトJISチェッカ
ボス戦前に、ボスが話しかけてくる一方的なお喋り
改造するプログラム:_npc_action.cgi
改造箇所:サブルーチンのadd_bossの所。メモ帳ならctrl+Fで検索を開いて、add_bossで検索してみましょう。
sub add_boss {
for my $no (0 .. $#bosses) {
my $name = '@'.$bosses[$no]{name};
for my $k (@battle_datas) {
$ms{$name}{$k} = defined $bosses[$no]{$k} ? $bosses[$no]{$k} : 0;
}
# 初期データセット(読み込んだデータにすでに値がある場合はそっちを優先)
$ms{$name}{hit} = 95 unless $ms{$name}{hit};
$ms{$name}{ten} = 1 unless $ms{$name}{ten};
for my $k (qw/hp mp at df ag/) {
$ms{$name}{$k} = int($ms{$name}{$k} * (1 + (@partys - 2) * 0.1) );
$ms{$name}{'m'.$k} = $ms{$name}{$k} unless $ms{$name}{'m'.$k};
}
$ms{$name}{name} = $name;
$ms{$name}{color} = $npc_color;
$ms{$name}{tmp} ||= '';
$ms{$name}{state} ||= '';
$ms{$name}{weather} ||= '';
$ms{$name}{get_exp} *= 2;
$ms{$name}{get_money} *= 2;
$npc_com .= "$name,";
push @members, $name;
}
chop $npc_com;
$npc_com .= "があらわれた!";
}
これがそのadd_bossの中身です。
これに、
if ($stage == 0 && $m{lib} eq 'vs_monster') {
$npc_com .= "<BR>クラウス『ようこそ初心者修練所へ…貴方が本当にテイマーに相応しいか、私が試して差し上げましょう。』";
}
を加えるだけで、本来の表記とは別にステージ0(デフォルトならプニプニ平原)で話しかけてくるようになります。
変更後はこんな感じ。
if ($stage == 0 && $m{lib} eq 'vs_monster')
の$stage == 0の数字を変えてやることで、対応したステージで喋るように変化します。
sub add_boss {
for my $no (0 .. $#bosses) {
my $name = '@'.$bosses[$no]{name};
for my $k (@battle_datas) {
$ms{$name}{$k} = defined $bosses[$no]{$k} ? $bosses[$no]{$k} : 0;
}
# 初期データセット(読み込んだデータにすでに値がある場合はそっちを優先)
$ms{$name}{hit} = 95 unless $ms{$name}{hit};
$ms{$name}{ten} = 1 unless $ms{$name}{ten};
for my $k (qw/hp mp at df ag/) {
$ms{$name}{$k} = int($ms{$name}{$k} * (1 + (@partys - 2) * 0.1) );
$ms{$name}{'m'.$k} = $ms{$name}{$k} unless $ms{$name}{'m'.$k};
}
$ms{$name}{name} = $name;
$ms{$name}{color} = $npc_color;
$ms{$name}{tmp} ||= '';
$ms{$name}{state} ||= '';
$ms{$name}{weather} ||= '';
$ms{$name}{get_exp} *= 2;
$ms{$name}{get_money} *= 2;
$npc_com .= "$name,";
push @members, $name;
}
chop $npc_com;
$npc_com .= "があらわれた!";
if ($stage == 0 && $m{lib} eq 'vs_monster') {
$npc_com .= "<BR>クラウス『ようこそ初心者修練所へ…貴方が本当にテイマーに相応しいか、私が試して差し上げましょう。』";
}
}
もちろんこのメッセージではボスとキャラクターが一致しないのでおかしく見えるでしょう。
プニプニ平原をそのままにするなら、こんなのは如何?
$npc_com .= "<BR>クラウス『ようこそ初心者修練所へ…貴方が本当にテイマーに相応しいか、私が試して差し上げましょう。』";
↓ ↓ ↓
$npc_com .= "<BR>ビッグスライム『ぷにぷにーなかまたちをいじめたなーしょうぶだー』";
少しだけ可愛く見えるでしょう?
最終更新:2009年08月02日 23:08