cookbook|||2001/10/06/Sat|||05:14:38|||aaZ5v8kRzmBeo|||機能|||もと♪|||motty@tanosi.net||||||http://|||10|||無国籍の人と国に所属した人でもらえるお金に差をつける♪|||ebs_sub4.cgiの301-327行目を下とごっそり入れ替えてください。
$ResultBattle=0;
$PL_In[0]=int (rand(5)+8);$VS_In[0]=int (rand(2)+2);
$PL_In[1]=3;$VS_In[1]=-2;
if($PL_VALUES[5] ne ""){
$PL_In[2]=int(rand(200)+400)+((250-$PL_VALUES[29])*$GET_MONEY)*2;#無国籍以外は*2で修正
}else{
$PL_In[2]=int(rand(200)+400)+((250-$PL_VALUES[29])*$GET_MONEY);
}
$VS_In[2]=int(rand(200)+400)+((250-$VS_VALUES[29])*int($GET_MONEY/3));
$PL_VALUES[24]++;$VS_VALUES[25]=1;
($PL_VALUES[0]=0,$PL_VALUES[5]="$FORM{'boumeiC'}",$B_Com='成功',$PL_VALUES[6]=0)if $FORM{'b_mode'} eq '亡命';
($PL_VALUES[6]="$VS_VALUES[6]",$PL_VALUES[28]="$VS_VALUES[28]",$VS_VALUES[6]=0,$Vs_KakutokuRank=-120,$VS_VALUES[5]=$VS_VALUES[28]='',$B_Com='成功')
if $FORM{'b_mode'} eq '内乱';
last WORL;};
$PL_VALUES[15] == 0 && $VS_VALUES[15] > 0 && do {
$ResultBattle=1;
$PL_In[0]=int (rand(2)+2);$VS_In[0]=int (rand(5)+8);
$PL_In[1]=-2;$VS_In[1]=3;
if($PL_VALUES[5] ne ""){
$PL_In[2]=int(rand(200)+400)+((250-$PL_VALUES[29])*int($GET_MONEY/3))*2;#無国籍以外は*2で修正
}else{
$PL_In[2]=int(rand(200)+400)+((250-$PL_VALUES[29])*int($GET_MONEY/3));
}
$VS_In[2]=int(rand(200)+400)+((250-$VS_VALUES[29])*$GET_MONEY);
$VS_VALUES[24]++;$PL_VALUES[25]=1;
($PL_In[1]=int($PL_VALUES[0]/-3)*2,$B_Com='失敗') if $FORM{'b_mode'} eq '亡命';
($PL_In[1]=($PL_VALUES[0])*-1,$B_Com='失敗') if $FORM{'b_mode'} eq '内乱';
last WORL;};
$VS_VALUES[15] > 0 && $PL_VALUES[15] > 0 && do{
$ResultBattle=2;
$PL_In[0]=int (rand(3)+4);$VS_In[0]=int (rand(3)+4);
$PL_In[1]=1;$VS_In[1]=1;
if($PL_VALUES[5] ne ""){
$PL_In[2]=int(rand(200)+400)*2;#無国籍以外は*2で修正
}else{
$PL_In[2]=int(rand(200)+400);
}
$VS_In[2]=int(rand(200)+400);
($PL_In[1]=int($PL_VALUES[0]/-3)*2,$B_Com='失敗') if $FORM{'b_mode'} eq '亡命';
($PL_In[1]=($PL_VALUES[0])*-1,$B_Com='失敗') if $FORM{'b_mode'} eq '内乱';
######ここから下は載せなくていいです、っていうか重くなるだけ######
##簡単にするために全部載せましたが、改造箇所は、304行目、315、325行目の前後だけです。「*2」で調整してますが、2倍になるわけではないので、悪しからず。
##これは国に所属するプレーヤーが戦闘したときのみ有効です。寝てる間に攻撃されてももらえるお金が増えるわけではありません。国に所属する幽霊プレーヤーを減らすため・・・っていうか、そこまで改造すんのが面倒なだけ・・・(; ̄ー ̄A アセアセ・・・
##うちのではちゃんと動作してますが、バグ・ミス等を指摘していただけるとありがたいです。( ̄人 ̄)オ・ネ・ガ・イ♪
||||||無国籍と国に所属した場合で、経験値に差をつけるという改造が載ってますが、お金にも差をつけることでいっそう無国籍不利にしてみました。これで無国籍が減ればいいんですが・・・でも、幽霊プレーヤーは減りません(笑)|||end|||
cookbook|||2001/10/06/Sat|||23:55:39|||aa5EM4rGklPVk|||機能|||マシマロ||||||さすらい|||http://members.jcom.home.ne.jp/masimaro/|||10|||建国時の国名固定|||sub MAKE_C2を、以下の様に、select文にしましょう。
sub MAKE_C2{
&LOCK;&DBM_INPORT('C');
&UNLOCK;
&CUSTOM_HEADER('Main');
my@C=%C;my$C=@C/2;
if ($C >= $COUNTRY_MAX){print "<tr><td $BgColor>$COUNTRY_MAX国以上の建国は出来ません。</td></tr></table>\n";
}else{
print << " -----END-----";
<tr><td $BgColor><b>建国費用 \$$MAKE_COUNTRY</b><br> 国の名前
<select name=\"cname\" $STYLE_L>
<option value=地球連邦軍>地球連邦軍<option value=ジオン>ジオン<option value=デラーズフリート>デラーズフリート
<option value=エゥーゴ>エゥーゴ<option value=カラバ>カラバ<option value=ティターンズ>ティターンズ<option value=アクシズ>アクシズ
<option value=ネオジオン>ネオジオン<option value=ニューディサイズ>ニューディサイズ<option value=マフティー>マフティー<option value=火星独立ジオン>火星独立ジオン
<option value=クロスボーンバンガード>クロスボーンバンガード<option value=木星帝国>木星帝国
<option value=リガミリティア>リガミリティア<option value=ザンスカール>ザンスカール
<option value=ピースミリオン>ピースミリオン<option value=オズ>オズ<option value=ホワイトファング>ホワイトファング<option value=OZプライズ>OZプライズ
<option value=コロニー連合>コロニー連合<option value=デビルガンダム軍>デビルガンダム軍
<option value=ミリシャ>ミリシャ<option value=ディアナカウンター>ディアナカウンター
</select><br> 国の色<br>
<input type=\"radio\" name=\"cl\" value=\"C0C0C0\" checked><font color=#C0C0C0>■</font>
-----END-----
$br=1;
foreach $Ccol(@COLOR){$br++;
print "<input type=\"radio\" name=\"cl\" value=$Ccol><font color=$Ccol>■</font>\n";
if ($br==5){print"<br> \n";$br=0;}
}
&JScfm(checkCountry,"建国します。よろしいですか?");
print "<input name=\"Cmode\" type=submit value=建国 $STYLE_B1 onClick=\"if (document.Ms.cname.value!=''){return checkCountry()}else{alert('国名が記入されていません。');return false;}\">\n";
print "<input type=reset value=クリア $STYLE_B1></td></tr></form></table>\n";
}
&FOOTER;
}||||||国名ってゲームのイメージにそぐわないのをつけられると
困りますよね。そこで、選択式にします。
ebs_sub5.cgiを改造|||end|||
cookbook|||2001/10/08/Mon|||13:49:00|||aadgDsiFr0Nps|||武器|||マル|||||||||http://|||10|||武器の能力表示|||sub3.cgiの116行目辺りの
@WN_sA=split(/\,/,$WEAPON_LIST{"$WN_A"});print"<span style=\"$STYL1\">&nbsp;&nbsp;<b>装備</b>&nbsp;&nbsp;</span><b>".$WN_sA[0]."</b>&nbsp;Lv.$WLV_A/exp.$WEP_A<br>";
の下に以下を追加します。
print "<span style=\"$STYL1\">&nbsp;&nbsp;性\能\&nbsp;&nbsp;</span>攻:".&STATUS_CONVERT($WN_sA[1]*$WN_sA[3]/500,'s');print "&nbsp;&nbsp;命:".&STATUS_CONVERT($WN_sA[2]/4,'s');print "&nbsp;&nbsp;回:$WN_sA[3]&nbsp;&nbsp;EN:$WN_sA[4]&nbsp;&nbsp;効果:";
print "none<br>" if $WN_sA[7]==0;
print "相手機体損壊<br>" if $WN_sA[7]=~ m/1/;
print "相手機体大破<br>" if $WN_sA[7]=~ m/2/;
print "スピードアップ<br>" if $WN_sA[7]=~ m/3/;
print "防御力アップ<br>" if $WN_sA[7]=~ m/4/;
ケアヴェグさんの四つの効果を追加している場合は
print "リフレクト<br>" if $WN_sA[7]=~ m/5/;
print "貫通<br>" if $WN_sA[7]=~ m/6/;
print "乱射<br>" if $WN_sA[7]=~ m/7/;
print "幸運<br>" if $WN_sA[7]=~ m/8/;
を追加します。
特殊効果番号はケアヴェグさんの書いていたままです。
※:&をすべて半角に直してください。||||||ヒントでのクレアたんさんのスクリプトに武器の特殊効果を追加しました。
初心者なのでこの程度しか出来ませんが、とり合えず動きます。|||end|||
cookbook|||2001/10/08/Mon|||23:21:46|||aanHBaQ0dLDAU|||その他|||クレアたん||||||Tactics Ogre de Endless Battle|||http://ogre.s1.xrea.com/|||10|||直リン防止機能を強化|||まずは、config.cgiの97行目付近
#うまくいかない場合orよく解らない場合は0を指定。
の下に
↓↓↓↓ここから↓↓↓↓
# リンクを許可するURLをhttp://以下から書いてください(追加すれば無限)
# ブックマークやURL直打ちでのアクセスをOKとする場合はnotと書いてください。
$OK_LINK[0] = 'www.hoge.ne.jp/~xxx';
$OK_LINK[1] = 'www.hoge.com';
↑↑↑↑ここまで↑↑↑↑
を追加します。
次に、ebs.cgiの16行目付近の
&ERROR('直リンクは禁止です','入り口からのアクセスお願いします。') if $ENV{'HTTP_REFERER'} !~ m/^$THIS_DIR/ && $DIRECT_LINK && $SUB ne 'MY_LIST' && $SUB ne 'C_LIST';
を消して、
↓↓↓↓ここから↓↓↓↓
if ($DIRECT_LINK && $SUB ne 'MY_LIST' && $SUB ne 'C_LIST') {
$href = $ENV{'HTTP_REFERER'};
if ($href eq '' || $href =~ m#bookmark#i || $href =~ m#unknown#i) {$href = 'boknot';}
my $REF_FLAG=0;
foreach (@OK_LINK) {
$_ =~ s#\~#.*#g;
if ($href =~ m#$_#i || $SUB eq 'LOGO') {$REF_FLAG=1;}
}
unless ($REF_FLAG) {&ERROR('直リンクは禁止です','入り口からのアクセスお願いします。');
}
}
↑↑↑↑ここまで↑↑↑↑
を挿入します。これで終わりです。
以下は補足説明・・・
リンクを許可するURLは、
EB-Sを「www.hoge.ne.jp/~xxxx/cgi-bin/ebs.cgi」のように設置している場合は
自分のサイトの 「www.hoge.ne.jp/~xxxx」の部分を設定しておけば大丈夫です。
「www.hoge.ne.jp/~xxxx/index.html」は必要ありません。
また、複数のサイトで一つのEB-Sを共有している場合は、
$OK_LINK[0] = 'www.hoge.ne.jp/~xxx';
の$OK_LINK[1]←この数字を増やしながら複数設定してください。
$OK_LINK[0] = 'www.hoge.ne.jp/~xxx';
$OK_LINK[1] = 'www.hoge.com';
$OK_LINK[2] = 'www.ugege.or.jp/~xxxx';
$OK_LINK[3] = 'www.uhyohyo.net';
・・・こんな感じ。
また、プロバイダの自分のサイトから、
レンタルサーバなどに設置したEB-Sへリンクを許可するには
$OK_LINK[0] = 'www.rental.com/cgi-bin/ebs.cgi';
$OK_LINK[1] = 'www.hoge.ne.jp/~xxx';
・・・のように、レンタルサーバに設置したEB-SのURLを必ず入れてください。
また、ブックマークからのアクセスは許可するが
他のサイトからのEB-Sへの直リンを禁止する場合は
$OK_LINK[0] = 'www.hoge.ne.jp/~xxx';
$OK_LINK[1] = 'not';
・・・と「not」を付け加えてください。
この直リン防止機能を使わない場合は$DIRECT_LINKを0に設定すればOKです。
もちろん、使う場合は1に設定。。。||||||元から付いている直リン防止機能は、スクリプトと同じディレクトリ内からで無いと
直リンと判断されてしまったり、「帰還」ボタンを押すたびに「直リンクは禁止です」と表示されたりなど、
色々と不便です。・・・というより、実用性が全くないです(^^;
そこで、まともに使える直リン禁止機能にしちゃいましょう!|||end|||
cookbook|||2001/10/09/Tue|||17:06:43|||aajt.4s3e3SZA|||機能|||あっぽー|||caa95880@pop06.odn.ne.jp||||||http://|||10|||ID名、パスワードの変更|||1)ebs_sub5.cgiの・・・
print "<tr><td $BgColor> $STATUS_NAME[5]アップ(\$$EM)</td><td $BgColor>";
print "<input type=submit name=\"Cmode\" value=\"$STATUS_NAME[5]アップ\" $STYLE_B1 onClick='";
print "return checkEn()'>" if $PL_VALUES[8] >= $EM && $PL_VALUES[18] < $MAX_EN;
print "alert (\"お金が足りません\");return false;'>" if $PL_VALUES[8] < $EM;
print "alert (\"これ以上改造できません\");return false;'>" if $PL_VALUES[8] >= $EM && $PL_VALUES[18] >= $MAX_EN;
print "</td></tr>";
ここまでがENアップの処理です。
見つからない場合は「$STATUS_NAME[5]アップ」で検索。
この下に下の処理をそのまま、まるごどコピーして追加して下さい。
print << " -----END-----";
<script language="JavaScript">
function checkRiyou (){
if ($PL_VALUES[8] < 100000) {window.alert("お金が足りません。");return false
}else if (document.Ms.c_pname.value == '') {window.alert("プレイヤー名が未入力です。");return false
}else if(document.Ms.c_pass.value == '') {window.alert("現在のパスワードが未入力です。");return false
}else if(document.Ms.c_pname.value.match('[&! =.,<>]') != null) {
window.alert("半角記号or半角スペースは使用できません。");return false ;
}else if(document.Ms.c_pass.value.match('[&! =.,<>]') != null) {
window.alert("半角記号or半角スペースは使用できません。");return false ;
}else if(document.Ms.c_pass2.value.match('[&! =.,<>]') != null) {
window.alert("半角記号or半角スペースは使用できません。");return false ;
}else {if (confirm('登録を開始します。') == true){return true;}else{return false} }
}
</script>
-----END-----
print "<tr><td $BgColor colspan=4><b>ID&パスワード変更</b> $100000<br>\n";
print "パイロット名(ID)<br><input type=text name=c_pname size=30 maxlength=15 value=\"$FORM{'pname'}\" $STYLE_L><br>\n";
print "現在のパスワード<br><input type=password maxlength=8 name=c_pass size=15 $STYLE_L><br>\n";
print "変更するパスワード(変更する時のみ入力)<br><input type=password maxlength=8 name=c_pass2 size=15 $STYLE_L><br>\n";
print "<font style=\"font-size:12px;\">パスワードは<b>半角</b>のみ8文字まで(忘れないようにしてください)</font><br>\n";
print "<div align=right>\n";
print "<input name=\"Cmode\" type=submit value=\"ID変更\" $STYLE_B1 onClick=\"return checkRiyou()\">\n";
print "</div></td></tr>\n";
2)ebs_sub3.cgiの・・・
/^変更$/ && do{$PL_VALUES[7]="$FORM{'com'}";last CUSTOM;};
この下に下の処理をそのまま、まるごどコピーして追加して下さい。
見つからない場合は「変更」で検索。
/^ID変更$/ && do{
#ID&パスワードを変更する前に現在のパスワードをチェック
&ERROR('現在のパスワードが入力されていません。')if $FORM{'c_pass'} eq '';
&ERROR('パスワードが違います。') if $FORM{'pass'} ne $FORM{'c_pass'};
&ERROR('パスワードが違います。') if crypt ($FORM{'c_pass'},eb) ne "$PL_VALUES[2]";
$PL_VALUES[8] -= 100000; #所持金から変更費を差し引く
if($FORM{'c_pass2'} ne ''){ #新しいパスワードが入力されていれば変更
$PL_VALUES[2] = crypt ($FORM{'c_pass2'},eb);
$FORM{'pass'} = $FORM{'c_pass2'};
}
if($FORM{'c_pname'} ne ''){ #IDが入力されていれば変更
if($FORM{'pname'} ne $FORM{'c_pname'}){#IDが違うのなら変更
$flagp=1; #下の方にあるデータ書き込み処理は使わず、こっちでやる。
&LOCK;
dbmopen (%PL,"$DBM_P",0666);
$PL{"$FORM{'c_pname'}"}="@PL_VALUES";#新しいIDを登録
delete $PL{"$FORM{'pname'}"}; #古いIDは削除
dbmclose %PL;
$FORM{'pname'} = $FORM{'c_pname'};
&UNLOCK;
}
}
last CUSTOM;};
||||||パスワードを変更したいという人って多いんじゃないですかね?
このゲームに、その機能が無いのは謎です(爆)
他の人にそのパスワードがバレたら、もう使えませんし、
IDが同じなので、他のサイトにインポートした機体も使えません。
下の改造で、ID、パスワードを変更することができます。
ただ、IDをころころと変える人がいると管理上、困るので
変更費を高くしましょう。下のは、10万に設定してあります。(^^;
安くしたい場合は、3ヶ所(ebs_sub3.cgiに1ヶ所、ebs_sub5.cgiに2ヶ所)変更して下さい。
(見つからない場合は「100000」で検索。)|||end|||