Gearswap Support Thread

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 143 144 145 ... 181 182 183
Offline
By Shichishito 2018-10-06 18:04:10  
Quote:
You shouldn't be doing this type of automation with gearswap, instead you should make an independent addon.

a bloated file can cause spam? i never made a addon, i'm quite a scrub when it comes to coding and that bit up there took me a while to get it working.

Quote:
Also you don't need to mash the button during lag. I know you probably know this, just saying :P

lag and latency lately gets so bad that sometimes the game doesn't recognize inputs, so i do have to mash occasionally...
Offline
By Nekseus 2018-10-06 18:24:09  
Shichishito said: »
a bloated file can cause spam? i never made a addon, i'm quite a scrub when it comes to coding and that bit up there took me a while to get it working.

You should use gearswap for gear swapping. binds and modes are fine but you shouldnt be clustering with stuff its not designed for. this is a matter of detest among windower devs. and v5 gearswap is probably going to be limited compared to v4 version because of how ridiculous some gearswap files have become.

Shichishito said: »
lag and latency lately gets so bad that sometimes the game doesn't recognize inputs, so i do have to mash occasionally...

Not even on Asura do i have a lag problem to the point where input is unregistered.
Offline
By Shichishito 2018-10-06 18:33:02  
Quote:
Not even on Asura do i have a lag problem to the point where input is unregistered.

i think its less of a issue what server you play on and more one of where you live.

i also have a lot of R0 and connection losts lately and i read something about DOS attacks that probably have something to do with my problem.

Quote:
and v5 gearswap is probably going to be limited compared to v4 version because of how ridiculous some gearswap files have become.

thats probably a side effect of putting coding tasks on average joes like me who never got educated in coding. also whats wrong with v4 that we need a new one?

but back to my initial problem, would there be a way to supress chat messages that are the exact same you just entered 1-2 seconds ago?
Offline
By Nekseus 2018-10-06 18:37:18  
Shichishito said: »
i think its less of a issue what server you play on and more one of where you live.

i also have a lot of R0 and connection losts lately and i read something about DOS attacks that probably have something to do with my problem.

Ok well, I can't argue with that.

Shichishito said: »
thats probably a side effect of putting coding tasks on average joes like me who never got educated in coding. also whats wrong with v4 that we need a new one?

Trust me, it's much better.

Shichishito said: »
but back to my initial problem, would there be a way to supress chat messages that are the exact same you just entered 1-2 seconds ago?

Idk, i'll get back to you with a solution when I can.
Offline
By Shichishito 2018-10-06 19:41:04  
just realised that this part:

could be simplified and enhanced with sics and regular weaponskills, so i checked the resource files (abils.xml) and noticed there never were skillchain properties (wsA, wsB, wsC) added to bloodpacts, sic or less importantly joke weaponskills. i assume its a bad idea to try and edit the resource file by hand for reasons of potential typos and the possibility that it gets overwriten in future updates?
Offline
By Nekseus 2018-10-06 20:32:11  
Shichishito said: »
i assume its a bad idea to try and edit the resource file by hand for reasons of potential typos and the possibility that it gets overwriten in future updates?

it should be fine, just follow the format. In case of an update, keep a back up. if you mess something up somehow, you can get the original file again from the github repo.
 Lakshmi.Elidyr
Offline
サーバ: Lakshmi
Game: FFXI
user: elii
Posts: 911
By Lakshmi.Elidyr 2018-10-06 21:14:28  
Not sure what was exactly trying to be accomplished, but this is all I really noticed.
Shichishito said: »

but back to my initial problem, would there be a way to supress chat messages that are the exact same you just entered 1-2 seconds ago?

Is this what you are looking for maybe? I can't test since I don't know what file you use, or what all the code looks like. It was just a thought.
Code
spam_protection = 0
chat_delay      = 5
last_bp         = nil

