So-net無料ブログ作成

第7回 魔法やアビリティによって着替えを使い分ける その2 [gearswap]

スポンサードリンク




今回は前回の続きとして、着替えの対象を具体的な魔法やアビリティの名称にしたい場合を解説したいと思います。
例として前回のコードに追加して、midcastに白魔法の「ケアル」を使用した時の装備を追加してみます。
前半の装備セットの定義の中にsets.midcast.Cureという名前でケアル用装備を追加し、後半部分にはケアルを使った場合のif文を追加します。(※太字下線部が追加した部分です。)

function get_sets()
set_language('japanese')

sets.precast={
left_ring="守りの指輪"
}

sets.precast.WhiteMagic={
left_ring="トリゼックリング"
}

sets.precast.BlackMagic={
left_ring="女王の指輪"
}

sets.midcast.Cure={
head="ヴァニヤフード"
}

end

function precast(spell)
if spell.type =='BlackMagic' then
equip(sets.precast.BlackMagic)
elseif spell.type =='WhiteMagic' then
equip(sets.precast.WhiteMagic)
else
equip(sets.precast)
end
end

function midcast(spell)
if spell.name=='ケアル' then
equip(sets.midcast.Cure)
end
end

これで「ケアル」を使用した場合のみ詠唱開始後にヴァニヤフードを装備してくれます。
ところがケアルⅡだと装備してくれません・・・のでif文の条件をorを使って直してみます。

function midcast(spell)
if spell.name=='ケアル' or spell.name=='ケアルII' then
equip(sets.midcast.Cure)
end
※FF11上のローマ数字はアルファベットの組み合わせで使用されていますので、ⅡはI(半角アルファベットのアイ)を2つ続けて配置します。

これでケアルでもケアルⅡでも着替えてくれました!
でもケアルは他にもあるしケアルガもあるし、このやり方だと条件式がだいぶ長くなってちょっと面倒ですね。
(もちろん全部orで繋げても間違いではありませんし、動作を確認する上では全てorで記述したほうが後々確認しやすい場合もあります。)
そこでこんなテクニックを使ってif文の条件式さらに直してみます。

function midcast(spell)
if string.find(spell.name, 'ケアル') then
equip(sets.midcast.Cure)
end

if string.find(spell.name, 'ケアル')

「もしもspell.nameの中に'ケアル'という文字がある場合は」
という意味になります。
stringはここでは文字列という意味で使われています。
このようにすると魔法やアビリティの中で'ケアル'という文字列が使われているもの全てが対象となりますので、ケアルとケアルガを網羅することができます。とってもすっきりしましたね!

最後はちょっと脱線しましたが、この方法で魔法やアビリティ毎に様々な着替えをすることができます。
次回は現在の効果(ゲーム画面左上の効果アイコン)によって着替えを指定する方法を解説したいと思います。

スポンサードリンク



nice!(0)  コメント(0) 
共通テーマ:ゲーム

第6回 魔法やアビリティによって着替えを使い分ける その1 [gearswap]

スポンサードリンク




今回は使用するアビリティや魔法などによって着替えの内容を分けてみます。
例として、黒魔法の詠唱前に「女王の指輪」を、それ以外の場合は「守りの指輪」を左手の指に装備するコードを作ってみます。
(例によって装備内容は超適当です^^)

function get_sets()
set_language('japanese')

sets.precast={
left_ring="守りの指輪"
}

sets.precast.BlackMagic={
left_ring="女王の指輪"
}

end

function precast(spell)
if spell.type =='BlackMagic' then
equip(sets.precast.BlackMagic)
else
equip(sets.precast)
end
end

ここで使用している装備セットは2つです。前半部分でそれぞれ sets.precast と sets.precast.BlackMagic という名前で定義されています。
後半の動作部分には初めてif文というものが登場します。
解説を入れてみます。

if spell.type =='BlackMagic' then   ←もしもspell.typeがBlackMagicだったら
equip(sets.precast.BlackMagic) ←sets.precast.BlackMagicを装備しなさい
else               ←それ以外だったら
equip(sets.precast)      ←sets.precastを装備しなさい
end               ←if文の終わり

if文が使いこなせるようになれば様々な状況で装備を使い分けることができますのでしっかりと理解しておくことをおすすめします。

次に黒魔法だけでなく白魔法の場合も追加してみます。
白魔法詠唱開始前にトリゼックリングを装備します。(しつこいですが装備内容は超てきt)

function get_sets()
set_language('japanese')

sets.precast={
left_ring="守りの指輪"
}

