トップページ > 道具システム

道具システム


[概要]


###################_item.data############################################################
logフォルダ_item.dataというファイルを作成し、

	%ITEM_LIST=(
		"a"=>"ATが上がる道具(仮名),2500,65,2,40,5000,4,1,3",
		"b"=>"GUが上がる道具(仮名),2500,65,2,40,5000,4,2,3",
		"c"=>"HIT力が上がる道具(仮名),2500,65,2,40,5000,4,3",
		"d"=>"SP力が上がる道具(仮名),2500,65,2,40,5000,4,4,3",
	);
と記述する。
今回の改造で実際に使ってるのは、IDと名前と最後の二つの数字(特殊能力と取得確率)のみ。
########################################################################################

###################ebs_sub1.cgi#########################################################
8行目

	$ITEM_DATA = '_item.data';
を追加する。
########################################################################################

###################ebs_sub3.cgi#########################################################
121行目

	require "./$LOG_FOLDER/$ITEM_DATA";
	local($IT_A,$ITL_A) = split(/!/,$PL_VALUES[41]);
	@IT_sA=split(/\,/,$ITEM_LIST{"$IT_A"});print"<span style=\"$STYL1\">  <b>道具</b>  </span><b>".$IT_sA[0]."</b><br>";
を追加する。
メイン画面上フレームの装備の下に現在所持している道具を表示する。
########################################################################################

###################ebs_sub4.cgi#########################################################
239行目

	local($PL_IT,$PL_ILV) = split(/!/,$PL_VALUES[41]);
	local($VS_IT,$VS_ILV) = split(/!/,$VS_VALUES[41]);
	require "./$LOG_FOLDER/$ITEM_DATA";
	@Pl_I=split(/\,/,$ITEM_LIST{"$PL_IT"});
	@Vs_I=split(/\,/,$ITEM_LIST{"$VS_IT"});

	if		($Pl_I[7] == 1){
		$Pl_AttPoint = int($Pl_AttPoint * 1.5);
	}elsif($Pl_I[7] == 2){
		$Pl_DefPoint = int($Pl_DefPoint * 1.5);
	}elsif($Pl_I[7] == 3){
		$Pl_SpPoint = int($Pl_SpPoint * 1.5);
	}elsif($Pl_I[7] == 4){
		$Pl_MisPoint = int($Pl_MisPoint * 1.5);
	}

	if		($Vs_I[7] == 1){
		$Vs_AttPoint = int($Vs_AttPoint * 1.5);
	}elsif($Vs_I[7] == 2){
		$Vs_DefPoint = int($Vs_DefPoint * 1.5);
	}elsif($Vs_I[7] == 3){
		$Vs_SpPoint = int($Vs_SpPoint * 1.5);
	}elsif($Vs_I[7] == 4){
		$Vs_MisPoint = int($Vs_MisPoint * 1.5);
	}
を追加する。
ここで実際に特殊能力の処理をしている。
他に欲しい能力があれば、自分で考えて適切な位置に記述する。

461行目

	if (!$ResultBattle && !$PL_VALUES[41]){
		my@al=keys %ITEM_LIST;$alw=@al;
		$alw=int rand($alw);$gw=@al[$alw];$gw='a' if !$gw;
			@q=split(/\,/,$ITEM_LIST{"$gw"});
		if ($q[8] >= rand(100)){
			$PL_VALUES[41]=$gw;
			print "<font color=\"#f7e957\">道具を獲得。</font><br>\n";
		}
	}
を追加する。
道具を拾う処理。
複数の道具を所持できるようにするには、すぐ上にある武器の取得の処理を参考にする。 ########################################################################################


[機能追加の参考に]
ebs_sub3.cgiの&CUSTOMIZE()をいじれば、使ったときに効果のある道具なども作れるはず。

	/^道具使用$/ && do{
		require "./$LOG_FOLDER/$ITEM_DATA";
		local($IT_A,$ITL_A) = split(/!/,$PL_VALUES[41]);
		@IT_sA=split(/\,/,$ITEM_LIST{"$IT_A"});
		if($IT_sA[7] == "8"){
			$PL_VALUES[19]++;#特殊効果8の道具を使うとATが+1される
		}
		$PL_VALUES[41] = "";#使用するとなくなる
	last CUSTOM;};

ボタン類はebs_sub5.cgiの&EQUIP()でも参考にすれば問題ないかと。
装備同様に売買する方法も同じような感じにすればできる。