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 ... 170 171 172 ... 180 181 182
 Ragnarok.Ivubee
Offline
Server: Ragnarok
Game: FFXI
user: Ivubee
Posts: 4
By Ragnarok.Ivubee 2022-09-06 14:09:25
Link | Quote | Reply
 
ISSUE RESOLVED

I'm getting "User file problem: ...lua:99: '<name>' expected near '[' "

Can't find anything missing, took the Byrth_WAR file and copied in my own sets (from export files), added WS's deleted stuff I don't have.

Here is the full file: (Now working code)
Code
include('organizer-lib')

function get_sets()
    
    sets.TP = {}
    TP_mode = 'DT'

    sets.TP.Normal = {
        head="Flam. Zucchetto +2",
        body="Flamma Korazin +2",
        hands="Sulev. Gauntlets +2",
        legs="Pumm. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
    
    sets.TP.DT = {
        head="Flam. Zucchetto +2",
        body="Flamma Korazin +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Defending Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
       
    sets.WS = {}
    sets.WS['Raging Rush'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
        
    sets.WS["Ukko's Fury"] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
        
    sets.WS['Fell Cleave'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
    
    sets.WS['Resolution'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }

    sets.WS['Smash Axe'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }

    sets.WS['Decimation'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }

    sets.WS['Cloudsplitter'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }

    sets.DT = {
        head="Arke Zuchetto",
        body="Arke Corazza",
        hands="Arke Manopolas",
        legs="Arke Cosciales",
        feet="Arke Gambieras",
    }
    
    sets.Idle = sets.DT
 
    sets.Cast = {
        head="Arke Zuchetto",
        body="Arke Corazza",
        hands="Arke Manopolas",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck="Loricate Torque +1",
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Defending Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
    
    send_command('input /macro book 6;wait .1;input /macro set 2')
end

function precast(spell)
    if spell.cast_time then
        equip(sets.Cast)
    else
        equip(sets.TP[TP_mode])
    end
end

function midcast(spell)
    if sets.WS[spell.english] then
        equip(sets.WS[spell.english])
    end
end

function aftercast(spell)
    if player.status == 'Engaged' then
        equip(sets.TP[TP_mode])
    else
        equip(sets.Idle)
    end
end

function status_change(new,old)
    if T{'Idle','Resting'}:contains(new) then
        equip(sets.Idle)
    elseif new == 'Engaged' then
        equip(sets.TP[TP_mode])
    end
end

function self_command(command)
    if command == 'DT' then
        equip(sets.DT)
    elseif command == 'TP' then
        elseif TP_mode=="Normal" then
            TP_mode="DT"
        elseif TP_mode=="DT" then
            TP_mode='Normal'
        end
        windower.add_to_chat('TP mode is now: '..TP_mode)
        equip(sets.TP[TP_mode])
    end
 Bahamut.Ayasha
Offline
Server: Bahamut
Game: FFXI
user: Ayasha
Posts: 87
By Bahamut.Ayasha 2022-09-06 14:45:45
Link | Quote | Reply
 
Hello! This should be a fairly simple fix. The way you have your WS's listed as:
Code
 sets.WS.["Resolution"] 


Should be:
Code
 sets.WS['Resolution'] 


The reason behind this is that adding a dot after WS tells the Lua engine to expect a named member of the table "WS" to proceed. Since you are declaring Resolution, for example, literally, you need to add the string literal as shown above by convention. I'm sure there are others that can better explain this than me, and I would be interested to see a more professional explanation. You can also use double-quotes if you like, but I think single quotes are the preferred method? I hope this helps!
 Ragnarok.Ivubee
Offline
Server: Ragnarok
Game: FFXI
user: Ivubee
Posts: 4
By Ragnarok.Ivubee 2022-09-06 15:07:42
Link | Quote | Reply
 
Makes a lot of sense, but made no difference, even tried changing all the " to ' at the WSs. Same message still line 99.

Copied updated file into the original comment.
 Leviathan.Boposhopo
Offline
Server: Leviathan
Game: FFXI
user: Boposhopo
Posts: 229
By Leviathan.Boposhopo 2022-09-06 15:25:39
Link | Quote | Reply
 
Ragnarok.Ivubee said: »
Makes a lot of sense, but made no difference, even tried changing all the " to ' at the WSs. Same message still line 99.

Copied updated file into the original comment.

Copied your lua, it loaded fine after changing
Code
sets.WS['Ukko's Fury']


to
Code
sets.WS["Ukko's Fury"]


Need to use quotations as the apostrophe in the WS name messes it up.

And removing the extra end on line 214.
Offline
Posts: 5
By Ivubee 2022-09-06 15:33:43
Link | Quote | Reply
 
Yes now it works, thanks a lot :D
 Bahamut.Ayasha
Offline
Server: Bahamut
Game: FFXI
user: Ayasha
Posts: 87
By Bahamut.Ayasha 2022-09-06 15:45:03
Link | Quote | Reply
 
Edit - Beat me to the punch! Thanks for the assist. There are a few errors in your lua, and Ukko's was causing a portion of it, apologies for not specifying that in the first one. I corrected a few of these and it works fine for me, not getting any errors, but haven't tested all that much as I'm at work. Your DT/TP selector should work as intended now as well. Corrected Lua in the code block below. If you still need help, I can goof with it tonight, but I can't do much right now. Let us know if you need anything more
Code
include('organizer-lib')
 
function get_sets()
     
    sets.TP = {}
    TP_mode = 'DT'
 
    sets.TP.Normal = {
        head="Flam. Zucchetto +2",
        body="Flamma Korazin +2",
        hands="Sulev. Gauntlets +2",
        legs="Pumm. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
     
    sets.TP.DT = {
        head="Flam. Zucchetto +2",
        body="Flamma Korazin +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Defending Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
        
    sets.WS = {}
    sets.WS['Raging Rush'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
         
    sets.WS['Ukko\'s Fury'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
         
    sets.WS['Fell Cleave'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
     
    sets.WS['Resolution'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
 
    sets.WS['Smash Axe'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
 
    sets.WS['Decimation'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
 
    sets.WS['Cloudsplitter'] = {
        head="Flam. Zucchetto +2",
        body="Sulevia's Plate. +2",
        hands="Sulev. Gauntlets +2",
        legs="Sulev. Cuisses +2",
        feet="Sulev. Leggings +1",
        neck={ name="Warrior's Beads", augments={'Path: A',}},
        waist="Chuq'aba Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Rajas Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','Accuracy+10','Weapon skill damage +10%',}},
    }
 
    sets.DT = {
        head="Arke Zuchetto",
        body="Arke Corazza",
        hands="Arke Manopolas",
        legs="Arke Cosciales",
        feet="Arke Gambieras",
    }
     
    sets.Idle = sets.DT
  
    sets.Cast = {
        head="Arke Zuchetto",
        body="Arke Corazza",
        hands="Arke Manopolas",
        legs="Sulev. Cuisses +2",
        feet="Pumm. Calligae +3",
        neck="Loricate Torque +1",
        waist="Ioskeha Belt",
        left_ear="Steelflash Earring",
        right_ear="Bladeborn Earring",
        left_ring="Defending Ring",
        right_ring="Flamma Ring",
        back={ name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-8%',}},
    }
     
    send_command('input /macro book 6;wait .1;input /macro set 2')
end
 
function precast(spell)
    if spell.cast_time then
        equip(sets.Cast)
    else
        equip(sets.TP[TP_mode])
    end
end
 
function midcast(spell)
    if sets.WS[spell.english] then
        equip(sets.WS[spell.english])
    end
end
 
function aftercast(spell)
    if player.status == 'Engaged' then
        equip(sets.TP[TP_mode])
    else
        equip(sets.Idle)
    end
end
 
function status_change(new,old)
    if T{'Idle','Resting'}:contains(new) then
        equip(sets.Idle)
    elseif new == 'Engaged' then
        equip(sets.TP[TP_mode])
    end
end
 
function self_command(command)
    if command == 'DT' then
        equip(sets.DT)
    elseif command == 'TP' then
        if TP_mode=="Normal" then
            TP_mode="DT"
        elseif TP_mode=="DT" then
            TP_mode='Normal'
        end
        windower.add_to_chat('TP mode is now: '..TP_mode)
        equip(sets.TP[TP_mode])
   end
end
 Bahamut.Hirronimus
Offline
Server: Bahamut
Game: FFXI
By Bahamut.Hirronimus 2022-09-09 09:46:16
Link | Quote | Reply
 
I'll preface my problem with a quick story, so you get the whole picture.

Few days ago, I was disconnected from the game due to some network issues. I am still experiencing these issues and trying to resolve them with my ISP.
I am able to log into the game, albeit slowly (Windower takes like 5 mins to start up), but now in-game issues have shown up.

At first none of the addons, like GearSwap, AutoEcho, EquipViewer, BoxDetsroyer, Dimmer, MyHome, etc were loading correctly. Either it shows the error "not loaded" or in case of EquipViewer the position of the box has changed.

My main concern is GearSwap, the rest I can do without until I can either get it working or find an alternative.

So, the main issue with GearSwap as it stands now; I have reinstalled Windower at least 10+ times to try to isolate the problem. I've tried running Windower without addons. Without Addons, with only the Libs folder in Addons folder, the game boots up no problem. After that I booted up game without GearSwap, but with other Addons listed above. They all work, no problem (aside from minor modification to the files I'll have to do later, like positioning, etc.) Then I tried running the game via Windower with JUST GearSwap (no other addons, just the Libs folder in Addon folder), and every time when I log into game, I get message GearSwap: Lua runtime error: gearswap/gearswap.lua:118 Missing Resources!

When I try to unload GS, I get Lua error: Addon gearswap is not loaded.

How can this be? It's giving error and at the same time not even loaded, even tho it is.

Any help with this, is greatly appreciated.
 Bismarck.Radec
Offline
Server: Bismarck
Game: FFXI
user: Radec
Posts: 129
By Bismarck.Radec 2022-09-09 10:07:52
Link | Quote | Reply
 
Your network issues are likely preventing windower from updating correctly.

Check for the "res" folder in the windower directory. If it's missing or empty, manually download the files from https://github.com/Windower/Resources

Everything in the "resources_data" folder should go into Windower/res/

The error messages: Gearswap's first error prevents it from loading in the first place, so you can't unload it after.

If resources updates don't solve other addon issues, check the online sources for them and make sure they're up to date as well - https://github.com/Windower/Lua/tree/live or otherwise
 Phoenix.Evolved
Offline
Server: Phoenix
Game: FFXI
user: Special1
Posts: 67
By Phoenix.Evolved 2022-09-13 19:12:53
Link | Quote | Reply
 
I'm writing myself a very simple Gearswap for Bard. The basic goal I have now is equipping Blurred Harp when I sing a song, and have it equip Linos when I'm not and fighting.

Here is my code so far, which works, but I'm having another issue. When I swap out instruments my target becomes unlocked. If the mob moves I of course do not attack it anymore. How do I add a console command of /lockon right after it equips Linos?

Or if there is a more efficient way of doing it, I'm all ears.
 Asura.Yottaxa
Offline
Server: Asura
Game: FFXI
user: Yottaxa
Posts: 134
By Asura.Yottaxa 2022-09-13 22:22:30
Link | Quote | Reply
 
Phoenix.Evolved said: »
I'm writing myself a very simple Gearswap for Bard. The basic goal I have now is equipping Blurred Harp when I sing a song, and have it equip Linos when I'm not and fighting.

Here is my code so far, which works, but I'm having another issue. When I swap out instruments my target becomes unlocked. If the mob moves I of course do not attack it anymore. How do I add a console command of /lockon right after it equips Linos?

Or if there is a more efficient way of doing it, I'm all ears.

I would assume you could just add the following to line 98 of you idle check:
send_command('@input /lockon')

But its a toggle command right? So you will need extra logic such as a temp variable to set in you have swapped for particular set(s). (Personally not a fan of lockon.) Im not near pc atm to test, but because its a toggle its kinda a pita to deal with if I recall. (I forget - its any swaps that break lockon? Or just weapons?)
 Ragnarok.Neyochimaru
Offline
Server: Ragnarok
Game: FFXI
user: Neyochi
Posts: 91
By Ragnarok.Neyochimaru 2022-09-14 02:29:52
Link | Quote | Reply
 
Code

   if  spell.name == "Valor Minuet IV" or 
        spell.name == "Valor Minuet V" or   
        spell.name == "Blade Madrigal" then
            equip(sets.precast.casting)
            send_command('@input /lockon
')


in aftercast, of course
 Phoenix.Evolved
Offline
Server: Phoenix
Game: FFXI
user: Special1
Posts: 67
By Phoenix.Evolved 2022-09-15 02:01:08
Link | Quote | Reply
 
I got it mostly working, had to change quite a few things. But there are still a couple things wrong.

For some reason after singing a bard song, it will load the precast set, and then the midcast set, that's right. Now, when the song is done, it will reload the precast set, and the midcast set, then finally the aftercast set, but then it loads the aftercast set a second time. This only happens with bard songs, except for ballad (which has a faster cast time).

The second thing is I wrote a function for lockon. In the weapon skill portion of precasts, it works perfect, but of course in the repetitive precast/midcast/aftercast issue it doesn't lockon. It even recognizes that the player is locked on, but it actually isn't.

Can you guys see a problem with any of this?

Code
function get_sets()

	sets.idle = {} 					-- Leave this empty.
	sets.melee = {}					-- Leave this empty
	sets.ws = {}					-- Leave this empty
	sets.ja = {}					-- Leave this empty
	sets.precast = {}               -- leave this empty    
	sets.midcast = {}               -- leave this empty    
	sets.aftercast = {}             -- leave this empty
	
    sets.idle.normal = {
        main="Kaja Sword",
        sub={ name="Kali", augments={'DMG:+15','CHR+15','Mag. Acc.+15',}},
        range="Blurred Harp",
        head="Aya. Zucchetto +1",
        body="Sha'ir Manteel",
        hands="Aya. Manopolas +1",
        legs="Aya. Cosciales +1",
        feet="Aya. Gambieras +1",
        neck="Sanctity Necklace",
        waist="Dynamic Belt",
        left_ear="Mache Earring",
        right_ear="Mache Earring",
        left_ring="Ayanmo Ring",
        right_ring="Enlivened Ring",
        back={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},

}

    sets.melee.normal = {
        main="Kaja Sword",
        sub={ name="Kali", augments={'DMG:+15','CHR+15','Mag. Acc.+15',}},
        range={ name="Linos", augments={'Accuracy+15','"Store TP"+3','Quadruple Attack +3',}},
        head="Aya. Zucchetto +1",
        body="Ayanmo Corazza +1",
        hands="Aya. Manopolas +1",
        legs="Aya. Cosciales +1",
        feet="Aya. Gambieras +1",
        neck="Sanctity Necklace",
        waist="Dynamic Belt",
        left_ear="Mache Earring",
        right_ear="Mache Earring",
        left_ring="Ayanmo Ring",
        right_ring="Enlivened Ring",
        back={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},

}

    sets.ws.savageblade = {
        main="Kaja Sword",
        sub={ name="Kali", augments={'DMG:+15','CHR+15','Mag. Acc.+15',}},
        -- range={ name="Linos", augments={'Accuracy+15','"Store TP"+3','Quadruple Attack +3',}},
        head="Aya. Zucchetto +1",
        body="Ayanmo Corazza +1",
        hands="Aya. Manopolas +1",
        legs="Aya. Cosciales +1",
        feet="Aya. Gambieras +1",
        neck="Sanctity Necklace",
        waist="Dynamic Belt",
        left_ear="Mache Earring",
        right_ear="Mache Earring",
        left_ring="Ayanmo Ring",
        right_ring="Enlivened Ring",
        back={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},

}

	sets.precast.casting = {
        main="Kaja Sword",
        sub={ name="Kali", augments={'DMG:+15','CHR+15','Mag. Acc.+15',}},
        range="Blurred Harp",
        head="Aya. Zucchetto +1",
        body="Sha'ir Manteel",
        hands="Aya. Manopolas +1",
        legs="Aya. Cosciales +1",
        feet="Aya. Gambieras +1",
        neck="Sanctity Necklace",
        waist="Dynamic Belt",
        left_ear="Mache Earring",
        right_ear="Mache Earring",
        left_ring="Ayanmo Ring",
        right_ring="Enlivened Ring",
        back={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},
    
}

    sets.midcast.casting = {
        main="Kaja Sword",
        sub={ name="Kali", augments={'DMG:+15','CHR+15','Mag. Acc.+15',}},
        range="Blurred Harp",
        head="Aya. Zucchetto +1",
        body="Ayanmo Corazza +1",
        hands="Aya. Manopolas +1",
        legs="Aya. Cosciales +1",
        feet="Aya. Gambieras +1",
        neck="Sanctity Necklace",
        waist="Dynamic Belt",
        left_ear="Mache Earring",
        right_ear="Mache Earring",
        left_ring="Ayanmo Ring",
        right_ring="Enlivened Ring",
        back={ name="Intarabus's Cape", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}},

}
end

function precast(spell)
        
    if spell.english == "Savage Blade" then
        add_to_chat(158,'     >>>>> Precast Savage Blade <<<<<     ')
        equip(sets.ws.savageblade)
	elseif spell.type == "BardSong" then
        add_to_chat(158,'     >>>>> Precast Bard Song <<<<<     ')
        equip(sets.precast.casting)
	end
end

function midcast(spell)

    if spell.type == "BardSong" then
    add_to_chat(158,'     >>>>> Midcast <<<<<     ')
    equip(sets.midcast.casting)
    end
end

function aftercast(spell)

    add_to_chat(158,'     >>>>> Aftercast <<<<<     ')
    idle()
end


function idle()

    if player.status=='Engaged' then 
        equip(sets.melee.normal) 
        add_to_chat(158,'     >>>>> Melee Set Engaged <<<<<     ')
        lockon()
    else
        equip(sets.idle.normal) 
        add_to_chat(158,'     >>>>> Idle Set Disengaged <<<<<     ')
    end
end

function lockon()
    if player.target_locked then 
        add_to_chat(158,'     >>>>> Already Locked On <<<<<     ')   
    else 
        send_command('input /lockon')
        add_to_chat(158,'     >>>>> Sent /lockon <<<<<     ')    
    end
end

function status_change(new,old)
    if new == 'Engaged' then
        add_to_chat(158,'     >>>>> Status Change Engaged Equipping Melee <<<<<     ')
        equip(sets.melee.normal)
        else
        add_to_chat(158,'     >>>>> Status Change Disengaged Equipping Idle <<<<<     ')
        equip(sets.idle.normal)
    end
end


(Pardon me with all the chat commands, I'm trying to find out exactly when it breaks. I know just a little lua from writing weakauras in WoW. I know it's probably easier getting another bard lua, but I wanted to write my own.

I don't have much gear, so no dummy songs are being sung. I just have the blurred harp, and a couple pieces of gear for fast cast and song spellcasting speed. I just don't want the player to unlock the target all the time)
 
Offline
Posts:
By 2022-09-17 16:58:47
 Undelete | Edit  | Link | Quote | Reply
 
Post deleted by User.
Offline
Posts: 42635
By Jetackuu 2022-09-17 17:02:42
Link | Quote | Reply
 
there's a discord dedicated to those things, probably better off going there
 Cerberus.Oakdale
Offline
Server: Cerberus
Game: FFXI
user: Oakie
Posts: 19
By Cerberus.Oakdale 2022-09-23 16:18:04
Link | Quote | Reply
 
Do you have a link the the gearswap discord?

I am also having an issue with my lua for thf. I cant get the weaponskill part to work. I have my swap notifications turned on and they're not working. So I'm assuming this lua does not work. Can anyone see what I did wrong?
Code
function get_sets()

	sets.idle = {} 					-- Leave this empty.
	sets.precast = {}               -- leave this empty    
    sets.midcast = {}               -- leave this empty    
    sets.aftercast = {}             -- leave this empty
	sets.melee = {}					-- Leave this empty
	sets.ws = {}					-- Leave this empty
	sets.ja = {}					-- Leave this empty
	
	sets.idle.normal={
    main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Warp Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
}

	sets.precast.casting = {
    main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
 }
 
 	sets.midcast.cure = {
    main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
 }
 
	sets.precast.normal={
    main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},

}
	
	sets.midcast.normal={
	main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
	
}
	
	sets.aftercast.normal={
    main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
}

	sets.melee.normal={
	main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
}

	sets.ws['Mandalic Stab']={
	main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Meghanada Gloves +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Grunfeld Rope",
    left_ear="Bladeborn Earring",
    right_ear="Ishvara Earring",
    left_ring="Rajas Ring",
    right_ring="Karieyh Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
}
	
	sets.ja['Haste Samba']={
	main={ name="Shijo", augments={'DEX+15','"Dual Wield"+5','"Triple Atk."+2',}},
    sub="Ajja Knife",
    ammo="Hagneia Stone",
    head={ name="Adhemar Bonnet", augments={'DEX+10','AGI+10','Accuracy+15',}},
    body={ name="Adhemar Jacket", augments={'DEX+10','AGI+10','Accuracy+15',}},
    hands="Mummu Wrists +1",
    legs="Mummu Kecks +2",
    feet="Mummu Gamash. +1",
    neck="Asperity Necklace",
    waist="Sailfi Belt +1",
    left_ear="Bladeborn Earring",
    right_ear="Steelflash Earring",
    left_ring="Rajas Ring",
    right_ring="Mummu Ring",
    back={ name="Toutatis's Cape", augments={'DEX+20','Accuracy+20 Attack+20','"Store TP"+10',}},
}
	
end

function precast(spell)
	if  spell.type ~= 'JobAbility' then
        equip(sets.precast.casting)
    elseif sets.ja[spell.name] then
        equip(sets.ja[spell.name])        
    elseif sets.ws[spell.name] then
        equip(sets.ws[spell.name])        
    end         
end

function midcast(spell)
equip(sets.midcast.cure)
end

function aftercast(spell)
	idle()
end

function idle()
    if player.status=='Engaged' then
        equip(sets.melee.normal) 
    else
        equip(sets.idle.normal) 
    end
end
 
function status_change(new,old)
    idle()
end
Online
Posts: 373
By drakefs 2022-09-23 16:31:45
Link | Quote | Reply
 
Cerberus.Oakdale said: »
Code
if  spell.type ~= 'JobAbility' then

This is catching everything but
Code
JobAbility
so the elseif for WS will never trigger.

Try:
Code
function precast(spell)
    if  spell.type ~= 'JobAbility' then
        if sets.ws[spell.name] then
            equip(sets.ws[spell.name])
        else
            equip(sets.precast.casting
        end
    elseif sets.ja[spell.name] then
        equip(sets.ja[spell.name])              
    end         
end


EDIT: Windower Gearswap Support Discord link
 Cerberus.Oakdale
Offline
Server: Cerberus
Game: FFXI
user: Oakie
Posts: 19
By Cerberus.Oakdale 2022-09-23 16:46:14
Link | Quote | Reply
 
drakefs said: »
Cerberus.Oakdale said: »
Code
if  spell.type ~= 'JobAbility' then

This is catching everything but
Code
JobAbility
so the elseif for WS will never trigger.

Try:
Code
function precast(spell)
    if  spell.type ~= 'JobAbility' then
        if sets.ws[spell.name] then
            equip(sets.ws[spell.name])
        else
            equip(sets.precast.casting
        end
    elseif sets.ja[spell.name] then
        equip(sets.ja[spell.name])              
    end         
end


EDIT: Windower Gearswap Support Discord link

Thank you drakefs, it seems like that did it!
 Asura.Sechs
Offline
Server: Asura
Game: FFXI
user: Akumasama
Posts: 9876
By Asura.Sechs 2022-10-14 10:52:34
Link | Quote | Reply
 
I'm gonna tag Byrth soon, the topic of this post of mine is SMN.
As it has been discussed already (but with no real conclusion, afaik?) there's some sort of trouble with Gearswap or some lua. The result is that BP get fired by mistake either in the precast set or in the aftercast set.
Probably both things can happen alternatively and randomly.

Torn by the inconsistency of my BP damage in Sortie earlier today I completely removed the automatic Aftercast (replacing with a manual hotkey on my G keyboard) and noticed that:

1) BP damage was much more consistant, but there were still those occasional 4k BP (compared to an average of over 30k) that made no sense.
2) This led me to think that sometimes my BP were firing in the Precast set

Given this hypothesis I locked my gear in my BP midcast and did around 50 BPs, the damage was variable but always consistant and pretty big.


Conclusions
BP sometimes go off in either Aftercast or Precast sets.
I can lock aftercast set up and turn it into a manual thing, but I can't do the same with precast of course.

Cause of the issue?
I have no clue what could be causing the issue.
Is it my Lua? But I built it from scratch on my own, without using anybody else's lines of code. It's pretty simple and straightforward.
If not my lua, could the issue be in some values of Gearswap? Could the issue lie in BOTH my lua and Gearswap?


Here is my SMN lua if you wanna take a look
https://pastebin.com/pakdwMQE
Keep in mind a few lines have been commented, they're the lines supposed to equip my aftercast set. I temporarily disabled them as I mentioned above.



Edit:
I forgot to mention that Packeflow was NOT loaded.
 Carbuncle.Yiazmaat
Offline
Server: Carbuncle
Game: FFXI
user: Rudra
Posts: 164
By Carbuncle.Yiazmaat 2022-10-15 16:18:23
Link | Quote | Reply
 
Anyone got a Selindrile Geo gearswap that swap to Hachirin-no-obi ? Idk how to write things to make it work
Offline
Posts: 215
By zigzagzig 2022-10-15 21:53:18
Link | Quote | Reply
 
function job_post_midcast(spell, action, spellMap, eventArgs)

if spell.skill == 'Elemental Magic' then
if (spell.element == world.weather_element and gearswap.res.weather[world.weather_id].intensity == 2) then
equip({waist="Hachirin-no-Obi"})
add_to_chat(8,'----- Obi Equipped. -----')
end
end

this ?
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1649
By Cerberus.Shadowmeld 2022-10-15 22:04:35
Link | Quote | Reply
 
If you have a selindrile gearswap you shouldn’t have to do anything for obi
 Carbuncle.Yiazmaat
Offline
Server: Carbuncle
Game: FFXI
user: Rudra
Posts: 164
By Carbuncle.Yiazmaat 2022-10-16 06:05:05
Link | Quote | Reply
 
I used someone simple function, its working.

But i never seen an autoswap on my blu blm selindrile lua till i modified the function in JOB.lua
 Cerberus.Shadowmeld
Offline
Server: Cerberus
Game: FFXI
Posts: 1649
By Cerberus.Shadowmeld 2022-10-16 07:20:13
Link | Quote | Reply
 
If you used the one posted right above my post it is very limited. It will only work with double weather and won’t do single weather or matching day. Obi also gets a penalty on opposing day/weather. Selindriles luas already handle all those cases, and if you ever get an orpheus’s sash will swap that in appropriately too
 Carbuncle.Yiazmaat
Offline
Server: Carbuncle
Game: FFXI
user: Rudra
Posts: 164
By Carbuncle.Yiazmaat 2022-10-16 08:28:43
Link | Quote | Reply
 
function job_post_midcast(spell, action, spellMap, eventArgs)


if spell.element == world.day_element or spell.element == world.weather_element then equip({waist="Hachirin-no-Obi"})
end

This is what i have now, its swapping to obi with day, weather and x2 weather
 Shiva.Hiep
Offline
Server: Shiva
Game: FFXI
user: Hiepo
Posts: 669
By Shiva.Hiep 2022-10-16 17:31:10
Link | Quote | Reply
 
Anyone know how to add Bounty Shot to the following function? I accidentally shot my WSD arrow today.

function job_precast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Ranged Attack' or
(spell.type == 'WeaponSkill' and (spell.skill == 'Marksmanship' or spell.skill == 'Archery')) then
if player.equipment.ammo == "Hauksbok Arrow"
then cancel_spell()
add_to_chat(122, "Don't shoot the Precious!!!")
end
end
end
 Fenrir.Positron
Offline
Server: Fenrir
Game: FFXI
user: Positron
Posts: 141
By Fenrir.Positron 2022-10-16 17:38:41
Link | Quote | Reply
 
Between
Code
if spell.action_type == 'Ranged Attack' or
and
Code
(spell.type == 'WeaponSkill' and (spell.skill == 'Marksmanship' or spell.skill == 'Archery'))
(on the same line) add
Code
spell.english == 'Bounty Shot' or


Edit: you might want to add a bit more, too. Eagle Eye Shot and Shadowbind also consume ammo.
[+]
 Shiva.Hiep
Offline
Server: Shiva
Game: FFXI
user: Hiepo
Posts: 669
By Shiva.Hiep 2022-10-16 17:40:33
Link | Quote | Reply
 
Much appreciated, thank you!
 Carbuncle.Yiazmaat
Offline
Server: Carbuncle
Game: FFXI
user: Rudra
Posts: 164
By Carbuncle.Yiazmaat 2022-10-21 08:27:11
Link | Quote | Reply
 
Is there a command to block automaton midcast gear swap on selindrile lua when you have a mage maton on and dont want to have your gear swapping while he nuke/enfeeble/cure ? Sometimes i have to delete the midcast gear when i dont and then reupdate them when i want them. Trying to see if i could just Block these through à command or something
 Bismarck.Radec
Offline
Server: Bismarck
Game: FFXI
user: Radec
Posts: 129
By Bismarck.Radec 2022-10-21 11:35:25
Link | Quote | Reply
 
Carbuncle.Yiazmaat said: »
Is there a command to block automaton midcast gear swap on selindrile lua when you have a mage maton on and dont want to have your gear swapping while he nuke/enfeeble/cure ? Sometimes i have to delete the midcast gear when i dont and then reupdate them when i want them. Trying to see if i could just Block these through à command or something

Selindrile does support castingmode on pet actions, you should be able to do something like this, and toggle castingmode normally with 'gs c cycle castingmode'.
Code
state.CastingMode:options('Normal','NoPetCasting')
...
sets.midcast.Pet['Enfeebling Magic'] = <normal gear>
sets.midcast.Pet['Enfeebling Magic'].NoPetCasting = {} --No Swaps
...Repeat for any pet casting sets you've defined...
First Page 2 3 ... 170 171 172 ... 180 181 182
Log in to post.