Jump to content


Photo

Two constant gearswap errors


    2 replies to this topic

    #1 modena

    modena

      Member

    • Members
    • PipPip
    • 28 posts

      Posted 06 August 2014 - 10:09 PM

      I cannot figure out what the issue is but I'm receiving this error repeatedly...

       

      Error 1

      > GearSwap: Lua error (runtime) - ...gram Files (x86)/Windower4//addons/GearSwap/flow.lua:288: 
      > GearSwap has detected an error in the user function pretarget:
      > ...(x86)\Windower4\/addons/GearSwap/data/Player_THF.lua:298: attempt to compare number with nil
      

       

      This is line 298

       

      elseif (spell.english == 'Ranged' and spell.target.distance > 24.0) or (spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged') then
      

      The full function of 298 is

      function pretarget(spell,action)
      	if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
      		cancel_spell()
      		send_command('input /item "Echo Drops" <me>')
      	elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
      		cancel_spell()
      		send_command('Aggressor')
      	elseif (spell.english == 'Ranged' and spell.target.distance > 24.0) or (spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged') then -- Cancel Ranged Attack or WS If You Are Out Of Range --
      		cancel_spell()
      		add_to_chat(123, spell.name..' Canceled: [Out of Range]')
      		return
      	end
      end
      

       

      I think it's related to this at the beginning of the file but I'm not certain.

       

      -- Set Default Distance Here --
      target_distance = 6
      

      Error 2

       

      > GearSwap: Lua error (runtime) - ...gram Files (x86)/Windower4//addons/gearswap/flow.lua:288: 
      > GearSwap has detected an error in the user function precast:
      > ...(x86)\Windower4\/addons/gearswap/data/Player_THF.lua:575: attempt to call global 'find_player_in_alliance' (a nil value)
      

      The function line 575 is "local target = find_player_in_alliance(spell.target.name)"

       

      function refine_waltz(spell,action)
      	if spell.type ~= 'Waltz' then
      		return
      	end
      
      	if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
      		return
      	end
      
      	local newWaltz = spell.english
      	local waltzID
      
      	local missingHP
      
      	if spell.target.type == "SELF" then
      		missingHP = player.max_hp - player.hp
      	elseif spell.target.isallymember then
      		local target = find_player_in_alliance(spell.target.name)
      		local est_max_hp = target.hp / (target.hpp/100)
      		missingHP = math.floor(est_max_hp - target.hp)
      	end
      
      	if missingHP ~= nil then
      		if player.sub_job == 'DNC' then
      			if missingHP < 40 and spell.target.name == player.name then
      				add_to_chat(123,'Full HP!')
      				cancel_spell()
      				return
      			elseif missingHP < 150 then
      				newWaltz = 'Curing Waltz'
      				waltzID = 190
      			elseif missingHP < 300 then
      				newWaltz = 'Curing Waltz II'
      				waltzID = 191
      			else
      				newWaltz = 'Curing Waltz III'
      				waltzID = 192
      			end
      		else
      			return
      		end
      	end
      
      	local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
      	local tpCost = waltzTPCost[newWaltz]
      
      	local downgrade
      
      	if player.tp < tpCost and not buffactive.trance then
      
      		if player.tp < 20 then
      			add_to_chat(123, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
      			cancel_spell()
      			return
      		elseif player.tp < 35 then
      			newWaltz = 'Curing Waltz'
      		elseif player.tp < 50 then
      			newWaltz = 'Curing Waltz II'
      		elseif player.tp < 65 then
      			newWaltz = 'Curing Waltz III'
      		elseif player.tp < 80 then
      			newWaltz = 'Curing Waltz IV'
      		end
      
      		downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
      	end
      
      	if newWaltz ~= spell.english then
      		send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
      		if downgrade then
      			add_to_chat(158, downgrade)
      		end
      		cancel_spell()
      		return
      	end
      
      	if missingHP > 0 then
      		add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
      	end
      end
      

      Any help with this would be appreciated. It's getting to be very annoying seeing these errors so often in console log. Is it better to just remove the function pretarget(spell,action) and waltz altogether being a THF?

       

      Thanks for your time and help



      #2 Nekradarken

      Nekradarken

        Newbie

      • Members
      • Pip
      • 6 posts

        Posted 07 August 2014 - 05:12 AM

        For error 1, you can try spell.target.distance > 6 instead of spell.target.distance > target_distance, you do not need the variable target_distance if the value is constant.

         

        For error 2, probably the function find_player_in_alliance is not defined in your lua. Check where you copy the code from and search for find_player_in_alliance.



        #3 modena

        modena

          Member

        • Members
        • PipPip
        • 28 posts

          Posted 08 August 2014 - 03:35 AM

          Thank you problem resolved :)






          1 user(s) are reading this topic

          0 members, 1 guests, 0 anonymous users