sets.precast.WhiteMagic={
left_ring="トリゼックリング"
}

sets.precast.BlackMagic={
left_ring="女王の指輪"
}

end

function precast(spell)
if spell.type =='BlackMagic' then
equip(sets.precast.BlackMagic)
elseif spell.type =='WhiteMagic' then
equip(sets.precast.WhiteMagic)
else
equip(sets.precast)
end
end                  

if文の中にelseifというのが新しく入ってきました。解説します。

if spell.type =='BlackMagic' then   ←もしもspell.typeがBlackMagicだったら
equip(sets.precast.BlackMagic) ←sets.precast.BlackMagicを装備しなさい
elseif spell.type =='WhiteMagic' then ←それ以外で、もしもspell.typeがWhiteMagicだったら
equip(sets.precast.WhiteMagic) ←sets.precast.WhiteMagicを装備しなさい
else                ←それ以外だったら
equip(sets.precast)       ←sets.precastを装備しなさい
end                ←if文の終わり

elseifはいくつでも重ねることができ、そうすることで様々な分岐に対応できます。
spell.typeを使った判定には次のようなものが使用できます。
JobAbility(ジョブアビリティ)
WeaponSkill(ウェポンスキル)
WhiteMagic(白魔法)
BlackMagic(黒魔法)
BlueMagic(青魔法)
Ninjutsu(忍術)
BardSong(歌)
CorsairRoll(コルセアズロール)
CorsairShot(クイックドロー)
BloodPactRage(契約の履行:幻術)
SummoningMagic(召喚魔法)
PetCommand(ペットコマンド)
Trust(フェイス)

あとは前回までを参考に詠唱中、詠唱後も追加することができればかなり実用的になりますね!
次回はさらに細かく分岐する例を挙げて解説します。

※今回のコードでエラーが出ないのにうまく動かない場合に確認するポイント※
gearswapで使用されるLuaの変数は大文字と小文字が区別されます。
例えば今回の例文でsets.precast.WhiteMagicとsets.precast.Whitemagicのような打ち間違えをするとこれらは別物として扱われ、エラーは出ませんがうまく動きません。
慣れないうちは私もミスりまくって頭を悩ませていました。
変数は直接手打ちせずにコピペする癖をつけておくといいですよ!

スポンサードリンク



nice!(0)  コメント(2) 
共通テーマ:ゲーム

第5回 魔法の詠唱中と詠唱後にも着替える [gearswap]

スポンサードリンク




今回は詠唱前だけでなく、詠唱中、そして魔法着弾後の詠唱後の着替えを行います。
見やすくするために今回も背装備のみで解説します。
(※装備品は例です。ご自身で使用しているものに置き換えて下さい。)

function get_sets()
set_language('japanese')

sets.precast={
back="スイスケープ",
}

