ハロレース

 CGIスクリプト利用規定
  1. ハロレースはLaldarさんが作成された「チョコボレース」を「MS Tactics」用に改造したものです。
  2. 「MS Tactics」「ハロレース各種追加機能」はLAKさんが作成されたものです。
  3. 「Eternity of Msvs」は、D.Takamiya(CUMRO)さんが作成された「FF ADVENTURE」を、
    斉木 雅人
    さんが「MSVS CGI」として改造され、斉木さんの承諾の元にさらに改造したものです。
  4. スクリプトの著作権はD.Takamiya(CUMRO)さん、斉木 雅人さん、Laldarさん、LAKさんにあります。
    利用者はスクリプトの著作権表示を削除する事は出来ません。
  5. このスクリプトは改造されています。質問等は元の開発者の方に絶対にしないようお願いします。
  6. 設置に関するご質問にはお答え出来ません。ご自身で設置できる方のみダウンロードしてください。
  7. このスクリプトを流用されての改造は自由ですが、必ず著作権の表記を行ってください。
  8. スクリプトに含まれている画像をMSVS CGI以外で使用することはお断り致します。
  9. 著作権の問題等がありますので再配布はお断り致します。
  10. すべてのスクリプトが、すべてのプロバイダや、環境で動作する事は保証できません。
  11. スクリプトを利用した事によるいかなる損害も一切の責任を負いません。
  12. 開発者に著しく不利益があると判断した場合には一方的にスクリプトの使用を中止して頂く事があります。
  13. ここにある画像の著作権は下記団体のものです。また当サイトは同団体との関連はありません。
    創通エージェンシー・ サンライズ・ BANDAI
  14. この「利用規定」は予告なく改編・加筆を行うことがあります。

まず、こちらからハロレース用のスクリプトをDLして下さい。
下記の※新規ファイル・ディレクトリが含まれております。


※新規ファイル・ディレクトリ
※修正ファイル

mst
−−−−−−−−−−−−

halo.cgi
 
[755]
index.cgi [755]

data_hchara /  [777 or 755]

data /
hrecode.cgi [666]
hwinner.cgi [666]

data_ini /
halo_ini.cgi
haloen_ini.cgi
menu_ini.cgi
msvs_ini.cgi

sub /
chrcter.pl
halolib.pl
msvslib.pl


html /
h_manu.html

img /
fayuiri.gif
halo_b.gif
race.gif

unit /
  └ halo1〜6.gif

赤文字が追加部分です。
行数はデフォルトのものです。改造していたり、追加している場合は各自ご確認下さい。
HTML部分は適宜変更して下さい。


index.cgi
※TOPページへの表示です。不要な場合は追加する必要はありません。

ルーチン名 sub html_top
行数 550行目近辺
変更前 シミュレータ:<b>$m_time秒</b><br>
</td>
</tr>
<tr>
<td class="b2">その他</td>
</tr>
<tr>
<td>$kanri_message</td>
</tr>
EOM

