*ごーすとじてん模擬戦闘テンプレート [#fdda5882]
Don様のゴースト「[[ごーすとじてん>http://home.384.jp/evidence/]]」の模擬戦闘にセリフ対応するためのテンプレート(YAYA版)です。~
手っ取り早くセリフを入力して喋らせたい方向け。~
たぶん文5でも動きます。
~

***辞書ファイル [#a634debf]
#ref(yaya_ghostbattle_sample_2.dic)~
&color(Red){2007/9/9 修正};~
以前の辞書ファイル(yaya_ghostbattle_sample.dic)は、場合によっては辞書の修正をしないと
動作しない不具合があります。ご迷惑をおかけしました。
動作しなかった場合、新しい辞書ファイルをご利用下さい。(動作確認済み)

***使い方 [#kb4342ba]
-【入力】と書いてある欄に、パラメタもしくは台詞を列挙してください。
-台詞の入力は任意ですが、最下部の関数「BATTLE.0.Property」「BATTLE.1.Property」内の各項目は必須です。
欠けた項目があると戦闘が始まりません。また、同関数内の「name」プロパティはdescript.txtで指定したキャラクタ名を指定してください。
~

***そのほか [#i646d322]
-各【入力】欄で、以下の引数を参照できます。

 _argv[0] : 送信元「ごーすとじてん」
 _argv[1] : 攻撃側キャラクタ名
 _argv[2] : 防御側キャラクタ名
 _argv[3] : 戦闘結果 (物理|精神)攻撃(成功|失敗|回避|ミス)
            開始時「模擬戦闘開始」
 _argv[4] : 攻撃により発生したダメージ
 _argv[5] : 攻撃側LIFE
 _argv[6] : 防御側LIFE
~
*** ソース [#y5b7b0dd]

 
 
 /*********************************************************
 * ゴースト模擬戦闘 設定
 *********************************************************/
 
 BATTLE.0.Name
 {
 	BATTLE.0.Property('name')
 }
 
 BATTLE.1.Name
 {
 	BATTLE.1.Property('name')
 }
 
 
 /*********************************************************
 * ゴースト模擬戦闘 コア
 *********************************************************/
 
 OnJitenBattle
 {
 	_ref = (reference0,reference1,reference2,reference3,reference4,reference5,reference6)
 	
 	if reference1 == BATTLE.0.Name ; _repref1 = '0'
 	if reference1 == BATTLE.1.Name ; _repref1 = '1'
 	if reference2 == BATTLE.0.Name ; _repref2 = '0'
 	if reference2 == BATTLE.1.Name ; _repref2 = '1'
 	
 	_func = 'BATTLE.' + _repref1 + '.' + reference3
 	if ISFUNC(_func)
 	{
 		_funcref = _func + '(_ref)' 
 		EVAL(_funcref )
 		return
 	}
 	
 	
 	_func = 'BATTLE.' + _repref1 + '.Attack'
 	if ISFUNC(_func)
 	{
 		_funcref = _func + '(_ref)' 
 		EVAL(_funcref )
 		return
 	}
 	
 	
 	_func = 'BATTLE.' + _repref2 + '.Defense'
 	if ISFUNC(_func)
 	{
 		_funcref = _func + '(_ref)' 
 		EVAL(_funcref )
 		return
 	}
 }
 
 BATTLE.0.Attack
 {
 	if TOINT(_argv[6]) <= 0
 	{
 		BATTLE.0.Win(_argv)
 	}
 	else
 	{
 		_func = 'BATTLE.0.Attack.' + _argv[3]
 		if ISFUNC(_func) { EVAL( _func + '(_argv)') }
 	}
 }
 
 BATTLE.0.Defense
 {
 	if TOINT(_argv[6]) <= 0
 	{
 		BATTLE.0.Lose(_argv)
 	}
 	else
 	{
 		_func = 'BATTLE.0.Defense.' + _argv[3]
 		if ISFUNC(_func) { EVAL( _func + '(_argv)') }
 	}
 }
 
 BATTLE.1.Attack
 {
 	if TOINT(_argv[6]) <= 0
 	{
 		BATTLE.1.Win(_argv)
 	}
 	else
 	{
 		_func = 'BATTLE.1.Attack.' + _argv[3]
 		if ISFUNC(_func) { EVAL( _func + '(_argv)') }
 	}
 }
 
 
 BATTLE.1.Defense
 {
 	if TOINT(_argv[6]) <= 0
 	{
 		BATTLE.1.Lose(_argv)
 	}
 	else
 	{
 		_func = 'BATTLE.1.Defense.' + _argv[3]
 		if ISFUNC(_func) { EVAL( _func + '(_argv)') }
 	}
 }
 
 /*********************************************************
 * \0
 *********************************************************/
 
 BATTLE.0.模擬戦闘開始
 {
 	// 【入力】\0の戦闘開始時の挨拶
 }
 
 /////////////////////
 // \0の攻撃
 /////////////////////
 
 // 物理攻撃
 
 BATTLE.0.Attack.物理攻撃成功
 {
 	// 【入力】\0の物理攻撃が成功したときの台詞
 }
 
 BATTLE.0.Attack.物理攻撃失敗
 {
 	// 【入力】\0の物理攻撃が失敗したときの台詞
 }
 
 BATTLE.0.Attack.物理攻撃回避
 {
 	// 【入力】\0の物理攻撃が回避されたときの台詞
 }
 
 BATTLE.0.Attack.物理攻撃ミス
 {
 	// 【入力】\0の物理攻撃が発動ミスしたときの台詞
 }
 
 // 精神攻撃
 
 BATTLE.0.Attack.精神攻撃成功
 {
 	// 【入力】\0の精神攻撃が成功したときの台詞
 }
 
 BATTLE.0.Attack.精神攻撃失敗
 {
 	// 【入力】\0の精神攻撃が失敗したときの台詞
 }
 
 BATTLE.0.Attack.精神攻撃回避
 {
 	// 【入力】\0の精神攻撃が回避されたときの台詞
 }
 
 BATTLE.0.Attack.精神攻撃ミス
 {
 	// 【入力】\0の物理攻撃が発動ミスしたときの台詞
 }
 
 
 /////////////////////
 // \0の防御
 /////////////////////
 
 // 物理攻撃防御
 
 BATTLE.0.Defense.物理攻撃成功
 {
 	// 【入力】\0に対する物理攻撃の防御に失敗したときの台詞
 }
 
 BATTLE.0.Defense.物理攻撃失敗
 {
 	// 【入力】\0に対する物理攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃失敗
 }
 
 BATTLE.0.Defense.物理攻撃回避
 {
 	// 【入力】\0に対する物理攻撃の防御に成功したときの台詞
 	// 原因:回避成功
 }
 
 BATTLE.0.Defense.物理攻撃ミス
 {
 	// 【入力】\0に対する物理攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃発動ミス
 }
 
 // 精神攻撃防御
 
 BATTLE.0.Defense.精神攻撃成功
 {
 	// 【入力】\0に対する精神攻撃の防御に失敗したときの台詞
 }
 
 BATTLE.0.Defense.精神攻撃失敗
 {
 	// 【入力】\0に対する精神攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃失敗
 }
 
 BATTLE.0.Defense.精神攻撃回避
 {
 	// 【入力】\0に対する精神攻撃の防御に成功したときの台詞
 	// 原因:回避成功
 }
 
 BATTLE.0.Defense.精神攻撃ミス
 {
 	// 【入力】\0に対する精神攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃発動ミス
 }
 
 /////////////////////
 // \0・結末
 /////////////////////
 
 BATTLE.0.Win
 {
 	// 【入力】\0の攻撃の結果、相手のLIFE<=0となり、勝利したときの台詞
 }
 
 BATTLE.0.Lose
 {
 	// 【入力】相手の攻撃の結果、自分のLIFE<=0となり、敗北したときの台詞
 }
 
 
 
 /*********************************************************
 * \1
 *********************************************************/
 
 BATTLE.1.模擬戦闘開始
 {
 	// 【入力】\1の戦闘開始時の挨拶
 }
 
 /////////////////////
 // \1の攻撃
 /////////////////////
 
 //物理攻撃
 
 BATTLE.1.Attack.物理攻撃成功
 {
 	// 【入力】\1の物理攻撃が成功したときの台詞
 }
 
 BATTLE.1.Attack.物理攻撃失敗
 {
 	// 【入力】\1の物理攻撃が失敗したときの台詞
 }
 
 BATTLE.1.Attack.物理攻撃回避
 {
 	// 【入力】\1の物理攻撃が回避されたときの台詞
 }
 
 BATTLE.1.Attack.物理攻撃ミス
 {
 	// 【入力】\1の物理攻撃が発動ミスしたときの台詞
 }
 
 // 精神攻撃
 
 BATTLE.1.Attack.精神攻撃成功
 {
 	// 【入力】\1の精神攻撃が成功したときの台詞
 }
 
 BATTLE.1.Attack.精神攻撃失敗
 {
 	// 【入力】\1の精神攻撃が失敗したときの台詞
 }
 
 BATTLE.1.Attack.精神攻撃回避
 {
 	// 【入力】\1の精神攻撃が回避されたときの台詞
 }
 
 BATTLE.1.Attack.精神攻撃ミス
 {
 	// 【入力】\1の物理攻撃が発動ミスしたときの台詞
 }
 
 
 /////////////////////
 // \1の防御
 /////////////////////
 
 // 物理攻撃防御
 
 BATTLE.1.Defense.物理攻撃成功
 {
 	// 【入力】\1に対する物理攻撃の防御に失敗したときの台詞
 }
 
 BATTLE.1.Defense.物理攻撃失敗
 {
 	// 【入力】\1に対する物理攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃失敗
 }
 
 BATTLE.1.Defense.物理攻撃回避
 {
 	// 【入力】\1に対する物理攻撃の防御に成功したときの台詞
 	// 原因:回避成功
 }
 
 BATTLE.1.Defense.物理攻撃ミス
 {
 	// 【入力】\1に対する物理攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃発動ミス
 }
 
 // 精神攻撃防御
 
 BATTLE.1.Defense.精神攻撃成功
 {
 	// 【入力】\1に対する精神攻撃の防御に失敗したときの台詞
 }
 
 BATTLE.1.Defense.精神攻撃失敗
 {
 	// 【入力】\1に対する精神攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃失敗
 }
 
 BATTLE.1.Defense.精神攻撃回避
 {
 	// 【入力】\1に対する精神攻撃の防御に成功したときの台詞
 	// 原因:回避成功
 }
 
 BATTLE.1.Defense.精神攻撃ミス
 {
 	// 【入力】\1に対する精神攻撃の防御に成功したときの台詞
 	// 原因:相手の攻撃発動ミス
 }
 
 /////////////////////
 // \1・結末
 /////////////////////
 
 BATTLE.1.Win
 {
 	// 【入力】\1の攻撃の結果、相手のLIFE<=0となり、勝利したときの台詞
 }
 
 BATTLE.1.Lose
 {
 	// 【入力】相手の攻撃の結果、自分のLIFE<=0となり、敗北したときの台詞
 }
 
 /*********************************************************
 * ゴーストプロパティを返す
 *********************************************************/
 
 /////////////////////
 // プロパティ要求対応 
 /////////////////////
 
 OnRequestProperty
 {
 	_text = ''
 	if TOINT(reference1) < 0 { //負の場合はキャラ数を返すでっちあげ仕様
 		_text = '2'
 	}
 	else {
 		_text = EVAL('BATTLE.' + reference1 + '.Property' + "('" + reference2 + "')")
 	}
 	
 	if STRLEN(_text) {
 		"\C\![raiseother,%(reference0),OnGetProperty,%(BATTLE.0.Property('name')),/
		%(reference1),%(reference2),%(_text)]"
 	}
 }
 
 
 BATTLE.0.Property
 {
 	case _argv[0] {
 	
 		// 以下、ゴーストプロパティ定義
 		
 		when 'name','キャラクター名' {
 			// 【入力】\0の名前
 			'和泉はるか'
 		}
 		when '年齢層','世代' {
 			// 【入力】\0の年齢層・世代 (子供|若者|大人|老人|不明)
 		}
 		when '性別' {
 			// 【入力】\0の性別 (男性|女性|雌雄同体|不明)
 		}
 		when '種族' {
 			// 【入力】\0の種族
 		}
 		when '種族タイプ' {
 			// 【入力】\0の種族タイプ (人型|獣型|植物型|不定形型|無機物型)
 		}
 		when 'プロフィール' {
 			// 【入力】\0のプロフィール文章
 		}
 		
 		// 以下、ゴースト模擬戦闘パラメータ
 		// LIFE以外の平均が60で「ふつう」
 		
 		when '行動タイプ' { 
 			// 【入力】\0の行動タイプ(属性?) (物理攻撃|精神攻撃)
 		}
 		when 'LIFE' {
 			// 【入力】\0の体力。即値(int)。
 		}
 		when 'STR' { 
 			// 【入力】\0の腕力。物理攻撃力。即値(int)。
 		}
 		when 'DEX' {
 			// 【入力】\0の器用さ。物理攻撃命中率。即値(int)。
 		}
 		when 'AGL' {
 			// 【入力】\0の敏捷さ。物理攻撃回避率。即値(int)。
 		}
 		when 'MIN' {
 			// 【入力】\0の精神緑。精神攻撃力。即値(int)。
 		}
 		when 'INT' {
 			// 【入力】\0の知力。精神攻撃命中率。即値(int)。
 		}
 		when 'SEN' {
 			// 【入力】\0の感性。精神攻撃回避率。即値(int)。
 		}
 	}
 }
 
 BATTLE.1.Property
 {
 	case _argv[0] {
 	
 		// 以下、ゴーストプロパティ定義
 		
 		when 'name','キャラクター名' {
 			// 【入力】\1の名前
 		}
 		when '年齢層','世代' {
 			// 【入力】\1の年齢層・世代 (子供|若者|大人|老人|不明)
 		}
 		when '性別' {
 			// 【入力】\1の性別 (男性|女性|雌雄同体|不明)
 		}
 		when '種族' {
 			// 【入力】\1の種族
 		}
 		when '種族タイプ' {
 			// 【入力】\1の種族タイプ (人型|獣型|植物型|不定形型|無機物型)
 		}
 		when 'プロフィール' {
 			// 【入力】\1のプロフィール文章
 		}
 		
 		// 以下、ゴースト模擬戦闘パラメータ
 		// LIFE以外の平均が60で「ふつう」
 		
 		when '行動タイプ' { 
 			// 【入力】\1の行動タイプ(属性?) (物理攻撃|精神攻撃)
 		}
 		when 'LIFE' {
 			// 【入力】\1の体力。即値(int)。
 		}
 		when 'STR' { 
 			// 【入力】\1の腕力。物理攻撃力。即値(int)。
 		}
 		when 'DEX' {
 			// 【入力】\1の器用さ。物理攻撃命中率。即値(int)。
 		}
 		when 'AGL' {
 			// 【入力】\1の敏捷さ。物理攻撃回避率。即値(int)。
 		}
 		when 'MIN' {
 			// 【入力】\1の精神緑。精神攻撃力。即値(int)。
 		}
 		when 'INT' {
 			// 【入力】\1の知力。精神攻撃命中率。即値(int)。
 		}
 		when 'SEN' {
 			// 【入力】\1の感性。精神攻撃回避率。即値(int)。
 		}
 	}
 }
 

***利用について [#a1f0d19e]
利用・改変は自由です。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS