CastStill - A Gearswap Include To Stop Interrupts

Eorzea Time
 
 
 
Langues: JP EN FR DE
Ffxivpro Yellow Box
users online
Forum » Windower » General » CastStill - A Gearswap include to stop interrupts
CastStill - A Gearswap include to stop interrupts
Offline
Posts: 19
By Broguypal 2026-03-30 23:06:25
Link | Citer | R
 
Hi friends,

Ever stop moving and try to cast, but the server still thinks you're moving so it interrupts you? CastStill fixes that.

It watches your character's position and holds your spell briefly until both the client and server agree you've stopped, then automatically sends it. If you haven't moved recently, your spell goes off as normal.

CastStill only kicks in when you've just stopped moving, and the hold is short enough that you won't notice it.

Setup:
  1. Drop CastStill.lua into addons/GearSwap/libs/ or addons/GearSwap/data/

  2. Add

    Code
    include('CastStill.lua')
    to your job lua



That's it. It hooks into your precast automatically so your swaps behave normally.
[+]
Offline
By Nsane 2026-03-31 10:45:08
Link | Citer | R
 
What's the difference between this include and no-interruptions include? It looks for you to stop moving, and only works for cast?
VIP
Offline
Posts: 1206
By Lili 2026-03-31 10:57:05
Link | Citer | R
 
This one slightly delays the start of the cast to make sure that you stopped for both the client and the server. If you move again after cast starts, you will interrupt it as normal.

The no-interruptions include is actually pos-hacking you to trick the server into thinking that you are not moving while casting, at all, for the entire duration of the cast. Once you finish casting, it then pos-hacks you again to where you are supposed to be.

I'll let you guess which one is more offensive and/or detectable lol
[+]
 Shiva.Thorny
Online
Serveur: Shiva
Game: FFXI
User: Rairin
Posts: 3781
By Shiva.Thorny 2026-03-31 12:20:11
Link | Citer | R
 
Much more appropriate than the other one. Could be sped up and made more reliable by checking outgoing 0x15 packets to see your last reported position and determine if it's changed since then rather than blind waits. If client is at the same position as the last 0x15, fine to cast. If they aren't, don't cast until after the next 0x15.

Can be made totally bulletproof if you inject action packets at time of outgoing chunk, but I'm not sure if Windower's hooks can handle the timing for that.
[+]
Offline
Posts: 19
By Broguypal 2026-03-31 13:11:00
Link | Citer | R
 
Shiva.Thorny said: »
Much more appropriate than the other one. Could be sped up and made more reliable by checking outgoing 0x15 packets to see your last reported position and determine if it's changed since then rather than blind waits. If client is at the same position as the last 0x15, fine to cast. If they aren't, don't cast until after the next 0x15.

Can be made totally bulletproof if you inject action packets at time of outgoing chunk, but I'm not sure if Windower's hooks can handle the timing for that.

Hey Thorny,

That's a great idea. I'll work on updating it tonight and release a 1.1.