May 14, 20196 yr Hello all, Has anyone built a C# script that automatically removes curses/poison or magic? I have been unable to find any examples of this Thanks!
May 14, 20196 yr Author 31 minutes ago, Zan said: Did you try searching? Your answer is on the forums. Yes, all I could find was some Lua code, but nothing in C# that I could use
May 14, 20196 yr 33 minutes ago, penumbra said: Yes, all I could find was some Lua code, but nothing in C# that I could use
May 14, 20196 yr Author 28 minutes ago, The Smokie. said: Hey, this is a bit different. This looks for a specific debuff I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions
May 14, 20196 yr 4 minutes ago, penumbra said: Hey, this is a bit different. This looks for a specific debuff I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions Best bet is to add each spell
May 14, 20196 yr 5 minutes ago, penumbra said: Hey, this is a bit different. This looks for a specific debuff I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions That's why you should run a little bit of LUA in your C#. There isn't an in built C# function for this. LUA is definitely the best way as it returns the specific debuff type.
May 14, 20196 yr Author 8 minutes ago, Marsbar said: That's why you should run a little bit of LUA in your C#. There isn't an in built C# function for this. LUA is definitely the best way as it returns the specific debuff type. Thanks, Im trying the following public bool hasDisease = false; hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end"); if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) { Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress); AbolishDisease.Launch(); Lua.LuaDoString("ClearTarget();"); hasDisease = false; } But that does not seem to work
May 14, 20196 yr Author 2 minutes ago, The Smokie. said: Is this for a fightclass or a quester? fightclass
May 14, 20196 yr 9 minutes ago, penumbra said: Thanks, Im trying the following public bool hasDisease = false; hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end"); if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) { Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress); AbolishDisease.Launch(); Lua.LuaDoString("ClearTarget();"); hasDisease = false; } But that does not seem to work What expansion are you on? Your LUA looks incorrect. Using https://vanilla-wow.fandom.com/wiki/API_UnitDebuff as an example, debufftype would be the 5th property, not the 3rd like in your example. In lua you need to declare all the other properties before the one you want so you could do local _, _, _, _, debuffType = UnitDebuff('player', i)
May 14, 20196 yr Author 5 minutes ago, Marsbar said: What expansion are you on? Your LUA looks incorrect. Using https://vanilla-wow.fandom.com/wiki/API_UnitDebuff as an example, debufftype would be the 5th property, not the 3rd like in your example. In lua you need to declare all the other properties before the one you want so you could do local _, _, _, _, debuffType = UnitDebuff('player', i) Thanks, I am on WOTLK
May 14, 20196 yr Author For those that come later: The following work for WOTLK hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local _, _, _, _, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true; end end"); if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease") && !ObjectManager.Me.InCombatFlagOnly) { Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress); AbolishDisease.Launch(); Lua.LuaDoString("ClearTarget();"); hasDisease = false; }
Create an account or sign in to comment