誰でも編集に参加できるWIKIです。

GearSwap > レッスン3日目


レッスン3日目:魔法に応じて着替える


課題1:詠唱中の魔法は黒魔法? 白魔法?

今までのサンプルは、ケアルを詠唱してもプロテスを詠唱しても同じように着替えてしまいます。それでは意味がないので、区別する必要があります。
  1. 精霊魔法
  2. 弱体魔法
    1. INTベースなのか
    2. MNDベースなのか
  3. 強化魔法
  4. 回復魔法

さらに言うと、こんなのもあります。
  1. 忍術
  2. 召喚魔法
  3. 青魔法
    1. 物理系
    2. 魔法系


spell.typeに魔法タイプがセットされているので、これを見れば現在詠唱中の魔法が分かります。
spell.type種別
JobAbilityジョブアビリティ
WeaponSkillウェポンスキル
WhiteMagic白魔法
BlackMagic黒魔法
BlueMagic青魔法
Ninjutsu忍術
BardSong
CorsairRollコルセアズロール
CorsairShotクイックドロー
BloodPactRage契約の履行:幻術
BloodPactWard契約の履行:験術
SummonerPact召喚魔法
PetCommandペットコマンド
Trustフェイス(trusts)


次にspell.skillをチェックすることで細かく識別することができます
  1. 精霊魔法
  2. 強化魔法
  3. 弱体魔法


この内容をコピーして、BLM.luaの内容をすべて上書きしてください。

サンプル#1

function get_sets()
set_language('japanese')


sets.precast={
}

sets.precastCure={
}

sets.midcastEnhancing={
}

sets.midcastEnfeeblingINT={
}

sets.midcastEnfeeblingMND={
}

sets.midcastElemental={
}

sets.midcastWS={
}

sets.midcastCure={
}


function precast(spell)

	if string.find(spell.name, 'ケアル') then
		equip(sets.precastCure)

	elseif spell.type =='WhiteMagic' or spell.type == 'BlackMagic' or spell.type == 'BlueMagic' or spell.type == 'Trust' then
		equip(sets.precast)
	end
end

function midcast(spell)

	if spell.skill=='強化魔法' then
		equip(sets.midcastEnhancing)

	elseif spell.skill=='弱体魔法' and spell.type == 'BlackMagic' then
		equip(sets.midcastEnfeeblingINT)

	elseif spell.skill=='弱体魔法' and spell.type == 'WhiteMagic' then
		equip(sets.midcastEnfeeblingMND)

	elseif spell.skill == '精霊魔法' then
		equip(sets.midcastElemental)

	elseif spell.type == 'WeaponSkill' then
		equip(sets.midcastWS)

	elseif string.find(spell.name, 'ケアル') then
		equip(sets.midcastCure)

	else
		--equip(sets.aftercast)
	end
end


課題2:装備セットを定義する

課題1の定義の中にsets.midcastEnhancingとかsets.midcastWSがありました。これを定義しないと動かないので定義しましょう。

1. 魔攻装備に着替えて//gs export
2. GearSwap\data\exportに書き出された内容をsets.midcastElementalの { と } の間にペースト
3. WS装備(フォシャゴルゲット、フォシャベルト、MPブースト装備)に着替えて//gs export
4. GearSwap\data\exportに書き出された内容をsets.midcastWSの { と } の間にペースト

同様に強化魔法、弱体魔法(INT, MND)、ケアル装備、FC装備も埋めてください。なければ、空欄でも構いません。
  1. ファイル保存したら
  2. //gs reload
  3. //gs showswaps
  4. 実際に魔法詠唱して確認してください。

課題3:課題2のサンプルでは詠唱後に通常装備に着替えてくれないのはなぜ?

レッスン2の内容をもう一度振り返って、原因を見つけてください。



正解: この関数を定義してください
function aftercast(spell)
	equip(sets.aftercast)
end

編集にはIDが必要です

メンバー募集!