Gearswap Support Thread

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 90 91 92 ... 180 181 182
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-01-21 22:10:44
Link | Quote | Reply
 
Leviathan.Stamos said: »
Pastebin

Having issues with the Deathaspir set. The rest is working fine, but it still casts in regular aspir set


Needs to be IdleIndex, not Idle_Index on line 838.

Cleaning up your tabs a bit, it's also apparent that your BLM AF body will never equip unless you move those three lines AFTER line 885.

Also, you will never equip your aja sets if MB is set to true (not sure if you care).

Lastly, you will never equip obi for Death.
 Carbuncle.Akivatoo
Offline
Server: Carbuncle
Game: FFXI
user: Akivatoo
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 05:03:46
Link | Quote | Reply
 
Carbuncle.Akivatoo said: »
Carbuncle.Akivatoo said: »
Bismarck.Speedyjim said: »
Carbuncle.Akivatoo said: »
Hi everyone,
i'm still looking for fix this two fonction.
-first fonction is for equip different cure set depend on target (self or other)
-Second fonction allow me to do only cure4 macro (cast 3 if 4 is in recast and 2 if 4 and 3 are on recast)
i don't see what is wrong

btw i give this fonction very usefull for BLM to save macro space (this one work)

Can you help me ?
If it helps, this is how my healing set is written in my BLU lua.
Code
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
            equip(sets.self_healing)
        end
Code
sets.self_healing = {ring1="Kunaji Ring",ring2="Asklepian Ring",waist="Gishdubar Sash"}
thx for hellp, i'm gonna try it asap

ok that didn't work ><


i share my PLD.Lua if you see something can block this fonction
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-01-22 05:15:11
Link | Quote | Reply
 
Carbuncle.Akivatoo said: »
i share my PLD.Lua if you see something can block this fonction

You have the function, but you are never using it. You have to "call" it by writing refine_various_spells(spell, action, spellMap, eventArgs) in the section that you want this to be used (i.e. midcast).

You've also got two logical errors. It should be:
Code
function refine_various_spells(spell, action, spellMap, eventArgs)
    cures = S{'Cure II','Cure III','Cure IV'}
 
    if not cures:contains(spell.english) then
        return
    end
 
    local newSpell = spell.english
    local spell_recasts = windower.ffxi.get_spell_recasts()
    local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
 
    if spell_recasts[spell.recast_id] > 0 then
        if cures:contains(spell.english) then
            if spell.english == 'Cure' then
                add_to_chat(122,cancelling)
                eventArgs.cancel = true
                return
            elseif spell.english == 'Cure IV' then
                newSpell = 'Cure III'  
            elseif spell.english == 'Cure III' then
                newSpell = 'Cure II'
            end        
        end
	end

    if newSpell ~= spell.english then
        send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
        eventArgs.cancel = true
        return
    end
	
	if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
        equip(sets.self_healing)       
    end
end
 Leviathan.Stamos
Offline
Server: Leviathan
Game: FFXI
user: Stamos
Posts: 1239
By Leviathan.Stamos 2016-01-22 05:25:30
Link | Quote | Reply
 
Thanks!

Nvm fixed the Obi issue
 Asura.Cair
VIP
Offline
Server: Asura
Game: FFXI
user: Minjo
Posts: 246
By Asura.Cair 2016-01-22 05:45:14
Link | Quote | Reply
 
Look at line 6/15/17. What are you trying to do? Cast the lowest available cure?

Ragnarok.Flippant said: »
Carbuncle.Akivatoo said: »
i share my PLD.Lua if you see something can block this fonction

You have the function, but you are never using it. You have to "call" it by writing refine_various_spells(spell, action, spellMap, eventArgs) in the section that you want this to be used (i.e. midcast).

You've also got two logical errors. It should be:
Code
function refine_various_spells(spell, action, spellMap, eventArgs)
    cures = S{'Cure II','Cure III','Cure IV'}
 
    
    if not cures:contains(spell.english) then
-- Cair: Any spell that is not Cure II, Cure III, or Cure IV will not make it past this line
        return
    end
 
    local newSpell = spell.english
    local spell_recasts = windower.ffxi.get_spell_recasts()
    local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
 
    if spell_recasts[spell.recast_id] > 0 then
--Cair: The following line is redundant. You did this already. 
        if cures:contains(spell.english) then
