Gearswap Support Thread

Language: JP EN DE FR
2010-09-08
New Items
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 94 95 96 ... 182 183 184
 Asura.Cair
VIP
Offline
Server: Asura
Game: FFXI
user: Minjo
Posts: 246
By Asura.Cair 2016-03-15 15:32:52
Link | Quote | Reply
 
Bismarck.Speedyjim said: »
Sylph.Parshias said: »
Bismarck.Speedyjim said: »
I know that's how the piece is spelled, but is it the same in game? Could SE have made a mistake on the spelling?

The spelling wasn't off, but I just put it on and did a //gs export and copied what I got out of that file and it worked.
So was is spelled differently?

Asura.Kareman said: »
Can I assign a button, let's say F.
So that when I press it I go into -dt mode and if I press it again I go into TP mode?
Right now f9-f12 does all that, I'd like something a little closer so to say.
You can but why would you want to go into dt mode every time you spell a word with the letter F in it?

You can create binds that work when the chat input is not open, equivalent to the standard behavior in most modern MMOs but without the GUI.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-16 04:17:13
Link | Quote | Reply
 
Hello :

I have a rules in my GEO lua that doesn't work :

function job_aftercast(spell, action, spellMap, eventArgs)
if not spell.interrupted then
if spell.english:startswith('Indi') then
if not classes.CustomIdleGroups:contains('Indi') then
classes.CustomIdleGroups:append('Indi')
end
send_command('@timers d "'..indi_timer..'"')
indi_timer = spell.english
send_command('@timers c "'..indi_timer..'" '..indi_duration..' down spells/00136.png')
elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
end
elseif not player.indi then
classes.CustomIdleGroups:clear()
end
end

I think that's a command for an /echo when indi-spells off or sleeps off, but never works. I'm interested by a /echo when indi-spells wear off like that (5m10 duration). Do you think we can resolve that ?
Offline
Posts: 570
By dustinfoley 2016-03-16 05:12:29
Link | Quote | Reply
 
If indi is all you are after...do you use motes?

If so at the top there is:

function job_setup()
indi_timer = ''
indi_duration = 310
end

Not an echo, but it gives you a timer of exactly how long is left.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-16 07:55:42
Link | Quote | Reply
 
Oh thank you !! that was simple... sorry
I didn't see that function.

But i report a problem, there's only 1 recast max i can see, so with entrust, i can't see the duration of my first indi !

For example ;
i cast indi-spell, i see Timers with 5:10
after, i entrust someone with new indi-spell, the recast covers the first indi, so i see just 1 recast (the entrusted indi).
Offline
Posts: 570
By dustinfoley 2016-03-16 08:44:16
Link | Quote | Reply
 
I know this sounds silly, but since they added timers to buffs in game, i stopped using status timers plugin since its never accurate. Stuff like maneuvers (pup) never track anymore (due to increasing duration depending on how long pet has been deployed). And multiple maneuvers of the same type never worked.

This issue with indi is the same thing, multiple indi will not track correctly. but the games built in timers actually will work and give you times.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-16 10:35:37
Link | Quote | Reply
 
Yes, but with FF timers, indi buffs are without timers. So i can't see the duration with that.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-16 17:25:02
Link | Quote | Reply
 
Carbuncle.Doryll said: »
Oh thank you !! that was simple... sorry
I didn't see that function.

But i report a problem, there's only 1 recast max i can see, so with entrust, i can't see the duration of my first indi !

For example ;
i cast indi-spell, i see Timers with 5:10
after, i entrust someone with new indi-spell, the recast covers the first indi, so i see just 1 recast (the entrusted indi).

Check your Timers plugin settings. Windower4 > plugins > settings > timers.xml. If CustomTimerLimit is set to 1, change it to some number greater than 1.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-17 03:34:19
Link | Quote | Reply
 
CustomTimerLimit is set to 10.

I think it's because windower consider's it's the same spell
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-17 05:24:16
Link | Quote | Reply
 
Ah, the issue is two fold. First, he has a rule deleting the previous indi timer. Second, you can't have two timers of the same name (if you're casting the same indi, it'll just refresh the timer).

Try changing the line to
Code
send_command('@timers c "'..indi_timer..' ('..spell.target.name..') " '..indi_duration..' down spells/00136.png')

You can also delete the " send_command('@timers d "'..indi_timer..'"') " line.

The problem with this is if you keep changing your indi a lot, you'll have timers that aren't relevant anymore. You could add some more code to remedy that, but I'm lazy and it seems unnecessary to me since you don't often change your indi several times in succession.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-17 07:41:51
Link | Quote | Reply
 
Thank you Flippant, that works like i hope it^^

I see that when i change indi, other timer stay, but that's not a problem. Thank you
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-03-17 09:13:45
Link | Quote | Reply
 