if($mini_cnt)
{
open(FILE,"+<$data_path/$cnt_logfile")||&error("ファイルオープンエラー");
chop($cnt = <FILE>);
変更後 シミュレータ:<b>$m_time秒</b><br>
</td>
</tr>
<tr>
<td class="b2">その他</td>
</tr>
<tr>
<td>$kanri_message</td>
</tr>
EOM

#
ここから->
if( $halo_onoff )
{
#ハロレース勝利者読み込み
&read_cwinner;
$cwname=~ s/さん$//g;
$clname=~ s/さん$//g;

if($cw_kati) { $critu = int(($cw_kati / $cw_total) * 100); }
else { $critu = 0; }

$cysp = int($cw_sp + $cw_5);

if($cw_kati > 1000 && $critu > 90) {$crank = "ACE";
}elsif($cw_kati > 500 && $critu > 90){$crank = "S";
}elsif($cw_kati > 300 && $critu > 85){$crank = "A";
}elsif($cw_kati > 200 && $critu > 80){$crank = "B";
}elsif($cw_kati > 100 && $critu > 70){$crank = "C";
}elsif($cw_kati > 50){$crank = "D";
}elsif($cw_kati > 0){$crank = "E";
}

open(IN,"$crecode_file");
@recode = <IN>;
close(IN);

($crcount,$crname) = split(/<>/,$recode[0]);

$page_dsp .= <<"EOM";
<tr><td>
<table border=1 width="100%">
<tr>
<td align="center" colspan="2" class="b2">ハロレース速報</td>
</tr>
<td align="center"><img src="$img_path/$choco_img[$cw_no]">
<br>勝率:$critu\%
</td>
<td>$cwcount連勝中<br>
$clnameさんに勝利!
</td></tr><tr>
<td class="b1">オーナー</td>
<td>$cwname</td>
</tr><tr>
<td class="b1">なまえ</td>
<td>$cw_name</td>
</tr><tr>
<td class="b1">スピード</td>
<td>$cysp</td>
</tr><tr>
<td class="b1">ランク</td>
<td>$crank</td>
</tr><tr>
<td class="b1">スタミナ</td>
<td>$cw_sta/$cw_maxsta</td>
</tr><tr>
<td class="b2">連勝記録</td>
<td>$crname<br><b>$crcount</b>連勝</td>
</tr></table></td></tr>
EOM
}
#<-ここまで

if($mini_cnt)
{
open(FILE,"+<$data_path/$cnt_logfile")||&error("ファイルオープンエラー");
chop($cnt = <FILE>);

data_ini/ menu_ini.cgi
※メニューへの追加です。改造・変更している場合は挿入場所をご確認下さい。

ルーチン名 -
行数 40行目近辺
変更前

"==========",
" トーナメント",
" アナハイム",
" フラナガン機関",
" 中古MS売り場",
" 勢力一覧",
"==========",

変更後

"==========",
" トーナメント",
" アナハイム",
" フラナガン機関",
" 中古MS売り場",
" 勢力一覧",
" ハロレース",
"==========",

ルーチン名 -
行数 80行目近辺
変更前

"",
"stts",
"stts",
"stts",
"stts",
"stts",
"",

変更後

"",
"stts",
"stts",
"stts",
"stts",
"stts",
"stts",
"",

ルーチン名 -
行数 120行目近辺
変更前

0,
0,
0,
0,
0,
0,
0,

変更後

0,
0,
0,
0,
0,
0,
1,
0,

ルーチン名 -
行数 176行目近辺
変更前

"",
"tornament.cgi?mode=trmt_main&id=$in{'id'}&pass=$in{'pass'}&torokuonly=$in{'torokuonly'}&torokuok=$in{'torokuok'}&kekaonly=$in{'kekaonly'}&torokuzmi=$in{'torokuzmi'}&torokumi=$in{'torokumi'}&torokutu=$in{'torokutu'}",
"anaheim.cgi?mode=anaheim_info&id=$in{'id'}&pass=$in{'pass'}&back=no",
"training.cgi?id=$in{'id'}&pass=$in{'pass'}&mode=murasame_top&back=no",
"tyuko.cgi?mode=selhiro&id=$in{'id'}&pass=$in{'pass'}&back=no",
"groupwork.cgi?id=$in{'id'}&pass=$in{'pass'}&mode=group_all&grpid=$kgrp_id&back=no&sysmenu=1",
"",

変更後

"",
"tornament.cgi?mode=trmt_main&id=$in{'id'}&pass=$in{'pass'}&torokuonly=$in{'torokuonly'}&torokuok=$in{'torokuok'}&kekaonly=$in{'kekaonly'}&torokuzmi=$in{'torokuzmi'}&torokumi=$in{'torokumi'}&torokutu=$in{'torokutu'}",
"anaheim.cgi?mode=anaheim_info&id=$in{'id'}&pass=$in{'pass'}&back=no",
"training.cgi?id=$in{'id'}&pass=$in{'pass'}&mode=murasame_top&back=no",
"tyuko.cgi?mode=selhiro&id=$in{'id'}&pass=$in{'pass'}&back=no",
"groupwork.cgi?id=$in{'id'}&pass=$in{'pass'}&mode=group_all&grpid=$kgrp_id&back=no&sysmenu=1",
"halo.cgi?mode=choco_top&id=$in{'id'}&pass=$in{'pass'}&back=no",
"",


data_ini/ msvs_ini.cgi
※設定ファイルへの追加です。Laldarさん、LAKさんへのリンクは必ず追加して下さい。
「6. ハロレース設定」部分は任意の場所に挿入して下さい。

ルーチン名 -
行数 60行目近辺
変更前

# スペシャルサンクス
# Completion
#
push(@maker, 'by うご!');
push(@ver, 'Completion');
push(@link, 'http://www.hiemalis.org/~completion/');

# スペシャルサンクス
# zero-works
# webmaster@zero-works.com
push(@maker, 'by 絵描き');
push(@ver, 'ZERO-WORKS');
push(@link, 'http://www.zero-works.com');

変更後

# スペシャルサンクス
# Completion
#
push(@maker, 'by うご!');
push(@ver, 'Completion');
push(@link, 'http://www.hiemalis.org/~completion/');

# スペシャルサンクス
# zero-works
# webmaster@zero-works.com
push(@maker, 'by 絵描き');
push(@ver, 'ZERO-WORKS');
push(@link, 'http://www.zero-works.com');

# ハロレース
#
push(@maker, ' ');
push(@ver, 'ハロレース');
push(@link, ' ');

# ハロレース
# チョコボレース
#
push(@maker, 'by Laldar');
push(@ver, 'チョコボレース');
push(@link, 'http://www8.big.or.jp/~k-kiku/ff/index.html');

# edit by LAK
# laggard@cacgrp.co.jp
push(@maker, 'LAK');
push(@ver, ' ');
push(@link, 'http://homepage2.nifty.com/laggard/ms_tactics.htm');

# zero-works
# webmaster@zero-works.com
push(@maker, 'ZERO-WORKS');
push(@ver, ' ');
push(@link, 'http://www.zero-works.com');

ルーチン名 -
行数 640行目近辺
変更前

# レベル上限
$max_lv = 256;
# 勢力機体変数
$sei_kitai = 9998;
# キャラリセット変数
$charareset = 9999;

# [設定はここまで]------------------------------------------------------------#

1;

変更後

# レベル上限
$max_lv = 256;
# 勢力機体変数
$sei_kitai = 9998;
# キャラリセット変数
$charareset = 9999;

#┏━━━━━━━━━┓#
#┃6. ハロレース設定 ┃#
#┗━━━━━━━━━┛#
#---------------------------------------------------------------#
# ハロレース by ZERO-WORKS
# http://www.zero-works.com/
# ハロレースはLaldarさんのチョコボレースを改造して作成されています。
# http://www8.big.or.jp/~k-kiku/ff/index.html
# ハロレースMSリンク機能・その他の改変はLAKさんが作成されました。
# http://homepage2.nifty.com/laggard/ms_tactics.htm
#---------------------------------------------------------------#
#ハロレースON/OFF(0:OFF 1:ON)
$halo_onoff=1;

# ハロプログラム名
$script_halo = "halo.cgi";

# ハロキャラクターデータパス
$hchara_path= "./data_hchara/";

# レースレコード(連勝記録用データファイル)
$crecode_file= "./data/hrecode.cgi";
# ハロキングデータ
$cwinner_file= "./data/hwinner.cgi";

# ハロエネルギーファイル
$yasai_file = "./data_ini/haloen_ini.cgi";
# ハロ商品ファイル
$chocobo_file = "./data_ini/halo_ini.cgi";
# 遊び方ページ
$halo_manu = "./html/h_manu.html";

# ハロ画像ファイル名
$choco_img[1]="halo1.gif";
$choco_img[2]="halo2.gif";
$choco_img[3]="halo3.gif";
$choco_img[4]="halo4.gif";
$choco_img[5]="halo5.gif";
$choco_img[6]="halo6.gif";

# ハロレース用画像ファイル名
# レース用に違う画像を使用する場合は変更して下さい。
$chocorace_img[1]="halor1.gif";
$chocorace_img[2]="halor2.gif";
$chocorace_img[3]="halor3.gif";
$chocorace_img[4]="halor4.gif";
$chocorace_img[5]="halor5.gif";
$chocorace_img[6]="halor6.gif";

# ハロ宿代金
$haloyado_dai = 2;

# ハロレベルアップまでの経験値の設定
# レベル×値($lv_up)=次のレベルまでの経験値
$harolv_up = 50;

#ハロレース背景
$halobakgif="race.gif";

# ハロファイル名
$halo_file = "halofile";

# [設定はここまで]------------------------------------------------------------#

1;


sub/chrcter.pl
※キャラ削除時にハロ関係ファイルも削除します。

ルーチン名 sub chr_delete
行数 115行目近辺
変更前

unlink("$chara_path/$battlemem_file$id\.html");
unlink("$chara_path/$dengon_file$id\.den");
unlink("$trmnt_path/$trmnt_setei_file$id\.cgi");

変更後

unlink("$chara_path/$battlemem_file$id\.html");
unlink("$chara_path/$dengon_file$id\.den");
#ここから->
#ハロデータ削除
unlink("$hchara_path$halo_file$id\.cgi");
#<-ここまで

unlink("$trmnt_path/$trmnt_setei_file$id\.cgi");


sub/msvslib.pl
※ハロのチャンプデータの読み込みサブルーチンの追加

ルーチン名 -
行数 1145行目近辺
変更前

# ロック解除
&fileunlock("$opp_logfile");
}
}
1;

変更後

# ロック解除
&fileunlock("$opp_logfile");
}
}

#ここから->
#-----------------------#
# ハロチャンプ読み込み #
#-----------------------#
sub read_cwinner {
open(IN,"$cwinner_file") or &error('ファイルを開けませんでした。');
$winner = <IN>;
close(IN);

($cw_id,$cw_pass,$cwname,$cw_no,$cw_name,$cw_gold,$cw_rank,$cw_sp,$cw_sta,$cw_maxsta,$cw_ex,$cw_total,$cw_kati,$cw_0,$cw_1,$cw_2,$cw_3,$cw_4,$cw_5,$cw_6,$cw_life,$host,$date_chp,$cwcount,$clname,$cw_zksei,$cw_syoku,$cw_unitname,$cw_lp,$cw_tai,$cw_maxtai,$cw_sou,$cw_un,$cw_saku,$cw_en,$cw_maxen,$cw_weight,$cw_unit_viewpoint,$cw_unit_gif,$cw_item,$cw_item2,$cw_kpilotgif) = split(/<>/,$winner);
}

#<-ここまで

1;


<<BACK