--Cair: This isn't possible, 'Cure' is not an element in 'cures'
            if spell.english == 'Cure' then
                add_to_chat(122,cancelling)
                eventArgs.cancel = true
                return
            elseif spell.english == 'Cure IV' then
                newSpell = 'Cure III'  
            elseif spell.english == 'Cure III' then
                newSpell = 'Cure II'
            end        
        end
	end


    if newSpell ~= spell.english then
        send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
        eventArgs.cancel = true
        return
    end
	
	if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
        equip(sets.self_healing)       
    end
end
 Carbuncle.Akivatoo
Offline
Server: Carbuncle
Game: FFXI
user: Akivatoo
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 05:45:37
Link | Quote | Reply
 
Ragnarok.Flippant said: »
function refine_various_spells(spell, action, spellMap, eventArgs)
    cures = S{'Cure II','Cure III','Cure IV'}
  
    if not cures:contains(spell.english) then
        return
    end
  
    local newSpell = spell.english
    local spell_recasts = windower.ffxi.get_spell_recasts()
    local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
  
    if spell_recasts[spell.recast_id] > 0 then
        if cures:contains(spell.english) then
            if spell.english == 'Cure' then
                add_to_chat(122,cancelling)
                eventArgs.cancel = true
                return
            elseif spell.english == 'Cure IV' then
                newSpell = 'Cure III' 
            elseif spell.english == 'Cure III' then
                newSpell = 'Cure II'
            end       
        end
    end
 
    if newSpell ~= spell.english then
        send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
        eventArgs.cancel = true
        return
    end
     
    if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
        equip(sets.self_healing)      
    end
end
@Asura.Cair yeah fonction i'm looking for is :
- Cast cure 3 if 4 if in recast or mp too low (kind of -1 tier logic)
- Use different cureset if i'm tageting self
i'm look for that :
if "cure 4" is in recast of not enough mp then
newspell "cure 3"
if taget self use > set.midcast.cure.self

that still not work

 Asura.Cair
VIP
Offline
Server: Asura
Game: FFXI
user: Minjo
Posts: 246
By Asura.Cair 2016-01-22 06:36:11
Link | Quote | Reply
 
Just preempting this with.. I don't use Motenten's GearSwaps. To my understanding, you should be canceling a spell by setting event_arts.cancel every time the recast for the given spell isn't up for what you're trying to do.

I imagine you're not too familiar with Lua, but all the playing around with local string variables is probably confusing you more than it's helping. If you were going for conciseness, you can do it much better with some library functions, but for clarity you may just want something like this:
Code
function refine_various_spells(spell,action,spell_map,event_args)

    local cures = S{'Cure','Cure II','Cure III','Cure IV'}
    
    if cures:contains(spell.english) then
    
        local spell_recasts = windower.ffxi.get_spell_recasts()
        
        if spell_recasts[spell.recast_id] > 0 then
            event_args.cancel = true
            
            if spell.english == 'Cure IV' then
                send_command('@input /ma "Cure III" '..tostring(spell.target.raw))
                return
            elseif spell.english == 'Cure III' then
                send_command('@input /ma "Cure II" '..tostring(spell.target.raw))
                return
            elseif spell.english == 'Cure II' then
                send_command('@input /ma "Cure" '..tostring(spell.target.raw))
                return
            else
                add_to_chat(122,'All Cure spells are on cooldown. Canceling the cast.')
                return
            end
        end
        
        if spell_map == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
            equip(sets.self_healing)
        end
    
    end
   


end


For future reference, I'd recommend sticking to one capitalization style, too. That way you're not wondering if you need to check the value of, for example, spell_recasts, spellRecasts, or SpellRecasts every time. Also remember to declare new variables 'local' within a function because you have no way of knowing if you're going to accidentally modify some global variable named 'cures'. Hopefully that doesn't happen, but you never know.
 Carbuncle.Akivatoo
Offline
Server: Carbuncle
Game: FFXI
user: Akivatoo
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 06:47:42
Link | Quote | Reply
 
i just try, this fix didn't work too ;-;
both fonction didn't work



"function refine_various_spells Local(spell,action,spell_map,event_args)"
that's the way to stay in local modification ?
 Asura.Cair
VIP
Offline
Server: Asura
Game: FFXI
user: Minjo
Posts: 246
By Asura.Cair 2016-01-22 07:14:51
Link | Quote | Reply
 
You don't need the function declaration to be local, just the variables inside the function.
Code

x = 5

function foo()

    -- You usually dont wanna do this
    x = 4
    print(x)