I'm using HighMP sets for BLM to maintain MP for Death.

I have precasts & midcasts working fine, except for buffs. Casting Refresh, Haste, Blink and what not will swap me out of my HighMP sets, causing me to lose MP. I tried this (sets.midcast.Refresh.HighMP) but it gave me an error; attempt to index field Refresh a nil value.

Currently, only Stoneskin and Aquaveil work, the other don't. (I had to comment out the ones that don't work)
Code
sets.midcast.FastRecast.HighMP = sets.precast.FC.HighMP		
	sets.midcast.Stoneskin.HighMP = sets.midcast.FastRecast.HighMP
	sets.midcast.Aquaveil.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Refresh.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Blink.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Storm.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Klimaform.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Refresh.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Phalanx.HighMP = sets.midcast.FastRecast.HighMP
	--sets.midcast.Haste.HighMP = sets.midcast.FastRecast.HighMP


I have casting and idle modes defined as HighMP. Can anyone tell me how to fix this?
Code
state.CastingMode:options('Normal', 'Resistant', 'AF', 'Proc', 'HighMP')
    state.IdleMode:options('Normal', 'HighMP')
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-17 17:50:33
Link | Quote | Reply
 
"attempt to index a nil value" means that the table doesn't exist, so you can't assign a child to it. In other words, sets.midcast.Refresh needs to exist first.

This seems a bit logically flawed, though (you should not need to create two sets for every spell you might cast). What set does Refresh (or those other spells) use when not in HighMP mode, and can you not just append a HighMP child to that table?
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-03-18 16:47:46
Link | Quote | Reply
 
Thanks for the reply Flippant. That makes sense now that you mention it as I do have a normal Stoneskin (and aquaveil? wtf) midcast sets.

I appended the sets and created a sets.midcast['Enhancing Magic'].HighMP and it's working now.
Offline
Posts: 95
By cocl 2016-03-20 06:07:33
Link | Quote | Reply
 
So I'm still trying to modify gearswap to fit my playstyle and now I wanted to make a set for aurorastorm but I'm having trouble with it. I've tried various fixes to no avail. I have a set called sets.midcast.CureWeather setup, with
but when I try it in game its only equipping sets.midcast.Cure. With debugmode on, it shows its not swapping into sets.midcast.CureWeather with aurorastorm up, so i'm not really sure whats going on. Here is my full gearswap file and any help would be greatly appreciated.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-20 07:13:19
Link | Quote | Reply
 
I can't say for sure, but I believe that job_get_spell_map is a function simply for returning a string (your custom "spell map"), and I'd guess it'd therefore be called before precast/midcast/aftercast functions are executed. If so, it's a reasonable possibility that whatever equip commands you are queuing are being overwritten by the automated rules written in Mote's includes.

Either way, you should not be calling any equip functions from there, because that's not what it was designed to be used for. Try moving the entire contents of that function to your job_post_midcast function. If that still changes nothing, let me know.

Also, most of those rules are trying to equip sets that don't exist, and check variables that don't exist. If you don't plan on using those rules, then remove them. You're preventing yourself from equipping your weather cure set any time your MP is below 51% or you are weakened.
 Bahamut.Ayasha
Offline
Server: Bahamut
Game: FFXI
user: Ayasha
Posts: 89
By Bahamut.Ayasha 2016-03-20 07:45:09
Link | Quote | Reply
 
Flippant is absolutely correct in this. The problem is where you have the equip commands.

The block:
Code
function job_get_spell_map(spell, default_spell_map)
 if spell.skill == 'Healing Magic' then
        if string.find(spell.english,'Cure') then
            equip(sets.midcast.Cure)
            if player.mpp <51 then
                equip(sets.midcast.Cure.Conserve)
            elseif Enmity == 'ON' then  
                equip(sets.midcast.Cure.Enmity)         
            elseif buffactive['Weakness'] then
                equip(sets.midcast.Cure.Weak)           
            elseif spell.element == world.weather_element or spell.element == world.day_element then
                equip(sets.midcast.Cure.Weather)        
            elseif buffactive['Reive Mark'] then
                equip(sets.midcast.Cure.Reive)
            elseif Melee == 'ON' then   
                equip(sets.midcast.Cure.Engaged)
            end 
            end
  end
  end


is, as far as I know, just designed to return values to the precast function to let it know if there are any special actions that need to be taken, defined by the user. Since this is pre-precast, it will immediately be overwritten by your precast and midcast gearsets, rendering any gear swaps you did during the above function useless.

I swapped the block to the job_post_midcast function for your reference and commented it out, as the majority of the code there uses undefined sets. I added an if/then block to swap to your weather set and tested it, and it works fine on my side. I hope this helps.


 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-03-20 10:26:01
Link | Quote | Reply
 
