Windower 日本語Wiki

黒魔ヒーリング中 自動装備変更

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

SpellCastXML 黒魔 ヒーリング中装備変更


このページは、Windowerをある程度理解されている方が、より理解を深める目的で作成しています。
Windowerを導入したばかりの方、XML文法をご理解されていない方にはお勧めしません。
(コピーしてSpellcastフォルダに置くだけでは動作しません)



スクリプトの概要

  • <Group><Set>での装備変更は行わない、装備スクリプト呼び出し型
  • ヒーリング時に残MPに合わせて装備を変更(リフレ&hMP装備⇒hMP装備⇒MP最大値増加装備⇒満タンで立つ)
  • ヒーリング満タン終了時にサウンド再生
  • 詠唱開始→魔法着弾時用装備と、詠唱終了→リフレ装備を自動切り替え
  • 詠唱する魔法の属性に合わせて対応する属性杖を装備
  • 詠唱後の残MPが最大の51%未満になる場合は、ウガレピペンダントを装備

スクリプトの実行条件

  • Autoexecがloadされており、ID#30000が使用可能であること。
  • 次の装備変更用スクリプトを準備すること。
 ・Scripts/blm/sc/rest75_hmp・・・・最大ヒーリングMP装備
 ・Scripts/blm/sc/rest75_MPplus・・・MP最大値増加装備
 ・Scripts/blm/sc/rest75_reflesh・・・ヒーリング&リフレシュ装備
 ・Scripts/blm/sc/BLM_EM_ESkill_MPsafe・・・・MP最大値を減らさない程度の着弾時装備(精霊スキル優先)
 ・Scripts/blm/sc/BLM_EM_MAtk_MPsafe・・・・MP最大値を減らさない程度の着弾時装備(魔攻優先)
 ・Scripts/blm/sc/BLM_EM_ESkill・・・・魔法着弾時装備(精霊スキル優先)
 ・Scripts/blm/sc/BLM_EM_MAtck・・・・魔法着弾時装備(魔攻優先)
 ・Scripts/blm/sc/Uggalepih・・・・ウガレピペンダント装備
 ・Scripts/blm/sc/reflesh68・・・・通常時リフレシュ装備
 ・Scripts/sc_common/%SpellElementStaff・・・・属性杖装備(%SpellElementは属性名に置き換えられるため8属性分用意)
  • play.exe(フリーソフト)とChimes.wav(Windows標準添付)を、Windowerフォルダ/Soundに置く
    ※ヒーリング完了時のWAV再生が不要である場合は「<Action type="Command" when="Precast">run -hide _sound/play.exe chimes.wav</Action>」の行を削除してください。

使い方

  • <variables>で設定しているMPを自分の装備・種族に合わせて設定。設定する値はコメント参照
  • 1行目は環境と当XMLを保存する文字コードに合わせて適宜変更
  • 標準は魔法攻撃力アップ優先になっている。sc gコマンドで適宜変更。※<sets><group>部分参照

スクリプト

<?xml version="1.0" encoding="Shift-Jis"?>
<spellcast>
 
<config 
	Debug="False"
	HideErrors="false"
	ShowGearSwaps="False"
/>
 
<sets>
	<group name="MAtk" default="yes">
	</group>
	<group name="ESkill">
	</group>
</sets>
 
<variables>
	<var name="MP_RestReflesh">680</var>	<!-- リフレ付hMP装備の最大MP(実際の最大値-10程度) -->
	<var name="MP_RestHmp">750</var>		<!-- hMP装備の最大MP(実際の最大値-10程度) -->
	<var name="MP_RestPlus">900</var>		<!-- MPプラス装備の最大MP(実際の最大値-10程度) -->
	<var name="MP_WeakMPPlus">550</var>		<!-- 衰弱時+MPプラス装備の最大MP(実際の最大値+100程度)-->
 
	<var name="MP_EleMagicMP">717</var>		<!-- 魔法着弾時装備の最大MP(実際の最大値)-->