end

function bar()

    local x = 6
    print(x)

end

print(x) -- prints 5
foo() -- prints 4
print(x) -- prints 4
bar() -- prints 6
print(x) -- prints 4


 Quetzalcoatl.Kyrial
Offline
Server: Quetzalcoatl
Game: FFXI
user: Kyrial
Posts: 332
By Quetzalcoatl.Kyrial 2016-01-22 12:18:46
Link | Quote | Reply
 
Has the syntax for game time changed? Lately my NIN feet aren't swapping correctly... This is what I've been using, which used to work (though it was a few game minutes inaccurate), but now it seems like it almost always tries to use my Night feet.
Code
function select_movement_feet()
    if world.time >= 17*60 or world.time < 7*60 then
        gear.MovementFeet.name = gear.NightFeet
    else
        gear.MovementFeet.name = gear.DayFeet
    end
end
 Asura.Brennski
Offline
Server: Asura
Game: FFXI
user: Ogri
Posts: 127
By Asura.Brennski 2016-01-26 04:45:34
Link | Quote | Reply
 
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.

Also does GearSwap still work if I do /console exec <script_name>.txt?
 Bismarck.Dunigs
Offline
Server: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-01-26 09:42:19
Link | Quote | Reply
 
Asura.Brennski said: »
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.

Also does GearSwap still work if I do /console exec <script_name>.txt?

This question comes up a lot recently. The answer is no. You can write a standalone add on that parses actions or even just chat log if you're lazy, but there's nothing built into gearswas that detects that for you.

Macro scripts are fine, you may get some weird results if the script itself has gear changes in it but I'm assuming it's just a bunch of abilities you want chained into one macro.
 Asura.Brennski
Offline
Server: Asura
Game: FFXI
user: Ogri
Posts: 127
By Asura.Brennski 2016-01-26 09:43:44
Link | Quote | Reply
 
Bismarck.Dunigs said: »
Asura.Brennski said: »
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.

Also does GearSwap still work if I do /console exec <script_name>.txt?

This question comes up a lot recently. The answer is no. You can write a standalone add on that parses actions or even just chat log if you're lazy, but there's nothing built into gearswas that detects that for you.

Macro scripts are fine, you may get some weird results if the script itself has gear changes in it but I'm assuming it's just a bunch of abilities you want chained into one macro.

Thank you.

Yes the scripts are just SCH Spell SCs allowing me to press 1 macro to fire the SC,
Offline
Posts: 73
By likard 2016-01-27 19:13:34
Link | Quote | Reply
 
Hey all,
IM trying to set up my caster's with Hachirin no obi and twilight cape. I have the sets made, I have code for if weather matches spell, but it doesnt equip the weather set when weath = spell. I had gs show swaps and it is just equipping the default elemental magic sets. I can tell gs to equip the weather set and it will, so I think there might be an issue with it detecting the weather.

The section for the weather/day check is

function weathercheck(spell_element,set)
if spell_element == world.weather_element or spell_element == world.day_element then
equip(sets.midcast['Elemental Magic'], sets.weather)
end
end

Any advice would be appreciated. Thanks
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-01-27 19:41:24
Link | Quote | Reply
 
Try this maybe?
Code
equip(sets.midcast['Elemental Magic'], {back="Twilight Cape",waist="Hachirin-no-Obi"})


Looking at my lua, this code is in function job_post_midcast. Try that too.
Offline
Posts: 73
By likard 2016-01-27 19:58:59
Link | Quote | Reply
 
Just tried both changes, neither works. Do you need anything else in the lua to chck the weather or does that get handled behind the scenes?

And this does work with sch storm spells right?

I was hoping to just add a simple section for it. Bah
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 658
By Ragnarok.Flippant 2016-01-27 21:29:27
Link | Quote | Reply
 
likard said: »
Just tried both changes, neither works. Do you need anything else in the lua to chck the weather or does that get handled behind the scenes?

And this does work with sch storm spells right?

I was hoping to just add a simple section for it. Bah

Yes, it works with storms.

Can you also paste the part where this function is being called? There should be another part in your rules that has "weathercheck" that is passing spell.element (and possibly one other variable).
 Phoenix.Gaiarorshack
Offline
Server: Phoenix
Game: FFXI
user: MiavPigen
Posts: 1245
By Phoenix.Gaiarorshack 2016-01-27 21:37:04
Link | Quote | Reply
 
can you define a variable inside gearswap from the console

