Don/OnRequestValues/OnGetValues対応法

OnRequestValues/OnGetValuesとは?

  • ゴースト間で変数のやりとりをするための規格です。
  • ゴースト間模擬戦闘とかで使われたりします。
    • 本来は同時起動中のゴーストの性別や年齢を取得し、より自然なコミュニケートを実現するために考案された仕様であり、決してゴースト同士ケンカさせるための仕様ではありません。

関連リンク

目次

対応法

里々

# written by Don
# Special Thanks To LR and Legokichi.

# 08/10/31更新 ssuを一切使わず高速化
@OnRequestValues
\![raiseother,(R0),OnGetValues,(FMO0name)(loop,AddRVArg,1,(Rの数))]
@AddRVArg
(call(バイト値,1)AddRVArgExist_(単語群「(R(AddRVArgカウンタ))」の存在)(バイト値,1)(R(AddRVArgカウンタ)))
@AddRVArgExist_1
,(A0)=((A0))
#変数記入例
@0name
(0キャラクター名)
@0キャラクター名
【さくら名】
@0種族
人間
@0種族タイプ
人型
@0年齢層
(0世代)
@0世代
若者
@0性別
女性
@0行動タイプ
物理攻撃
@0LIFE
10
@0STR
10
@0DEX
10
@0AGL
10
@0MIN
10
@0INT
10
@0SEN
10

@1name
(1キャラクター名)
@1キャラクター名
【うにゅう名】
@1種族
うにゅう
@1種族タイプ
獣型
@1年齢層
(1世代)
@1世代
不明
@1性別
不明
@1行動タイプ
精神攻撃
@0LIFE
10
@0STR
10
@0DEX
10
@0AGL
10
@0MIN
10
@0INT
10
@0SEN
10

リンク

///////// written by C.Ponapalt

OnRequestValues
{
	_cname = PROPERTY_CHARACTER_NAME
	
	_n = ARRAYSIZE(reference)
	_return_script = ''
	
	for _i = 1 ; _i < _n ; _i++ {
		_result = EVAL('プロパティ' + reference[_i])
		if STRLEN(_result) {
			_return_script += ',"'
			_return_script += reference[_i]
			_return_script += '='
			_return_script += _result
			_return_script += '"'
		}
	}
	
	if STRLEN(_return_script) {
		"\C\![raiseother,%(reference0),OnGetValues,%(_cname[0,','])%(_return_script)]"
	}
}
//変数記入例
#define PROPERTY_CHARACTER_NAME "【さくら名】,【うにゅう名】"

プロパティ0name
{
	プロパティ0キャラクター名
}
プロパティ0キャラクター名
{
	PROPERTY_CHARACTER_NAME[0,',']
}
プロパティ0年齢層
{
	プロパティ0世代
}
プロパティ0世代
{
	// 【入力】\hの年齢層・世代 (子供|若者|大人|老人|不明)
	'若者'
}
プロパティ0性別
{
	// 【入力】\hの性別 (男性|女性|雌雄同体|不明)
	'女性'
}
プロパティ0種族
{
	// 【入力】\hの種族
	'人間'
}
プロパティ0種族タイプ
{
	// 【入力】\hの種族タイプ (人型|獣型|植物型|不定形型|無機物型)
	'人型'
}

//CyberSphere
//とりあえず基本的にLIFE以外を足して60前後になるように調整すると「ふつう」になる

プロパティ0行動タイプ
{
	// 【入力】\hの行動タイプ(属性?) (物理攻撃|精神攻撃)
	'物理攻撃' 
}
プロパティ0LIFE
{
	// 【入力】\hの体力。即値(int)。
	10
}
プロパティ0STR
{
	// 【入力】\hの腕力。物理攻撃力。即値(int)。
	10
}
プロパティ0DEX
{
	// 【入力】\hの器用さ。物理攻撃命中率。即値(int)。
	10
}
プロパティ0AGL
{
	// 【入力】\hの敏捷さ。物理攻撃回避率。即値(int)。
	10
}
プロパティ0MIN
{
	// 【入力】\hの精神力。精神攻撃力。即値(int)。
	10
}
プロパティ0INT
{
	// 【入力】\hの知力。精神攻撃命中率。即値(int)。
	10
}
プロパティ0SEN
{
	// 【入力】\hの感性。精神攻撃回避率。即値(int)。
	10
}

