まず最初に
ブログ更新の際にはDiscordサーバーにて通知を行っています。詳しくはこちら。
動作確認してないので何かあったらコメントお願いします。
もくじ
お役立ちリンク
あわせて読みたい


リプレイを保存できる「A Realm Recorded」について Splatoonの動作確認用
非対応コンテンツでもリプレイが保存できるプラグインを紹介しました。Splatoonの動作確認もできるようです。
紹介するレイアウト・スクリプトは『とらめも交流所』にて共有されたものを転載しています
最速でレイアウトの情報を得たい方はこちらからどうぞ。
クルーザー零式1層
光のツーラーさまが記事を出していました。
https://tooleroflight.blog.jp/archives/27293287.html#more
一括導入のボタンがあるので便利。
公式GitHub
レッツダンスとディスコインファーナルのスクリプトあり。
レイアウトは被っているものがほとんどだと思います。ツーラーさんのやつを入れるなら不要。
2層
https://tooleroflight.blog.jp/archives/27297557.html
ツーラーさん
3層
https://tooleroflight.blog.jp/archives/27323027.html
ツーラーさん(GitHubの上位互換)
4層
https://tooleroflight.blog.jp/archives/27345284.html#more
光狼招来(スクリプト)
クリックで展開
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Dalamud.Game.ClientState.Objects.Types;
using ECommons;
using ECommons.Configuration;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.GameHelpers;
using ECommons.ImGuiMethods;
using ECommons.Logging;
using FFXIVClientStructs.FFXIV.Client.Game;
using Splatoon;
using Splatoon.SplatoonScripting;
namespace SplatoonScriptsOfficial.Duties.Dawntrail;
public class M8S_Tactical_Pack : SplatoonScript
{
public enum State
{
None,
TetherCreated,
Running,
End
}
private const ushort GreenDebuff = 4392;
private const ushort OrangeDebuff = 4391;
private const ushort OrangeDragonDataId = 18225;
private const ushort GreenDragonDataId = 18219;
private const ushort OrangeCubeDataId = 18262;
private const ushort GreenSphereDataId = 18261;
private bool _isGreen;
private State _state = State.None;
public override HashSet<uint>? ValidTerritories => [1263];
public override Metadata? Metadata => new(1, "Garume");
private static IBattleNpc? OrangeDragon => Svc.Objects
.FirstOrDefault(x => x.DataId == OrangeDragonDataId) as IBattleNpc;
private static IBattleNpc? GreenDragon => Svc.Objects
.FirstOrDefault(x => x.DataId == GreenDragonDataId) as IBattleNpc;
private static IBattleNpc? OrangeCube => Svc.Objects
.FirstOrDefault(x => x.DataId == OrangeCubeDataId) as IBattleNpc;
private static IBattleNpc? GreenSphere => Svc.Objects
.FirstOrDefault(x => x.DataId == GreenSphereDataId) as IBattleNpc;
private Config C => Controller.GetConfig<Config>();
public override void OnRemoveBuffEffect(uint sourceId, Status status)
{
if (status.StatusId is GreenDebuff or OrangeDebuff)
{
var greenCount = FakeParty.Get().Count(x => x.StatusList.Any(y => y.StatusId == GreenDebuff));
var orangeCount = FakeParty.Get().Count(x => x.StatusList.Any(y => y.StatusId == OrangeDebuff));
if (greenCount == 0 && orangeCount == 0) _state = State.End;
}
}
public override void OnReset()
{
_state = State.None;
}
public override void OnTetherRemoval(uint source, uint data2, uint data3, uint data5)
{
if (_state == State.TetherCreated)
{
_state = State.Running;
if (Controller.TryGetElementByName("Tether", out var element)) element.Enabled = false;
}
}
public override void OnSetup()
{
var element = new Element(0)
{
radius = 1.5f,
thicc = 15f,
tether = true,
Donut = 0.3f
};
Controller.RegisterElement("Tether", element);
}
public override void OnUpdate()
{
if (_state is State.TetherCreated or State.Running)
{
if (Controller.TryGetElementByName("Tether", out var element))
element.color = GradientColor.Get(C.BaitColor1, C.BaitColor2).ToUint();
}
else
{
Controller.GetRegisteredElements().Each(x => x.Value.Enabled = false);
}
if (_state == State.Running)
{
if (_isGreen)
{
var remainingTime = Player.Status
.FirstOrDefault(x => x.StatusId == GreenDebuff)?.RemainingTime ?? 0;
if (remainingTime == 0)
{
_state = State.End;
return;
}
if (remainingTime < C.RemainingTime)
{
var pos = GreenSphere!.Position;
if (Controller.TryGetElementByName("Tether", out var element))
{
element.Enabled = true;
element.SetOffPosition(pos);
}
}
}
else
{
var remainingTime = Player.Status
.FirstOrDefault(x => x.StatusId == OrangeDebuff)?.RemainingTime ?? 0;
if (remainingTime == 0)
{
_state = State.End;
return;
}
if (remainingTime < C.RemainingTime)
{
var pos = OrangeCube!.Position;
if (Controller.TryGetElementByName("Tether", out var element))
{
element.Enabled = true;
element.SetOffPosition(pos);
}
}
}
}
}
public override void OnSettingsDraw()
{
ImGuiEx.SliderInt("Remaining Time", ref C.RemainingTime, 0, 10);
}
public override void OnTetherCreate(uint source, uint target, uint data2, uint data3, uint data5)
{
PluginLog.Warning($"taget: {target}, source: {source}, data2: {data2}, data3: {data3}, data5: {data5}");
PluginLog.Warning($"source: {source.GetObject().Address} player: {Player.Object.Address}");
if (target.GetObject().DataId is OrangeDragonDataId or GreenDragonDataId &&
_state == State.None &&
source.GetObject().Address == Player.Object.Address)
{
_state = State.TetherCreated;
_isGreen = target.GetObject().DataId == OrangeDragonDataId;
var pos = _isGreen ? GreenDragon!.Position : OrangeDragon!.Position;
if (Controller.TryGetElementByName("Tether", out var element))
{
element.Enabled = true;
element.SetOffPosition(pos);
}
}
}
public class Config : IEzConfig
{
public Vector4 BaitColor1 = 0xFFFF00FF.ToVector4();
public Vector4 BaitColor2 = 0xFFFFFF00.ToVector4();
public int RemainingTime = 8;
}
}
鎧袖一触
~Lv2~{"Name":"M8S 鎧袖一触","Group":"AAC Cruiserweight M4 Savage","ZoneLockH":[1263],"ElementsL":[{"Name":"ビット ドーナツ","type":1,"radius":15.0,"Donut":12.0,"refActorNPCID":13850,"refActorRequireCast":true,"refActorCastId":[42084],"refActorComparisonType":4,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"ビット 円","type":1,"radius":22.0,"refActorNPCID":13850,"refActorRequireCast":true,"refActorCastId":[42083],"refActorComparisonType":4,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"半面焼き 左","type":3,"refX":30.0,"refY":20.0,"offX":-30.0,"offY":20.0,"radius":20.0,"refActorNPCID":13844,"refActorRequireCast":true,"refActorCastId":[42079],"refActorComparisonType":4,"includeRotation":true,"AdditionalRotation":1.5707964,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"半面焼き 右","type":3,"refX":30.0,"refY":20.0,"offX":-30.0,"offY":20.0,"radius":20.0,"refActorNPCID":13844,"refActorRequireCast":true,"refActorCastId":[42081],"refActorComparisonType":4,"includeRotation":true,"AdditionalRotation":4.712389,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]}
光の牙
~Lv2~{"Name":"M8S_光の牙_閃光砲&連撃閃光砲","Group":"AAC Cruiserweight M4 Savage","ZoneLockH":[1263],"ElementsL":[{"Name":"閃光砲","type":3,"refY":17.0,"radius":4.0,"refActorNPCID":13848,"refActorRequireCast":true,"refActorCastId":[42078],"refActorComparisonType":4,"includeRotation":true,"onlyVisible":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"連撃閃光砲","type":3,"refY":17.0,"radius":4.0,"refActorNPCID":13848,"refActorRequireCast":true,"refActorCastId":[42102],"refActorComparisonType":4,"includeRotation":true,"onlyVisible":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]}
ハウリングブレード_剛刃一閃
~Lv2~{"Name":"M8S_ハウリングブレード_剛刃一閃","Group":"AAC Cruiserweight M4 Savage","ZoneLockH":[1263],"ElementsL":[{"Name":"サークル1","type":1,"offY":17.5,"radius":8.0,"fillIntensity":0.5,"refActorNPCID":13844,"refActorRequireCast":true,"refActorCastId":[42085],"refActorComparisonType":4,"includeRotation":true,"onlyTargetable":true,"onlyVisible":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"サークル2","type":1,"offY":17.5,"radius":8.0,"fillIntensity":0.5,"refActorNPCID":13844,"refActorRequireCast":true,"refActorCastId":[42828],"refActorComparisonType":4,"includeRotation":true,"onlyTargetable":true,"onlyVisible":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]}
コメント
コメント一覧 (13件)
二層の「序盤の羽生えて飛んでいくギミックの近接用立ち位置目安」が
反応しないのですがなにか条件ありますか?
2層の序盤のはねのレイアウト入れても全部OFFになってるからか表示されないし、全部ONにし手も表示されないですね
ひかつーのだと表示されてたよ
ペアと44は表示されなかったけど
上の近接が殴りながらのやつの話ですけどそれもあります?
スポットライトの設定はD2だとNE inside と SE insideで良いよね?
なぜか左半分に安置表示されちゃうんだが
あきらめて全ヶ所表示で自分の担当のばしょ凝視してる
解決済みかもだけど、一度スプラ消してから再度入れるといいかも。
あと、
Once stable Dalamud version is released, type /xlbranch command, select “release” option, click “Pick” button and restart the game to turn off the beta.
もお忘れずに。
基本的なことだけど割とみんな忘れてることが多い。
はっやw
ありがとうございます!
Nのプリセットって今のところ4層だけかな?
スプラはランチャーなしで動かすことは可能でしょうか?
もしできるのであればい知りたいのですが…こちらでこの内容ですみません。
有料だけどmmo minionでスプラみたいなの無かった?
そんなのがあるんですね、それって導入したらスプラ使えるって認識出会ってます?それか新しく導入しないとだめ?
その程度の知能ならminionなんかやめとき
有料な上launcher程親切じゃないから、おとなしくアプデ待っとけ
自動スキル回し以外はランチャーの方が優秀やで、ミニオンの方は全部自分でカスタマイズしないとダメだから大人しく有志の介護が手厚いランチャーをお勧めします