|
●SoSキットには以下のファイルが含まれています。
soskit.pl ・・・・キットのプログラムが格納されています。パーミッションは644(通常変更不要)
cmp.dat ・・・・合成アイテムリストを保存するデータファイル。パーミッションは666(606)
両ファイルともsos2.cgiと同じ場所に転送します。
cmp.datが外部から覗かれる恐れがある場合はxxx.datという風にファイル名を変更して下さい。
それに合わせてsoskit.plの中の
$cmpdat = './cmp.dat'; # cmp.datのパス 666(606)
という箇所のファイル名を変更します。
●SoSキットを使って以下の事が行えます。
1.アイテム合成
2.ステラツィオを捨てる
3.能力の上限設定
全て取り入れる必要はありません。好きなものだけ入れてください。
●アイテム合成
プレイヤーは持っているアイテムを合成して新しいアイテムを作成することが出来ます。
全ての職業でこの新しい能力を適用させるか、一部のハイクラスのみ可能にするかは設置者次第です。
ただ、ゲームバランスが崩れる恐れは多分にありますので、注意が必要です。
また、設定が細かいので上級者向けかも知れません。
まず、 soskit.pl をテキストエディタなどで開きます。開かない方は拡張子の関連付けを行ってください。
それかsoskit.plの拡張子を修正するときだけtxtに直すという方法もあります。
# 合成ができる職業(追加可能)
@kit_jc = ('武器屋','鍛冶屋','名匠');
ここに合成できる職業を追加していきます。あくまで職業名で判断しますので、ロウクラスから合成可能にする場合は、それぞれ上位職も追加する必要があります。
# 合成ができるスキル(職業に関係なくスキルがあれば可能)
@kit_sc = ('xx','xx','xx');
それかここに登録されたスキルを持つ者は職業に関係なく合成を行うことができます。
職業かスキル、いずれかがマッチしていれば合成を行うことができます。
逆に言うと、いずれの条件にもマッチしていないプレイヤーは合成ができません。
この2つの設定はあくまでメニュー欄に「アイテムを合成する」 を表示させるかどうかの判定です。
次にcmp.datをテキストエディタ等で開きます。
デフォルトではサンプルとして、
アイテム1,アイテム2<>[職業]<>必要なスキル<>必要金額<>必要体力<>成功する確率<>アイテム3<>00000000Fd<>(改行)
というデータが1行だけ入っています。あくまでもサンプルなので、削除して頂いて構いません。
データは「<>」 で区切られています。
データは何行でも入れることができます。
アイテム1,アイテム2
これは合成に必要なアイテムです。
必要なアイテム数はいくらでも増やせます。
同じアイテムを三つ使ってといった事も可能です。
全てが揃っていなければ合成できません。
必ずアイテムとアイテムの間は半角カンマで区切ってください。
例:パン,チキン,クベバの実
[職業]
ここにその合成が行える職業が入ります。
複数の職業を入れる事が可能です。(06/20修正)
職業は必ず [ と ] で挟むようにしてください。
例:[雑貨屋][武器屋][聖職者]
必要がなければ空白にしておきます。
必要なスキル
要はArとかSwとかの略字です。ここは1つしか入りません。
複数入れても無効になります。
職業に引っかからなくてもスキルで引っかかれば合成可能になります。
必要がなければ空白にしておきます。
注意:職業、スキル両方入っていた場合、いずれの条件も満たしていなくてはなりません。
例:職業が[雑貨屋]でスキルにXxが入っていた場合、Xxのスキルを持つ雑貨屋のみが合成できます。
必要金額
アイテムを合成するのに必要な金額です。
金額が足りないと処理を中断します。
合成に成功した場合、所持金から設定された金額が引かれます。
必要がなければ空白にしておきます。
必要体力
アイテムを合成するのに必要な体力です。
体力が足りない場合(体力が0以下になる場合)は処理を中断します。
合成に成功すると体力が指定された分だけ減ります。
必要がなければ空白にしておきます。
成功する確率
ここを設定すると合成に失敗する場合が出てきます。
例:80 (80%の確率で合成が成功する)
必要がなければ空白にしておきます。
アイテム3
合成後に出来るアイテム名です。ここも1つしか入りません。
00000000Fd
合成後に出来るアイテムのデータです。
注意:必ずデータの最後は「<>(改行)」 で終わるようにしてください。
最後にsos2.cgi内部にいくらかスクリプトを追加します。
# Main Program # の一連の if ($Fm{'mode'} eq ・・・・・) { ・・・・・・・・ }
の下に以下の2行を追加します。
(分からない場合はif ($Fm{'mode'} eq 'levy') { &levy } の下に追加して下さい)
次にプレイ時に表示されるメニュを追加します。
sub normal_actionの
&input('radio','mode','name_before','',"銘入り品の名前を変更する<br>\n") if
$mybp =~ /Na/;
の下に次のスクリプトを追加します。
「ステラツィオを捨てる」と併用する場合は
require "soskit.pl";
という行は1つで結構です。
またsub normal_actionの次の行を変更します。(06/21追加)
before
if ($Fm{'id'} eq $pid) { $mysp = $psp; $mybp = $pbp; }
after
if ($Fm{'id'} eq $pid) { $mysp = $psp; $mybp = $pbp; $myjb = $pjb }
●ステラツィオを捨てる
余剰ステラツィオを捨てることができるようになります。
またステラツィオ破棄時に稀にアイテムを拾うといった事も可能になります。
以下はsoskit.pl内の設定箇所です。テキストエディタ等で開いてください。
# 「ステラツィオを捨てる」を表示させない職業
@kit_jd = ('質屋');
他にも捨てられない職業を入れたい場合は追加して下さい。
# (職業に関係なくスキルがあれば表示しない)
@kit_sd = ('xx','xx','xx');
同様にスキルで捨てられない職業を追加することが可能です。
$kit_lp = 100; # ステラツィオを捨てた時にラッキーアイテムをゲットする確率 1/x
説明通りです。数値は1/100というふうに分母を設定します。
# ラッキーアイテムリスト
@kit_ll = ('ステラツィオの結晶△01000101JwLiIe','星屑の宝剣△01000201SwLiNs');
稀に発見するアイテムのリストです。アイテム名とデータの間は△で区切ってください。
sos2.cgi 内部にいくつかスクリプトを追加します。
# Main Program # の一連の if ($Fm{'mode'} eq ・・・・・) { ・・・・・・・・ }
の下に以下の2行を追加します。
(分からない場合はif ($Fm{'mode'} eq 'levy') { &levy } の下に追加して下さい)
次にプレイ時に表示されるメニュを追加します。
sub normal_actionの
&input('radio','mode','name_before','',"銘入り品の名前を変更する<br>\n") if
$mybp =~ /Na/;
の下に次のスクリプトを追加します。
「アイテム合成」と併用する場合は
require "soskit.pl";
という行は1つで結構です。
またsub normal_actionの次の行を変更します。(06/21追加)
before
if ($Fm{'id'} eq $pid) { $mysp = $psp; $mybp = $pbp; }
after
if ($Fm{'id'} eq $pid) { $mysp = $psp; $mybp = $pbp; $myjb = $pjb }
●能力の上限設定
ステラツィオなどで上げられる上限を設定します。
soskit.plをテキストエディタ等で開き、以下の部分を設定します。
# 全職業一律設定
$kit_ma = 10; # 攻撃力上限
$kit_md = 10; # 防御力上限
$kit_mh = 15; # 体力上限
$kit_mi = 12; # 所持上限
全職業の上限を一律で設定します。
# 職業別個別設定(職業を指定した場合、こちらが優先されます。追加可能)
@kit_jn = ('××戦士','●●商人'); # 職業名
@kit_ja = (12,0); # 攻撃力上限
@kit_jd = (12,0); # 防御力上限
@kit_jh = (15,13); # 体力上限
@kit_ji = (7,10); # 所持上限
ある特定の職業だけ個別設定する場合はこちらを使用します。
ここに設定されている職業以外は全職業一律設定が適用されます。
次にsos2.cgi内部にもいくつかスクリプトを追加します。
sub stell_compの
sub stell_comp {
このすぐ下に次の行を追加します。
($value = $sdtlines[$_]) =~ tr/A-Za-z//d;
この下に次のスクリプトを追加します。
ここまではステラツィオを十二種揃えたときに、これ以上能力を上げられるかをチェックする物です。
既に上限を超えてしまっているプレイヤーをチェックする場合は次の通りです。
必要なければここまでです。
コンティニューするたびにチェックし、上限を超えていれば上限まで戻す為のスクリプトを追加します。
sub make_con の
$Fm{'ps'} = $Fm{'pass'};
この行の下に以下のスクリプトを追加します。
|