トップページ > 個人○○作成(武器以外)

個人○○作成(武器以外)

[概要] #####################config.cgi##########################################################
	$ORIGINAL_ITEM = "精霊";
config.cgiの適当な位置に追加する。
ここを変えることにより、個人○○の部分が変わる。とりあえず初期値は精霊にしておいた。
#########################################################################################

########################ebs.cgi##########################################################
	sub ORI_ITEM	{require 'ebs_sub5.cgi';&ORIGINAL_ITEM;}
ebs.cgiの一番下にでも追加しておく。
#########################################################################################

###################ebs_sub3.cgi##########################################################
ebs_sub3.cgiの122行目(&STATUS)あたりに
	my @ORI_DATA = split(/!/,$PL_VALUES[47]);
	print"<span style=\"$STYL1\">  <b>$ORIGINAL_ITEM</b>  </span><b>$ORI_DATA[0]</b>   $STATUS_NAME[0]+$ORI_DATA[1] $STATUS_NAME[1]+$ORI_DATA[2] $STATUS_NAME[2]+$ORI_DATA[3] $STATUS_NAME[3]+$ORI_DATA[4] <br>";
と追加する。
ステータス画面で個人○○の名前を性能を表示する。
いろいろな情報をステータス画面に表示しすぎて邪魔なら、武器の予備2つをコメントアウトでもしとこう。

ebs_sub3.cgiの279行目(&CUSTOMIZE)あたりに

	/^$ORIGINAL_ITEM作成$/ && do{
		if($PL_VALUES[47]){&ERROR("$ORIGINAL_ITEMは1人1つまでしか所持できません");}
		if((!$FORM{'ori_name'}) || (length($FORM{'ori_name'}) >= 30)){&ERROR("$ORIGINAL_ITEM名の入力が正しくありません");}
		if(($FORM{'ori_at'} =~ /\D/) || ($FORM{'ori_at'} > 9)){&ERROR("$STATUS_NAME[0]補正の入力が正しくありません");}
		if(($FORM{'ori_gu'} =~ /\D/) || ($FORM{'ori_gu'} > 9)){&ERROR("$STATUS_NAME[1]補正の入力が正しくありません");}
		if(($FORM{'ori_sp'} =~ /\D/) || ($FORM{'ori_sp'} > 9)){&ERROR("$STATUS_NAME[2]補正の入力が正しくありません");}
		if(($FORM{'ori_hit'} =~ /\D/) || ($FORM{'ori_hit'} > 9)){&ERROR("$STATUS_NAME[3]補正の入力が正しくありません");}
		if(!$FORM{'ori_at'}){$FORM{'ori_at'} = 0;}
		if(!$FORM{'ori_gu'}){$FORM{'ori_gu'} = 0;}
		if(!$FORM{'ori_sp'}){$FORM{'ori_sp'} = 0;}
		if(!$FORM{'ori_hit'}){$FORM{'ori_hit'} = 0;}
		if((!$FORM{'ori_at'}) || ($FORM{'ori_at'} + $FORM{'ori_gu'} + $FORM{'ori_sp'} + $FORM{'ori_hit'}) > 9){&ERROR("ステータス補正の合計値が大きすぎます");}
		$PL_VALUES[47] = "$FORM{'ori_name'}!$FORM{'ori_at'}!$FORM{'ori_gu'}!$FORM{'ori_sp'}!$FORM{'ori_hit'}";
	last CUSTOM;};
と追加する。
実際に個人○○を作成している箇所。
上限値を変える場合は9となっている箇所を小さくしたり大きくしたりしよう。
#########################################################################################

###################ebs_sub4.cgi##########################################################
ebs_sub4.cgiの237行目(&BATTLE2)あたりに
	#自分の個人○○に関する処理
	if($PL_VALUES[47]){
		my @ORI_DATA = split(/!/,$PL_VALUES[47]);
		$Pl_AttPoint = int($Pl_AttPoint * ((10 + $ORI_DATA[1]) / 10));
		$Pl_DefPoint = int($Pl_DefPoint * ((10 + $ORI_DATA[2]) / 10));
		$Pl_SpPoint  = int($Pl_SpPoint * ((10 + $ORI_DATA[3]) / 10));
		$Pl_MisPoint = int($Pl_MisPoint * ((10 + $ORI_DATA[4]) / 10));
		$Pl_Original = "<b>$ORI_DATA[0]</b>($STATUS_NAME[0]+$ORI_DATA[1] $STATUS_NAME[1]+$ORI_DATA[2] $STATUS_NAME[2]+$ORI_DATA[3] $STATUS_NAME[3]+$ORI_DATA[4])<br>";
	}
	#相手の個人○○に関する処理
	if($VS_VALUES[47]){
		my @ORI_DATA = split(/!/,$VS_VALUES[47]);
		$Vs_AttPoint = int($Vs_AttPoint * ((10 + $ORI_DATA[1]) / 10));
		$Vs_DefPoint = int($Vs_DefPoint * ((10 + $ORI_DATA[2]) / 10));
		$Vs_SpPoint  = int($Vs_SpPoint * ((10 + $ORI_DATA[3]) / 10));
		$Vs_MisPoint = int($Vs_MisPoint * ((10 + $ORI_DATA[4]) / 10));
		$Vs_Original = "<b>$ORI_DATA[0]</b>($STATUS_NAME[0]+$ORI_DATA[1] $STATUS_NAME[1]+$ORI_DATA[2] $STATUS_NAME[2]+$ORI_DATA[3] $STATUS_NAME[3]+$ORI_DATA[4])<br>";
	}
と追加しておく。
+1につき+10%性能が高くなるようにしている。

ebs_sub4.cgiの377行目と380行目(&BATTLE2)をそれぞれ、

	<b $chaStyl>EN:-$Pl_W[4]</b></div></td>
	<b $chaStyl>EN:-$Vs_W[4]</b></div></td></tr></table>
から

	<b $chaStyl>EN:-$Pl_W[4]</b></div>$Pl_Original</td>
	<b $chaStyl>EN:-$Vs_W[4]</b></div>$Vs_Original</td></tr></table>
とでも書き換えておく。
両者の個人○○と能力を表示しているだけなので、各自好きなところで調整を。
#########################################################################################

###################ebs_sub5.cgi##########################################################

ebs_sub5.cgiの189行目(&SPECIAL)あたりを

	$sp.= "<input name=\"custom\" type=\"submit\" value=\"個人$ORIGINAL_ITEM作成\" $STYLE_B1 onClick=\"document.Ms.cmd.value='ORI_ITEM';\">" if $PL_VALUES[29] >= 100 && !$PL_VALUES[47];
と追加する。
LV100と個人○○を持っていない場合だけ作れるようになる。
条件を変えたい場合はここを変えればいいけど、!$PL_VALUES[47]の条件を忘れると、いくらでも作れて毎回上書きしちゃうので注意。
ここだけじゃなくebs_sub5.cgiの&ORIGINAL_ITEM及び、ebs_sub3.cgiの&CUSTOMIZE()でも条件を満たせているかチェックするとなお良い。

ebs_sub5.cgiの一番下にでも

sub ORIGINAL_ITEM(){
	&LOCK;
		&DBM_CONVERT('P',"$FORM{pname}");
	&UNLOCK;
	&CUSTOM_HEADER('Main');
	&JScfm(checkOriginalItem,"$ORIGINAL_ITEMを作成します。よろしいですか?");

print <<"EOM";
	<TR><TD>$ORIGINAL_ITEM名:<input type=\"text\" name=\"ori_name\" size=\"30\" value=\"名無しさん\"></TD></TR>
	<TR><TD>$STATUS_NAME[0]補正:<input type=\"text\" name=\"ori_at\" size=\"1\" value=\"0\"></TD></TR>
	<TR><TD>$STATUS_NAME[1]補正:<input type=\"text\" name=\"ori_gu\" size=\"1\" value=\"0\"></TD></TR>
	<TR><TD>$STATUS_NAME[2]補正:<input type=\"text\" name=\"ori_sp\" size=\"1\" value=\"0\"></TD></TR>
	<TR><TD>$STATUS_NAME[3]補正:<input type=\"text\" name=\"ori_hit\" size=\"1\" value=\"0\"></TD></TR>
	<TR><TD><input type="submit" name="Cmode" value="$ORIGINAL_ITEM作成" $STYLE_B1 onClick="return checkOriginalItem()"></TD></TR>
	<TR><TD>ステータス補正は0〜9の範囲で設定して下さい。<BR>ただし4つの合計は+9までしか設定できません。</TD></TR>
	</FORM></TABLE>
EOM
	&FOOTER;
}
と追加する。
ここで個人○○の名前と性能を入力してもらう。
#########################################################################################