Try loading a blank file and see what happens.
In some examples I find, certain sets contain an order part to it, whereas others do not. Why is this? For example:
Also, I was told unlike Spellcast, GS can equip two items of identical names to two different slots correctly, instead of trying to equip the same item to two different slots. Does it natively do this, or is there a extra code I need to throw in?Code:sets.precast.FC.Song = {range=empty,ammo="Impatiens", head="Aoidos' Calot +2",neck="Orunmila's Torque", ear1={name="Loquac. Earring",order=5},ear2="Aoidos' Earring",body="Marduk's Jubbah +1",hands={name="Gendewitha Gages",order=8}, ring1="Defending ring",ring2={name="Prolix Ring",order=7},back="Swith Cape +1",waist="Witful Belt",legs={name="Gendewitha Spats",order=9}, feet={name="Bihu Slippers +1",order=6}}
I include order in that example so that I don't lose MP on Bard when I swap between sets. Putting on MP+ gear first keeps my max MP high. Order is totally optional and has no impact on any other feature of GearSwap.
Quick question.. Is there a means for testing the strength of COR rolls applied to your character? I'd like to know the value of the final roll, after double-up's.
I thought buffactive() may be what I need, but it only returns the buff, along with how many occurances are up.
I use motenten's template, and only has one job (NIN)'s lua and noticed something today, not sure if this is happening because of the recent patch but I've never noticed it before. When I use WS and it hits a shadow (blink in this case, never noticed it with utsusemi, but could be the same effect and I just didn't pay attention), I would be stuck in WS set. Its not a HUGE deal, I usually just toggle acc mode and force it back to TP set, but thought it might be something interesting.
Byrth I have an observation for you. I don't know if this is really needed or anything but I am having an issue with the set_combine method that I think is unique to my luas.
I have 4 jobs that share a significant amount of gear, so what I did is a sidecar .lua for the general gear that they share, and another sidecar .lua that incorporates that gear and adds job specific gear to the sets. That being said, here is my problem.
General .lua fastcast set:
Example sch.lua after the includes:Code:sets.FC = {head = "Nahtirah Hat", body = "Anhur Robe", hands = "Repartie Gloves", back = "Swith Cape", legs = "Orvail Pants +1", feet = "Chelona Boots"} sets.FC.ElementalMagic = {neck = "Stoicheion Medal"} sets.FC.HealingMagic.Cure = {body = "Heka's Kalasiris"}
What happens is when I do the set_combine, it erases all the depth of my original set, so if I try to equip sets.FC.ElementalMagic, it tells me that set doesn't exist.Code:sets.FC = set_combine(sets.FC, {ammo = "Incantor Stone", hands = "Gendewitha Gages", feet = "Argute Loafers +2"})
I've gotten around it by individually adding equipment to the set ala:
Just curious as to your thoughts.Code:sets.FC.ammo = "Incantor Stone" sets.FC.hands = "Gendewitha Gages" sets.FC.feet = "Argute Loafers +2"
That's deliberate. If set_combine included all subtables (instead of only those fields that match known equip slots), you'd end up with a ton of duplications, table references in unanticipated locations (messing up some expected behavior), and possibly circular references within the table structure (which was an actual problem this was explicitly intended to avoid).
If you're going to combine sets in that way, I'd create the base versions in a dummy table (eg: dummysets.FC; sets.FC = set_combine(dummysets.FC, {stuff})), so as not to destroy the original data.
Oh, nice. Well like I said, I have a pretty easy workaround for it anyway. I think my fastcast set is the set with the most differences, and that is only 3 pieces, so it isn't a big deal. If I ever have more differentiation, maybe I'll make a feature request on the repo for a modify_set method or something.
I edited some gear in the Kinematics gearswapand i seem to be havinge a few issues on my initial tests.
<stnpc> macros for QD automatically go off before i confirm the target i selected so they could easily kill me or wake up slept mobs/etc.
There is no swapping into an engaged set at any time.
no ws gearswaps.
It seems a bit difficult to get GS to naturally swap to idle gear. eg
if i zone from town to a battlefield and used rolls or some other action it wont always swap into the new defined idle gear.
Gear changes not activating for rolls or JA like wildcard,snake eye.
Are there any plugins or addons that might be able to cause this?
I also changed the name of my cor spellcast to prevent any possible interference from spellcast. I'm presuming there's a cancel function for if i try to shoot a qd bullet? I think i found it but i want to be sure since im still unfamiliar enough with rules code to automatically know at a glance. Is missing code ? it really wouldn't surprise me if my cat decided to sit on my laptop and deleted something.
http://pastebin.com/0CzQr5qG
speaking of COR issues. Two questions: I can toggle engaged modes between the defined Ranged/Melee/Acc ones, but there's an engaged.melee and an engaged.Melee.DW .
GS c set OffenseMode Melee works, but I can't figure out how to set the DW bit. GS c set OffenseMode Melee.DW gives me an error. (presumably because it's not defined in options.OffenseModes)
So what's the write syntax to tell it I'm dual wielding?
On another question gs c toggle luzaf works to change whether I'm using luzaf or not, is there a way to just set it?
this is what i have so far
h??p://pastebin.com/8KLJgDQP
this is what im trying to convert from spellcast
h??p://pastebin.com/bEAKbbkN
any help is appreciated
also would this be correct
function buff_change(name,gain)
if true == 'Sleep' then
equip(sets.Sleep)
end
if false == 'Sleep' then
if status =='Engaged' then
equip(sets.Engaged)
elseif status =='Idle' then
equip(sets.Idle)
elseif status =='Resting' then
equip(sets.Resting)
end
end
end
im also having trouble with setting up base sets
sorry i cant post links
Sleep, Engaged, Idle and Resting aren't buffs. (sleep might be? I'm not sure if buff_change() works for debuffs.)
as far as gearswap(and spellcast) are concerned, there's no difference between a buff and a debuff. So sleep would count under buff_change.
I don't think that true == 'Sleep' would work, although I admit, I haven't tried it. But here's one I have tested.
if buff == 'sleep' and gain then
elseif buff == 'sleep' then
end
the sleep and gain, means that you gained the buff sleep. Putting an elseif buff == 'sleep' after that, means that it'd have to be sleep, and buff lost to be true.
Also It'd be better to put your status related rules under status_change, then call status change when sleep is lost, so it'll trigger those swaps.
I'm SLOWLY (emphasis) trying to learn my way around on GS, hoping to move to it soon.
I've been wondering something about Motenten's GS files, let's take NIN for example.
He has a lot of sets (acc, pdt, mixed, ws, blahblah) and all of these sets are reiterated according to different haste levels.
Questions now:
1) How are the different TP sets activated according to how much haste you have? Is it an automatic thing the GS file does on its own according to your current buffactive statuses?
2) Within the same haste-level group, how are the different sets activated? Let's say I'm TPing normally, see a dangerous move incoming and want to swap to PDT. How do I do that? How do I go back to my normal TP set? Similar question: I know I'll be getting lots of acc buffs and want to use my normal/attack setup. How do I swap to it? Suddenly the BRD/COR dies and I need more acc and want to swap to my acc setup, how do I swap to it?
I'm trying to understand how they work. Currently with my playstyle I have a G19 keyboard and I have all these different setups bound together on hotkeys. When I want to swap to a certain setup I just press the right key and then my macros/spellcast changes according to that.
Did you read this? Motenten's stuff
Derp... no, thanks. Will give it a read now.
thank you
also
is there a way to call variables and make my own variables
i.e
Main.Weapon.Type = GreatAxe
Sub.Weapon.Type = Sword
Ranged.Weapon.Type =
if spell.type == "WeaponSkill"then
if spell.wsA == '[world.day_element] and or [world.weather_element]' then
equip(sets.[spell.wsA].[Main.Weapon.Type])
end
end
all things in [] are the variables i want to call
is there a way to tell what weapon type each ws requires (i know that spell.wsA = lvl 1skill chain wsB and wsC are lv 2 and 3 respectivly)
It won't throw an error (that I know of), but it won't give you any meaningful results either. You're just checking if the string 'Sleep' is not equal to either nil (no value) or false (boolean value), which obviously it is not and never can be. Thus the overall comparison will always evaluate to true, making the test meaningless.
Simpler to consider it as:
Testing for the same buff twice just adds confusion.Code:if buff == 'Sleep' then if gain then -- gained the Sleep debuff else -- lost the Sleep debuff end end
Yes. However you need to define what you mean by "call". It has a specific meaning within programming languages, which is not what it sounds like you're wanting to do.
If by "call" you mean "retrieve the value of", then yes. However I have to fix some apparent assumptions that change the answer, depending on what you think you're doing.
In this case, Main.Weapon.Type is assigned the value of GreatAxe. Note that GreatAxe is not a string in and of itself, it's a label. Being a label, it represents a variable. If you have assigned GreatAxe a value, that value will be assigned to Main.Weapon.Type. If you have not assigned GreatAxe a value, then Main.Weapon.Type will be assigned the value of nil with the above statement.Code:Main.Weapon.Type = GreatAxe
If your intent is to assign the value "GreatAxe" to the variable Main.Weapon.Type, then GreatAxe needs to be a string: "GreatAxe", not a label: GreatAxe.
Same with sword.
You have enclosed the comparson in single quotes. That makes the -entire- quote a string. You're comparing the value of the spell.wsA variable with the literal string, '[world.day_element] and or [world.weather_element]'. That comparison will never be true.Code:if spell.wsA == '[world.day_element] and or [world.weather_element]' then
It appears you want to create some sort of vague logical comparison using the values of world.day_element and world.weather_element, and combine them with and/or. The way you've written it is completely non-functional, though.
Further, spell.wsA gives you the skillchain property of the spell, not the element of the skillchain property. That means you need to map it onto a list of elements before you can use it to compare with the day or weather element.
A quick (incomplete) bit of coding to roughly do what you're asking would be:
And then you'd need a function to convert skillchains to elements (eg: Fragmentation -> S{Wind, Lightning}; etc).Code:skillchain_elements = get_skillchain_elements(spell.wsA, spell.wsB, spell.wsC) -- assuming get_skillchain_elements returns a set S{} if skillchain_elements:contains(world.day_element) or skillchain_elements:contains(world.weather_element) then -- stuff end
The answer to your question is no, though the example you give to explain your question doesn't match what your question seems to be asking. Overall I have no idea if I even know what you're asking.