「OnBlocked」の編集履歴(バックアップ)一覧に戻る

OnBlocked - (2005/11/10 (木) 21:27:43) のソース

----

・OnBlockedに入るスクリプトを置いていきます。
・細かい区分けや導入方法はAIについてを参照して下さい。 
 
----
#Contents
**NWNデフォルト(翻訳付き)
・知力5以下なら扉を閉められると何も出来ない&br()知力7以下の場合は扉を壊そうとする。&br()知力7以上の場合は扉を開けようとするが、開かない時は壊そうとする。
	void main()
	{
	
		object oDoor = GetBlockingDoor();
		//自分を妨害しているドアを習得
	
		if(GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 5)
		//知力が5以上の場合は真
		{
			if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_OPEN) && GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 7 )
			//クリーチャーがドアを開けられる、かつ知力が7以上の場合は真
			{
				DoDoorAction(oDoor, DOOR_ACTION_OPEN);
				//oDoorを開ける
			}
			else if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_BASH))
			//クリーチャーがドアが開けられない、もしくは知力が7以下の場合はドアを壊そうとする。
			{
				DoDoorAction(oDoor, DOOR_ACTION_BASH);
			}
		}
	}

**スクリプトver1.00(翻訳付き)
・知力10以上の場合は開かない扉に阻まれた場合それを無視する。
・PCを無視して扉を延々と殴り続ける馬鹿を防止。
	void main()
	{
		object oDoor = GetBlockingDoor();
		//自分を妨害しているドアを習得
	
		if(GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 5)
		//知力が5以上の場合は真
		{
			if(GetAbilityScore(OBJECT_SELF, ABILITY_INTELLIGENCE) >= 7 )
			//知力が7以上の場合は真
			{
				if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_OPEN))
				//扉が開けられる場合は真
				{
					DoDoorAction(oDoor, DOOR_ACTION_OPEN);
					//oDoorを開ける
				}
			}
			else if(GetIsDoorActionPossible(oDoor, DOOR_ACTION_BASH))
			//知力が7以下の場合はドアを壊そうとする。
			{
				DoDoorAction(oDoor, DOOR_ACTION_BASH);
			}
		}
	}