function job_pet_aftercast(spell, action, spellMap, eventArgs)

    -- When Communication (alt + c) is toggled on you will send party messages
    if state.Communication.value == true then
        
        if spell.english:startswith('Flaming Crush') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Flaming Crush") then
            send_command('input /p >Flaming Crush< (Fusion/Reverberation) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Rush') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Rush") then
            send_command('input /p >>Rush<< (Distortion/Scission) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Predator Claws') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Predator Claws") then
            send_command('input /p >>Predator Claws<< (Fragmentation/Scission) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Mountain Buster') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Mountain Buster") then
            send_command('input /p >>Mountain Buster<< (Gravitation/Induration) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Crag Throw') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Crag Throw") then
            send_command('input /p >>Craig Throw<< (Gravitation/Scission) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Volt Strike') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Volt Strike") then
            send_command('input /p >>Volt Strike<< (Fragmentation/Scission) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Spinning Dive') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Spinning Dive") then
            send_command('input /p >>Spinning Dive<< (Distortion/Detonation) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Regal Gash') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Regal Gash") then
            send_command('input /p >>Regal Gash<< (Distortion/Detonation) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Blindside') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Blindside") then
            send_command('input /p >>Blindside<< (Gravitation/Transfixion) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        elseif spell.english:startswith('Eclipse Bite') and (os.clock()-spam_protection > chat_delay or last_bp ~= "Eclipse Bite") then
            send_command('input /p >>Eclipse Bite<< (Gravitation/Scission) just used it <call20>')
            spam_protection = os.clock()
            last_bp = spell.english
        end
    
    end

end
Offline
By Shichishito 2018-10-07 00:28:56  
Lakshmi.Elidyr said: »
Is this what you are looking for maybe?

it seems to supress the occasional double posts of "/p >Flaming Crush< (Fusion/Reverberation) just used it <call20>'" in the aftercast function.

but i was more concerned about the precast part:
Code
	-- informs party of remaining Bloodpact cooldown (only for pacts listed in the map SkillchainRagePacts)
	local ability_recast = windower.ffxi.get_ability_recasts()
	local BPRageRecast = ability_recast[173]
	
	if state.Communication.value == true and not state.Buff['Astral Conduit'] then
		if SkillchainRagePacts:contains(spell.english) and (os.clock()-spam_protection > chat_delay or last_bp ~= "Flaming Crush") then
			if ability_recast[spell.recast_id] > 0 then
				send_command('input /p '..spell.english..' ready in -'..BPRageRecast..'')
			end
		end			
	end


it creates a line of "'BloodPactX' ready in -'Y amount of seconds'" for each time you press the macro. so in a spamming situation you could end up flooding the chat with 5 times "Volt Strike read in -13" or 4 times "Flaming Crush read in -5".
i'd like to supress the chat message if the recast didn't tic down at least 1-3 seconds.

one way around this would probably be to just bind that message to a different button instead of the bloodpact itself but its less convenient.
 Lakshmi.Elidyr
Offline
サーバ: Lakshmi
Game: FFXI
user: elii
Posts: 911
By Lakshmi.Elidyr 2018-10-07 00:46:16  
Shichishito said: »
Lakshmi.Elidyr said: »
Is this what you are looking for maybe?

it seems to supress the occasional double posts of "/p >Flaming Crush< (Fusion/Reverberation) just used it <call20>'" in the aftercast function.

but i was more concerned about the precast part:
Code
	-- informs party of remaining Bloodpact cooldown (only for pacts listed in the map SkillchainRagePacts)
	local ability_recast = windower.ffxi.get_ability_recasts()
	local BPRageRecast = ability_recast[173]
	
	if state.Communication.value == true and not state.Buff['Astral Conduit'] then
		if SkillchainRagePacts:contains(spell.english) and (os.clock()-spam_protection > chat_delay or last_bp ~= "Flaming Crush") then
			if ability_recast[spell.recast_id] > 0 then
				send_command('input /p '..spell.english..' ready in -'..BPRageRecast..'')
			end
		end			
	end


it creates a line of "'BloodPactX' ready in -'Y amount of seconds'" for each time you press the macro. so in a spamming situation you could end up flooding the chat with 5 times "Volt Strike read in -13" or 4 times "Flaming Crush read in -5".
i'd like to supress the chat message if the recast didn't tic down at least 1-3 seconds.

one way around this would probably be to just bind that message to a different button instead of the bloodpact itself but its less convenient.
Can't you just use another prevention identical to the first spam protection? just use another clock check to see the last time key was pressed, then only allow for the variable to be set after time has been met like a decay?
Offline
By Shichishito 2018-10-07 04:34:04  

i think it works now, its just sad that i didn't understand what you did there.

what exactly is os.clock()? is it the time my PC was turned on?
if i do '..os.clock()..' in a send command it posts a somewhat long decimal with 3 digits behind the comma.
 Lakshmi.Elidyr
Offline
サーバ: Lakshmi
Game: FFXI
user: elii
Posts: 911
By Lakshmi.Elidyr 2018-10-07 09:21:44  
Shichishito said: »

i think it works now, its just sad that i didn't understand what you did there.

what exactly is os.clock()? is it the time my PC was turned on?
if i do '..os.clock()..' in a send command it posts a somewhat long decimal with 3 digits behind the comma.

I think its CPU clock for process.

Edit to explain.

Basically it time stamps when you apply the chat then subtracts it from the second time it is pressed and checks to see if the conditions are met. [Ie if it had been longer than the delay in seconds, or if you are using a different blood post. ]
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-08 05:08:31  
Shichishito said: »
added some rules to smn.lua to inform party members about bloodpact cooldown and when a bloodpact successfully fired to coordinate skillchains
with as little spam as possible.

this is what i currently got:
....

in laggy situations where you mash the macro the cooldown message gets spamy and for some reason also the aftercast chat message double posts.
now i wonder if there is a way to supress the chat message if the exact same message has been sent a couple of seconds ago to cut down on spam.
this would be faster if that is what you wanted
because it does not have to check several times to get the desired effect
Code
spam_protection = 0
chat_delay      = 5
last_bp         = nil
 
function job_pet_aftercast(spell, action, spellMap, eventArgs)
    --catches interrupted spells
    if spell.interrupted then
        return
    end
    -- When Communication (alt + c) is toggled on you will send party messages
    local BPchat = {['Flaming Crush']="Fusion/Reverberation",['Rush']="Distortion/Scission",['Predator Claws']="Fragmentation/Scission",
                    ['Mountain Buster']="Gravitation/Induration",['Crag Throw']="Gravitation/Scission",['Volt Strike']="Fragmentation/Scission",
                    ['Spinning Dive']="Distortion/Detonation",['Regal Gash']="Distortion/Detonation",['Blindside']="Gravitation/Transfixion",
                    ['Eclipse Bite']="Gravitation/Scission",}
    if state.Communication.value == true and BPchat[spell.english] and (os.clock()-spam_protection > chat_delay or last_bp ~= spell.english) then
        send_command('input /p >'..spell.english..'< ('..BPchat[spell.english]..') just used it <call20>')
        spam_protection = os.clock()
        last_bp = spell.english
    end
end
[+]
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-09 02:16:30  
Nekseus said: »
You should use gearswap for gear swapping. binds and modes are fine but you shouldnt be clustering with stuff its not designed for. this is a matter of detest among windower devs. and v5 gearswap is probably going to be limited compared to v4 version because of how ridiculous some gearswap files have become.
i hope not because my include has things people realy want
like: thf tracker
and things i want
like:
aggro counter
none built in events (thf/zone_change/etc.)
Potency calculators
auto ammo/tool/cards un(bagging/caseing)
auto gear change for Mage staves/conquest gear
display(for controlling every thing instead of written commands)[i like that windower 5 will have a better way to do this and hopefully a wiziwig]
current settings save for when you want you settings saved for the next time you play
auto ninja ma wheel
sub job specific files so you can keep all of your sub job specific code separate from your main job code
-my include can add/remove from memory every thing that the user does not want to use on the fly(i had to do this because of a crappy computer)
 Bismarck.Xurion
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2018-10-09 04:23:08  
Carbuncle.Kigensuro said: »
Nekseus said: »
You should use gearswap for gear swapping. binds and modes are fine but you shouldnt be clustering with stuff its not designed for. this is a matter of detest among windower devs. and v5 gearswap is probably going to be limited compared to v4 version because of how ridiculous some gearswap files have become.
i hope not because my include has things people realy want
like: thf tracker
and things i want
like:
aggro counter
none built in events (thf/zone_change/etc.)
Potency calculators
auto ammo/tool/cards un(bagging/caseing)
auto gear change for Mage staves/conquest gear
display(for controlling every thing instead of written commands)[i like that windower 5 will have a better way to do this and hopefully a wiziwig]
current settings save for when you want you settings saved for the next time you play
auto ninja ma wheel
sub job specific files so you can keep all of your sub job specific code separate from your main job code
-my include can add/remove from memory every thing that the user does not want to use on the fly(i had to do this because of a crappy computer)
Two important things that kinda conflict each other:

1. Freedom of choice and lack of restriction allow for innovation in code and applications, as well as allows for less of a barrier to entry for beginners.
2. Monolithic applications are a result of bad design and are almost always easier to maintain (and debug!) when they are as singularly responsible as possible.

My suggestion would be to provide guidelines that the community can follow and refer to. People can choose to ignore them for whatever reason.

I haven't looked into v5 yet, but I'd be surprised if there's any reduction in functionality.
 Ragnarok.Martel
Offline
サーバ: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2018-10-09 04:28:19  
Carbuncle.Kigensuro said: »
Nekseus said: »
You should use gearswap for gear swapping. binds and modes are fine but you shouldnt be clustering with stuff its not designed for. this is a matter of detest among windower devs. and v5 gearswap is probably going to be limited compared to v4 version because of how ridiculous some gearswap files have become.
i hope not because my include has things people realy want
like: thf tracker
and things i want
like:
aggro counter
none built in events (thf/zone_change/etc.)
Potency calculators
auto ammo/tool/cards un(bagging/caseing)
auto gear change for Mage staves/conquest gear
display(for controlling every thing instead of written commands)[i like that windower 5 will have a better way to do this and hopefully a wiziwig]
current settings save for when you want you settings saved for the next time you play
auto ninja ma wheel
sub job specific files so you can keep all of your sub job specific code separate from your main job code
-my include can add/remove from memory every thing that the user does not want to use on the fly(i had to do this because of a crappy computer)
What do you mean by aggro counter exactly?
 Asura.Psylo
Offline
サーバ: Asura
Game: FFXI
user: psylo
Posts: 446
By Asura.Psylo 2018-10-09 12:37:28  
Hello everyone, i have a request about pup.lua.

I wanna know if its possible to add something like that :
Code
If iddlemode = "DD" then
   if pet.tp > 900 then equip pet.ws.set
                   else equip iddle.set.dd
   end

If iddlemode = "tank" then
   if ja.strobe recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end
   if ja.flash recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end



do you think we can add this to a standard pup.lua, this way we can let gs swap gear before pet get 1K tp so before ws and go back to pet.tp set when tp low.
Offline
By Shichishito 2018-10-09 13:11:44  
Quote:
Edit to explain.

Basically it time stamps when you apply the chat then subtracts it from the second time it is pressed and checks to see if the conditions are met. [Ie if it had been longer than the delay in seconds, or if you are using a different blood post.


i think i understood it now, thank you very much!
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-09 15:05:08  
Ragnarok.Martel said: »
What do you mean by aggro counter exactly?
it checks to see if you have multiple mob attacking you and how many
i use this to auto switch from a single target ws/ma to an aoe ws/ma depending on my job and weapon
 Ragnarok.Martel
Offline
サーバ: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2018-10-09 17:36:37  
Ahhh, I see. Thanks for clarifying.
 Bismarck.Xurion
Offline
サーバ: Bismarck
Game: FFXI
user: Xurion
Posts: 693
By Bismarck.Xurion 2018-10-10 02:07:02  
Carbuncle.Kigensuro said: »
Ragnarok.Martel said: »
What do you mean by aggro counter exactly?
it checks to see if you have multiple mob attacking you and how many
i use this to auto switch from a single target ws/ma to an aoe ws/ma depending on my job and weapon
Wanna share? :P
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-10 07:04:08  
Bismarck.Xurion said: »
Carbuncle.Kigensuro said: »
Ragnarok.Martel said: »
What do you mean by aggro counter exactly?
it checks to see if you have multiple mob attacking you and how many
i use this to auto switch from a single target ws/ma to an aoe ws/ma depending on my job and weapon
Wanna share? :P
here is my full reg_event file witch includes:
1 thf counter and function
2 aggro counter and function
3 zone change function
https://github.com/smd111/Gearswap/blob/master/SMDinclude/includes/more/Registered_Events.lua

for aggro you can do it 2 different ways:
1. function aggro_change(player,party,alliance,pet,total)
player = number
party = number
alliance = number
pet = number
total = number
2. check these tables for nil and count:
Code
reg_event.atacking_mobs.player
reg_event.atacking_mobs.party
reg_event.atacking_mobs.alliance
reg_event.atacking_mobs.pet


for thf you can do it 2 different ways:
1. function treasure_hunter_change(gain,th_count,target_name,target_tbl)
gain = boolean
th_count = number
target_name = string
target_tbl = table
2. check these tables for id and info:
Code
reg_event.treasure_hunter
reg_event.treasure_hunter[mobid]


for zone change you can do it like this:
function zone_change(new_zone_name,old_zone_name,city)
new_zone_name = string
old_zone_name = string
city = boolean
--you will need this table tho
Code
cities = S{"Ru'Lude Gardens","Upper Jeuno","Lower Jeuno","Port Jeuno","Port Windurst","Windurst Waters","Windurst Woods","Windurst Walls","Heavens Tower",
    "Port San d'Oria","Northern San d'Oria","Southern San d'Oria","Chateau d'Oraguille","Port Bastok","Bastok Markets","Bastok Mines","Metalworks",
    "Aht Urhgan Whitegate","Tavnazian Safehold","Nashmau","Selbina","Mhaura","Norg","Eastern Adoulin","Western Adoulin","Kazham"}


you can do equip changes in all of the above functions just like normal gearswap functions

i will say if you drop packets the counts can be wrong
 Asura.Psylo
Offline
サーバ: Asura
Game: FFXI
user: psylo
Posts: 446
By Asura.Psylo 2018-10-10 10:38:36  
Asura.Psylo said: »
Hello everyone, i have a request about pup.lua.

I wanna know if its possible to add something like that :
Code
If iddlemode = "DD" then
   if pet.tp > 900 then equip pet.ws.set
                   else equip iddle.set.dd
   end

If iddlemode = "tank" then
   if ja.strobe recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end
   if ja.flash recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end



do you think we can add this to a standard pup.lua, this way we can let gs swap gear before pet get 1K tp so before ws and go back to pet.tp set when tp low.


atm, i swap manually into Kiting set before my pup get 1K tp and put Kiting off after to go back to iddle.pet.tp
i add this in my lua but didn't work ...
Code
function job_status_change(new_status, old_status)
if new_status == 'Idle' then
 pettp()
end
end

function job_update(cmdParams, eventArgs)
pettp()
end

-- Called when pet is about to perform an action
function pettp()
if pet.tp >= 900 then
	kiting = true
else
	kiting = false
end
end
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-10 18:25:17  
Asura.Psylo said: »
Hello everyone, i have a request about pup.lua.

I wanna know if its possible to add something like that :
Code
If iddlemode = "DD" then
   if pet.tp > 900 then equip pet.ws.set
                   else equip iddle.set.dd
   end

If iddlemode = "tank" then
   if ja.strobe recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end
   if ja.flash recast > 29 then equip pet.voke.set
                   else equip iddle.set.tank
   end



do you think we can add this to a standard pup.lua, this way we can let gs swap gear before pet get 1K tp so before ws and go back to pet.tp set when tp low.
i can only think of Automaton Attachments so no all the timers are server side
you can do the pet tp
Offline
By Shichishito 2018-10-15 07:50:14  
i've took the time to edit the resource file "abils.xml" and added wsA, wsB and wsC to SMNs bloodpacts and BSTs sics in hopes i could reference to it.
excerpt of flaming crush:
now if i try either of those examples:

i get either of the following errors twice:
GearSwap: Lua runtime error: GearSwap/flow.lua:349:
GearSwap has detected an error in the user function pet_aftercast:
...SMN.lua:673: attempt to concatenate global 'wsA' (a nil value)

GearSwap: Lua runtime error: GearSwap/flow.lua:349:
GearSwap has detected an error in the user function pet_aftercast:
...addons/libs/strings.lua:34: bad argument #1 to 'find' (string expected, got nil)

flow.lua error:

string.lua error:

so despite adding wsA values it sill returns nil.
 Bismarck.Mitchel
Offline
サーバ: Bismarck
Game: FFXI
Posts: 153
By Bismarck.Mitchel 2018-10-15 14:50:24  
How can I cancel Hasso/Siegan for casting, tried inserting the below into GS but it wont cancel the buff?
 Asura.Stille
Offline
サーバ: Asura
Game: FFXI
user: Marth
Posts: 3
By Asura.Stille 2018-10-15 19:49:46  
Hi, this may seem a bit stupid to most people, but I have a tanking set for my RDM. As you might expect, I need Cures for hate. My issue is this; I have a CureSelf set normally, which is just a ton of Cure potency, Healing skill and Cure potency received. I made one that replaces all of my Healing skill (RDM tank has Tranquil Heart to fight against) with enmity. Ultimately I have 4 cure sets; Cure, CureSelf, Cure.Tank and CureSelf.Tank. I have CastingMode 'Tank' set up, IN Tank casting mode and all that jazz, and Cure.Tank works beautifully. Problem is;
Code
    elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)

I have this little guy which is preventing me from using CureSelf.Tank. Is there something special I have to do to use my CureSelf.Tank? Like a special rule or something?

Sorry if any of this is a bit incoherent, I have the intelligence of a gold fish cracker.
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-16 03:27:38  
Shichishito said: »
i've took the time to edit the resource file "abils.xml" and added wsA, wsB and wsC to SMNs bloodpacts and BSTs sics in hopes i could reference to it.
excerpt of flaming crush:
now if i try either of those examples:

i get either of the following errors twice:
GearSwap: Lua runtime error: GearSwap/flow.lua:349:
GearSwap has detected an error in the user function pet_aftercast:
...SMN.lua:673: attempt to concatenate global 'wsA' (a nil value)

GearSwap: Lua runtime error: GearSwap/flow.lua:349:
GearSwap has detected an error in the user function pet_aftercast:
...addons/libs/strings.lua:34: bad argument #1 to 'find' (string expected, got nil)

flow.lua error:

string.lua error:

so despite adding wsA values it sill returns nil.
Code
send_command('input /p >'..spell.english..'< '..wsA..' just used it <call20>')


needs to be
Code
send_command('input /p >'..spell.english..'< '..spell.wsA..' just used it <call20>')


and this will never work
Code
if spell.english:contains(spell.wsA) then


because almost no spell contains the strings for Skillchains

in regards to the abils.xml you need to edit the job_abilities.lua for this to work
 Carbuncle.Kigensuro
Offline
サーバ: Carbuncle
Game: FFXI
user: dlsmd
Posts: 93
By Carbuncle.Kigensuro 2018-10-16 03:35:38  
Asura.Stille said: »
Hi, this may seem a bit stupid to most people, but I have a tanking set for my RDM. As you might expect, I need Cures for hate. My issue is this; I have a CureSelf set normally, which is just a ton of Cure potency, Healing skill and Cure potency received. I made one that replaces all of my Healing skill (RDM tank has Tranquil Heart to fight against) with enmity. Ultimately I have 4 cure sets; Cure, CureSelf, Cure.Tank and CureSelf.Tank. I have CastingMode 'Tank' set up, IN Tank casting mode and all that jazz, and Cure.Tank works beautifully. Problem is;
Code
    elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)

I have this little guy which is preventing me from using CureSelf.Tank. Is there something special I have to do to use my CureSelf.Tank? Like a special rule or something?

Sorry if any of this is a bit incoherent, I have the intelligence of a gold fish cracker.
build it like this
Code
elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
    if tankmode then
        equip(sets.midcast.CureSelf.Tank)
    else
        equip(sets.midcast.CureSelf)
    end
elseif spellMap == 'Cure' then
    if tankmode then
        equip(sets.midcast.Cure.Tank)
    else
        equip(sets.midcast.Cure)
    end
-- change tankmode to what ever you use to know what mode you are in
First Page 2 3 ... 143 144 145 ... 181 182 183
Log in to post.