Line 165, you have a shield equipped with a staff, FYI.
 Sylph.Kuumihumi
Offline
Server: Sylph
Game: FFXI
user: Kuumihumi
Posts: 16
By Sylph.Kuumihumi 2016-03-20 13:18:36
Link | Quote | Reply
 
i have a little problem with gearswap. sometimes it swap gearset in wrong sequence. for example on SMN, when i do ward, it switch to BP delay set, then to avatar idle set and finally to summoner skill set, but at this point it stay on summoner skill gearset and i don't gain the benus by summoner skill. what could cause gearswap to mess with gearset sequence?
 Odin.Darkhelmet
Offline
Server: Odin
Game: FFXI
Posts: 28
By Odin.Darkhelmet 2016-03-20 17:42:06
Link | Quote | Reply
 
Hello,

I'm looking for a new up-to-date DNC gearswap as mine is a couple of years old, and I'm just starting to regear DNC, so want to just start fresh with a new gearswap. Any assistance is appreciated. Thanks ^^
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-20 18:00:25
Link | Quote | Reply
 
Sylph.Kuumihumi said: »
i have a little problem with gearswap. sometimes it swap gearset in wrong sequence. for example on SMN, when i do ward, it switch to BP delay set, then to avatar idle set and finally to summoner skill set, but at this point it stay on summoner skill gearset and i don't gain the benus by summoner skill. what could cause gearswap to mess with gearset sequence?

Without seeing your Lua or being given more information, my best guess is that you're using the summoning skill set in your pet_midcast, but you don't call for your idle functions in pet_aftercast.

As for not getting bonus, it's also possible your (player) aftercast is interfering, although it sounds strange that both issues are occurring at the same time. There are a couple ways that you could prevent your aftercast function from processing while your pet is busy. The first thing I would try is placing
Code
if pet_midaction() then return end

at the top in your aftercast function. I don't play a pet job, so I can't tell you how reliable this method is. If you're using Mote's, you'll also have to set eventArgs.handled(?) to false (someone who uses Mote's may need to correct me on this).
Offline
Posts: 95
By cocl 2016-03-20 23:42:34
Link | Quote | Reply
 
Thanks Flippant and Ayasha for the help! I must have spent 2-3 hours trying to figure out why it wouldn't work. I really appreciate it.

Bismarck.Speedyjim said: »
Line 165, you have a shield equipped with a staff, FYI.
Good catch! Thanks :P.
 Asura.Ladyofhonor
Offline
Server: Asura
Game: FFXI
Posts: 2666
By Asura.Ladyofhonor 2016-03-21 08:27:37
Link | Quote | Reply
 
So I have an issue I haven't been able to resolve. I'm using Mote's THF lua, and in it he has:

sets.precast.WS["Rudra's Storm"] for the WS sets. This is different from the other WS which use sets.precast.WS['Evisceration'] with ' instead of ". Well...it doesn't work.

If I end a BCNM with using the WS, it leaves me in that gearset, and I always get the normal precast.WS set, not the one for Rudra's. LS mates have told me to use a \ in front of Rudra's, so sets.precast.WS['Rudra\'s Storm'] but when I call that set in game it still gives me the precast set.

For now I think I'll just change the precast WS to my Rudra's gear, since the other WS's work fine, but would like to be able to alter the gear slightly for stacked WS's and such, so any tips on how to get this to work?
 Lakshmi.Sulia
Offline
Server: Lakshmi
Game: FFXI
user: Sulia
Posts: 83
By Lakshmi.Sulia 2016-03-21 08:46:21
Link | Quote | Reply
 
Asura.Ladyofhonor said: »
So I have an issue I haven't been able to resolve. I'm using Mote's THF lua, and in it he has:

sets.precast.WS["Rudra's Storm"] for the WS sets. This is different from the other WS which use sets.precast.WS['Evisceration'] with ' instead of ". Well...it doesn't work.

If I end a BCNM with using the WS, it leaves me in that gearset, and I always get the normal precast.WS set, not the one for Rudra's. LS mates have told me to use a \ in front of Rudra's, so sets.precast.WS['Rudra\'s Storm'] but when I call that set in game it still gives me the precast set.

For now I think I'll just change the precast WS to my Rudra's gear, since the other WS's work fine, but would like to be able to alter the gear slightly for stacked WS's and such, so any tips on how to get this to work?

Try changing to sets.WS["Rudra's Storm"], same with your other WS sets. Instead of it being a precast set switch it to sets.WS[]
using " " for WS's with more than one word and ' ' for one word WS's.
 Asura.Ladyofhonor
Offline
Server: Asura
Game: FFXI
Posts: 2666
By Asura.Ladyofhonor 2016-03-21 08:56:10
Link | Quote | Reply
 
