【システム関係】
【ディレクトリ構成例】・パーミッション
public_html / index.html (トップページ等)
|
/ cgi-bin
| +-- navyjs [777] /
|
| analyzer.cgi [755]
| hako-admin.cgi [644]
| hako-camp.cgi [644]
| hako-init.cgi [644]
| hako-io.cgi [644]
| hako-js.cgi [644]
| hako-lbbs.cgi [644]
| hako-limg.cgi [644]
| hako-main.cgi [755]
| hako-make.cgi [644]
| hako-map.cgi [644]
| hako-mente.cgi [755]
| hako-missile.cgi [644]
| hako-mons-attack.cgi[644]
| hako-rank.cgi [644]
| hako-skin.cgi [644]
| hako-table.cgi [644]
| hako-top.cgi [644]
| hako-turn.cgi [644]
| hako-yy-bbs.cgi [755]
| hako-yy-ini.cgi [644]
| hako-yy-reg.cgi [755]
| history.cgi [755]
| init-game.cgi [644]
| init-server.cgi [644]
| lbbslist.cgi [755]
| lockfile [666]
| jcode.pl [644]
| style.css [644]
| yybbs.css [644]
| setup.html [666]
|
+-- log [777]
| yylog.cgi [666]
| count.dat [666]
| pastno.dat [666]
| bbslog0000.html [666]
| yybbs.lock [777]
+-- data[755] /*island.cgi[644]
| *.dat [644]
| *.his [644]
| *.log* [644]
+-- css [777] /style.css[644]
|
+-- lock[777] /
|
+-- past[777] /*.cgi [666]
|
+-- img /
*.gif ... (画像GIFバナー)
*.jpg ... (画像JPEGバナー)
|
・gzipについて
デフォルトは使用するに成っています。
gzipの設定をせずにアップすると、ゲームは正常にアップされますが 画面は真っ白です。
判らないときは 使用しないにしてください。
但し、使用できれば 相当の負荷軽減になります。
# gzipを使用して圧縮伝送する?
0 : 未使用 1 : 使用
$Hgzip = 1;
・サブタイトル
海戦クラブに登録依頼するに当たりサブタイトルをお願いしていますが、一つの方法提案
hako-init.cgi
# ゲームのタイトル文字
$HtitleTag = 'xxの海'; # ウィンドウのタイトル ←hako-yy掲示板に反映されます
$Htitle = 'xxの海'; # トップ画面のタイトル
# ゲームのサブタイトル文字 ←追加
$Htitle2= '箱庭海戦Ver6.xx';
hako-top.cgi
# タイトル
out("${HtagTitle_}$Htitle${H_tagTitle}");
out("${HtagTitle2_}$Htitle2${H_tagTitle2}");←追加
・所属不明艦を指定する設定
init-game.cgi
# レベルの最大値
$maxNavyLevel = 9; # 艦艇
# 経験値がいくつでレベルアップか
@navyLevelUp = (20, 30, 60, 80, 120, 150, 210, 250);
@HnavyFirePlus = ( 0, 1, 3, 5, 10); # 増加攻撃回数(偶数レベルでアップ)
@HnavyMaxHpPlus = ( 0, 1, 2, 3, 5); # 増加耐久力(奇数レベルでアップ)
→ここで、艦艇のレベル数値を設定します。
→@navyLevelUpでは(0,)は省略されています。
→$maxNavyLevelでのレベル数と合わせて下さい。
上の見方
20で攻撃回数1
30で増加耐久力1
60で攻撃回数3
80で増加耐久力2
120で攻撃回数5
150で増加耐久力3
210で攻撃回数10
250で増加耐久力5
# 建造レベル設定
$HmaxComNavyLevel = 10; # レベルの最大値(使用しない場合は0にする)
# 下の設定をそのまま使う場合は、上の「レベルの最大値」は5にします。
# 2 3 4 5 6 7 8 9 10
@HcomNavyBorder = ( 20, 50, 100, 200, 300, 500, 700, 1000, 2000 );
# 必要な軍事規模(各レベルの最小値。レベル1は「0」)
# レベル 1 2 3 4 5 6 7 8 9 10
@HcomNavyNumber = ( 4, 7, 10, 12, 13, 14, 15, 16, 18, 19 );
# 建造可能な艦艇番号の最大値
→この例の場合19種類の艦艇を登録しています。
→不明艦は この後に作成して下さい。(19の最終値の後20から始まります)
→新たに艦艇作る必要もありません。不明艦として出現させたい艦艇を
→追加すれば良いだけです。設定は変えた方が変化があるかも知れません。
# 艦艇(所属不明)が出現する?(0:しない、1:する)
$HnavyUnknown = 1;
# 所属不明艦出現の基準
@HdisNavyBorder = (
1000, # 人口基準1(所属不明艦レベル1)
2500, # 人口基準2(所属不明艦レベル2)
4000, # 人口基準3(所属不明艦レベル3)
);
$HdisNavy = 3; # 単位面積あたりの出現率(0.01%単位)
# 所属不明艦の番号の最小値←ここが重要
$HunknownNavyMinimum = 20;
# 各基準において出てくる所属不明艦の番号の最大値
@HunknownNavyLevel = (
20, # Lv1 所属不明艦1まで
21, # Lv2 所属不明艦2まで
22, # Lv3 所属不明艦3まで
デフォルトでは駆逐艦からが不明艦として出現します。
※ 所属不明艦の番号は続ける(最終に追加するので後でもOK)
漁船
漁船の場合食料を増やす目的なので、@HnavyFoodに−を付ける事で出来ます。
商船・帆船
収入を増やすのが目的なので、@HnavyMoneyに−を付ける事で出来ます。
海底探査
@HnavySpecialの行で0x8000で設定できますが、
この艦種は、建造コストより維持費に負担が掛かるのでレベルは後で
建造できるように設定した方がベスト。
イージス艦
性能を命中率100%で、スピードが速く敵ミサイルを要撃 トマホークが打てる。
@HnavyFireHexで誤差を設定します。この場合は誤差0を選びます。
@HnavySpecialの行で0x2(移動がとても早い)
+0x20(周囲2Hexのミサイル防衛)+0x80(移動操作可)
+0x200(対艦攻撃)+ 0x400(対地攻撃)+0x4000(艦載機)
上記の足し算は(16進)1〜9・a・b・c・d・e・f・g 46a2
色々工夫して、楽しい艦艇設定をお試し下さい。
・海戦に音楽
hako-main.cgi
<DIV ID='LinkHead'>
<embed src="http:/×××/×××.mid"
width=176 height=40 panel=0 autostart=true loop=1 repeat=true VOLUME=-4000>
$Hheader
END
# 自分のサイトなどへのリンクを追加する場合は↑に追加してください。
・バージョンアップの対処法
ぶれぶれ(dif)ソフトを使用 大海戦にリンクしてあります。
上記のソフトがダウンロードされている事を前提
difソフトは二つのファイルの違いを見つけるソフトです。
@仮にですが、右に現在使用中のスクリプトを選択
(ファイルの種類−全てのファイル(*.*))
A左に、バージョンアップされたスクリプトを選択
(ファイルの種類−全てのファイル(*.*))
B比較チエックを選択
C変更されている所を、右へコピー
Dすへて終了したら、もう一度比較チエックを選択して確認下さい。
E保存して終了。
F変更されたスクリプト分繰り返して下さい。
改造されている場合。
差分追加は、改造の程度で難易度が変わります。
改造した部分の始めに#-----から 終わりに#-----まで
上記のコメントアウトを追加しておきましょう。
・設定一覧ファイル
スクリプト内の設定が更新されると自動的に更新されるようになっています。
ローカル上の画像もクッキーで対応しています。
・hako-init.cgiでの設定(個人的な見解も入っているかも)
とばしている所は、それぞれの環境で試して下さい。
上記に書いた内容のものは省いています。
#「最近の出来事」をHTML化するか(0:しない、1:する)
$HhtmlLogMake = 1;
# HTML化する場合は、以下を設定
# HTMLファイル(hakolog.html)を置くディレクトリ
my($htmlDir) = 'http://cgi.××/cgi-bin/navyjs/log';
# 最後にスラッシュ(/)は付けない。
$htmlDir = "${HbaseDir}";
# $HbaseDirから$htmlDirへの相対パス。最後にスラッシュ(/)は付けない。
# $HhtmlDir = '.';
$HhtmlDir = './log';
# HTMLページに表示するログのターン数
$HhtmlLogTurn = 8;
#「最近のできごと」をHTMLで表示するか(0:しない、1:する)
#「最近のできごと」をHTML化しない場合は0にして下さい。
$HhtmlLogMode = 1;
HTML化する場合。
# 各島の「近況」をhistory.cgiで表示するか?(0:しない、1:する)
$HuseHistory1 = 0; # 自島(開発画面)
$HuseHistory2 = 1; # 他島(観光画面など)
このみで選択、表示しないを選択すると、自島のログが表示される。
# 箱庭スキンの設定へのリンクをトップページに表示するか
$HcssSetting = 1;
# 設定
%HcssFile = (
"$HcssDefault" => 'Default',
# 'CSSファイル名' => 'スキン名'で追加。「,」の付け忘れに注意
"css/MAP.css" => '地図背景',
# "DeepBlue.css" => 'DeepBlue', # こんな書き方
);
普通は、cssファイルは同じディレクトリーでOKです。
複数のcssファイルを使用する場合は「css」フォルダーを作成して、
その中に各cssファイルを格納したほうがスッキリ管理出来る。
@niftyやBIGLOBEなどでは、指定の仕方がちょっと難しいです。
【海戦】クラブの過去ログを検索してみて下さい。
箱庭スキン計画」推進室
スキンアップしています。(画像は、他からの借り物です別途探して下さい)
# トップページのレイアウトをtempTop.htmlで指定するか?(0:しない、1:する)
$HlayoutTop = 0;
#「tempTop.html」以外のファイルを読み込ませたい場合は、
#「hako-main.cgi?Top=sample.html」と引数でファイル名を指定する必要があります。
私は、この項目が理解できないので、誰か教えて下さい。
# 陣営戦モード(帝国海戦)
陣営の作成は管理人室から同盟作成ページに入ってひとつずつ行います。
参謀の任命・変更も同じページで行いますが、
この作業をしないと、陣営戦タイプは稼働できません。
マークも一緒に変更してしまわないように気を付けて下さい。
ゲーム途中でのモードの切り替えもできなくはないですが、
無所属の島とか作れてしまいます。
新規作成時に陣営を割り当てて、強制的に友好国設定しているだけなので、
途中からだと、同じ陣営でも友好国設定してなかったりする場合が生じてきます。
# サバイバルモードに入るターン(設定数値の次のターンから有効)
$HsurvivalTurn = 0; # 0にすればオフになります
$HsurvivalTurn = 1800; にすると、1800ターンからサバイバルモードに入る。
# 何ターンごとに最下位の島が滅ぶか(戦闘期間のみ)
$HturnDead = 10;
上記を有効にすると、1800ターンから10ターンごとに最下位の島が滅ぶ
・init-game.cgiでの設定
# 順位のもとになる要素
# (人口'pop',総獲得経験値'gain',資金'money',食料'food',面積'area',
# 農場'farm',工場'factory',採掘場'mountain',怪獣退治数'monsterkill')
$HrankKind = 'pop';
陣営戦・サバイバルはデフォルトのまま方が良いみたいです。
# 難易度調整(食料・資金の収入倍率:通常レートに対する倍率)
$HincomeRate = 1;
陣営戦を採用するときや、初心者用の海戦を作るときに重宝
# 通常災害発生率(確率は0.1%単位)
海戦では、敵艦や不明艦も災害と言え無くないので、数値を下げた方が良いと思います。
# 地盤沈下
$HdisFallBorder = 100; # 安全限界の広さ(Hex数)
$HdisFalldown = 30; # その広さを超えた場合の確率
海戦では、海がないとゲームが成り立たないので海と陸のバランスは大切です。
特に津波と地盤沈下目的は、マップを船で埋め尽くすことの対策です。
・・時たま海が艦艇だらけのを見ますが。(>_<)ヽ ナケルゼェ
※注意する所 海面積は率でなくHEX表示ですので、
デフォルト海域を変更したときはこの数字も変更する。
# アイテムを使うか?(0:禁止)
$HuseItem = 1;
・アイテム
巨大怪獣を倒すと総獲得経験値に応じた確率判定でゲット。
アイテムを持っている島の海軍を撃沈すると、
攻撃艦艇の経験値に応じた確率判定で奪取。
※「海軍」には艦艇だけでなく軍港も含まれます。
アイテム保有島の最後の海軍を撃沈すると、その島のアイテムすべてを確実に奪取。
チョットした改造
■海に現れた怪獣の画像を出すマウスを近づけると画像が出る(一案)
hako-map
# 硬化中?
$image = $HmonsterImage2[$kind] if ($flag & 1);
# 潜水中?
if ($flag & 2) {
$image = 'land17.gif ' if ($flag & 2);
$image = 'land1k.gif" onMouseOver="images[\''. $point .'\'].src=\''. $image .'\';
" onMouseOut="images[\''. $point . '\'].src=\'land0.gif\'" name="'. $point;
}
$alt = "$mName(体力${hp})$name";
又は、(@HmonsterImage3で水中怪獣を追加した場合)
$image = 'land1k.gif" onMouseOver="images[\''. $point .'\'].src=\''. $image3 .'\';
" onMouseOut="images[\''. $point . '\'].src=\'land1k.gif\'" name="'. $point;
■海に現れた怪獣の画像が常に出る(二案)
# 硬化中?
$image = $HmonsterImage2[$kind] if ($flag & 1);
# 潜水中?
if ($flag & 2) {
$image = 'land17.gif ' if ($flag & 2);
$image = $HmonsterImage[$kind];
}
$alt = "$mName(体力${hp})$name";
又は、(@HmonsterImage3で水中怪獣を追加した場合)
# 潜水中?
if ($flag & 2) {
$image = 'land17.gif ' if ($flag & 2);
$image = $HmonsterImage3[$kind];
※下の場合(又は、で書かれた所)は、# 画像ファイル
@HmonsterImage 陸上怪獣
@HmonsterImage2 硬化中
@HmonsterImage3で水中怪獣← 水中画像は同ライブラリーにアップしています。
が必要です。作成は@HmonsterImageをコピペすれば簡単に出来ます。
■よく見るエラー
同時アクセスエラーです。・・
init-server.cgi
# データの書き込み方
# ロックの方式
# 1 ディレクトリ<mkdir>
# 2 システムコール(可能ならば最も望ましい)<flock>
# 3 シンボリックリンク<symlink>
# 4 通常ファイル(あまりお勧めでない)<unlink>
# 5 リネーム<rename>
$lockMode = 2;
# (注)
# 4,5を選択する場合には、'lockfile'という、パーミション666の空のファイルを、
# このファイルと同位置に置いて下さい。
上記の設定で間違いないか確認して。
間違いがないようでしたらロック方式を変更して下さい。
lockフォルダーがある場合 パーミッションが777に成っているか確認する。
パーミッションは、一番上に書いていますので、再度確認する。
正常なのに画面が真っ白
hako-init.cgi
# gzipを使用して圧縮伝送する? 0 : 未使用 1 : 使用
$Hgzip = 1;
未使用0にする。
|