黒魔道士のMote-libsコードです。
目次
ソースコード
Mote-libsでは、ジョブロジック部分(ジョブ名.lua)と装備セット部分(ジョブ名_gear.lua)を切り分けていますので、次のような階層構造になっています。
GearSwap/
└ data/
├ BLM.lua
└ キャラクター名/
└BLM_gear.lua
ジョブロジック
function get_sets()
mote_include_version = 2
include('Mote-Include.lua')
set_language('japanese')
end
function job_setup()
include('weather_obi')
state.OffenseMode:options('Normal')
state.IdleMode:options('Normal')
state.MPsavings = M(false, 'MP節約')
end
function user_setup()
send_command('wait 5; gs c set IdleMode Normal; gs c lockstyleset')
send_command('input /si item;')
end
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == '精霊魔法' then
if state.MPsavings.value then
equip(sets.midcast['精霊魔法'].MPsavings)
end
equip(get_hachirin(spell.element))
end
end
function job_aftercast(spell, action, spellMap, eventArgs)
end
function job_buff_change(buff, gain)
if buff == "マナウォール" then
if gain then
equip(sets.buff['マナウォール'])
disable('feet')
else
enable('feet')
if playerStatus == 'Idle'then
equip(get_idle_set())
else
equip(get_melee_set())
end
end
end
end
function customize_idle_set(idleSet)
return idleSet
end
function job_self_command(cmdParams, eventArgs)
if cmdParams[1] == 'lockstyleset' then
send_command('input /lockstyleset '..lockstyleset)
elseif cmdParams[1] == 'Idle' then
if playerStatus == 'Idle'then
equip(get_idle_set())
else
equip(get_melee_set())
end
end
end
装備セット
function init_gear_sets()
lockstyleset = 121
sets.buff['マナウォール'] ={feet="WCサボ+3"}
sets.idle = {
head={ name="ニャメヘルム", augments={'Path: B',}},
body="WCコート+3",
hands="ニャメガントレ",
legs="ニャメフランチャ",
feet="ニャメソルレット",
neck={ name="ロリケートトルク+1", augments={'Path: A',}},
left_ring="守りの指輪",
right_ring="シュネデックリング",
}
sets.precast.FC = {
main={ name="マランスタッフ+1", augments={'Path: A',}},
sub="エンキストラップ",
ammo="サピエンスオーブ",
head={ name="ヴァニヤフード", augments={'MP+50','"Fast Cast"+10','Haste+2%',}},
body="シャンゴローブ",
hands={ name="マーリンダスタナ", augments={'"Mag.Atk.Bns."+8','"Fast Cast"+5','CHR+6',}},
legs={ name="サイクロスラッパ", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
feet={ name="マーリンクラッコー", augments={'"Mag.Atk.Bns."+2','"Fast Cast"+5','AGI+6','Mag. Acc.+14',}},
neck="オルンミラトルク",
waist="エンブラサッシュ",
left_ear="マリグナスピアス",
right_ear="ロケイシャスピアス",
left_ring="キシャールリング",
back={ name="フィフォレケープ+1", augments={'Path: A',}},
}
sets.midcast.magic_acc = {
main={ name="マランスタッフ+1", augments={'Path: A',}},
sub="エンキストラップ",
ammo="ペムフレドタスラム",
head="WCペタソス+3",
body="WCコート+3",
hands="WCグローブ+3",
legs="WCショウス+3",
feet="WCサボ+3",
neck="サンクトネックレス",
waist="コーネリアの黒帯",
left_ear="マリグナスピアス",
right_ear="王将の耳飾り",
left_ring="キシャールリング",
right_ring={ name="メタモルリング+1", augments={'Path: A',}},
back={ name="タラナスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
}
--精霊弱体系
sets.midcast.ElementalEnfeeble = set_combine(sets.midcast.magic_acc,{legs="ARトンバン+3"})
sets.midcast['弱体魔法'] = sets.midcast.magic_acc
sets.midcast['暗黒魔法'] = sets.midcast.magic_acc
sets.midcast['精霊魔法'] = {
main={ name="マランスタッフ+1", augments={'Path: A',}},
sub="エンキストラップ",
ammo="ペムフレドタスラム",
head="WCペタソス+3",
body="WCコート+3",
hands="WCグローブ+3",
legs="WCショウス+3",
feet="WCサボ+3",
neck="水影の首飾り",
waist="チャネラーストーン",
left_ear="マリグナスピアス",
right_ear="王将の耳飾り",
left_ring="フレキリング",
right_ring={ name="メタモルリング+1", augments={'Path: A',}},
back={ name="タラナスケープ", augments={'INT+20','Mag. Acc+20 /Mag. Dmg.+20','INT+10','"Mag.Atk.Bns."+10',}},
}
sets.midcast['精霊魔法'].MPsavings = {
body="SPコート+3",
}
end
コメント
コメント一覧 (12件)
八帯からスピーディなブログ作成有難うございました
ここやらWIKIやら参考に勉強させて頂きましたが、未だに着弾時の帯装備が(陣中含む)発動しません・・・
どこにどう組み込むのかすらw
BLM_gear.luaの中に sets.buff[‘砂塵の陣’] = {waist=”土輪の帯”,} と無理やり代用しても動きませんでした
これはBLM.luaの中に砂塵の陣に関する何かが必要なのでしょうか?
あと、Mote-libsも勉強しようと色々しらべてみましたが、初心者には難しいレベルの物しか有りませんね・・・
もし、お手隙の時間がございましたら「サルでも解るMote-libs」とかあれば助かります
今コメントに気付きました。
できるだけわかりやすい記事用意してみます。
とりあえず、黒魔道士用のMote-libsコードをコピペして、ロードすれば帯装備は自動に着替えられるようになりますよ。
帯の着替えは、【GearSwap】属性帯の自動着替えコードにあるweather_obi.luaで行っていますので、job_setup()でinclude(‘weather_obi’) して、次の処理を組めば、あとは天候に応じて自動で着替えてくれるようになっています。
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == ‘精霊魔法’ then
equip(set_combine(sets.midcast[‘精霊魔法’],get_hachirin(spell.element)))
end
end
一度お試しください。
(‘◇’)ゞありがとうございます
ジョブロジックとか装備セットの所をどの部分をさすのか勉強してから使わせて頂きたいと思います
基本的な質問の方でもさせて頂きましたが、ジョブロジック=〇〇〇.lua 装備セット=〇〇〇_gear.luaかな?
初心者すぎる質問で申し訳ありません( ;∀;)
ジョブロジック=〇〇〇.lua 装備セット=〇〇〇_gear.luaかな?
で合っています。
ジョブロジックは全キャラ共通の処理をまとめたものです。
装備セットはキャラによって所持品が違うので、〇〇〇_gear.luaがキャラ毎にできあがります。
具体的には、hogeとhugaというキャラで、コルセアをやる場合のファイル構成は次のようになります。
GearSwap\data\COR.lua
GearSwap\data\hoge/COR_gear.lua
GearSwap\data\huga/COR_gear.lua
この辺の話、整理して記事にまとめておきます。
管理人様 毎度ありがとうございます
色々やってみる前にコピペで動くか試した所
Nocturnal SoulsにあったGearSwapサンプルコード⇒帯とかは動かず
上のコードほぼコピー(装備以外)⇒//gs showswapsで反応せず、装備も切り替わらず
の状態になりました
一応使ってるコードを12/31期限でDLできるように【https://xgf.nu/RBTp1】【パス0120】にアップロードしておりますのでお手数でなければご確認いただけると幸いです
Mote-libsフォルダの方で確認しました。
1.weather_obi.luaは「GearSwap\data」フォルダに設置していますか?
2.キャラ名のフォルダを実際のキャラクターの名前に変更されてますか?
実際のキャラクター名が「Abcde」ならキャラ名のフォルダは「Abcde」になります。
この二点を確認して再度お試しください。
あと、GearSwap用にあるファイルですが、次の一行があるために、Mote-libsとして起動すると思います。
・include(‘Mote-Include.lua’)
この一行を消すと動かないファンクションなど出てくると思いますし、コピペのせいなのか、書いてある内容がぐちゃぐちゃになっていて、GearSwap単体でも動かせる実装にはなっていません。
こちらのコードは使わないでください。
ご確認有難う御座いました
Mote-libsフォルダのほうで起動はしました
①⇒ファイル名が間違っておりました
②⇒大丈夫でした
雷天候 土曜日 砂塵の陣 を使用した所、帯効果は出ませんでした
ストーン と サンダー で検証
稼働結果⇒【https://xgf.nu/kCSmf】【0120】
稼働結果訂正⇒【 https://xgf.nu/zXf8j 】【0120】
エラーログらしきものを追記しました
エラーログを見る限り、次の処理で失敗していますね。
equip(set_combine(sets.midcast[‘精霊魔法’],get_hachirin(spell.element)))
get_hachirinが呼び出せていない。
インクルードはしているので、単純にGearSwapの下にweather_obiがないか、weather_obiがおかしいかのどちらかだと思います。
GearSwapフォルダを丸々確認できれば早いのですが。
weather_obiはヨシザウルスさんの所のコードを丸写しして使っています
GearSwapの下にweather_obi⇒直下です?
そこかもしれない・・・
今使ってるフォルダ置いておきます
【https://xgf.nu/u2g4N】 0120
こちらにあるものに置き換えてください。
https://greeds.net/gearswap-elementobi/