e.g.
GS sets variablename value


so you can have ythe following in your gearswap script
if variablename == Value then blah blah blah
 Leviathan.Stamos
Offline
Server: Leviathan
Game: FFXI
user: Stamos
Posts: 1239
By Leviathan.Stamos 2016-01-28 03:30:27
Link | Quote | Reply
 
This may be a stupid question; but here goes:

Mostly avoided Mote's luas for a long time, because I have my binds in my init. Every time I use his I am stuck with his binds, and have no idea besides relogging to get them off. Have the unloadbinds for all the commands in the BST lua, but it still does not revert them back. Any idea how to fix this?
 Asura.Cair
VIP
Offline
Server: Asura
Game: FFXI
user: Minjo
Posts: 246
By Asura.Cair 2016-01-28 04:56:25
Link | Quote | Reply
 
In your Mote-Globals file just comment out the entire global_on_load() and global_on_unload() body.

Even better, put your binds there.
 Leviathan.Stamos
Offline
Server: Leviathan
Game: FFXI
user: Stamos
Posts: 1239
By Leviathan.Stamos 2016-01-28 06:27:29
Link | Quote | Reply
 
Thanks Jinjo
Offline
Posts: 116
By Feanorsof 2016-01-30 18:57:27
Link | Quote | Reply
 
Is it possible to add a third set to this:

I tried a few things but couldn't get it to work

Thanks
 Carbuncle.Akivatoo
Offline
Server: Carbuncle
Game: FFXI
user: Akivatoo
Posts: 263
By Carbuncle.Akivatoo 2016-01-31 08:25:16
Link | Quote | Reply
 
ok i have fixed my curs self problem but i still have this fonction not workin

fonction i'm looking for is :
- Cast cure 3 if 4 if in recast or mp too low (kind of -1 tier logic)
- Use different cureset if i'm tageting self
i'm look for that :
if "cure 4" is in recast of not enough mp then
newspell "cure 3"
 Carbuncle.Akivatoo
Offline
Server: Carbuncle
Game: FFXI
user: Akivatoo
Posts: 263
By Carbuncle.Akivatoo 2016-02-04 05:26:28
Link | Quote | Reply
 
i' looking also to change bind on F12 to activate my BDT like the F10 one work for PDT
so i change:
in my PLD.lua:
options.BreathDefenseModes = {'BDT'}
in Mote-Globals.lua:
send_command('bind f12 gs c activate BreathDefense')
Mote-Include.lua:
options.BreathDefenseModes = {'BDT'}
and when i activate F10, then F11, then F12 i get this error on F12:


What did i miss ?

i find this on Mote-include:
.
i changed it like :
but that didn't fix anything ><
Offline
Posts: 7
By Sonicrich05 2016-02-05 09:41:55
Link | Quote | Reply
 
Hello!

I was wondering if someone could help me figure out why my pet_midcast isn't changing to my Pet WS set. I pretty much copied it from someone else, kind of confused here.

Here's where I define the moves:

And here's the midcast funciton:

Thanks in advance!
 Seraph.Jacaut
Offline
Server: Seraph
Game: FFXI
user: Jacaut
Posts: 383
By Seraph.Jacaut 2016-02-07 19:30:01
Link | Quote | Reply
 
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff!
 Bismarck.Dunigs
Offline
Server: Bismarck
Game: FFXI
user: Dunigs
Posts: 83
By Bismarck.Dunigs 2016-02-07 19:55:49
Link | Quote | Reply
 
Seraph.Jacaut said: »
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff!

You need to surround the second argument in set_combine with an opening curly bracket(you already have the proper closing one at the end). In other words, change
Code
= set_combine(sets.idle, main={....}}})

To:
Code
= set_combine(sets.idle, {main = everything else as you have it}}})
 Seraph.Jacaut
Offline
Server: Seraph
Game: FFXI
user: Jacaut
Posts: 383
By Seraph.Jacaut 2016-02-07 20:10:04
Link | Quote | Reply
 
Bismarck.Dunigs said: »
Seraph.Jacaut said: »
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff!

You need to surround the second argument in set_combine with an opening curly bracket(you already have the proper closing one at the end). In other words, change
Code
= set_combine(sets.idle, main={....}}})

To:
Code
= set_combine(sets.idle, {main = everything else as you have it}}})

got it thanks ^^
First Page 2 3 ... 90 91 92 ... 180 181 182
Log in to post.