パンヤGMSのS4対応について・・・(ん)

皇紀2679年2月26日

パンヤがS4になって、コースやスコアランク区分が追加になりました。
今回はGMSシステムのS4対処方法について、記載しますね~(ん)

最初にお断りしておきますね~。

改造した結果、GMSが動かなくなっても一切の責任は負いませんので、自己責任でお願いします(ぺこ)

では始めま~す。
パンヤGMSスキンはアクマの脳髄さんの0.97b版ものを元に改造します。(2008-11-07訂正)
なお、アクマの脳髄さんの方でS4対応版制作中とのことですので、待てる方は次のリリースを待つという手もあります(ん)

この記事ではPHP対応版のを例に解説します。CGI版をお使いの方は、この改造記事を参考に改造してください(ん)
また、行番号は若干異なる場合があります。(まじ)

1)skin.php

◆◆240行目付近

$skin_CHANNELSを以下に入れ替え

$skin_CHANNELS = array(
  ':?:1',
  ':特になし:0',
  ':誰でもOK!1:0',
  ':誰でもOK!2:0',
  ':無言でじっくり:0',
  ':気軽に対戦:0',
  ':みんなで大会!:0',
  ':みんなで大会!1:0',
  ':みんなで大会!2:0',
  ':スコア制限あり:0',
  ':プライベート1:0',
  ':プライベート2:0',
  ':プライベート3:0',
  ':みんな仲良く:0',
  ':わいわい楽しく:0',
  ':気軽に挑戦!:0',
  ':アプローチ勝負!:0',
  ':みんなでチャット:0',
  ':わいわいチャット:0',
  ':対抗戦募集!1:0',
  ':対抗戦募集!2:0',
  ':フリーマーケット1:0',
  ':フリーマーケット2:0',
  ':お友達募集:0',
  ':イベント会場1:0',
  ':イベント会場2:0',
  ':イベント会場3:0'
);

 

◆◆290行目付近

$skin_CHARASを以下に入れ替え

$skin_CHARAS = array(
  ':?:1',
  ':特になし:0',
  ':ケン:0',
  ':エリカ:0',
  ':ダイスケ:0',
  ':セシリア:0',
  ':マックス:0',
  ':クー:0',
  ':アリン:0',
  ':カズ:0',
  ':ルーシア:0'
);

 

◆◆300行目付近

$skin_CADDIESに以下を追加(最後に追加します)

'スケポン:スケポン:0'

 

面倒な方は、以下をコピーして、入れ替えてください。

$skin_CADDIES = array(
  ':?:1',
  ':特になし:0',

  'ポンタ:ポンタ:0',
  ':落書きポンタ:0',
  ':ミルキーポンタ:0',
  ':コトラポンタ:0',

  'ピピン:ピピン:0',
  ':ブルースターピピン:0',
  ':ブラックピピン:0',
  'タンプー:タンプー:0',
  ':アイボリールックタンプー:0',
  ':リベラルックタンプー:0',
  ':デイリールックタンプー:0',
  ':バンカラルックタンプー:0',
  'ドルフ:ドルフ:0',
  ':チェリードルフ:0',
  ':ブラックドルフ:0',
  ':パンダドルフ:0',
  'ロロ:ロロ:0',
  ':ショートカットロロ:0',
  ':フェザーウェアロロ:0',
  ':ミッドナイトロロ:0',
  ':シンプルピンクロロ:0',
  'キューマ:キューマ:0',
  ':カーニバルキューマ:0',
  ':ミリタリーキューマ:0',
  ':サファリキューマ:0',
  'ティッキー:ティッキー:0',
  ':お出かけティッキー:0',
  ':セーラー服ティッキー:0',
  ':セピアティッキー:0',
  ':ロデオティッキー:0',
  'カディエ:カディエ:0',
  ':シルエットブルーカディエ:0',
  ':ブラックレースカディエ:0',
  ':レオタードカディエ:0',
  'ミンティ:ミンティ:0',
  'クロポン:クロポン:0',
  'ウィンクルピピン:ウィンクルピピン:0',
  ':マゼンタウィンクルピピン:0',

  'BIGポンタ:BIGポンタ:0',
  ':BIGポンタ(赤):0',
  ':BIGポンタ(黒):0',
  'すけポン:すけポン:0',
  'パンヤラーメン:パンヤラーメン:0'
);

 

