|
Gearswap Support Thread
By tarujedi 2020-03-01 13:27:44
Hi all.
I have just started getting the below error, not changed my Gearswap and affecting multiple diff ones.
I am assuming i have somehow deleted or renamed a file.
Anyone able to help me trouble shoot ?
Thanks
Error:
Mote-Libs: Toggle: Uknown field [meleemode]
Bismarck.Xurion
Serveur: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-03-01 13:49:51
You probably renamed or removed your meleemode variable. Without seeing your file it's difficult to be certain.
Example MeleeMode:
MeleeMode = M{'Normal', 'Acc', 'Att', ['description']='Melee Mode'}
By tarujedi 2020-03-01 14:01:27
ty will have a look
By Raistl0n 2020-03-01 15:12:48
If it was 1 job I d check the top of that job lua for a line that say s all the dif modes and if not there maybe u deleted it but if dif jobs without seeing the Lua it's hard to guess what could be happening
By krazyrs 2020-03-16 09:12:26
issue with WS gear not swapping in, checked with showgearswaps
idle gears and engaged swap in and out
copied a WAR.lua and just pasted some of my gear in place
Code --[[
=== Notes ===
this is incomplete. my war just hit 99
Using warcry = Upheaval
Using bloodrage = Ukko's
--]]
--
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
include('organizer-lib')
end
-- Setup vars that are user-independent.
function job_setup()
include('Mote-TreasureHunter')
state.TreasureMode:set('None')
state.CapacityMode = M(false, 'Capacity Point Mantle')
--state.Buff.Souleater = buffactive.souleater or false
state.Buff.Berserk = buffactive.berserk or false
state.Buff.Retaliation = buffactive.retaliation or false
wsList = S{ 'Savage Blade', 'Impulse Drive', 'Torcleaver'}
gsList = S{'Macbain', 'Kaquljaan', 'Nativus Halberd'}
war_sub_weapons = S{"Sangarius", "Usonmunku", "Perun", "Tanmogayi +1", "Reikiko", "Digirbalag"}
get_combat_form()
get_combat_weapon()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
state.OffenseMode:options('Normal', 'Mid', 'Acc')
state.HybridMode:options('Normal', 'PDT')
state.WeaponskillMode:options('Normal', 'Mid', 'Acc')
state.CastingMode:options('Normal')
state.IdleMode:options('Normal')
state.RestingMode:options('Normal')
state.PhysicalDefenseMode:options('PDT', 'Reraise')
state.MagicalDefenseMode:options('MDT')
war_sj = player.sub_job == 'WAR' or false
state.drain = M(false)
-- Additional local binds
send_command('bind ^= gs c cycle treasuremode')
send_command('bind != gs c toggle CapacityMode')
send_command('bind ^` input /ja "Hasso" <me>')
send_command('bind !` input /ja "Seigan" <me>')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
send_command('unbind ^`')
send_command('unbind !=')
send_command('unbind ^[')
send_command('unbind ![')
send_command('unbind @f9')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Augmented gear
Cichols = {}
Cichols.TP = { name="Cichol's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+2','"Dbl.Atk."+10',}}
Cichols.WS = { name="Cichol's Mantle", augments={'STR+5',}}
sets.TreasureHunter = {
head="White rarab cap +1",
waist="Chaac Belt",
}
-- Precast Sets
-- Precast sets to enhance JAs
--sets.precast.JA['Mighty Strikes'] = {hands="Fallen's Finger Gauntlets +1"}
sets.precast.JA['Blood Rage'] = { body="Boii Lorica +1" }
sets.precast.JA['Provoke'] = set_combine(sets.TreasureHunter, { hands="Pummeler's Mufflers +1"})
sets.precast.JA['Berserk'] = { body="Pummeler's Lorica +1", hands="Warrior's Calligae +2", back=Cichols.TP}
sets.precast.JA['Aggressor'] = { head="Pummeler's Mask +1"}
sets.precast.JA['Restraint'] = { head="Ravager's Mufflers +2"}
sets.CapacityMantle = { back="Mecistopins Mantle" }
--sets.Berserker = { neck="Berserker's Torque" }
sets.WSDayBonus = { head="Gavialis Helm" }
-- TP ears for night and day, AM3 up and down.
sets.BrutalLugra = { ear1="Brutal Earring", ear2="Lugra Earring +1" }
sets.Lugra = { ear1="Lugra Earring +1" }
sets.Brutal = { ear1="Brutal Earring" }
sets.reive = {neck="Ygnas's Resolve +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
-- head="Yaoyotl Helm",
}
-- Fast cast sets for spells
sets.precast.FC = {
ammo="Impatiens",
head="Cizin Helm +1",
body="Odyssean Chestplate",
ear1="Loquacious Earring",
hands="Leyline Gloves",
ring1="Weatherspoon Ring", -- 10 macc
ring2="Prolix Ring",
legs="Eschite Cuisses",
feet="Odyssean Greaves"
}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, { neck="Magoraga Beads" })
-- Midcast Sets
sets.midcast.FastRecast = {
ammo="Impatiens",
head="Otomi Helm",
feet="Odyssean Greaves"
}
-- Specific spells
sets.midcast.Utsusemi = {
head="Otomi Helm",
feet="Odyssean Greaves"
}
-- Ranged for xbow
sets.precast.RA = {
head="Otomi Helm",
hands="Buremte Gloves",
feet="Ejekamal Boots"
}
sets.midcast.RA = {
head="White rarab cap +1",
-- neck="Iqabi Necklace",
ear2="Tripudio Earring",
hands="Buremte Gloves",
ring1="Beeline Ring",
ring2="Garuda Ring",
waist="Chaac Belt",
legs="Aetosaur Trousers +1",
}
-- WEAPONSKILL SETS
-- General sets
sets.precast.WS = {
head="Flam. Zucchetto +1",
body="Sulevia's Plate.",
hands="Sulevia's Gauntlets +1",
legs="Sulevia's Cuisses +1",
feet="Sulevia's Leggings",
neck="Warrior's Beads",
waist="Ioskeha Belt",
left_ear="Moonshade Earring",
right_ear="Brutal Earring",
left_ring="Flamma Ring",
right_ring="Rajas Ring",
back=Cichols.WS,
}
sets.precast.WS.Mid = set_combine(sets.precast.WS, {
-- ammo="Ginsen",
-- head="Valorous Mask",
--body="Ravenous Breastplate",
})
sets.precast.WS.Acc = set_combine(sets.precast.WS.Mid, {
ear1="Cessance Earring",
waist="Olseni Belt",
})
sets.precast.WS['Upheaval'] = set_combine(sets.precast.WS, {
neck="Flame Gorget",
waist="Light Belt",
})
sets.precast.WS["Ukko's Fury"] = set_combine(sets.precast.WS, {
ammo="Knobkierrie",
neck="Breeze Gorget",
waist="Metalsinger Belt",
})
-- RESOLUTION
-- 86-100% STR
sets.precast.WS.Resolution = set_combine(sets.precast.WS, {
neck="Breeze Gorget",
waist="Soil Belt"
})
sets.precast.WS.Resolution.Mid = set_combine(sets.precast.WS.Resolution, {
ammo="Ginsen",
head="Valorous Mask",
})
sets.precast.WS.Resolution.Acc = set_combine(sets.precast.WS.Resolution.Mid, sets.precast.WS.Acc)
-- TORCLEAVER
-- VIT 80%
sets.precast.WS.Torcleaver = set_combine(sets.precast.WS, {
head="Odyssean Helm",
ammo="Knobkierrie",
neck="Aqua Gorget",
waist="Caudata Belt"
})
sets.precast.WS.Torcleaver.Mid = set_combine(sets.precast.WS.Mid, {
-- ammo="Ginsen",
neck="Aqua Gorget",
})
sets.precast.WS.Torcleaver.Acc = set_combine(sets.precast.WS.Torcleaver.Mid, sets.precast.WS.Acc)
sets.precast.WS.Stardiver = set_combine(sets.precast.WS, {
neck="Shadow Gorget",
waist="Soil Belt",
legs="Sulevia's Cuisses +2",
})
sets.precast.WS['Impulse Drive'] = set_combine(sets.precast.WS, {
head="Valorous Mask",
neck="Shadow Gorget",
ear1="Thrud Earring",
waist="Metalsinger Belt",
})
sets.precast.WS['Savage Blade'] = set_combine(sets.precast.WS['Impulse Drive'], {
neck="Breeze Gorget",
})
-- Sword WS's
-- SANGUINE BLADE
-- 50% MND / 50% STR Darkness Elemental
sets.precast.WS['Sanguine Blade'] = set_combine(sets.precast.WS, {
neck="Stoicheion Medal",
ear1="Friomisi Earring",
hands="Odyssean Gauntlets",
legs="Limbo Trousers",
ring2="Acumen Ring",
back="Toro Cape",
})
sets.precast.WS['Sanguine Blade'].Mid = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Mid)
sets.precast.WS['Sanguine Blade'].Acc = set_combine(sets.precast.WS['Sanguine Blade'], sets.precast.WS.Acc)
-- REQUISCAT
-- 73% MND - breath damage
sets.precast.WS.Requiescat = set_combine(sets.precast.WS, {
neck="Shadow Gorget",
back=Cichols.WS,
waist="Soil Belt",
})
sets.precast.WS.Requiescat.Mid = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Mid)
sets.precast.WS.Requiescat.Acc = set_combine(sets.precast.WS.Requiscat, sets.precast.WS.Acc)
-- Resting sets
sets.resting = {
--head="Baghere Salade",
ring1="Dark Ring",
ring2="Paguroidea Ring",
}
-- Idle sets
sets.idle.Town = {
ammo="Fire Bomblet",
head="Flamma Zucchetto +1",
body="Ryl.Grd. Livery",
hands="Sulevia's Gauntlets +1",
legs="Flamma Dirs",
feet="Hermes' Sandals",
neck="Orochi Nodowa",
waist="Ioskeha Belt",
left_ear="Moonshade Earring",
right_ear="Brutal Earring",
left_ring="Sheltered Ring",
right_ring="Paguroidea Ring",
back=Cichols.TP,
}
sets.idle.Field = set_combine(sets.idle.Town, {
ammo="Fire Bomblet",
head="Flamma Zucchetto +1",
body="Flamma Korazin +1",
hands="Sulevia's Gauntlets +1",
legs="Flamma Dirs",
feet="Hermes' Sandals",
neck="Orochi Nodowa",
waist="Ioskeha Belt",
left_ear="Moonshade Earring",
right_ear="Brutal Earring",
left_ring="Sheltered Ring",
right_ring="Paguroidea Ring",
back=Cichols.TP,
})
sets.idle.Regen = set_combine(sets.idle.Field, {
})
sets.idle.Weak = {
head="Sulevia's Mask",
body="Sulevia's Platemail",
legs="Sulevia's Cuisses +1",
left_ring="Sheltered Ring",
right_ring="Paguroidea Ring",
back="Impassive Mantle",
waist="Flume Belt",
}
-- Defense sets
sets.defense.PDT = {
ammo="Staunch Tathlum",
head="Sulevia's Mask",
body="Sulevia's Platemail",
neck="Agitator's Collar",
hands="Sulevia's Gauntlets + 1",
ring1="Sulevia's Ring",
ring2="Patricius Ring",
back="Impassive Mantle",
waist="Flume Belt",
legs="Sulevia's Cuisses +1",
feet="Volte Sollerets"
}
sets.defense.Reraise = sets.idle.Weak
sets.defense.MDT = set_combine(sets.defense.PDT, {
neck="Twilight Torque",
ear1="Telos Earring",
ring2="K'ayres Ring",
back="Impassive Mantle",
})
sets.Kiting = {feet="Hermes' Sandals"}
sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
-- Defensive sets to combine with various weapon-specific sets below
-- These allow hybrid acc/pdt sets for difficult content
sets.Defensive = {
ammo="Staunch Tathlum",
head="Hjarrandi Helm",
neck="Agitator's Collar",
body="Tartarus Platemail",
ring1="Sulevia's Ring",
ring2="Defending Ring",
hands="Sulevia's Gauntlets +2",
back="Impassive Mantle",
waist="Sailfi Belt +1",
legs="Sulevia's Cuisses +2",
feet="Volte Sollerets"
}
sets.Defensive_Mid = {
head="Hjarrandi Helm",
neck="Agitator's Collar",
body="Tartarus Platemail",
hands="Sulevia's Gauntlets +2",
back="Impassive Mantle",
ring1="Sulevia's Ring",
waist="Sailfi Belt +1",
ring2="Defending Ring",
feet="Sulevia's Leggings +2"
}
sets.Defensive_Acc = {
head="Hjarrandi Helm",
neck="Agitator's Collar",
hands="Sulevia's Gauntlets +2",
body="Tartarus Platemail",
ring1="Sulevia's Ring",
ring2="Patricius Ring",
legs="Sulevia's Cuisses +2",
feet="Sulevia's Leggings +2"
}
-- Engaged set, assumes Liberator
sets.engaged = {
ammo="Fire Bomblet",
head="Flamma Zucchetto +1",
body="Flamma Korazin +1",
hands="Sulevia's Gauntlets +1",
legs="Flamma Dirs",
feet="Flamma Gambieras +1",
neck="Warrior's Beads",
waist="Ioskeha Belt",
left_ear="Mache Earring",
right_ear="Brutal Earring",
left_ring="Flamma Ring",
right_ring="Rajas Ring",
back=Cichols.TP,
}
sets.engaged.Mid = set_combine(sets.engaged, {
ammo="Ginsen",
neck="Lissome Necklace",
ear1="Telos Earring",
ring2="Regal Ring",
body="Valorous Mail",
})
sets.engaged.Acc = set_combine(sets.engaged.Mid, {
body="Flamma Korazin +2"
-- back="Grounded Mantle +1",
})
sets.engaged.PDT = set_combine(sets.engaged, sets.Defensive)
sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, sets.Defensive_Mid)
sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, sets.Defensive_Acc)
sets.engaged.DW = set_combine(sets.engaged, {
ear1="Eabani Earring",
ear2="Suppanomimi",
hands="Emicho Gauntlets",
waist="Shetal Stone"
})
sets.engaged.OneHand = set_combine(sets.engaged, {
ring1="Hetairoi Ring",
})
sets.engaged.GreatSword = set_combine(sets.engaged, {
ear1="Brutal Earring",
ear2="Cessance Earring",
})
sets.engaged.GreatSword.Mid = set_combine(sets.engaged.Mid, {
ear1="Telos Earring",
--back="Grounded Mantle +1"
--ring2="K'ayres RIng"
})
sets.engaged.GreatSword.Acc = set_combine(sets.engaged.Acc, {
})
sets.engaged.Reraise = set_combine(sets.engaged, {
head="Twilight Helm",neck="Twilight Torque",
body="Twilight Mail"
})
sets.buff.Berserk = {
--feet="Warrior's Calligae +2"
}
sets.buff.Retaliation = {
hands="Pummeler's Mufflers +1"
}
end
function job_pretarget(spell, action, spellMap, eventArgs)
if spell.type:endswith('Magic') and buffactive.silence then
eventArgs.cancel = true
send_command('input /item "Echo Drops" <me>')
--elseif spell.target.distance > 8 and player.status == 'Engaged' then
-- eventArgs.cancel = true
-- add_to_chat(122,"Outside WS Range! /Canceling")
end
end
-- 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)
end
function job_post_precast(spell, action, spellMap, eventArgs)
-- Make sure abilities using head gear don't swap
if spell.type:lower() == 'weaponskill' then
-- handle Gavialis Helm
if is_sc_element_today(spell) then
if state.OffenseMode.current == 'Normal' and wsList:contains(spell.english) then
-- do nothing
else
equip(sets.WSDayBonus)
end
end
-- CP mantle must be worn when a mob dies, so make sure it's equipped for WS.
if state.CapacityMode.value then
equip(sets.CapacityMantle)
end
-- if player.tp > 2999 then
-- equip(sets.BrutalLugra)
-- else -- use Lugra + moonshade
-- if world.time >= (17*60) or world.time <= (7*60) then
-- equip(sets.Lugra)
-- else
-- equip(sets.Brutal)
-- end
-- end
-- Use SOA neck piece for WS in rieves
if buffactive['Reive Mark'] then
equip(sets.reive)
end
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
end
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if (state.HybridMode.current == 'PDT' and state.PhysicalDefenseMode.current == 'Reraise') then
equip(sets.Reraise)
end
if state.Buff.Berserk and not state.Buff.Retaliation then
equip(sets.buff.Berserk)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.Buff[spell.english] ~= nil then
state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
end
end
function job_post_aftercast(spell, action, spellMap, eventArgs)
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)
end
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.hpp < 90 then
idleSet = set_combine(idleSet, sets.idle.Regen)
end
if state.HybridMode.current == 'PDT' then
idleSet = set_combine(idleSet, sets.defense.PDT)
end
return idleSet
end
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
if state.TreasureMode.value == 'Fulltime' then
meleeSet = set_combine(meleeSet, sets.TreasureHunter)
end
if state.Buff.Berserk and not state.Buff.Retaliation then
meleeSet = set_combine(meleeSet, sets.buff.Berserk)
end
if state.CapacityMode.value then
meleeSet = set_combine(meleeSet, sets.CapacityMantle)
end
return meleeSet
end
function check_buff(buff_name, eventArgs)
if state.Buff[buff_name] then
equip(sets.buff[buff_name] or {})
if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
equip(sets.TreasureHunter)
end
eventArgs.handled = true
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)
if newStatus == "Engaged" then
if buffactive.Berserk and not state.Buff.Retaliation then
equip(sets.buff.Berserk)
end
get_combat_weapon()
--elseif newStatus == 'Idle' then
-- determine_idle_group()
end
end
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if state.Buff[buff] ~= nil then
handle_equipping_gear(player.status)
end
if S{'madrigal'}:contains(buff:lower()) then
if buffactive.madrigal and state.OffenseMode.value == 'Acc' then
equip(sets.MadrigalBonus)
end
end
-- Warp ring rule, for any buff being lost
if S{'Warp', 'Vocation', 'Capacity'}:contains(player.equipment.ring2) then
if not buffactive['Dedication'] then
disable('ring2')
end
else
enable('ring2')
end
if buff == "Berserk" then
if gain and not buffactive['Retaliation'] then
equip(sets.buff.Berserk)
else
if not midaction() then
handle_equipping_gear(player.status)
end
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
war_sj = player.sub_job == 'WAR' or false
get_combat_form()
get_combat_weapon()
end
function get_custom_wsmode(spell, spellMap, default_wsmode)
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function get_combat_form()
--if war_sj then
--state.CombatForm:set("War")
--else
--state.CombatForm:reset()
--end
if S{'NIN', 'DNC'}:contains(player.sub_job) and war_sub_weapons:contains(player.equipment.sub) then
state.CombatForm:set("DW")
elseif S{'SAM', 'WAR'}:contains(player.sub_job) and player.equipment.sub == 'Rinda Shield' then
state.CombatForm:set("OneHand")
else
state.CombatForm:reset()
end
end
function get_combat_weapon()
if gsList:contains(player.equipment.main) then
state.CombatWeapon:set("GreatSword")
else -- use regular set
state.CombatWeapon:reset()
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
--if stateField == 'Look Cool' then
-- if newValue == 'On' then
-- send_command('gs equip sets.cool;wait 1.2;input /lockstyle on;wait 1.2;gs c update user')
-- --send_command('wait 1.2;gs c update user')
-- else
-- send_command('@input /lockstyle off')
-- end
--end
end
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(1, 1)
elseif player.sub_job == 'SAM' then
set_macro_page(2, 1)
else
set_macro_page(3, 1)
end
end
Valefor.Yandaime
Serveur: Valefor
Game: FFXI
Posts: 782
By Valefor.Yandaime 2020-03-21 11:58:40
Hello, I wanted to ask if anyone had a Mote-Friendly code that would detect if I'm wearing Godhands and apply an Equipment ruling for Engaged?
Simply put, I just want it to detect that I'm wearing Godhands and wear a Mache Earring +1
Otherwise just wear the normal Brutal Earring (Vereth/Others)
The method I'm using now is probably something you guys would want to burn at the stake lol: Code state.OffenseMode:options('Normal', 'Godhands', 'SomeAcc', 'GHSomeAcc', 'Acc', 'GHAcc', 'Hybrid', 'ghHybrid')
state.WeaponskillMode:options('Normal', 'SomeAcc', 'Acc')
send_command('bind f5 gs c set OffenseMode Normal;gs c set WeaponskillMode Normal;input /equip main "Verethragna"')
send_command('bind ~f5 gs c set OffenseMode Godhands;gs c set WeaponskillMode Normal;input /equip main "Godhands"')
send_command('bind f6 gs c set OffenseMode SomeAcc;gs c set WeaponskillMode SomeAcc;input /equip main "Verethragna"')
send_command('bind ~f6 gs c set OffenseMode GHSomeAcc;gs c set WeaponskillMode SomeAcc;input /equip main "Godhands"')
send_command('bind f7 gs c set OffenseMode Acc;gs c set WeaponskillMode Acc;input /equip main "Verethragna"')
send_command('bind ~f7 gs c set OffenseMode GHAcc;gs c set WeaponskillMode Acc;input /equip main "Godhands"')
send_command('bind f8 gs c set OffenseMode Hybrid;gs c set WeaponskillMode Normal;input /equip main "Verethragna"')
send_command('bind ~f8 gs c set OffenseMode ghHybrid;gs c set WeaponskillMode Normal;input /equip main "Godhands"')
Or if anyone knows of an LUA that swaps the two automatically without dumping unused TP? I just want to be more efficient is all.
EDIT
Nevermind, I found a better solution to let it swap back and forth on its own. However I would like to know how to code it so GS Disables my Main-Slot if my TP is above 500. I just tried converting an HP Idle rule and it broke it in two different places, one of which saying I had an "Overflow Error"?
By madtarutaru 2020-03-21 13:52:15
Hello all. I am having an issue here lately that is causing problems. Actually it’s been an on-going issue for quite a while but has not been an issue until I began tanking.
The issue is every so often my gear does not switch back into my idle or aftercast sets. It’s not an issue of a rule or function causing the issue. I’ll give you an example. So let’s say in dynamis I pull a statue, blank gaze the mobs to be put on their hate list then cast foil. Instead of the cast “finishing” it looks like as if I was casting teleport with no fast cast because the casting animation never finished. However foil would indeed cast, my dt set would not equip but rather still have on my enmity set. And as you know, when you have 10 mobs beating on you without dt set on it’s not going to end well. I can take another action or hit another button and hope it goes back to dt.
Not sure if that was explained well enough. If not please ask for clarification.
Also, I’m pretty sure it’s just some sort of lag. Or maybe it’s a setting or something somewhere. Either way it’s annoying and can cause problems.
Also again, it’s not just my rune lua. But also whm rdm brd blm sch etc etc.
Serveur: Sylph
Game: FFXI
Posts: 184
By Sylph.Subadai 2020-03-21 14:02:28
Hello all. I am having an issue here lately that is causing problems. Actually it’s been an on-going issue for quite a while but has not been an issue until I began tanking.
The issue is every so often my gear does not switch back into my idle or aftercast sets. It’s not an issue of a rule or function causing the issue. I’ll give you an example. So let’s say in dynamis I pull a statue, blank gaze the mobs to be put on their hate list then cast foil. Instead of the cast “finishing” it looks like as if I was casting teleport with no fast cast because the casting animation never finished. However foil would indeed cast, my dt set would not equip but rather still have on my enmity set. And as you know, when you have 10 mobs beating on you without dt set on it’s not going to end well. I can take another action or hit another button and hope it goes back to dt.
Not sure if that was explained well enough. If not please ask for clarification.
Also, I’m pretty sure it’s just some sort of lag. Or maybe it’s a setting or something somewhere. Either way it’s annoying and can cause problems.
Also again, it’s not just my rune lua. But also whm rdm brd blm sch etc etc. This happens to me on the rare occasion, in Ambuscade mostly. I just mash F12 and that equips the correct set for the situation. Not aware of any other way of fixing it or working around it. Edit: F12 works only if you have a Mote's-based lua
Bismarck.Xurion
Serveur: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-03-21 16:25:00
Sounds like dropped packets. I see it occasionally between tp and ws sets.
By institor 2020-04-03 17:22:30
Getting an error after the April update.
GearSwap: Lua runtime error: GearSwap/equip_processing.lua:255: attempt to index field '?' (a nil value)
Was working fine before the update, was playing literally 3 or 4 hours before the update.
[+]
By kaiju9 2020-04-05 23:06:21
Is there any way for my alt to know a) how many songs are on my main, and b) how much time is remaining on those songs?
I thought it would be nice if, when my main tells my alt to sing a set of 4 songs, my alt could automatically decide whether dummy songs were necessary (i.e. if main's existing songs each have > 20 seconds remaining, skip dummy songs, otherwise, use dummy songs because a song might wear off before you finish). I've messed around with the Singer addon, but have never got it to work properly.
If the alt doesn't have access to this info, could the main char determine it? I could just send it to the alt then.
I've got a somewhat convoluted idea for getting this to work, having the BRD pass expiration times (os.time() + song duration) to my main, if the song hits my main, and having my main char track soonest expiration, and passing that back to the BRD when asking for refreshed songs. Hoping there's a cleaner solution than that.
Bahamut.Loziel
Serveur: Bahamut
Game: FFXI
Posts: 16
By Bahamut.Loziel 2020-04-17 10:15:18
Is it possible for gs to see when I am out of combat and stood still to equip Volte Brais, but if I move to equip Carmine Legs for the speed bonus?
How do people generally utilise quickcast gear into their fastcast set? if it fires off, it wouldn’t have a chance to equip my enhancing miscast. Is this assumption correct?
Ragnarok.Martel
Serveur: Ragnarok
Game: FFXI
Posts: 2961
By Ragnarok.Martel 2020-04-17 10:53:09
There is not a reliable in combat check that I'm aware of. You can check for engaged status, or for if the battle music is active. But the latter doesn't work for combat content where the music doesn't change like omen, dynamis, etc. I believe some people have code to detect player movement and swap in move+. But I have no idea how that works.
Gearswap can handle midcast on instant cast spells. As I understand it, GS sends out the precast equip, spell cast start, and the midcast equip swap all in the same packet. And the server respects the order of operations there. This means that it will count the midcast set as equipped even if the cast is instant. If anyone better informed about the exact mechanics wants to chime in there, by all means.
Also, I like your avatar. Valk fork is one of the best polearm models.
Bahamut.Loziel
Serveur: Bahamut
Game: FFXI
Posts: 16
By Bahamut.Loziel 2020-04-17 13:07:11
Thanks, I think I muddied the waters a little with how I phrased the first question.
What I meant is, outside of battle, say in town is there code that can see when I am stationary to equip volte legs but then identify when I move and equip Carmine?
That is great news about the quick cast gear
Ragnarok.Martel
Serveur: Ragnarok
Game: FFXI
Posts: 2961
By Ragnarok.Martel 2020-04-17 13:19:47
What I meant is, outside of battle, say in town is there code that can see when I am stationary to equip volte legs but then identify when I move and equip Carmine? I believe some people have code to detect player movement and swap in move+. But I have no idea how that works.
Bahamut.Loziel
Serveur: Bahamut
Game: FFXI
Posts: 16
By Bahamut.Loziel 2020-04-17 13:59:31
ah sorry, I didn't see that in your reply. Thanks man
Serveur: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2020-04-17 14:03:04
Gearinfo has an autokite feature that works flawlessly. You'd need to have the add-on installed, as well as some code included in your lua.
Minimum amount of code to get it to work (keep in mind that it's designed to work with Mote's):
Code function user_setup()
state.Auto_Kite = M(false, 'Auto_Kite')
moving = false
end
Code function init_gear_sets()
sets.Kiting = {YOUR GEAR HERE}
end
Code function job_handle_equipping_gear(playerStatus, eventArgs)
check_moving()
end
function job_update(cmdParams, eventArgs)
handle_equipping_gear(player.status)
end
function customize_idle_set(idleSet)
if state.Auto_Kite.value == true then
idleSet = set_combine(idleSet, sets.Kiting)
end
return idleSet
end
function job_self_command(cmdParams, eventArgs)
gearinfo(cmdParams, eventArgs)
end
function gearinfo(cmdParams, eventArgs)
if cmdParams[1] == 'gearinfo' then
if type(cmdParams[4]) == 'string' then
if cmdParams[4] == 'true' then
moving = true
elseif cmdParams[4] == 'false' then
moving = false
end
end
if not midaction() then
job_update()
end
end
end
function check_moving()
if state.DefenseMode.value == 'None' and state.Kiting.value == false then
if state.Auto_Kite.value == false and moving then
state.Auto_Kite:set(true)
elseif state.Auto_Kite.value == true and moving == false then
state.Auto_Kite:set(false)
end
end
end
[+]
Bahamut.Loziel
Serveur: Bahamut
Game: FFXI
Posts: 16
By Bahamut.Loziel 2020-04-18 06:59:53
Thanks for this
I have tried to implement it into my relatively simple one page Lua but i'm having all sorts of problems. I think its beyond my abilities. I'm in over my head.
Thanks tho
Bismarck.Xurion
Serveur: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2020-04-19 06:55:02
In motes, the function has "job_" as a prefix: job_pet_change.
[+]
Serveur: Asura
Game: FFXI
Posts: 12
By Asura.Cassiani 2020-04-22 17:27:05
I recently installed GearInfo to help manage haste / DW stuff automatically, and it's great! However, I run into problems when attempting to change gear manually while in game. For example, equipping a warp or exp ring - the ring will automatically be removed back for my regular idle / engaged / whatever gear after a second or so. Is there any way to disable this or work around it, aside from temporarily shutting off gearinfo?
Asura.Keja
Serveur: Asura
Game: FFXI
Posts: 50
By Asura.Keja 2020-04-25 10:13:11
Hey guys.
I use Motenten's gearswap as a base..
I was wondering if there's an easy way to code in a piece some gear depending on songs for certain TP sets?
Basically..
under sets.engaged={} , I would have something like "left_ear=gear.BardSong1" if Bard Songs were active?
Serveur: Asura
Game: FFXI
Posts: 473
By Asura.Wormfeeder 2020-04-28 09:22:55
Has anyone else had a problem with //gs showswaps not working or the Add-on checkparam not working, even though it is loaded?
Asura.Arico
Serveur: Asura
Game: FFXI
Posts: 535
By Asura.Arico 2020-04-28 09:41:33
Has anyone else had a problem with //gs showswaps not working or the Add-on checkparam not working, even though it is loaded?
Is it swapping, but not showing swaps? Or it is both not swapping and not showing swaps?
Serveur: Asura
Game: FFXI
Posts: 473
By Asura.Wormfeeder 2020-04-28 10:48:35
It is swapping but not showing the swap.
Asura.Keja
Serveur: Asura
Game: FFXI
Posts: 50
By Asura.Keja 2020-05-01 22:04:00
Hey guys.
I use Motenten's gearswap as a base..
I was wondering if there's an easy way to code in a piece some gear depending on songs for certain TP sets?
Basically..
under sets.engaged={} , I would have something like "left_ear=gear.BardSong1" if Bard Songs were active?
shameless bump ^^;
Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me.
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter?
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast.
If anyone could give me more info I'd greatly appreciate it.
|
|