</variables>
 
 
<rules>
	<!-- ヒーリング処理 -- START ---------------------------->
	<rule spell="Absorb-TP">
		<if Advanced='"$Healing"="1" AND "%Status"="Resting"'>
			<Action type="Command" when="Precast">exec blm/sc/rest75_hmp</Action>
			<Action type="var" cmd="set Healing 2" />
			<Action type="Command" when="Precast">ae regonceq 30000 (regex)mpp_(9[5-9]|100)(/regex) Absorb-TP</Action>
		</if>
		<elseif Advanced='"$Healing"="2" AND "%Status"="Resting"'>
			<Action type="Command" when="Precast">exec blm/sc/rest75_MPplus</Action>
			<Action type="var" cmd="set Healing 3" />
			<Action type="Command" when="Precast">ae regonceq 30000 mpp_100 Absorb-TP</Action>
		</elseif>
		<elseif  Advanced='"$Healing"="3" AND "%Status"="Resting"'>
			<if Advanced='"%MP">"$MP_WeakMPPlus"'>	<!--衰弱中は100%でも立ち上がらない-->
				<Action type="Command" when="Precast">input /heal off</Action>
				<Action type="Command" when="Precast">run -hide _sound/play.exe chimes.wav</Action>
				<Action type="var" cmd="set Healing 0" />
			</if>
			<else>
				<!-- 衰弱中の場合はもう一度MP100%を待つAutoexecイベントをセット -->
				<Action type="Command" when="Precast">ae regonceq 30000 mpp_100 Absorb-TP</Action>
			</else>
		</elseif>
 
		<action type="cancelspell" />
		<action type="return" />
	</rule>
	<rule spell="Autoset">
		<if status="Resting" >
			<!-- ヒーリング開始時に、ヒーリング中着替え用Autoexec定義をクリア -->
			<Action type="Command" when="Resting">ae unregister 30000</Action>
			<if MODE="AND" MPLT=$MP_RestReflesh MPPLT="100">
				<!-- MPがリフレ付hMP装備の最大値以下でMPが100%未満の場合は -->
				<!-- 先ずリフレ付hMP装備に変更し、18秒後に判定 -->
				<Action type="Command" when="Resting">exec blm/sc/rest75_reflesh</Action>
				<Action type="var" cmd="set Healing 1" />
				<Action type="Command" when="Resting">wait 18;Absorb-TP</Action>
			</if>
			<elseif MODE="AND" MPLT=$MP_RestHmp MPPLT="95">
				<!-- MPが、リフレ付ヒール最大MP<hMP装備最大MP未満 & MP95%未満の場合は hMP装備に変更し、MPが95%を超えるまで回復 -->
				<Action type="var" cmd="set Healing 1" />
				<Action type="Command" when="Resting">Absorb-TP</Action>
			</elseif>
			<elseif MPLT=$MP_RestPlus>
				<!-- 上に当てはまらず、MPプラス装備を装備していない場合は、MPプラス装備に変更し、満タンまで回復 -->
				<Action type="var" cmd="set Healing 2" />
				<Action type="Command" when="Resting">Absorb-TP</Action>
			</elseif>
		</if>
		<elseif status="Idle">
			<!-- 立ち上がった際にも、念のため、ヒーリング中着替え用Autoexec定義をクリア -->
			<Action type="Command" when="Idle">ae unregister 30000</Action>
		</elseif>
	</rule>
	<!-- ヒーリング処理 -- END ------------------------------>
 
	<!-- 古代1詠唱の場合は着替えまで16.1秒待ち、着弾後の着替え戻しは3秒待つ -->	
	<rule Spell="Burst|Flood|Flare|Tornado|Quake|Freeze">
		<Action type="Command" when="Precast">input /echo ###### 1 6 s e c  --> change equip  ######</Action>
		<Action type="midcastdelay" delay="16.1" />
		<Action type="aftercastdelay" delay="3" />
	</rule>
 
	<!-- 精霊・暗黒・弱体・強化魔法発動 -->	
	<rule Skill="ElementalMagic">
		<!-- Lv75以上の詠唱装備への着替え -->
 
		<if mode="AND" MPGT=$MP_RestPlus Skill="ElementalMagic">
			<!-- 現在MPがPlus装備の目安を超えている場合は着替えない-->
		</if>
		<elseif mode="AND" MPGT=$MP_EleMagicMP Skill="ElementalMagic">
			<!-- 着弾時装備の最大MPを下回るまで、最低限のMP増加装備を外さない-->
			<Action type="Command" when="midcast">exec blm/sc/BLM_EM_%group_MPsafe</Action>
		</elseif>
		<elseif Skill="ElementalMagic">
			<Action type="Command" when="midcast">exec blm/sc/BLM_EM_%group</Action>
			<Action type="Command" when="aftercast">exec blm/sc/reflesh68</Action>
		</elseif>
 
		<!-- Lv70以上、精霊魔法、魔法発動後の残MPが50%以下の場合はウガレピペンダント -->
		<if mode="AND" MLvlGT=69 MPPAfterCastLT=51 Skill="ElementalMagic">
			<Action type="Command" when="midcast">exec blm/sc/Uggalepih</Action>
		</if>
	</rule>
 
	<!-- 属性杖を装備 -->
	<rule Skill="ElementalMagic|DarkMagic|EnfeeblingMagic|DivineMagic|HealingMagic">
		<Action type="Command" when="midcast">exec sc_common/%SpellElementStaff</Action>
	</rule>
</rules>
</spellcast>
 









タグ:

+ タグ編集
  • タグ:
記事メニュー
ウィキ募集バナー