*傭兵AI [#yf513407]
ホムンクルスのようにAIを利用して行動を制御できます。~
AIは、ホムンクルスAIを流用したファイルが新規追加されます。~
*傭兵AI [#dfc99ce4]
傭兵は、ホムンクルスと同じようにAIを利用して行動を制御できます。~
傭兵のAIは、ホムンクルスAIを流用した''AI_M.lua''が新規追加されます。~
日本ROのAI更新と変更はリヒタルゼンアップデート以来になります。~
しかし、日本での実装は年中になるかすら不明((Gung-Ho社の手のひらの上にある。))です。~

**AI [#y7b5384e]
-デフォルトは''ノンアクティブ状態''
-''AI_M.lua''で行動を制御
-''AI_M.lua''の中身はホムンクルスAIの''AI.lua''とほとんど同じ
**AI [#zbd45f05]
-デフォルトは''ノンアクティブ状態'':非先攻型(GetMyEnemyA使用) 。
-''AI_M.lua''で行動を制御します。
--''AI.lua''はホムンクルスを制御するファイルです。
-''AI_M.lua''の中身はホムンクルスAIの''AI.lua''とほとんど同じ。
-''&color(red){Const.luaはホムンクルスAIと共通};''
-AI_M.luaの''M''は、傭兵(''&color(darkgreen){M};ercenary'')の頭文字。~
-AI_M.luaの''M''は、傭兵(''&color(darkgreen){M};ercenary'')の頭文字です。
-''/merai'' で傭兵デフォルトAIと傭兵カスタムAIを切り替えます。
-スクロール、傭兵のスキルはショートカットに登録可能
-[[Azzy Mercenary AI>http://pc3merchant.net/index.php?AI%BE%DC%BA%D9%2FAzzy]]が一番、使いやすい。(2008年5月3日現在)

**フォルダ構成 [#ja23d981]
**フォルダ構成 [#g81b372b]
-''&color(red){赤:追加ファイル};''
-''&color(darkgreen){緑:更新ファイル};''
-./:''ROクライアントインストールフォルダ''
-./AI/
--AI.lua
--''&color(red){AI_M.lua};''
--''&color(darkgreen){Const.lua};''(アップデート)
--Util.lua
-''&color(red){./AI/USER_AI/};''
--''&color(red){AI_M.lua};'' : "./AI/AI_M.lua"と同一
--''&color(red){Const.lua};'' : "./AI/Const.lua"と同一

**変更 [#j6b637b5]
***上:AI.lua / 下:AI_M.lua [#s2cb9489]
-グローバル変数
**変更点 [#pa416f2b]
-GetV用定数に''V_MERTYPE=12''(傭兵種類)が追加されます。 
-傭兵種類を表す定数''ARCHER01〜10''、''LANCER01〜10''、''SWORDMAN01〜10''が追加されます。
-''SkillObject関数が成否結果&color(red){(0/1)};を返す''ようになりました。
--今までは先に敵が死んだり場合などで、スキル成否を判定できなかったが、出来るように 
なった模様。
--戻り値を使って判定している箇所が追加されていました。
-ホムンクルスと違い、傭兵は攻城戦で&color(red){''エンペリウムを攻撃することが出来ません。''};

 MyID				= 0		-- ホムンクルス id
 MySkill				= 0		-- ホムンクルスの スキル
 MySkillLevel			= 0		-- ホムンクルスの スキル レベル
**&aname(Reference){参考}; [#z9a753f1]
+[[傭兵AI差分>Mercenary/AI_diff]]
+[[リンク>Link]]
-[[らくがき@iRO - 新世界編>http://zero.kitaguni.tv/]]
--[[らくがき@iRO - 新世界編:2008年04月21日>http://zero.kitaguni.tv/d2008-04-21.html]]

 MyID				= 0		-- 傭兵 id
 MySkill				= 0		-- 傭兵の スキル
 MySkillLevel			= 0		-- 傭兵の スキル レベル

-function	OnATTACK_ST ()

 		SkillObject (MyID,MySkillLevel,MySkill,MyEnemy)

 		if (1 == SkillObject(MyID,MySkillLevel,MySkill,MyEnemy)) then
 			MyEnemy = 0
 		end

-function	GetMyEnemy (myid)

 	local result = 0
 
 	local type = GetV (V_HOMUNTYPE,myid)
 	if (type == LIF or type == LIF_H or type == AMISTR or type == AMISTR_H or type == LIF2 or type == LIF_H2 or type == AMISTR2 or type == AMISTR_H2) then
 		result = GetMyEnemyA (myid)
 	elseif (type == FILIR or type == FILIR_H or type == VANILMIRTH or type == VANILMIRTH_H or type == FILIR2 or type == FILIR_H2 or type == VANILMIRTH2 or type == VANILMIRTH_H2) then
 		result = GetMyEnemyB (myid)
 	end
 	return result

 	local result = 0
 
 	local type = GetV (V_MERTYPE,myid)
 	if (type >= ARCHER01 and type <= SWORDMAN10) then
 		result = GetMyEnemyA (myid)
 	else
 		result = GetMyEnemyB (myid)
 	end
 	return result

***Const.lua(上:旧 / 下:新) [#rf4205b9]

 --------------------------------------------
 -- ホムンクルス 種類 
 --------------------------------------------
 
 LIF				= 1
 AMISTR			= 2
 FILIR			= 3
 VANILMIRTH		= 4
 LIF2			= 5
 AMISTR2			= 6
 FILIR2			= 7
 VANILMIRTH2		= 8
 LIF_H			= 9
 AMISTR_H		= 10
 FILIR_H			= 11
 VANILMIRTH_H	= 12
 LIF_H2			= 13
 AMISTR_H2		= 14
 FILIR_H2		= 15
 VANILMIRTH_H2	= 16
 
 --------------------------------------------

 --------------------------------------------
 -- ホムンクルス 種類 
 --------------------------------------------
 LIF				= 1
 AMISTR			= 2
 FILIR			= 3
 VANILMIRTH		= 4
 LIF_H			= 5
 AMISTR_H		= 6
 FILIR_H			= 7
 VANILMIRTH_H	= 8
 --------------------------------------------

**追加 [#f34a40d1]
***Const.lua [#nd37a1e2]

 V_MERTYPE		  =		12    -- 傭兵 種類	

 --------------------------------------------
 -- 傭兵 種類 
 --------------------------------------------
 ARCHER01	= 1		
 ARCHER02	= 2			
 ARCHER03	= 3	
 ARCHER04	= 4
 ARCHER05	= 5
 ARCHER06	= 6
 ARCHER07	= 7
 ARCHER08	= 8
 ARCHER09	= 9
 ARCHER10	= 10
 LANCER01	= 11
 LANCER02	= 12
 LANCER03	= 13
 LANCER04	= 14
 LANCER05	= 15
 LANCER06	= 16
 LANCER07	= 17
 LANCER08	= 18
 LANCER09	= 19
 LANCER10	= 20
 SWORDMAN01	= 21		
 SWORDMAN02	= 22	
 SWORDMAN03	= 23
 SWORDMAN04	= 24
 SWORDMAN05	= 25
 SWORDMAN06	= 26
 SWORDMAN07	= 27
 SWORDMAN08	= 28
 SWORDMAN09	= 29
 SWORDMAN10	= 30
 --------------------------------------------


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS