これはなに?

FF14(ファイナルファンタジー14)において、素材や装備の生産を、

のキーひとつで出来るようにするスクリプトです。

ゲーム内のマクロのように行数の制限がなく、柔軟な設定が出来るというメリットがあります。

スクリプトファイルのダウンロード

ダウンロードして解凍すると、FF14-Craft.luaというファイルが出てきます。これをスクリプトエディタでインポートしてください。詳しい解説は下記に。

必要なこと

スクリプトを動かすために、2ステップの作業が必要になります。
ステップ1は、個別のページで解説していますので、リンク先を参照して作業してください。

  1. スクリプトエディタの設定
  2. スクリプトの設定

スクリプトの設定

ここから先は、インポート後のスクリプトエディタで作業をします。

  1. 生産開始ボタンの位置を設定する

    このゲームではカーソルキーで項目の移動が出来ないため、まず生産開始のボタンをマウスでクリックする必要があります。
    そのために、生産開始のボタンがある座標を取得しなければなりません。

    12~14行目の部分がその設定で、13行目がX座標、14行目がY座標の設定になります。

    -- button position
    startCreateX = 29430
    startCreateY = 34298

    この座標はモニタの解像度等で変わるため、その環境に合わせた座標を取得しなければなりません。
    その取得をするのが、85〜87行目のこの部分です。

    if(event == "G_PRESSED" and GetMKeyState("lhc") == 3 and arg == 3) then
        GetPosition()
    end

    85行目の「GetMKeyState("lhc") == 3」はM3がアクティブになっている事を、「arg == 3」は、G3キーがアクティブな事を指定しています。
    この場合、M3のG3キーを押すと、スクリプトエディタの下部にキーを押した時点でのマウスカーソルの座標が表示されます。

    その、表示された座標を12〜14行目で設定してください。
    なお、生産のウィンドウが移動するとボタンの位置がズレて生産に入れなくなってしまうので、ウィンドウの位置は固定しやすい場所にしておくと良いです(左上とか)。

  2. 生産の設定をする

    生産を開始するLGSのキー指定や後述のレシピの選択、生産数を設定するのが、3~10行目のこの部分。

    craftConfig = {}
    table.insert(craftConfig, {2, 15, "Seihin", 2})
    table.insert(craftConfig, {2, 16, "Seihin", 10})
    table.insert(craftConfig, {2, 17, "Seihin", 99})
    
    table.insert(craftConfig, {2, 8, "SozaiHQ", 2})
    table.insert(craftConfig, {2, 18, "Sozai", 10})
    table.insert(craftConfig, {2, 19, "Sozai", 99})

    3行目は触る必要はありません。

    4行目以降の、"{2, 15, "Seihin", 2}"の部分で、指定をしています。それぞれの意味は、

    1. キープロファイラのMキーの指定(1ならM1キーになります)
    2. キープロファイラのGキーの指定(29ならG29キーになります)
    3. 実行するレシピを指定します
    4. 生産数の設定です(2なら2回制作します)

    となります。この部分を必要に応じて書き換えてください。

    この、{}の中は、,(カンマ)区切りになっています。消さないように注意してください。また、3の部分は"(ダブルクォーテーション)で囲む必要があります。

    なお、スティックへの指定は、スティック部分のキーストロークを参照してください。

    レシピの設定は下記を参照してください。設定されていないレシピを実行しようとするとエラーになります。

    生産の設定の追加と削除

    追加に関しては、既存の設定をコピーペーストして、{}の中身を書き換えてください。
    削除は、行ごと消せばOKです。

  3. レシピの設定をする

    生産の設定で指定された、レシピの内容を設定するのが、33〜81行目になります。

    Recipe = {
    
    	Sozai = 
    	function() 
    
    		Skill("^")
    		Skill("-", "lctrl")
    		Skill("0")
    
    		Work("6", 3)
    		Work("2", "lctrl", 2)
    		
    	end,
    
    	SozaiHQ = 
    	function() 
    
    		Skill("^")
    		Skill("-")
    		Skill("^", "lctrl")
    
    		Work("8", 4)
    
    		Skill("-")
    		Skill("9")
    
    		Work("8", 3)
    		Work("7")
    		Work("2")
    	end,
    
    	Seihin = 
    	function() 
    
    		Skill("^")
    		Skill("-")
    
    		Work("8", 5)
    
    		Skill("0")
    		Skill("9")
    
    		Work("5", 2)
    		Work("7")
    		Work("2")
    		Work("8")
    		Work("3")
    	end
    }

    この例では、SozaiとSozaiHQとSeihinという3つのレシピが登録されてあります。
    Sozaiレシピを例にして詳細を解説すると、

    	Sozai = 
    	function() 
    
    		Skill("^")
    		Skill("-", "lctrl")
    		Skill("0")
    
    		Work("6", 3)
    		Work("2", "lctrl", 2)
    		
    	end,
    

    これがひとつのレシピの部分です。

    レシピは、SkillとWorkという機能を呼び出しています。名前の通り、Skillはヘイスティタッチやビエルゴの祝福等のスキルを使用するときに使います。Workは作業等を使用するときに使います。これらは、上から順に実行されます。

    SkillやWorkの()の中身は、左から

    1. 押すキーの指定(0ならキーボードの0キーが入力されます)
    2. 修飾キーの指定(ctrlキー等)
    3. 実行回数

    となります。Skill("-", "lctrl")のように、実行回数を省略すると1回の実行となります。また、Work("6", 3)のように、修飾キーを省略することもできます。

    押すキーと修飾キーの指定は、""(ダブルクォーテーション)で囲んでください。実行回数はそのままで、囲まないでください。

    当然ながら、ホットバーの該当位置にアクションがセットされていなければ、何もおこりません。また、ホットバーにキーバインドの設定がされていなければ、同じく何もおこりません。

    レシピの追加と削除

    レシピの必須の部分は以下のとおりです。

    	レシピ名 = 
    	function() 
    		-- SkillまたはWork
    	end,
    

    追加に関しては、既存の設定をコピーペーストして、中身を書き換えるか、上の例を参考に書いて下さい。なお、レシピ名に日本語は使えません。
    削除は、レシピ名〜end,の部分までを消せばOKです。

補足のあれこれ

実は、Gシリーズのマクロに関しては、公式に使ってOKとなっています。

文中にはマクロのみで、スクリプトに関する言及はされていませんが、文脈的には大丈夫だと思います。

ただし、不在マクロに関しては当然アウトなので、注意してください。

このスクリプトは、キーボードをポチポチ押しているのと同様の動きをするので、スクリプトを動かしているうちにチャットを入力しようとすると、なかなか大変です。極端に多い回数を指定しないほうがよいかもしれません。

また、一度開始した作業を止める方法は、通常のLGSの機能としてはありません。どうしても止めたい場合は、LGSをタスクマネージャから終了させれば止まります(再度LGSを起動させなければ、デバイスは使えません)。

Logicool Gシリーズ記事一覧

Template by JoomlaShine