◆◆380行目付近

$skin_CLUBSETSに以下を追加(最後に追加します)

  ':ネギクラブセット:0'

 

面倒な方は、以下をコピーして、入れ替えてください。

$skin_CLUBSETS = array(
  ':?:1',
  ':特になし:0',
  ':エアーナイトセット:0',
  ':エアーナイトIIセット:0',
  ':野球バット:0',
  ':家庭用品セット:0',
  ':スパイクハンマーセット:0',
  ':ゴールデンハンマーセット:0',
  ':ピコピコハンマーセット:0',
  ':SYアフターバーナーセット:0',
  ':SEアフターバーナーセット:0',
  ':ぱんがさセット:0',
  ':ツインフェザーセット:0',
  ':まじかる☆ステッキクラブセット:0',
  ':エアーナイトIIIセット:0',
  ':チャンバラクラブセット:0',
  ':ミスリルソードセット:0',
  ':黒魔剣セット:0',
  ':クリスマスクラブセット:0',
  ':チョコステッキクラブセット:0',
  ':ハロウィンクラブセット:0',
  ':マジックエアーナイト:0',
  ':ゴールデンツインフェザー:0',
  ':マジカルボイスクラブセット:0',
  ':ミラクルボイスクラブセット:0',
  ':キャット★ハンドクラブセット:0',
  ':ヴォックスクラブセット:0',
  ':ネギクラブセット:0'
);

 

◆◆410行目付近

$skin_COURSESを下記と入れ替え

$skin_COURSES = array(
  ':?:1',
  ':Random:0',
  ':特になし:0',

  '★:Blue Lagoon:0',
  ':West Wiz:0',
  ':Pink Wind:0',
  ':Ice Spa:0',
  ':Lost Seaway:0',

  '★★:Shining Sand:0',
  ':Ice Cannon:0',
  ':Shining Sand:0',
  ':Eastern Valley:0',

  '★★★:Blue Water:0',
  ':Sepia Wind:0',
  ':Blue Moon:0',
  ':White Wiz:0',
 
  '★★★★:Wiz Wiz:0',
  ':SilVia Cannon:0',
 			
  '★★★★★:Wind Hill:0',
  ':Deep Inferno:0',
  ':Wind Hill:0'
    
);

 

◆◆527行目付近,833行目付近,899行目付近,999行目付近,1217行目付近

  list( ...... ) 中の 「$three,$two,$one 」の前に $five,$four, を追加

 

赤色文字を追加します。・・・$hio,$alba,$five,$four,$three,$two,$one,・・・

 

◆◆707行目付近---※1

if($use_ext && $GMS_VERSTR ~ ){}節に

  $SKIN['five']  = Skin::ext_link($five,"",31,-2,' title="★★★★★のスコアが'.$five.'以上のメンバーを抜き出し"');
  $SKIN['four']  = Skin::ext_link($four,"",31,-2,' title="★★★★のスコアが'.$four.'以上のメンバーを抜き出し"');

 

を追加します。
右端が欠けていますが、表示上見えないだけでコピーは可能です。

◆◆715行目付近---※2

else {}節に

   $SKIN['five'] = $five;
   $SKIN['four'] = $four;

 

を追加します。

※1,2を適用すると以下のようになります。

if($use_ext && $GMS_VERSTR >= 1.601 && $FORM[mode] == ""){
    # ★5,★4追加 (松下禅尼)
    $SKIN['five'] =	Skin::ext_link($five,"",31,-2,' title="★★★★★のスコアが'.$five.'以上のメンバーを抜き出し"');
    $SKIN['four'] = Skin::ext_link($four,"",31,-2,' title="★★★★のスコアが'.$four.'以上のメンバーを抜き出し"');
    $SKIN['three'] = Skin::ext_link($three,"",31,-2,' title="★★★のスコアが'.$three.'以上のメンバーを抜き出し"');
    $SKIN['two'] = Skin::ext_link($two,"",32,-2,' title="★★のスコアが'.$two.'以上のメンバーを抜き出し"');
    $SKIN['one'] = Skin::ext_link($one,"",33,-2,' title="★のスコアが'.$one.'以上のメンバーを抜き出し"');
}else{
    # ★5,★4追加 (松下禅尼)
    $SKIN['five'] = $five;
    $SKIN['four'] = $four;
    $SKIN['three'] = $three;
    $SKIN['two'] = $two;
    $SKIN['one'] = $one;
}

 

◆◆776行目付近,844行目付近,912行目付近

$log="$FORM[ ~ 文の「<>$FORM[three]」文の前に、

   <>$FORM[five]<>$FORM[four]

 

を追加
具体的には下記緑枠に示します。(赤色部分を追加します。)

$log = “$FORM[nickname]<>$FORM[gender]<>$FORM[level]<>$FORM[school]<>$FORM[guild]<>$FORM[position]<>$FORM[server]<>$FORM[channel]<>$FORM[logintime]<>$FORM[chara]<>$FORM[caddie]<>$FORM[clubset]<>$FORM[course]<>$FORM[sclub]<>$FORM[wclub]<>$FORM[pow]<>$FORM[cont]<>$FORM[accu]<>$FORM[spin]<>$FORM[curve]<>$FORM[mwin]<>$FORM[stroke]<>$FORM[second]<>$FORM[pshot]<>$FORM[fairway]<>$FORM[pat]<>$FORM[mcarry]<>$FORM[mpat]<>$FORM[mchip]<>$FORM[hio]<>$FORM[alba]<>$FORM[five]<>$FORM[four]<>$FORM[three]<>$FORM[two]<>$FORM[one]<>$FORM[msg]<>" . time() . “<>$FORM[game]<>$FORM[mascot]<>$FORM[free1]<>$FORM[free2]<>$FORM[free3]<>$FORM[free4]<>$FORM[free5]<>";

 

◆◆969行目付近

 $status=array(~)内部の「,'three'」の前に ,'five','four' を追加---※3

 次行
 $status_item = array(~)内部の
    「,"★★★★"」の前に,"★★★★★","★★★★"を追加---※4
 
  さらに、次行とその次の行を次と入れ替え---※5
  $round_value = array(0,0,0,0,0,1,2,1,1,1,1,2,2,2,0,0,0,0,0,0,0);
  $max_value = array(2,2,2,2,2,5,6,5,5,5,5,6,6,6,6,6,3,3,3,3,3);

 

※3~※5を適用すると以下のようになります。

$status = array('pow','cont','accu','spin','curve','mwin','stroke','second','pshot','fairway','pat','mcarry','mpat','mchip','hio','alba','five','four','three','two','one');
$status_item = array("パワー","コントロール","正確度","スピン","カーブ","チームマッチ勝率","平均打数","平均打球時間","パンヤショット成功率","フェアウェイキープ率","パット成功率","最大飛距離","最長パット距離","最長チップイン距離","ホールインワン回数","アルバトロス回数","★★★★★","★★★★","★★★","★★","★");
$round_value = array(0,0,0,0,0,1,2,1,1,1,1,2,2,2,0,0,0,0,0,0,0);
$max_value = array(2,2,2,2,2,5,6,5,5,5,5,6,6,6,6,6,3,3,3,3,3);

 

◆◆1034行目付近

 $SKIN['three'] = $three;の上に
   $SKIN['five'] = $five;
   $SKIN['four'] = $four;
  を追加。

 

◆◆1238行目付近

  ★★★		:$three
  の上に
   ★★★★★	:$five
   ★★★★	:$four
  を追加。

 

この変更をした上で、listディレクトリ内の各メンバーのログファイル記録フォーマットを触ります。

ログファイルは'<>’をセパレーターとして項目が区別されています。

見ると、後ろの方にコメント文の前に、★★★,★★,★ の最高ランク数字(大抵-30とか、-25等の数字が3つ連続して<>で区切られて並んでいます)がありますので、その前に “<><>" を追加します。

 

