Gearswap Support Thread |
||
|
Gearswap Support Thread
Line 9 is called HPofReraise not HPtoReraise!
again ty inf u have helped a ton!!
Lakshmi.Zerowone said: » With regard to the point of using a fast cast set read the part in bold italics. But it sounds like your function midcast has an issue. Wouldn't know how to help ya without seeing the code. http://pastebin.com/K1yBCFpH Its got Motes rules so I would say Mote is best to reply.
In the function job_post_midcast ,which I assume is midcast with respect to Motes rules it appears to be just addressing divine caress. Usually you want to define all the actions that you want to have addressed etc. However, if it is not midcast then it looks like you don't have a midcast function. Lakshmi.Zerowone said: » Its got Motes rules so I would say Mote is best to reply. In the function job_post_midcast ,which I assume is midcast with respect to Motes rules it appears to be just addressing divine caress. Usually you want to define all the actions that you want to have addressed etc. However, if it is not midcast then it looks like you don't have a midcast function. Code elseif spell.english:startswith['Cure'] then equip(sets.midcast.Cure) That just seems redundant since it is putting on my midcast gear, just not my aftercast properly. I guess my big question is more of a "even though all three swaps are taking place, why is the aftercast activating before the spell completes" question. It's definitely putting my midcast gear on, so the midcast function is defined, somewhere. I don't really understand job_post_midcast and how it differs from normal midcast, (outside of obviously coming after midcast, before aftercast). As I said, I just copied Mote's whm lua and gear tweaked it for my sets. I may have added/removed a set or two here or there, but I made sure they were removed from any further rules in the file and were unrelated to curing anyway. Offline
Posts: 103
Not sure if this is a Gearswap issue... Using Motenten NIN.lua etc, gear is changing to aftercast right before Utsusemi:Ichi finishes casting.
Just started doing this few mins ago :\ edit: seems like all ichi spells are leaving midcast gearsets an instant before spell finishes casting. Do you spam them? Trying to cast multiple times will generate error messages that call the aftercast function and pass in the spell name with an "interrupted" flag flipped.
Offline
Posts: 41
I have tried everything and my obis DO not swap plz help
http://pastebin.com/cCQWUf3f Rules start at line 343 Silverfox6868 said: » I have tried everything and my obis DO not swap plz help http://pastebin.com/cCQWUf3f Rules start at line 343 I'm on a phone so forgive me for not pulling up your code but: your are using motes rules and you have two separate precast functions. try copying the stuff you have under "function precast(spell)" and put it under function job_precast(spell). Then you would want to delete the function precast (spell) section. Utsusemi Ichi is an interesting spell since generally speaking the server considers the spell cast at 51% on the clients side spell bar (barring fastcast conditions) I.e: Ichi won't get applied if Ni shadows do no get cancelled by 51% on the client side spell bar though the whole animation appears to complete at 80%.
I could be talking about something different than the issue at hand. Offline
Posts: 41
Did what you said zero and still nothing new lua
http://pastebin.com/yLvVet28 Really wish I was in front of a machine so I can test before making a suggestion.
try this example format it may not work though: Code if spell.english == "Wildfire" and (spell.element == world.weather_element or spell.element== world.day_element) then equip(sets.precast.WS['Wildfire'],sets.Obi[spell.element]) else equip(sets.precast.WS['Wildfire']) end Can also try ['spell.element'] also you have a new midcast section after the after cast rules. I recommend not simply copying and pasting the actual functions from my example file into your file since yours is obeying Motes rules defined in the includes. Just take the contents and place them into the correlating function areas in your swap file. Santi said: » Not sure if this is a Gearswap issue... Using Motenten NIN.lua etc, gear is changing to aftercast right before Utsusemi:Ichi finishes casting. Just started doing this few mins ago :\ edit: seems like all ichi spells are leaving midcast gearsets an instant before spell finishes casting. Offline
Posts: 103
Utsusemi Ni is firing correctly, I'm getting 4+ icon.
But ever since yesterday, I cast Ichi and the midcast gear switches to aftercast right before the spell finishes. So Ni gets cancelled, aftercast gear equips, then ichi finishes casting and I only have 3 shadows. Silverfox6868 said: » Did what you said zero and still nothing new lua http://pastebin.com/yLvVet28 Same problem, except you re-defined midcast as well. By redefining precast and midcast rather than using the job_* versions of those functions (or proper custom functions that you call from job_precast/job_midcast), you basically destroy the include's ability to function. Of course all of that code is completely unnecessary anyway. The only thing needed to have the obi equipped for Leaden Salute is to use the gear.ElementalObi variable in the waist slot of your Leaden Salute gear set. Also, define gear.default.obi_waist to be the item you want equipped if the day/weather check fails. The only minor bit of extra work you need to do is redefine the default based on the weaponskill, since you use different base items for Leaden Salute and Wildfire. Code sets.precast.WS['Leaden Salute'] = {ammo=gear.WSbullet, head="Lanun Tricorne +1",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Crematio Earring", body="Lanun Frac +1",hands="Thurandaut Gloves +1",ring1="Stormsoul Ring",ring2="Stormsoul Ring", back="Gunslinger's Cape",waist=gear.ElementalObi,legs="Laksamana's Trews +1",feet="Lanun Bottes +1"} sets.precast.WS['Wildfire'] = {ammo=gear.WSbullet, head="Thaumas Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Crematio Earring", body="Lanun Frac +1",hands="Thurandaut +1",ring1="Acumen Ring",ring2="Stormsoul Ring", back="Gunslinger's Cape",waist=gear.ElementalObi,legs="Shneddick +1",feet="Lanun Bottes +1"} -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done. -- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast. function job_precast(spell, action, spellMap, eventArgs) -- Check that proper ammo is available if we're using ranged attacks or similar. if spell.action_type == 'Ranged Attack' or spell.type == 'WeaponSkill' or spell.type == 'CorsairShot' then do_bullet_checks(spell, spellMap, eventArgs) end -- Define proper defaults for weaponskills that use obis if spell.english == 'Leaden Salute' then gear.default.obi_waist = "Elanid Belt" elseif spell.english == 'Wildfire' then gear.default.obi_waist = "Aquiline Belt" end end @Vafruvant:
First problem: Code -- Initialization function for this job file. function get_sets() -- Load and initialize the include files. include('Mote-Include.lua') include('Mote-Globals.lua') include('Mote-Mappings.lua') include('Mote-SelfCommands.lua') include('Mote-Utility.lua') -- include('CureMod.lua') end The *only* function call in the get_sets() function should be to include Mote-Include. All of the rest is handled by Mote-Include itself. Adding extra includes here -probably- won't harm anything, but it's possible it might have screwed something up. Should simply be: Code -- Initialization function for this job file. function get_sets() -- Load and initialize the include files. include('Mote-Include.lua') end Zerowone said: In the function job_post_midcast ,which I assume is midcast with respect to Motes rules it appears to be just addressing divine caress. Usually you want to define all the actions that you want to have addressed etc. However, if it is not midcast then it looks like you don't have a midcast function. The vast majority of all gear handling is done by default in the includes. Use of job_midcast and job_post_midcast is only to override the defaults in special cases. job_midcast is run before the defaults are constructed, and job_post_midcast is run after the defaults are constructed. Same for precast/aftercast/etc. Divine Caress is simply a special case that modifies the default set if the buff is active. Since it's only modifying the default set, it needs to be run after the default set has already been selected, and so goes in the job_post_midcast function. No modification is necessary to equip the standard Cure sets and such. Vafruvant said: That just seems redundant since it is putting on my midcast gear, just not my aftercast properly. I guess my big question is more of a "even though all three swaps are taking place, why is the aftercast activating before the spell completes" question. That's indeed the more complicated issue. I don't see any deviations from the default in your file that should lead to this issue, and the include can only ever call the aftercast functions when GearSwap notifies it that the aftercast event has occurred. The only send_commands in the file are the ones for Solace/Light Arts, and those are only if you manually update, so it "shouldn't" be some random async call returning. However it might possibly be some duplicate function running due to you including all those includes twice. Can't really imagine how, but maybe possible. For testing, I'd ask that you try putting the following debug messages in either new or existing functions: Code -- Return true if we handled the aftercast work. Otherwise it will fall back -- to the general aftercast() code in Mote-Include. function job_aftercast(spell, action, spellMap, eventArgs) add_to_chat(123,'Aftercast called') if state.Buff[spell.english] ~= nil then state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english] end end function job_handle_equipping_gear(playerStatus, eventArgs) add_to_chat(123,'Handle Equipping Gear called') end Then see if Handle Equipping Gear is being called before Aftercast is called, and particularly if it's being called twice (once before, once after). Offline
Posts: 103
Fixed my issue. Was related to my time specific regen gear and how I had it coded in MoteUtility.
This is what I had in my Santi_nin.lua Code function job_update(cmdParams, eventArgs) update_time_based_gear() end function update_time_based_gear() if classes.Daytime then gear.AccAmmo.name = gear.DayAmmo else gear.AccAmmo.name = gear.NightAmmo end if classes.RegenTime then gear.RegenEar.name = gear.DayEar else gear.RegenEar.name = gear.NightEar end if classes.DuskToDawn then gear.MovementFeet.name = gear.NightFeet else gear.MovementFeet.name = gear.DayFeet end en This is what was in moteutility, when I was editing it after update I didn't add local was_regentime = classes.RegenTime. Code function time_change(new_time, old_time) local was_daytime = classes.Daytime local was_regentime = classes.RegenTime local was_dusktime = classes.DuskToDawn if new_time >= 6*60 and new_time < 18*60 then classes.Daytime = true else classes.Daytime = false end if new_time >= 8*60 and new_time < 18*60 then classes.RegenTime = true else classes.RegenTime = false end if new_time >= 17*60 or new_time < 7*60 then classes.DuskToDawn = true else classes.DuskToDawn = false end if was_daytime ~= classes.Daytime or was_regentime ~= classes.RegenTime or was_dusktime ~= classes.DuskToDawn then if job_time_change then job_time_change(new_time, old_time) end handle_update({'auto'}) end end Having issues with this GS not equipping Geomancy + gear in midcast. I tried making a geomancy midcast set which didn't work and have now just made the base midcast set all the geomancy gear I'd like equipped but it's still not working correctly.
If anyone could help that'd be great. I've tried both showswaps and debugmode to no avail. Thanks in advance. GS: http://pastebin.com/r1dRTU6r Looks something like this :
Determines if it's Magic of any kind. Checks if it's an Indi-Spell. Only if it's not any Indi-Spell, eventually checks if its a Geomancy spell in general. These checks should perform properly but you need sets.midcast.Indi and sets.midcast['Geomancy'], I see neither of these. Offline
Posts: 16
In the same boat as fractal, would you mind posting an example of the sets.midcast.Indi and sets.midcast['Geomancy'] so that I might edit it to work with my gear and make it easy on me? xD
I see. I tried making a geomancy midcast set and it didn't work so I just tried putting it in the default mid cast set but didn't really think that would work. I'll try editing it now with your suggestions and see how it works. Thanks!
Also I took out the differentiation between indi and geo spells as there is really no need to. The only indi-specific gear needed is relic pants and those can be used in geo-specific spells without impacting anything Unless you just took it out, it's still there and causing that main problem.
Code elseif string.find(spell.english,'Indi')then equipSet = equipSet.Indi On lines 455/456. Even if you don't have that set defined, any Indi spell will still trigger the rule, since all other rules are defined as "elseif" or "else", once your Indi-spell hits this rule the code won't even bother checking for anything else. This could be your problem particularly if you've only been testing this with Indi spells. You can just do sets.midcast['Geomancy'] and be fine, but you do need to remove the snippet I posted if you want it to work for everything. Gunshin said: » In the same boat as fractal, would you mind posting an example of the sets.midcast.Indi and sets.midcast['Geomancy'] so that I might edit it to work with my gear and make it easy on me? xD Its just whatever gear you want, under function get_sets() just type sets.midcast.Indi={gear for your Indi spells here} and sets.midcast['Geomancy']={gear for non-Indi, Geo spells here} in the same syntax as everything else is written. It's a bit early for me but I'm assuming the actual midcast checks are stable and the Indi rule without Indi set is causing the problem(assuming you guys are running into your issues by testing with Indi spells) Gunshin said: » In the same boat as fractal, would you mind posting an example of the sets.midcast.Indi and sets.midcast['Geomancy'] so that I might edit it to work with my gear and make it easy on me? xD If you want to know what gear to put in a set, go to the job forums. There's stickies in most of them, in gear threads in all of them. I took out that snippet you posted Inference, and it seems to work. It was working after I removed the differentiation between indi/geo spells and defined a midcast geomancy set (although I left it the same as the precast geomancy set - which I suppose I could alter... cause the gear simply needs to be on in midcast, not precast)
Took me a bit but I realized there's no need to differentiate indi and geo spells. Although relic pants effect indi spell duration, there's nothing really that would need to be on for geo spells in that leg slot so I removed that. I really should have looked at this a bit longer (as Gunshin pointed out to me last night; I had a freakin necklace in my grip slot in that GS lololol) but figured I'd post here to get it smoothed out Fenrir.Motenten said: » @Vafruvant: First problem: Code -- Initialization function for this job file. function get_sets() -- Load and initialize the include files. include('Mote-Include.lua') include('Mote-Globals.lua') include('Mote-Mappings.lua') include('Mote-SelfCommands.lua') include('Mote-Utility.lua') -- include('CureMod.lua') end The *only* function call in the get_sets() function should be to include Mote-Include. All of the rest is handled by Mote-Include itself. Adding extra includes here -probably- won't harm anything, but it's possible it might have screwed something up. Should simply be: Code -- Initialization function for this job file. function get_sets() -- Load and initialize the include files. include('Mote-Include.lua') end Vafruvant said: That just seems redundant since it is putting on my midcast gear, just not my aftercast properly. I guess my big question is more of a "even though all three swaps are taking place, why is the aftercast activating before the spell completes" question. That's indeed the more complicated issue. I don't see any deviations from the default in your file that should lead to this issue, and the include can only ever call the aftercast functions when GearSwap notifies it that the aftercast event has occurred. The only send_commands in the file are the ones for Solace/Light Arts, and those are only if you manually update, so it "shouldn't" be some random async call returning. However it might possibly be some duplicate function running due to you including all those includes twice. Can't really imagine how, but maybe possible. For testing, I'd ask that you try putting the following debug messages in either new or existing functions: Code -- Return true if we handled the aftercast work. Otherwise it will fall back -- to the general aftercast() code in Mote-Include. function job_aftercast(spell, action, spellMap, eventArgs) add_to_chat(123,'Aftercast called') if state.Buff[spell.english] ~= nil then state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english] end end function job_handle_equipping_gear(playerStatus, eventArgs) add_to_chat(123,'Handle Equipping Gear called') end Then see if Handle Equipping Gear is being called before Aftercast is called, and particularly if it's being called twice (once before, once after). This is a picture of my chat log with the fixes you mentioned in place, showswaps on and Battlemod. It appears to be equipping the proper gear based on the amount cured, but the location of the spell in relation to the sets makes me wonder if something is still off. so thanks to u guys last night i got my gearswap for pld working and i had my friend that made it make a rule to allow me to turn off my cure set when needed and it works great but i didnt anticipate needing to turn off the fast cast set >.<
i have tried to go about this my own but to no avail any advice? i assumed i needed to make a trigger for spell.english but im not an expert at gearswap ; ;
at least that would have been my guess http://pastebin.com/KBRzF8yB
the rule is on line 8 for my cure set its defined at 514 like i stated i would love to be able to turn off fast cast in the same manner Quote: This is a picture of my chat log with the fixes you mentioned in place, showswaps on and Battlemod. <snip> It appears to be equipping the proper gear based on the amount cured, but the location of the spell in relation to the sets makes me wonder if something is still off. Everything in that picture looks fine. Order of operations: Enter command GearSwap Precast -> construct precast set (displayed) GearSwap Midcast -> construct midcast set (displayed) GearSwap sends command and gear sets to server Server acknowledges command, sends "starts casting" message Server sends notice of completed command (cure has already taken place at this point) GearSwap Aftercast -> construct aftercast set (displayed) GearSwap sends aftercast set to server |
|
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|