プロパティ1name
{
	プロパティ1キャラクター名
}
プロパティ1キャラクター名
{
	PROPERTY_CHARACTER_NAME[1,',']
}
プロパティ1年齢層
{
	プロパティ1世代
}
プロパティ1世代
{
	// 【入力】\uの年齢層・世代 (子供|若者|大人|老人|不明)
	'不明'
}
プロパティ1性別
{
	// 【入力】\uの性別 (男性|女性|雌雄同体|不明)
	'不明'
}
プロパティ1種族
{
	// 【入力】\uの種族
	'うにゅう'
}
プロパティ1種族タイプ
{
	// 【入力】\uの種族タイプ (人型|獣型|植物型|不定形型|無機物型)
	'獣型'
}

//CyberSphere
//とりあえず基本的にLIFE以外を足して60前後になるように調整すると「ふつう」になる

プロパティ1行動タイプ
{
	// 【入力】\uの行動タイプ(属性?) (物理攻撃|精神攻撃)
	'物理攻撃'
}
プロパティ1LIFE
{
	// 【入力】\uの体力。即値(int)。
	10
}
プロパティ1STR
{
	// 【入力】\uの腕力。物理攻撃力。即値(int)。
	10
}
プロパティ1DEX
{
	// 【入力】\uの器用さ。物理攻撃命中率。即値(int)。
	10
}
プロパティ1AGL
{
	// 【入力】\uの敏捷さ。物理攻撃回避率。即値(int)。
	10
}
プロパティ1MIN
{
	// 【入力】\uの精神力。精神攻撃力。即値(int)。
	10
}
プロパティ1INT
{
	// 【入力】\uの知力。精神攻撃命中率。即値(int)。
	10
}
プロパティ1SEN
{
	// 【入力】\uの感性。精神攻撃回避率。即値(int)。
	10
}

華和梨

# written by Don
# Special Thanks To Towa and Musouran.
 
event.OnRequestValues : $(
	setstr @i 1;
	setstr @ResponseString ${sakura.name};
	while $[ ${System.Request.Reference${@i}} != $(NULL) ] $(
		if $[ ${Property.${System.Request.Reference${@i}}} != $(NULL) ] $(
			adddictstr @ResponseString ","${System.Request.Reference${@i}}=${Property.${System.Request.Reference${@i}}};
		);
		inc @i;
	);
	echo \![raiseother,${System.Request.Reference0},OnGetValues,$(get @ResponseString)]\e;
)
# 変数記入例

# \0\1名定義

sakura.name : 【さくら名】

kero.name : 【うにゅう名】

# 以下、各プロパティ。

Property.0name : ${Property.0キャラクター名}

Property.0キャラクター名 : ${sakura.name}

Property.0種族 : 人間

Property.0種族タイプ : 人型

Property.0年齢層 : ${Property.0世代}

Property.0世代 : 若者

Property.0性別 : 女性

Property.0行動タイプ : 物理攻撃

Property.0LIFE : 10

Property.0STR : 10

Property.0DEX : 10

Property.0AGL : 10

Property.0MIN : 10

Property.0INT : 10

Property.0SEN : 10

Property.1name : ${Property.1キャラクター名}

Property.1キャラクター名 : ${kero.name}

Property.1種族 : うにゅう

Property.1種族タイプ : 獣型

Property.1年齢層 : ${Property.0世代}

Property.1世代 : 不明

Property.1性別 : 不明

Property.1行動タイプ : 精神攻撃

Property.1LIFE : 10

Property.1STR : 10

Property.1DEX : 10

Property.1AGL : 10

Property.1MIN : 10

Property.1INT : 10

Property.1SEN : 10

その他

誰が送るのですか

  • 08/02/09現在、OnRequestValuesを送信するゴースト
    • ぬるぽ いんたーはい
    • ごーすとじてん
    • きゅーぴっど

なぜかゴースト間模擬戦闘に使われている

  • 「ごーすとじてん」のゴースト間模擬戦闘機能は、現在「きゅーぴっど」に引き継がれています。
  • やや仕様が変わりましたが、「ごーすとじてん」でも可能です。

歴史的経緯

コメント

  • 勝手にあちこちから転載していますが、マズイ場合はこちらにコメント下さい。 -- Don 2008-02-09 (土) 15:26:20

Reload   New Edit Freeze Diff ファイルUp Copy Rename   Front page List of pages Search Recent changes Backup   Help
feed rss feed rdf feed rss20 feed lirs emily4 inside marble note
Last-modified: Fri, 31 Oct 2008 20:04:00 HADT