★★★★★ を追加しますと、レイアウトが崩れますので、以下を触ります。

2)skin/style.css

  ◆◆388行目付近
  table.date td.right のwidthを 140pxに変更
  
  ◆◆530行目付近
  table.c-item td.right の width を150pxに変更

 

データ部分のレイアウトは上記二カ所で調整します。

======================
(20:40 追記)
(2008-11-07 修正)
======================

 

スキンファイルの修正

 

3)skin/reg.html

◆◆262行目付近

「★★★最高スコア」の上に「★★★★」,「★★★★★」ランクを追加します。(赤色の部分を入力)

<table summary="アルバトロス回数入力" border="0″ class="c-item"><tr>
<td class="right"><label for="alba">アルバトロス回数:</label></td>
<td><input type="text" size="7″ maxlength="6″ name="alba" id="alba" /> 使用可(0~9,?)</td></tr>
<tr><td> </td>
<td>アルバトロス回数を入力して下さい。</td>
</tr></table>

<table summary="★★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="five">★★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="five" id="five" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>
<table summary="★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="four">★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="four" id="four" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

<table summary="★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="three">★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="three" id="three" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

4)skin/user_edit.html

◆◆250行目付近

「★★★最高スコア」の上に「★★★★」,「★★★★★」ランクを追加します。(赤色の部分を入力)

<table summary="アルバトロス回数入力" border="0″ class="c-item"><tr>
<td class="right"><label for="alba">アルバトロス回数:</label></td>
<td><input type="text" size="7″ maxlength="6″ name="alba" value="<!–alba–>" id="alba" /> 使用可(0~9,?)</td></tr>
<tr><td> </td>
<td>アルバトロス回数を入力して下さい。</td>
</tr></table>

<table summary="★★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="five">★★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="five" value="<!–five–>" id="five" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>
<table summary="★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="four">★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="four" value="<!–four–>" id="four" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

<table summary="★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="three">★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="three" value="<!–three–>" id="three" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

 

5)skin/main.html

◆◆135行目付近

「★★★最高スコア」の上に「★★★★」,「★★★★★」ランクを追加します。(赤色の部分を入力)

<td class="right">アルバトロス回数:</td><td><!–alba–></td>
</tr><tr>

<td class="right">最高スコア ★★★★★:</td><td><!–five–></td>
</tr><tr>
<td class="right">★★★★:</td><td><!–four–></td>
</tr><tr>

<td class="right">★★★:</td><td><!–three–></td>
</tr><tr>

 

6)skin/admin_edit.html

◆◆255行目付近

「★★★最高スコア」の上に「★★★★」,「★★★★★」ランクを追加します。(赤色の部分を入力)

<table summary="アルバトロス回数入力" border="0″ class="c-item"><tr>
<td class="right"><label for="alba">アルバトロス回数:</label></td>
<td><input type="text" size="7″ maxlength="6″ name="alba" value="<!–alba–>" id="alba" /> 使用可(0~9,?)</td></tr>
<tr><td> </td>
<td>アルバトロス回数を入力して下さい。</td>
</tr></table>

<table summary="★★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="five">★★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="five" value="<!–five–>" id="five" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>
<table summary="★★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="four">★★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="four" value="<!–four–>" id="four" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

<table summary="★★★最高スコア入力" border="0″ class="c-item"><tr>
<td class="right">最高スコア <label for="three">★★★:</label></td>
<td><input type="text" size="4″ maxlength="3″ name="three" value="<!–three–>" id="three" /> 使用可(0~9,+,-,?)</td></tr>
<tr><td> </td>
<td>★★★コースの最高スコアを入力して下さい。</td>
</tr></table>

以上です(ん)

うまくいかないときには・・・コメントいただければ分かる範囲で回答しま~す(ぺこ)

(2008-11-07追記)
CGI版の改造が紹介されました。→こちらです

(2010-02-14追記)
$skin_COURSESを訂正

HTML(CSS)

Posted by まっちゃん