※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

LBカウンタと護衛とか一切関係ありませんが何か?


ペットのAIを作ってみました。
マビノギです。
主人orペットが警戒されるとアタックしてからLBカウンターを開始する仕組みなんですが・・・暴発しやすいなこれw
アタックするべきところで固まってたりスマッシュしちゃったり・・・面倒です。
なんかこうもうちょっと簡単に作れる仕組みとか無いもんかねw

まあいいや、赤字になりながら作った試作AI「攻めたりしない。」。適当に公開してみます。
AI得意な方見てたら修正お願いします><
+攻めたりしない。
<rules>
<rule name="主人が認識される アタック">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="melee_attack" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="master_targeted" targeting_type="alert"/>
</rule>
<rule name="主人が警戒される スマッシュ">
	<conditions>
		<condition name="skill_preparable" pet_skill="smash"/>
	</conditions>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="prepare_skill" pet_skill="smash" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="master_targeted" targeting_type="attack"/>
</rule>
<rule name="ペットが認識される アタック">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="melee_attack" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="targeted" targeting_type="alert"/>
</rule>
<rule name="ペットが警戒される スマッシュ">
	<conditions>
		<condition name="skill_preparable" pet_skill="smash"/>
	</conditions>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="prepare_skill" pet_skill="smash" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="targeted" targeting_type="attack"/>
</rule>
<rule name="アタック→追撃アタック">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="melee_attack" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="attack" pet_attackable_skill="basic" down="false"/>
</rule>
<rule name="アタック後、カウンター">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="0"/>
		</sequence>
	</pattern>
	<event name="attack" pet_attackable_skill="basic" down="true"/>
</rule>
<rule name="カウンター後、LB">
	<conditions>
		<condition name="skill_preparable" pet_skill="lightningbolt"/>
	</conditions>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="stackmagic_attack" stack_magic="lightningbolt" charge="1" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="attack" pet_attackable_skill="counter" down="true"/>
</rule>
<rule name="LB後、カウンター">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="0"/>
		</sequence>
	</pattern>
	<event name="attack" pet_attackable_skill="lightningbolt" down="false"/>
</rule>
<rule name="LBで倒した 戦闘終了">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence/>
	</pattern>
	<event name="attack" pet_attackable_skill="lightningbolt" down="true"/>
</rule>
<rule name="アタック後 ダウン 暴発防止">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence/>
	</pattern>
	<event name="attack" pet_attackable_skill="basic" down="true"/>
</rule>
<rule name="スマッシュ後 ダウン 暴発防止">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence/>
	</pattern>
	<event name="attack" pet_attackable_skill="smash" down="true"/>
</rule>
<rule name="タゲ中 相手が吹っ飛んだらカウンター">
	<conditions>
		<condition name="target_state" state="blowaway"/>
		<condition name="target_state" state="shoved"/>
	</conditions>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="prepare_skill" pet_skill="counter" try_cnt="1" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="0"/>
		</sequence>
	</pattern>
	<event name="now_targeting"/>
</rule>
<rule name="タゲ中 カウンターの為待機">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="wait" min="1000" max="1000"/>
		</sequence>
	</pattern>
	<event name="now_targeting"/>
</rule>
<rule name="被ダメージ ダウンした→カウンター">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="0"/>
		</sequence>
	</pattern>
	<event name="attacked" master_skill="all" down="true"/>
</rule>
<rule name="被ダメージ ダウンしなかった→アタックカウンター">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="melee_attack" timeout="5000"/>
			<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="enemy" timeout="0"/>
		</sequence>
	</pattern>
	<event name="attack" pet_attackable_skill="all" down="false"/>
</rule>
<rule name="対遠距離攻撃用LB&amp;アタック">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="stack_skill" stack_magic="lightningbolt" charge="1"/>
			<cmd name="stackmagic_attack" stack_magic="lightningbolt" charge="1" timeout="1000"/>
			<cmd name="melee_attack" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="aimed"/>
</rule>
<rule name="対魔法攻撃用アタック">
	<conditions/>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="cancel_skill"/>
			<cmd name="melee_attack" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="target_magic_prepare"/>
</rule>
<rule name="ヒール">
	<conditions>
		<condition name="master_damaged_life_greater" life="40"/>
	</conditions>
	<pattern>
		<param_decl/>
		<sequence>
			<cmd name="prepare_skill" pet_skill="healing" try_cnt="0" timeout="5000"/>
			<cmd name="process_skill" target="master" timeout="5000"/>
		</sequence>
	</pattern>
	<event name="seek_target"/>
</rule>
</rules>
これコメ欄に入らんかw
改良版は↓にお願いします

しかし護衛用のはずのにゃんこ(前世の前世の・・・えっと?)が全然活躍しないんだがどうしようw
護衛は接近の方が良かったかな?
お豆腐かぁ・・・
名前:
コメント: