Quoted from "mackess;436096"
@Drake1132
Yes we do get bleeds from slash r/w uses axe not daggers we also now get bleeds on out axes from shadowstab since last patch.
Quoted from "goldguardian;436519"
It works fine until my health gets below about 80% but after that it totally stops working, It doesnt attack and doesnt heal at all.
![]()
Source code
1[FONT=Verdana]i=i+1; Skill[i] = { ['name'] = "Blossoming Life", ['use'] = (health <= .80) and (not string.find(pbuffs,"Blossoming Life")) }[/FONT]
In game i get the error... "[string '?']:487: bad argument #1 to 'find' (string expected, not nil)"
|
|
Source code |
1 |
local pbuffs = BuffList("player")
|
|
|
Source code |
1 |
add your code here |
Quoted from "mackess;436331"
for some reason the same thing is happening like the first Function. It doesn't get passed Poisonous infection and decay and death touch.is that the problem?
![]()
Source code
1 /run RogueWarriorBurn(arg1, potslot)
|
|
Source code |
1 2 3 4 |
if (PctH("player")<.70) and (potcd == 0) then
UseAction(potslot)
return
end
|
|
|
Source code |
1 2 3 4 |
if (PctH("player")<.70) and (potslot ~= nil) and (potcd == 0) then
UseAction(potslot)
return
end
|
Quoted from "hangman04;436867"
Guys can you help me pls with a scout/x function framework. I remember Sixpax posted his updated version which included some special tweak for auto shoot activation but i have a hard time finding it in these 150+ pages.
I need it so i can work on my s/k function and i don't want to start from 0.
Tyvm for your help.
|
|
Source code |
1 |
local a1,a2,a3,a4,a5,ASon = GetActionInfo(31) -- # is your Autoshot action bar slot number... you'll need to make sure you have Autoshot on actionbar slot 31, or you'll need to change the 31 to the actionbar slot number where you have Autoshot |
|
|
Source code |
1 |
i=i+1; Skill[i] = { name = "Autoshot", use = (not friendly) and (not ASon) and GetActionUsable(31) } -- again, the # here should be whatever actionbar slot number where you have Autoshot
|
|
|
Source code |
1 |
g_lastaction = "" |
|
|
Source code |
1 |
g_lastaction = Skill[x].name |
|
|
Source code |
1 |
(not string.find(g_lastaction,"Autoshot")) |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
function MyCombat(Skill, arg1)
local spell_name = UnitCastingTime("player")
local talktome = ((arg1 == "v1") or (arg1 == "v2"))
local action,actioncd,actiondef,actioncnt
if spell_name ~= nil then
if (arg1 == "v2") then Msg("- ['..spell_name..']", 0, 1, 1) end
g_lastaction = Skill[x].name
return true
end
for x,tbl in ipairs(Skill) do
if Skill[x].use then
if string.find(Skill[x].name, "Action:") then
action = tonumber((string.gsub(Skill[x].name, "(Action:)( *)(%d+)(.*)", "%3")))
_1,actioncd = GetActionCooldown(action)
actiondef,_1,actioncnt = GetActionInfo(action)
if GetActionUsable(action) and (actioncd == 0) and (actiondef ~= nil) and (actioncnt > 0) then
if talktome then Msg("- "..Skill[x].name) end
UseAction(action)
g_lastaction = Skill[x].name
return true
end
elseif string.find(Skill[x].name, "Custom:") then
action = string.gsub(Skill[x].name, "(Custom:)( *)(.*)", "%3")
if CustomAction(action) then
g_lastaction = Skill[x].name
return true
end
elseif string.find(Skill[x].name, "Item:") then
action = string.gsub(Skill[x].name, "(Item:)( *)(.*)", "%3")
if talktome then Msg("- "..Skill[x].name) end
UseItemByName(action)
g_lastaction = Skill[x].name
return true
elseif CD(Skill[x].name) then
if talktome then Msg("- "..Skill[x].name) end
CastSpellByName(Skill[x].name)
g_lastaction = Skill[x].name
return true
end
end
end
if (arg1 == "v2") then Msg("- [IDLE]", 0, 1, 1) end
return false
end
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function ScoutK_fullDPS(arg1, arg2)
local Skill = {}
local i = 0
local AS_slot = arg2
local focus = UnitMana("player")
local mana = UnitSkill("player")
local enemy = UnitCanAttack("player","target")
local a1, a2, a3, a4, a5, ASon = GetActionInfo(AS_slot)
if enemy then
i=i+1; Skill[i] = { name = "Autoshot", use = ((not ASon) and GetActionUsable(AS_slot) and (not string.find(g_lastaction,"Autoshot"))}
i=i+1; Skill[i] = { name = "Combo Shot", use = true}
i=i+1; Skill[i] = { name = "Reflected Shot", use = true}
i=i+1; Skill[i] = { name = "Piercing Arrow", use = true}
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (focus >=30)}
i=i+1; Skill[i] = { name = "Disarmament", use = (mana >=250)}
i=i+1; Skill[i] = { name = "Repelling Arrow", use = (mana >=250)}
i=i+1; Skill[i] = { name = "Wind Arrows", use = (focus >=25)}
i=i+1; Skill[i] = { name = "Shoot", use = true}
end
MyCombat(Skill,arg1)
end
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function ScoutK_NoAOE(arg1, arg2)
local Skill = {}
local i = 0
local AS_slot = arg2
local focus = UnitMana("player")
local mana = UnitSkill("player")
local enemy = UnitCanAttack("player","target")
local a1, a2, a3, a4, a5, ASon = GetActionInfo(AS_slot)
if enemy then
i=i+1; Skill[i] = { name = "Autoshot", use = ((not ASon) and GetActionUsable(AS_slot) and (not string.find(g_lastaction,"Autoshot"))}
i=i+1; Skill[i] = { name = "Combo Shot", use = true}
i=i+1; Skill[i] = { name = "Vampire Arrows", use = (focus >=30)}
i=i+1; Skill[i] = { name = "Disarmament", use = (mana >=250)}
i=i+1; Skill[i] = { name = "Repelling Arrow", use = (mana >=250)}
i=i+1; Skill[i] = { name = "Wind Arrows", use = (focus >=25)}
i=i+1; Skill[i] = { name = "Shoot", use = true}
end
MyCombat(Skill,arg1)
end
|
|
|
Source code |
1 |
i=i+1; Skill[i] = { name = "Autoshot", use = ((not ASon) and GetActionUsable(AS_slot) and (not string.find(g_lastaction,"Autoshot"))}
|
|
|
Source code |
1 |
i=i+1; Skill[i] = { name = "Autoshot", use = (not ASon) and GetActionUsable(AS_slot) and (not string.find(g_lastaction,"Autoshot")) }
|
|
|
Source code |
1 |
i=i+1; Skill[i] = { name = "Autoshot", use = ((not ASon) and GetActionUsable(AS_slot) and (not string.find(g_lastaction,"Autoshot"))) }
|
Quoted from "hangman04;437262"
Oh yea now i see. tyvm.
Btw what is the call function for 2 arguments? scoutk("",4) for example? what should i put in arg1, cause all my other functions have 1 argument and when calling it is null void: warriorwarden() as example?![]()
Quoted from "hangman04;437271"
So v1-v3 are for debug / test use, right?
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function CD(skillname)
local firstskill = GetSkillDetail(2,1)
if (g_skill[firstskill] == nil) or (g_skill[firstskill].page ~= 2) then
ReadSkills()
end
if g_skill[skillname] ~= nil then
local tt,cd = GetSkillCooldown(g_skill[skillname].page,g_skill[skillname].slot)
[U][B]return cd < 0.4[/B][/U]
elseif skillname == nil then
return false
else
Msg("Skill not available: "..skillname)
return false
end
end
|
Quoted from "hangman04;437286"
My only tweaks at the basic code are BuffListID function in order to get only my bleed for wr/wd, and a minor change in the GCD system that makes the macro a bit faster.
Also, regarding Autoshot. The Purpose of the skill is to be used as last resort, when your mana, focus is 0 and other free skills are on cd. But from what i see if i put Autoshot 1st skill it will start the combo with autoshot, which is a drop in dps.
![]()
Source code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16function CD(skillname) local firstskill = GetSkillDetail(2,1) if (g_skill[firstskill] == nil) or (g_skill[firstskill].page ~= 2) then ReadSkills() end if g_skill[skillname] ~= nil then local tt,cd = GetSkillCooldown(g_skill[skillname].page,g_skill[skillname].slot) [U][B]return cd < 0.4[/B][/U] elseif skillname == nil then return false else Msg("Skill not available: "..skillname) return false end end
When i fight i usually activate Autoshot when casting Combo Shot, and it will cover only my bad skill timings.
So, if were to put Autoshot second skill , doe to the fact that i have a function CD() set at 0.6, then if i activate Combo Shot and spam the macro i'd activate Autoshot during the 1 sec cast time of CS.
I haven't got the chance to try it since I need High Hp mobs or a low lvl xbow xD.
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function RogueScout(arg1)
local Skill = {}
local i = 0
local combat = GetPlayerCombatState()
local enemy = UnitCanAttack("player","target")
local focus = UnitMana("player")
local mana = PctS("player")
local pmana = UnitSkill("player")
local tbuffs = BuffList("target")
local pbuffs = BuffList("player")
local front = UnitIsUnit("player", "targettarget")
local tDead = UnitIsDeadOrGhost("target")
local melee = GetActionUsable(6)
local phealth = PctH("player")
local thealth = PctH("target")
local LockedOn = UnitExists("target")
local a1,a2,a3,a4,a5,ASon = GetActionInfo(1)
local ammo = (GetEquipSlotInfo(10) ~= nil)
i=i+1; Skill[i] = { name = "Premeditation", use = ((not string.find(pbuffs,"Premeditation") and (not combat)) }
i=i+1; Skill[i] = { name = "Vampire Arrows", use = ((not friendly) and (focus >=20)) }
i=i+1; Skill[i] = { name = "Wound Attack", use = ((not friendly) and (energy >=35) and string.find(tbuffs,"Bleed") and string.find(tbuffs,"Grievous Wound")) }
i=i+1; Skill[i] = { name = "Low Blow", use = ((not friendly) and (energy >=30) and string.find(tbuffs,"Bleed")) }
i=i+1; Skill[i] = { name = "Shadowstab", use = ((not friendly) and (energy >=20) and (not string.find(tbuffs,"Bleed")) }
i=i+1; Skill[i] = { name = "Low Blow", use = ((not friendly) and (energy >=30)) and string.find(tbuffs, "Bleed")) }
i=i+1; Skill[i] = { name = "Shot" use = (not friendly) }
MyCombat(Skill,arg1)
end
|
Location: Dominating in 3vs3, 6vs6 and siege.
Occupation: Network Administrator for a local NBC T.V. station.