cookbook|||2001/11/23/Fri|||17:57:44|||aaQSqAReePlq6|||武器|||ケアヴェグ||||||ケアヴェグの燃える島|||http://isweb26.infoseek.co.jp/play/amsmsato/|||10|||オプション装備(防具とか・・)|||とくに記載がない限りebs_sub4です。
1.予備の武器データも読み込む
sub BATTLE2の・・
@Pl_W=split(/\,/,$WEAPON_LIST{"$PL_WN"});
@Vs_W=split(/\,/,$WEAPON_LIST{"$VS_WN"});
これの下に・・
@Pl_Wb=split(/\,/,$WEAPON_LIST{"$PL_bWN"});
@Vs_Wb=split(/\,/,$WEAPON_LIST{"$VS_bWN"});
@Pl_Wc=split(/\,/,$WEAPON_LIST{"$PL_cWN"});
@Vs_Wc=split(/\,/,$WEAPON_LIST{"$VS_cWN"});
これを追加。
2.各能力の実装
(1)防御アップ
例:オプションの防御アップ効果の記号を「a」にする場合。
$plbs=int ($PL_VALUES[20]+7) if $Pl_W[7] =~ m/4/;
$vsbs=int ($VS_VALUES[20]+7) if $Vs_W[7] =~ m/4/;
これの下に・・
$plbs+=7 if $Pl_Wb[7] =~ m/a/;
$vsbs+=7 if $Vs_Wb[7] =~ m/a/;
$plbs+=7 if $Pl_Wc[7] =~ m/a/;
$vsbs+=7 if $Vs_Wc[7] =~ m/a/;
これを追加。
(2)消費ENダウン(私のサイトでも未実装&未確認)
例:この効果の記号を「b」にする場合。
最初に予備武装を読み込むものを足したものの次に・・
$Pl_W[4]=int($Pl_W[4]*0.75) if $Pl_Wb[7] =~ m/b/;
$Vs_W[4]=int($Vs_W[4]*0.75) if $Vs_Wb[7] =~ m/b/;
$Pl_W[4]=int($Pl_W[4]*0.75) if $Pl_Wb[7] =~ m/c/;
$Vs_W[4]=int($Vs_W[4]*0.75) if $Vs_Wb[7] =~ m/c/;
これでメイン武装の消費ENが0.75倍になるはず。
(2個付けると0.75*0.75倍)
まあ、これはオマケって事で・・
この要領で今までに紹介されてる能力も作れるはずです。
わからなければ聞いて下さい。
とりあえず、これでオプション武装を作れば動くはずです。
どうでしょうか?||||||かならずバックアップをとってからテストしてください。
動かなくなっても責任とれません・・
それと、武器庫のスクリプトを入れている場合ゲームの楽しみが無くなるので注意しましょう。|||end|||
cookbook|||2001/11/23/Fri|||20:18:35|||aaQSqAReePlq6|||その他|||ナイク||||||星々の大海原|||http://stocean.cool.ne.jp|||10|||大参加者募集中|||EBSの改造などいろいろしてます、武器もオリジナルです
そのほかにバトルロワイヤルもありますw
よろしくお願いします||||||人が少ないので参加者募集中w|||end|||
cookbook|||2001/11/24/Sat|||10:00:51|||aanhmHAriCFfM|||武器|||Shinya||||||one book|||http://www.kitanet.ne.jp/~shinya/|||10|||予備にある効果ありの装備に効果表示|||うちではオプションは予備1予備2どちらかに1個のみ(両方の場合は予備1優先)でやってます。
その場合こんな感じに
sub_3の
@WN_sB=split(/\,/,$WEAPON_LIST{"$WN_B"});
のしたあたりに
@WN_sC=split(/\,/,$WEAPON_LIST{"$WN_C"});
#特殊武器位置判定
if($WN_sC[7]=~ m/z/){$SUBWP=1;}
if($WN_sB[7]=~ m/z/){$SUBWP=2;}
#特殊アイテム格納追加
if($SUBWP==2){
print "<span style=\"$STYL1\"> 特殊 </span><b>$WN_sB[0]</b> LV$WLV_b EN:$WN_sB[4]";
$point=int($WLV_B/200);$point2=$PL_VALUES[20]+$point;print " Armor:".&STATUS_CONVERT("$point",'s')."(".&STATUS_CONVERT("$point2",'s').") " if $WN_sB[7]=~ m/9/;
$point=int($WLV_B/100+100);$point2=$WN_sA[2]*$point/100/4;print " 命*$point%(".&STATUS_CONVERT("$point2",'s').") " if $WN_sB[7]=~ m/a/;
print "<br>";
}
else{
print' 予備 <b>'.$WN_sB[0].'</b>';
print " Lv$WLV_b/exp$WEP_B" if $WN_sB[0];print "<br>";}
こんな感じに$WN_sCも設定(効果・記号は下に合わせています)
Sub_4では↓
オプション記号を『z』にした場合です。
local($PL_WN,$PL_WLV) = split(/!/,$PL_VALUES[9]);
local($VS_WN,$VS_WLV) = split(/!/,$VS_VALUES[9]);
の下に
local($PL_WBN,$PL_WBLV) = split(/!/,$PL_VALUES[10]);
local($VS_WBN,$VS_WBLV) = split(/!/,$VS_VALUES[10]);
local($PL_WCN,$PL_WCLV) = split(/!/,$PL_VALUES[11]);
local($VS_WCN,$VS_WCLV) = split(/!/,$VS_VALUES[11]);
そして
@Pl_W=split(/\,/,$WEAPON_LIST{"$PL_WN"});
@Vs_W=split(/\,/,$WEAPON_LIST{"$VS_WN"});
の下に
@Pl_WB=split(/\,/,$WEAPON_LIST{"$PL_WBN"});
@Vs_WB=split(/\,/,$WEAPON_LIST{"$VS_WBN"});
@Pl_WC=split(/\,/,$WEAPON_LIST{"$PL_WCN"});
@Vs_WC=split(/\,/,$WEAPON_LIST{"$VS_WCN"});
#特殊判別関数
if($Pl_WC[7]=~ m/z/){$SUBWP2=1;} #P予備欄2にあった場合
if($Pl_WB[7]=~ m/z/){$SUBWP1=1;} #P予備欄1にあった場合
if($Vs_WC[7]=~ m/z/){$SUBWP2=2;} #V予備欄2にあった場合
if($Vs_WB[7]=~ m/z/){$SUBWP1=2;} #V予備欄1にあった場合
そして例えば、
#追加装甲&貫通(貫通導入済み・追加装甲記号『9』の場合)
$plde1=int ($PL_WBLV/200+5);$plde2=int ($PL_WBLV/200+5);
$vsde1=int ($VS_WBLV/200+5);$vsde2=int ($VS_WCLV/200+5);
if($SUBWP1==1){$plbs=$PL_VALUES[20]+$plde1 if ($Pl_WB[7] =~ m/9/)&($Vs_W[7] !~ m/6/);}
if($SUBWP1==2){$vsbs=$VS_VALUES[20]+$vsde1 if ($Vs_WB[7] =~ m/9/)&($Pl_W[7] !~ m/6/);}
if($SUBWP2==1){$plbs=$PL_VALUES[20]+$plde2 if ($Pl_WC[7] =~ m/9/)&($Vs_W[7] !~ m/6/);}
if($SUBWP2==2){$vsbs=$VS_VALUES[20]+$vsde2 if ($Vs_WC[7] =~ m/9/)&($Pl_W[7] !~ m/6/);}
#照準装置>特殊時1(特殊記号『a』の場合)
if($SUBWP1==1 && $Pl_WB[7]=~ m/a/){$Pl_W[2]*=int($PL_WBLV/100/100+1);}
if($SUBWP1==2 && $Vs_WB[7]=~ m/a/){$Vs_W[2]*=int($VS_WBLV/100/100+1);}
#照準装置>特殊時2
if($SUBWP2==1 && $Pl_WC[7]=~ m/a/){$Pl_W[2]*=int($PL_WCLV/200/100+1);}
if($SUBWP2==2 && $Vs_WC[7]=~ m/a/){$Vs_W[2]*=int($VS_WCLV/200/100+1);}
特殊効果装備にEN消費させたい場合は
#特殊装備EN消費
if($SUBWP1==1){$Pl_W[4]+=$Pl_WB[4];}
if($SUBWP1==2){$Vs_W[4]+=$Vs_WB[4];}
#特殊装備2EN消費
if($SUBWP2==1){$Pl_W[4]+=$Pl_WC[4];}
if($SUBWP2==2){$Vs_W[4]+=$Vs_WC[4];}
これを#特殊判別関数の下あたりにいれると良いと思います。
その他なんでも出切ると思います。
効果は武器LVによって上がって行く設定ですが、そこを固定すればLV関係なく、上がる様に出来ます。
うちでは表示の部分をもっと複雑にやっているので、直したんですが
エラー、表示不具合出た場合は直します。
予備武器2つとも効果出したい場合は$SUBWP系を全て無かった事にして下さい。||||||ステータス画面に予備武器(防具・特殊効果など)の効果を表示
(特殊装備は特殊記号『z』で判別していますが普通にやっても応用できると思います)
(特殊装備の種類が10を超えるようなら『z』=追加装備とやると整理がつきやすき良い感じだと思います)|||end|||
cookbook|||2001/11/24/Sat|||14:15:38|||aafKPWZb/dLAs|||武器|||ケアヴェグ||||||ケアヴェグの燃える島|||http://isweb26.infoseek.co.jp/play/amsmsato/|||10|||オプション装備の説明忘れ|||local($PL_bWN,$PL_bWLV) = split(/!/,$PL_VALUES[10]);
local($VS_bWN,$VS_bWLV) = split(/!/,$VS_VALUES[10]);
local($PL_cWN,$PL_cWLV) = split(/!/,$PL_VALUES[11]);
local($VS_cWN,$VS_cWLV) = split(/!/,$VS_VALUES[11]);
これを入れなくちゃダメでした・・・
ホントにゴメソ。
local($PL_WN,$PL_WLV) = split(/!/,$PL_VALUES[9]);
local($VS_WN,$VS_WLV) = split(/!/,$VS_VALUES[9]);
この下にでもいれておいてくだせえ・・・
||||||重大な部分を入れ忘れてました・・
動かなくて困った人が多いはず(汗|||end|||