Lakshmi.Sulia said: »
Asura.Ladyofhonor said: »
So I have an issue I haven't been able to resolve. I'm using Mote's THF lua, and in it he has:

sets.precast.WS["Rudra's Storm"] for the WS sets. This is different from the other WS which use sets.precast.WS['Evisceration'] with ' instead of ". Well...it doesn't work.

If I end a BCNM with using the WS, it leaves me in that gearset, and I always get the normal precast.WS set, not the one for Rudra's. LS mates have told me to use a \ in front of Rudra's, so sets.precast.WS['Rudra\'s Storm'] but when I call that set in game it still gives me the precast set.

For now I think I'll just change the precast WS to my Rudra's gear, since the other WS's work fine, but would like to be able to alter the gear slightly for stacked WS's and such, so any tips on how to get this to work?

Try changing to sets.WS["Rudra's Storm"], same with your other WS sets. Instead of it being a precast set switch it to sets.WS[]
using " " for WS's with more than one word and ' ' for one word WS's.

This gives me an error as it doesn't recognize .WS without the precast.
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-21 16:01:52
Link | Quote | Reply
 
There is no (practical) difference between " and ', and you do not need to escape the comma unless you are manually calling the set in game (which you should be only doing for testing purposes), or you are using single quotes in the GS file, which is not necessary.

Why it does not work, I don't know. Can you paste the entire Lua?
Offline
Posts: 91
By Arcto 2016-03-21 16:17:47
Link | Quote | Reply
 
Having same type of issue mapping Honor March and Marsyas. Not sure how to write it, using mote's v2 gearswap :(
 Bismarck.Speedyjim
Offline
Server: Bismarck
Game: FFXI
user: speedyjim
Posts: 516
By Bismarck.Speedyjim 2016-03-21 16:38:15
Link | Quote | Reply
 
I use Mote's THF.lua as well and the WS sets are written the same way. Mine works perfectly though.

Are you using //gs showswaps to check if it's actually swapping into your sets.precast.WS["Rudra's Storm"] gear?
 Asura.Ladyofhonor
Offline
Server: Asura
Game: FFXI
Posts: 2666
By Asura.Ladyofhonor 2016-03-21 18:47:00
Link | Quote | Reply
 
Alright, so thanks to Speedy's showswaps command suggestion it seems that the Rudra\'s Storm swap is working, I just can't call it correctly with //gs equip blah blah or something. Thanks for the help.
 Carbuncle.Doryll
Offline
Server: Carbuncle
Game: FFXI
user: Smacks
By Carbuncle.Doryll 2016-03-25 03:35:02
Link | Quote | Reply
 
Hello ! I'm using the command //gs validate to see if i have all gears the lua use in my inventory, but it doesn't check my wardrobe. Same problem with //gs validate inv.

Is it possible to fix that problem. With wardrobe2 incoming, most of my stuff will be in wardrobe1+2 so it will be more difficult to use these commands.

Thanks
 Ragnarok.Flippant
Offline
Server: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-03-25 15:17:45
Link | Quote | Reply
 
Validate sets should definitely be checking if the gear in your GS is in inventory OR wardrobe. If it's not checking your wardrobe, perhaps you have an outdated version?

Validate inventory is specifically for checking to see what items in your inventory are not being used in your GS (so you can put that stuff somewhere else). There's currently no option to validate your wardrobe.

If you want the ability to check your wardrobe for items not being used, you can implement temporary changes to your validate.lua. (I say temporary because it'll just be overwritten the next time you update GS.)

Replace the validate function:
Code
function validate(options)
    local validateType = 'sets'
    if options and #options > 0 then
        if S{'sets','set','s'}:contains(options[1]:lower()) then
            table.remove(options,1)
        elseif S{'inventory','inv','i'}:contains(options[1]:lower()) then
            validateType = 'inventory'
            table.remove(options,1)
        elseif S{'wardrobe','w'}:contains(options[1]:lower()) then
            validateType = 'wardrobe'
            table.remove(options,1)
        end
    end
    
    if validateType == 'sets' then
        validate_sets(options)
    else
        validate_inventory(validateType,options)
    end
end


Replace the validate_inventory function:
Code
function validate_inventory(bag,filter)
    msg.addon_msg(123,'Checking for items in '..bag..' that are not used in your gear sets.')
    
    local extra_items = search_sets_for_items_in_bag(items[bag], filter)
    
    local display_list = get_item_names(extra_items):sort(insensitive_sort)
    display_list:map(function(item) msg.add_to_chat(120, windower.to_shift_jis((string.gsub(item, "^%l", string.upper))) ) end)
    msg.addon_msg(123,'Final count = '..tostring(display_list:length()))
end


And then use //gs validate w or //gs validate wardrobe in game.
First Page 2 3 ... 94 95 96 ... 182 183 184
Log in to post.