sets.midcast={
back={ name="タラナスケープ", augments={'INT+20','Mag. Acc+20 /Mag.
Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
}

sets.aftercast={
back={ name="メシストピンマント", augments={'Cap. Point+42%','MP+19','DEF+7',}},
}

end

function precast(spell)
equip(sets.precast)
end

function midcast(spell)
equip(sets.midcast)
end

function aftercast(spell)
equip(sets.aftercast)
end

第3回で作成したものに比べて装備の定義に "sets.midcast"、"sets.aftercast” の2つが増え、実行部分もそれに合わせて2つ増えているのが分かります。
早速保存して試してみます。
008midafter.jpg
詠唱中と詠唱後に着替えさせることができました!
動作に問題がないことが確認できたら、それぞれに合わせた装備セットを出力してコピペしましょう!
例えば精霊魔法であれば
precast:ファストキャスト装備
midcast:魔攻装備、魔命装備、マジックバースト装備
aftercast:ダメージカット装備、リフレシュ装備
などが一般的です。
これでだいぶ実用的になってきました!

しかし、ここまで触れてきませんでしたが
実はこれらの動作は魔法の詠唱だけでなくアビリティやWSなどでも動作してしまいます。
次回はこれらの対策について解説します。

スポンサードリンク



nice!(1)  コメント(0) 
共通テーマ:ゲーム

第4回 現在の装備を出力する [gearswap]

スポンサードリンク




前回、詠唱前に着替える動作をさせるため、
function get_sets()
set_language('japanese')
sets.precast={
back="スイスケープ",
}
end

function precast(spell)
equip(sets.precast)
end
というコードを作りました。
実際はファストキャスト装備の着替えが1つだけということはありませんので
今度は首装備を追加してみます。
function get_sets()
set_language('japanese')
sets.precast={
back="スイスケープ",
neck="ボルトサージトルク",
}
end

function precast(spell)
equip(sets.precast)
end
上書き保存して早速試してみます。(//gs reloadを忘れずに!)
006volt.jpg
2つの装備の着替えに成功しました!
この要領でファストキャスト装備を追加していけばいいのですが、装備を一つずつ書いていくのは面倒に感じる方もいると思います。
そこで次の手順で装備一式を出力してみましょう!

①FF11上で出力したい装備に着替える。
②チャットライン上で"//gs export"と入力する。

出力先はいつものdataフォルダ内のexportというフォルダになります。
キャラクター名と発行日時の付いたファイルになっています。
これを開いてみると
007export.jpg
sets.exported={
main={ name="ラシ", augments={'INT+15','"Mag.Atk.Bns."+15','Mag. Acc.+15',}},
sub="クレリストラップ",
ammo="ガストリタスラム+1",
head="マルクィシャポー+1",
body="ジャリローブ+1",
hands="マルクィカフス+1",
legs={ name="サイクロスラッパ", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="マーリンクラッコー", augments={'"Fast Cast"+6','INT+3','"Mag.Atk.Bns."+7',}},
neck="ボルトサージトルク",
waist="ウィトフルベルト",
left_ear="ロケイシャスピアス",
right_ear="ヘカテーピアス",
left_ring="女王の指輪",
right_ring="アキュメンリング",
back="スイスケープ",
}
といったように装備品が全て出力されているはずです。
オーグメントも出力されますので、同じ装備名でもワードローブを分けることもなく使い分けることができます。(すばらしい!)
あとは必要な部分をコピペするだけです。
注意点としては最初の"sets.exported={"の部分もコピーしてしまうとエラーになってしまいますので気をつけましょう。

このコマンドを利用すれば
・ファストキャスト用装備セット
・魔命装備セット
・魔攻装備セット
といったものが簡単に出力できるはずです。

スポンサードリンク



nice!(0)  コメント(0) 
共通テーマ:ゲーム

第3回 魔法の詠唱前に着替える [gearswap]

スポンサードリンク




今回は例として、魔法を使う度にファストキャスト効果のある背装備「スイスケープ」を
詠唱前に装備させてみます。(スイスケープをお持ちでない場合は代わりに任意の背装備を入れて下さい。)
まずはテキストエディタに以下のコードをコピペして下さい。

↓↓この下からコピペ
function get_sets()
set_language('japanese')
sets.precast={
back="スイスケープ",
}
end

function precast(spell)
equip(sets.precast)
end
↑↑ここまでコピペ

コピペをしたらファイルを保存します。ファイル名は必ず
キャラ名_ジョブ略称.lua
となります。キャラ名とジョブ略称の間は半角のアンダーバーです。
例えばキャラ名がAyameでジョブが黒魔道士であれば
Ayame_BLM.lua
となります。
ファイルを置く場所はwindowerのインストールフォルダ⇒addon⇒GearSwap⇒dataフォルダの中です。

ファイルを正しく保存できたら次にFF11内での操作です。
FF11のチャットライン上で
//gs reload
004reload.jpg
と入力して下さい。これは先程保存したファイルを読みこませるコマンドです。正しくファイルが読み込まれた場合、windowerコンソール(画面左上表示される履歴のようなもの)に
GearSwap: Loaded your 'ファイル名' file!
と表示されるはずです。表示されない場合はファイル名と保存場所を再度確認してください。

また、着替えの動きを確認するため、FF11のチャットラインで
//gs showswaps
と入力して下さい。入力する度にオンオフが切り替わります。
これがオンになっている場合、チャットログに着替えを行った内容が表示されます。

それでは試しに何か魔法を使ってみましょう。
着替えさせたい背装備を身に着けていないことを確認し、
精霊魔法でも回復魔法でも構わないので魔法を使ってみて下さい。
詠唱開始と同時に以下のようなログが表示されれば成功です。
005log.jpg

コードを解説します。
まず前半部分です。
function get_sets()
set_language('japanese')
sets.precast={
back="スイスケープ",
}
end
前半部分は着替えの内容を定義する部分となります。
function get sets()からendまでがひとつのかたまりです。
set_language('japanese')は日本語で定義を行うことを宣言しています。
日本語クライアントでプレイしている場合は必要となります。

sets.precast={
back="スイスケープ",
}
の部分は装備内容を定義している部分です。
”sets.precast”という名称で{ }内の装備内容を定義する、という意味になります。
(イメージとしてはset.precastと書いた箱の中に装備品が入っている、といったところでしょうか)

後半は実行部分となります。
function precast(spell)
equip(sets.precast)
end
魔法(=spell)の詠唱の前(=precast)に”sets.precast”という名称の定義を装備して下さい、という意味になります。

このようにgearswapのコードは大きく分けて前半の定義部分、後半の実行部分の2つになっています。
内容が複雑になってもこの構成は変わりません。

まだまだ実用には程遠いですが今回はここまでです。

スポンサードリンク



nice!(0)  コメント(0) 
共通テーマ:ゲーム

第2回 テキストエディタ使用時の注意点 [gearswap]

スポンサードリンク




まずテキストエディタを起動します。
ここで必ず確認しなければならないのは文字コードです。
サクラエディタの場合は「設定」⇒「文字コードセット指定」を選び
文字コードに「UTF-8」を選択します。
002sakura.png
003sakura.png
もうひとつ注意が必要なのはgearswapのコードを書いている時には全角スペースを使わないことです。

この先、内容に誤りはないはずなのに正しく動作しない場合は
①文字コードがUTF-8になっているか確認する。
②コード内に全角スペースが存在しないか確認する。
の2点の確認を必ずして下さい。

スポンサードリンク




nice!(0)  コメント(0) 
共通テーマ:ゲーム

第1回 gearswapに必要なもの [gearswap]

スポンサードリンク




<gearswapに必要なもの>
・windowerの導入とアドオンの有効化
windowerをダウンロードしてインストールします。
windowerを実行してアドオンのリストからgearswapを有効にします。
001windower.jpg

・テキストエディタの準備
文字コードの関係で必要となります。メモ帳は不可です。
軽くて使いやすいサクラエディタがオススメです。
Microsoft製で高機能なvisual studio codeなどでもいいと思います。

スポンサードリンク



nice!(0)  コメント(0) 
共通テーマ:ゲーム

第0回 gearswapとは [gearswap]

スポンサードリンク




様々なアクションの度に着替えが必須となっているFF11ですが、これが楽しみの1つでもあります。
しかし標準のマクロ機能だけでは限界を感じる人も多いでしょう。
gearswapを導入することでそんな悩みとはおさらばです。

<gearswapでできること>
魔法やウェポンスキル、ジョブアビリティなどを使用する際に
①使用前 ②使用中 ③使用後
の3つのポイントで着替え装備を指定し、自動で着替えさせることができます。
さらには魔法やスキル名の指定はもちろん、かなり細かい条件を付加することも可能です。

しかしgearswapはluaというプログラミング言語で記述する必要があり、
こういったものに触れたことのない方には敷居が高いのも事実です。
ここではそういった初心者の方向けに解説を行っていきます。

スポンサードリンク



タグ:FF11 gearswap
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:ゲーム

AU AST21 (Memo Pad 8 ME581) の液晶を交換してみた [スマホ修理]

スポンサードリンク




※この記事を書いたのは2017年9月なのですが、このブログの趣旨とはだいぶズレた内容の記事であるため邪魔にならぬよう日付を遡って保存してあります。

マイナー?タブレット端末の修理備忘録です。
今現在でも十分なコストパフォーマンスを秘めている(と勝手に思っている)、auから出ていたASUS製8インチタブレットAST21を2年程前に母にプレゼントして大事に使ってもらっていたのですが、うっかり落下させてしまって割れはしなかったが液晶が点かないということで、古い機種だし修理に出すくらいならお試しに液晶交換してみましょうということに。

simカードの仕様は異なりますが、Memo Pad 8 Me581という名称で世界的に販売されている機種なので液晶パネルは2,500円程で簡単に購入できました。(船便のため到着まで2週間程かかりましたが)

続きを読む


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

zenfone max (ZC550KL) の液晶を交換してみた [スマホ修理]

スポンサードリンク




全然ゲームとかFF11とか関係ない話題です(すみません)
嫁がzenfone maxという比較的マイナーな端末使っているんですが、購入初日にアスファルトに落下させて液晶にヒビが入るという失態からごまかしごまかし半年ほど使っていました。しかしついにタッチパネルの動きがあやしいということで自前で液晶交換してみることに。
ASUSがアスースと呼ばれていた頃からのわりと古いASUSファンの私は、今後もASUS製の端末を購入することがあるだろうということで備忘録も兼ねて記事にしておこうという魂胆です。

続きを読む


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット