You are not logged in.

Applications: [GameMaster: OPEN] | [Volunteer Testers: OPEN]


This forum will be permanently shut down on Friday 13.07.2018
Please copy or save all important information from old forum before they will be deactivated
We have moved to new board. https://forum.runesofmagic.gameforge.com/Come join us.

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

181

Wednesday, November 16th 2011, 5:55am

Quoted from "ghostwolf82;483736"

@ Peryl - I'll get that into the main code. I never would have guessed at a nil return on a buff/debuff either. Not even sure how that's possible... The people who code this game astonish me at every turn...

Though I still can be caught shaking my head from time to time, I've pretty much stopped being astonished (though it might be interesting to know what medication they're on).

As to the nil value, it might be caused by an aura. Wondering what the buff/debuff was.

@mrmisterwaa Can you shed some light on this? As in what mob it was you had targeted at the time or if it was self, can you re-create the situation?
2013... The year from hell....

mrmisterwaa

Professional

Posts: 670

Location: Kuwait

  • Send private message

182

Wednesday, November 16th 2011, 1:47pm

Quoted from "Peryl;483739"

Though I still can be caught shaking my head from time to time, I've pretty much stopped being astonished (though it might be interesting to know what medication they're on).

As to the nil value, it might be caused by an aura. Wondering what the buff/debuff was.

@mrmisterwaa Can you shed some light on this? As in what mob it was you had targeted at the time or if it was self, can you re-create the situation?


Yes, actually, it's the Windrunner ticket I have on.

I would assume it has something to do with any buff that is permanent (or at least will not disappear.)

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

183

Wednesday, November 16th 2011, 2:01pm

Quoted from "mrmisterwaa;483773"

Yes, actually, it's the Windrunner ticket I have on.

I would assume it has something to do with any buff that is permanent (or at least will not disappear.)

Yeah, I thought it might turn out to be something like that. The game is likely returning nil because it doesn't have a time remaining (well not a normal buff time anyway).

At least we now know that the game does this. We may want to change the or 0 in my fix to or -1. This way, if the time remaining on the buff is negative, we can immediately know it is an aura and not a normal buff.
2013... The year from hell....

184

Wednesday, November 16th 2011, 4:06pm

Thx for the help also i update to the new diyce 2.2 but im gettin this error now:

Source code

1
CustomFunctions.lua[string '?']:293: 'end' expected (to close 'function' at line 154) near '<eof>' 


also keep spaming sacred resistance idk what to do or how to fix

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
local WHITE = "|cffffffff"
local SILVER = "|cffc0c0c0"
local GREEN = "|cff00ff00"
local LTBLUE = "|cffa0a0ff"

function DIYCE_DebugSkills(skillList)
    DEFAULT_CHAT_FRAME:AddMessage(GREEN.."Skill List:")
    
    for i,v in ipairs(skillList) do
        DEFAULT_CHAT_FRAME:AddMessage(SILVER.."  ['..WHITE..i..SILVER..']: "..LTBLUE.."" "..WHITE..v.name..LTBLUE..""  use = "..WHITE..(v.use and "true" or "false"))
    end

    DEFAULT_CHAT_FRAME:AddMessage(GREEN.."----------")
end

function DIYCE_DebugBuffList(buffList)
    DEFAULT_CHAT_FRAME:AddMessage(GREEN.."Buff List:")
    
    for k,v in pairs(buffList) do
        -- We ignore numbered entries because both the ID and name 
        -- are stored in the list. This avoids doubling the output.
        if type(k) ~= "number" then
            DEFAULT_CHAT_FRAME:AddMessage(SILVER.."  ['..WHITE..k..SILVER..']:  "..LTBLUE.."id: "..WHITE..v.id..LTBLUE.."  stack: "..WHITE..v.stack..LTBLUE.."  time: "..WHITE..v.time)
        end
    end
    
    DEFAULT_CHAT_FRAME:AddMessage(GREEN.."----------")    
end

local silenceList = {
        ['Annihilation']     = true,
        ['King Bug Shock']     = true,
        ['Mana Rift']         = true,
        ['Dream of Gold']     = true,
        ['Flame']             = true,
        ['Flame Spell']     = true,
        ['Wave Bomb']         = true,
        ['Silence']         = true,
        ['Recover']         = true,
        ['Restore Life']     = true,
        ['Heal']             = true,
        ['Curing Shot']     = true,
        ['Leaves of Fire']     = true,
        ['Urgent Heal']     = true,
                    }
                    
function PriestFairySequence(arg1)
    local Skill = {}
    local Skill2 = {}
    local i = 0
    local FairyExists = UnitExists("playerpet")
    local FairyBuffs = BuffList("playerpet")
    local combat = GetPlayerCombatState()

    --Determine Class-Combo
    mainClass, subClass = UnitClassToken( "player" )

    --Summon Fairy
    if (not FairyExists) and (not combat) then
        if mainClass == "AUGUR" then
            if subClass == "THIEF" then
                Skill = {
                    { name = "Shadow Fairy",            use = true },
                        }
            elseif subClass == "RANGER" then
                Skill = {
                    { name = "Water Fairy",                use = true },
                        }
            elseif subClass == "MAGE" then
                Skill = {
                    { name = "Wind Fairy",                use = true },
                        }            
            elseif subClass == "KNIGHT" then
                Skill = {
                    { name = "Light Fairy",                use = true },
                        }            
            elseif subClass == "WARRIOR" then
                Skill = {
                    { name = "Fire Fairy",                use = true },
                        }
            end
        end
    end    
    
    --Cast Halo
    if FairyExists then
        if mainClass == "AUGUR" then
            if subClass == "THIEF" then
                if (not FairyBuffs[503459]) then
                    if (arg1 == "v1") then
                        Msg("- Activating Halo", 0, 1, 1)
                    end
                    Skill = {
                        { name = "Pet Skill: 6 (Wraith Halo)",    use = true },
                            }
                end
            elseif subClass == "RANGER" then
                if (not FairyBuffs[503457]) then
                    if (arg1 == "v1") then
                        Msg("- Activating Halo", 0, 1, 1)
                    end
                    Skill = {
                        { name = "Pet Skill: 6 (Frost Halo)",    use = true },
                            }
                end
            elseif subClass == "MAGE" then
                if (not FairyBuffs[503461]) then
                    if (arg1 == "v1") then
                        Msg("- Activating Halo", 0, 1, 1)
                    end
                    Skill = {
                        { name = "Pet Skill: 6 (Windrider Halo)",    use = true },
                            }
                end
            elseif subClass == "KNIGHT" then
                if (not FairyBuffs[503507]) then
                    if (arg1 == "v1") then
                        Msg("- Activating Halo", 0, 1, 1)
                    end
                    Skill = {
                        { name = "Pet Skill: 6 (Devotion Halo)",    use = true },
                            }
                end
            elseif subClass == "WARRIOR" then
                if (not FairyBuffs[503455]) then
                    if (arg1 == "v1") then
                        Msg("- Activating Halo", 0, 1, 1)
                    end
                    Skill = {
                        { name = "Pet Skill: 6 (Accuracy Halo)",    use = true },
                            }
                end
            end
        
            --Cast Conceal
        if (not MyCombat(Skill, arg1)) then
            if (not FairyBuffs[503753]) then
                if (arg1 == "v1") then
                    Msg("- Activating Conceal", 0, 1, 1)
                end
                Skill2 = {
                    { name = "Pet Skill: 7 (Conceal)",    use = true },
                        }
            end
        end
        end
    end
    
    if (not MyCombat(Skill, arg1)) then
        MyCombat(Skill2, arg1)
    end
end
                        
function KillSequence(arg1, mode)
--arg1 = "v1" or "v2" for debugging
--healthpot = # of actionbar slot for health potions
--manapot = # of actionbar slot for mana potions
--foodslot = # of actionbar slot for food (add more args for more foodslots if needed)

    local Skill = {}
    local Skill2 = {}
    local i = 0
    
    -- Player and target status.
    local combat = GetPlayerCombatState()
    local enemy = UnitCanAttack("player","target")
    local EnergyBar1 = UnitMana("player")
    local EnergyBar2 = UnitSkill("player")
    local pctEB1 = PctM("player")
    local pctEB2 = PctS("player")
    local tbuffs = BuffList("target")
    local pbuffs = BuffList("player")
    local tDead = UnitIsDeadOrGhost("target")
    local behind = (not UnitIsUnit("player", "targettarget"))
    local melee = GetActionUsable(13) -- # is your melee range spell slot number
    local a1,a2,a3,a4,a5,ASon = GetActionInfo(14)  -- # is your Autoshot slot number
    local phealth = PctH("player")
    local thealth = PctH("target")
    local LockedOn = UnitExists("target")
    local boss = UnitSex("target") > 2
    local elite = UnitSex("target") == 2
    local party = GetNumPartyMembers() >= 2
    
    --Determine Class-Combo
    mainClass, subClass = UnitClassToken( "player" )

    --Silence Logic
    local tSpell,tTime,tElapsed = UnitCastingTime("target")
    local silenceThis = tSpell and silenceList[tSpell] and ((tTime - tElapsed) > 0.1)
    
    --Potion Checks
    healthpot = healthpot or 0
    manapot = manapot or 0
    
    --Equipment and Pet Protection
    if phealth <= .04 then
            --SwapEquipmentItem()        --Note: Remove the first double dash to re-enable equipment protection.
        for i=1,6 do
            if (IsPetSummoned(i) == true) then
                ReturnPet(i);
            end
        end        
    end
        
    --Check for level 1 mobs, if it is, drop target and acquire a new one.
    if (LockedOn and (UnitLevel("target") < 2)) then
        TargetUnit("")
        return
    end
    
    --Begin Player Skill Sequences
    
        --Priest = AUGUR, Druid = DRUID, Mage = MAGE, Knight = KNIGHT, 
        --Scout = RANGER, Rogue = THIEF, Warden = WARDEN, Warrior = WARRIOR

        --Class: Knight/Scout
            if mainClass == "KNIGHT" and subClass == "RANGER" then
            
            --Potions and Buffs
            Skill = {
                { name = "Action: "..healthpot,           use = (phealth <= .70) },
                { name = "Action: "..manapot,             use = (pctEB2 <= .40) },
                { name = "Resolution",                    use = (phealth <= .30) and combat },
                    }
            
            --Combat
                if enemy then 
                    if (mode == "arrow") then        --set mode to "arrow" in a seperate macro to call the ranged spells, otherwise it will go right to the melee spells (this is how mode is meant to work).
                        Skill2 = {
                            { name = "Vampire Arrows",             use = true }, 
                            { name = "Sacred Resistance",          use = true },
                            { name = "Shot",                       use = true },
                                    } 
                    else
                        Skill2 = {
                            --  Use Throat Attack on detect enemy spell cast.                
                                { name = "Throat Attack",                use = (melee and (silenceThis) and pctEB1 >= 15) },
                                { name = "Schock",                       use = (silenceThis) },
                                { name = "Shield of Valor",              use = ((phealth <= .8) and shield) },
                                { name = "Shield of Discipline",         use = (silenceThis and shield) },
                                { name = "Shield of Atonement",          use = (combat and shield and (not tbuffs['Restrained'])) },                    
                                { name = "Mana Return",                  use = (tbuffs['Holy Seals 3']) and (pctEB1 <= .70) },
                                { name = "Threaten",                     use = (tbuffs['Holy Seals 3']) and (not tbuffs['Threaten']) },
                                { name = "Hatred Strike",                use = (combat and party) },-- Agro Multiplier if in party only                    
                                { name = "Charge",                       use = (combat and (tspell ~= nil)) or (not melee and not tbuffs['Charge']) }, -- charge spellcasters
                                { name = "Whirlwind Shield",             use = (EnergyBar1 >= 189) },            
                                { name = "Holy Strike",                  use = (EnergyBar1 >= 145 ) and not tbuffs['Light Seal III'] },
                                    }
                    end
                    
            --ADD MORE CLASS COMBOS HERE. 
            --USE AN "ELSEIF" TO CONTINUE WITH MORE CLASS COMBOS.
            --THE NEXT "END" STATEMENT IS THE END OF THE CLASS COMBOS STATEMENTS.
            --DO NOT POST BELOW THE FOLLOWING "END" STATEMENT!
            end
    --End Player Skill Sequences
    
    if (arg1=="debugskills") then        --Used for printing the skill table, and true/false usability
        DIYCE_DebugSkills(Skill)
        DIYCE_DebugSkills(Skill2)
    elseif (arg1=="debugpbuffs") then    --Used for printing your buff names, and buffID
        DIYCE_DebugBuffList(pbuffs)
    elseif (arg1=="debugtbuffs") then    --Used for printing target buff names, and buffID
        DIYCE_DebugBuffList(tbuffs)
    elseif (arg1=="debugall") then        --Used for printing all of the above at the same time
        DIYCE_DebugSkills(Skill)
        DIYCE_DebugSkills(Skill2)
        DIYCE_DebugBuffList(pbuffs)
        DIYCE_DebugBuffList(tbuffs)
    end
    
    if (not MyCombat(Skill, arg1)) then
        MyCombat(Skill2, arg1)
    end
        
    --Select Next Enemy
    if (tDead) then
        TargetUnit("")
        return
    end
    if mainClass == "RANGER" and (not party) then        --To keep scouts from pulling mobs without meaning to.
        if (not LockedOn) or (not enemy) then
            TargetNearestEnemy()
            return
        end
    elseif mainClass ~= "RANGER" then                    --Let all other classes auto target.
        if (not LockedOn) or (not enemy) then
            TargetNearestEnemy()
            return
        end
    end
end
RoM US - Osha - Core
Lucho
K/W/S 31k sta still looking for more :D - S/K VN and GCH tanking complete :D
[img][/img]

185

Wednesday, November 16th 2011, 11:00pm

Having an issue with a custom function made by sixpax

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
48
49
50
51
52
53
54
55
56
57
58
59
 -- Custom Local Functions
-- DoTMaster Function adds target to focus and keeps spell refreshed.
-- usage /run DoTMaster("Spell Name")

function DoTMaster(spellname, DMvocal)

    local LockedOn = UnitExists("target")
    local tDead = UnitIsDeadOrGhost("target")
    local enemy = UnitCanAttack("player","target")

    --Check for level one mobs before doing combat
    if (LockedOn and (UnitLevel("target") < 2)) then
        TargetNearestEnemy()
        return
    end

    local function add_to_focus(thisunit)
        local onlist = false
        local freeslot = 0

        for i = 1,10 do
            if (not UnitExists("focus"..i)) and (freeslot == 0) then
                freeslot = i
            elseif UnitIsUnit(thisunit, "focus"..i) then
                return false
            end
        end

        if freeslot == 0 then
            Msg("All slots full, skipping "..thisunit)
            return false
        else
            FocusUnit(freeslot, thisunit)
        end
    end

    if enemy and not tDead and UnitLevel("target") > 1 then
        if add_to_focus("target") then
            if (DMvocal == "v1") then Msg("- Casting ['..spellname..'] on "..UnitName(target)) end
            CastSpellByName(spellname)
            return true
        end
    end

    for i = 1,10 do
        if UnitIsDeadOrGhost("focus"..i) and (not UnitIsPlayer("focus"..i)) then
            FocusUnit(i, "")
        elseif UnitExists("focus"..i) and UnitCanAttack("player", "focus"..i)
        and BuffTimeLeft("focus"..i, spellname) <= 2 then
            FocusUnit(11, "target")
            TargetUnit("focus"..i)
            CastSpellByName(spellname)
            if (DMvocal == "v1") then Msg("- ReCasting "..spellname.." on "..UnitName(("focus"..i)).." "..i) end
            TargetUnit("focus11")
            FocusUnit(11, "")
            return true
        end
    end
end
I added in the vocal to debug it. Using it on my Knight/Priest with this macro. It adds everyone to the focus list but it spams HLF on focus 1 and doesn't reapply it to anyone else.

Source code

1
 /run DoTMaster("Holy Light's Fury","v1") 
And i don't see it doing this part.

Source code

1
2
3
4
5
6
7
     if enemy and not tDead and UnitLevel("target") > 1 then
        if add_to_focus("target") then
            if (DMvocal == "v1") then Msg("- Casting ['..spellname..'] on "..UnitName(target)) end
            CastSpellByName(spellname)
            return true
        end
    end
Is the language right for DIYCE 2.x? I did consider trying to change

Source code

1
 BuffTimeLeft("focus"..i, spellname) <= 2 
to

Source code

1
 (fbuffs(spellname).time <= 2)
with local fbuffs = Bufflist("focus"..i) being called earlier like we do for tbuffs and pbuffs. That didn't work so well, so i went back to bufftimeleft. I think it is not seeing Holy Light's Fury buff on the focus targets for some reason and keeps trying to apply it. Any ideas would be appreciated. I have another issue i am working out... i'll address that later.

Woo Hoo got DotMaster working

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
-- Custom Local Functions
-- DIYCE 2.2
-- DoTMaster Function adds target to focus and keeps spell refreshed.
-- usage /run DoTMaster("Spell Name")

function DoTMaster(spellname, DMvocal)

    local LockedOn = UnitExists("target")
    local tDead = UnitIsDeadOrGhost("target")
    local enemy = UnitCanAttack("player","target")
    local spell = UnitCastingTime("player")  -- Spell being cast?
    local thisunit = "target"

    if (spell ~= nil) then
        return
    end        
        
    --Check for level one mobs before doing combat
    if (LockedOn and (UnitLevel("target") < 2)) then
        TargetNearestEnemy()
        return
    end
    
    local function add_to_focus(thisunit)
        local onlist = false
        local freeslot = 0

        for i = 1,10 do
            if (not UnitExists("focus"..i)) and (freeslot == 0) then
                freeslot = i
            elseif UnitIsUnit("target", "focus"..i) then
                return false
            end
        end

        if freeslot == 0 then
            Msg("All slots full, skipping "..UnitName("target"))
                return false
        else
            FocusUnit(freeslot, "target")
            if (DMvocal == "v1") then Msg("- Focusing on "..UnitName("target").." in slot "..freeslot) end
                return true
        end
    end

    if enemy and not tDead and UnitLevel("target") > 1 then
        if add_to_focus(thisunit) then
            if (DMvocal == "v1") then Msg("- Casting ['..spellname..'] on "..UnitName("target")) end
            CastSpellByName(spellname)
            return false
        end
    end

    for i = 1,10 do
    fbuffs = BuffList("focus"..i)
    thisunit = "focus"..i
        if UnitIsDeadOrGhost(thisunit) and (not UnitIsPlayer(thisunit)) then
            TargetUnit(thisunit)
            UseSkill(1,1)             -- Loot Corpse
            FocusUnit(i, "")
                if (DMvocal == "v1") then Msg("- "..UnitName("target").." "..i.." is dead. Dropping Focus.") end
            return
        end
        if UnitExists(thisunit) and UnitCanAttack("player", thisunit) and (not fbuffs[spellname] or fbuffs[spellname].time <= 2) then
            FocusUnit(11, "target")
            TargetUnit(thisunit)
            CastSpellByName(spellname)
            if (DMvocal == "v1") then Msg("- Reapplying "..spellname.." to "..UnitName((thisunit)).." "..i) end
            TargetUnit("focus11")
            FocusUnit(11, "")
            return
        end
    end
end

Tells me it is focusing then casting and properly keeping them redotted at <= 2 seconds.

ghostwolf82

Professional

  • "ghostwolf82" started this thread

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

186

Thursday, November 17th 2011, 5:09am

@hefusuto - Is sacred resistance a buff? If it is, you will need to check for the buff.

187

Thursday, November 17th 2011, 3:40pm

hello
i ve DIY1.4 and i want use 2.x ,someone just tell me which file have in ScoutRogue .i Dl DIYCE.toc, DIYCE.lua ,CustomFunctions.lua and I dont know where to put my skill, if someone can help me,
Thx for this job

i use this

Quoted


function ScoutRogue(arg1,arg2)
local Skill = {}
local i = 0
local mana = UnitSkill("player")
local focus = UnitMana("player")
local friendly = (not UnitCanAttack("player","target"))
local targetAlive = (not UnitIsDeadOrGhost("target"))
local pvp = ((not friendly) and (UnitIsPlayer("target")))
local combat = GetPlayerCombatState()
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
local a1,a2,a3,a4,a5,ASon = GetActionInfo(3)

i=i+1; Skill = { name = "Vampire Arrows", use = (focus >= 20) }
i=i+1; Skill[i] = { name = "Autoshot", use = (not ASon) }
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 = "Wind Arrows", use = (focus >= 15) }
i=i+1; Skill[i] = { name = "Snipe", use = (true) }
i=i+1; Skill[i] = { name = "Shot", use = (true) }
MyCombat(Skill,arg1)
end

188

Friday, November 18th 2011, 12:00am

Noticed an unwanted issue with the subfunction to lose target if it's below lvl 2: It will lose target of the bunny inside the hat at 4th boss in Grafu Castle too, and you sorta need to be able to kill that. The bunny is no level at all probably. Commented the whole section out of my CustomFunctions for now.

mrmisterwaa

Professional

Posts: 670

Location: Kuwait

  • Send private message

189

Friday, November 18th 2011, 12:32am

I agree with Koloid, I have been noticing a targetting issue when it comes to attacking mobs like bunnies and snakes.

ghostwolf82

Professional

  • "ghostwolf82" started this thread

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

190

Friday, November 18th 2011, 6:46am

Yes, anything that is level 1 will be untargeted, and a new target will be selected. To fix this, on a permanent basis, I will need someone else's help.

When in Grafu run this line of code:

Source code

1
[B]/Script DEFAULT_CHAT_FRAME:AddMessage(GetZoneID());[/B]

Then also run this line:

Source code

1
[B]/script DEFAULT_CHAT_FRAME:AddMessage(GetZoneName());[/B]

And please post both results here. Would like to have more than one source post these results to confirm and cross check accuracy. Preferably from two different servers.

eguner

Beginner

Posts: 15

Location: Türkiye

  • Send private message

191

Friday, November 18th 2011, 8:42am

here is my s/r custom file

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
-- Class: Scout/Rogue
			if mainClass == "RANGER" and subClass == "THIEF" then
			
			--Potions and Buffs
            Skill = {
                { name = "Frost Arrow",              	    use = ((not pbuffs['Frost Arrow']) or (pbuffs['Frost Arrow'].time <= 15)) },
				{ name = "Weak Spot",						use = ((CD("Weak Spot") and (not pbuffs['Informer'])) and (EnergyBar1 >= 55)) },
				{ name = "Sapping Arrow",            	    use = boss and (not tbuffs['Sapping Arrow'] and (EnergyBar2 >= 45))  },
				{ name = "Action: 31",                      use = (pbuffs['Confusion'] or pbuffs[503390]) }
				
					 }
			
			--Combat
			if enemy then
				Skill2 = {
				{ name = "Shot", 						use = (CD("Shot")) },
				{ name = "Autoshot", 					use = (not ASon) },
			  --{ name = "Vampire Arrows", 				use = CD("Vampire Arrows") and (EnergyBar1 >= 40)   },
				{ name = "Combo Shot",                  use = (tbuffs[503169] and CD("Combo Shot"))  },
				{ name = "Wind Arrows", 				use = (CD("Wind Arrows") and (EnergyBar1 >= 45)) },
			    { name = "Piercing Arrow",           	use = boss and ((EnergyBar1 <= 45) and CD("Piercing Arrow"))  },
				{ name = "Throat Attack",               use = ((EnergyBar2 >= 50) and (boss or elite) and (silenceThis)) }
			 --{ name = "Wrist Attack",              	use = (not tbuffs['Wrist Attack'] and pctEB1 >= 50 and melee) },
			 --{ name = "Joint Blow",                  use = (not tbuffs['Joint Blow'] and pctEB1 >= 50 and melee) }
				
				}
			end


Source code

1
{ name = "Action: 31",                      use = (pbuffs['Confusion'] or pbuffs[503390]) }


action :31 is set for /rofl and 501463 is fear debuff number. i want to check fear or confusion debuffs on me, if i got any on these debuffs i want to rooling on the floor (to prevent running around randomly), but its not working. can u help me how to do this please?

mrmisterwaa

Professional

Posts: 670

Location: Kuwait

  • Send private message

192

Friday, November 18th 2011, 1:58pm

Try isolating it (putting it by itself in the DIYCE) and check if it works.

It doesn't, then we have a tiny problem. If it does work, there might be something you are over-looking.

Do you get any errors?

eguner

Beginner

Posts: 15

Location: Türkiye

  • Send private message

193

Friday, November 18th 2011, 2:23pm

no error messages, DIY 2.2 seems working fine

mrmisterwaa

Professional

Posts: 670

Location: Kuwait

  • Send private message

194

Friday, November 18th 2011, 2:53pm

Quoted from "ghostwolf82;484198"

Yes, anything that is level 1 will be untargeted, and a new target will be selected. To fix this, on a permanent basis, I will need someone else's help.

When in Grafu run this line of code:

Source code

1
[B]/Script DEFAULT_CHAT_FRAME:AddMessage(GetZoneID());[/B]
Then also run this line:

Source code

1
[B]/script DEFAULT_CHAT_FRAME:AddMessage(GetZoneName());[/B]
And please post both results here. Would like to have more than one source post these results to confirm and cross check accuracy. Preferably from two different servers.


Grimdal:

GrafuEasy
ZoneID: 138
Zone Name: Grafu Castle

GrafuNormal
ZoneID: 137
Zone Name: Grafu Castle

GrafuHard
ZoneID: 136
Zone Name: Grafu Castle

eguner

Beginner

Posts: 15

Location: Türkiye

  • Send private message

195

Friday, November 18th 2011, 6:11pm

Quoted from "mrmisterwaa;484232"

Try isolating it (putting it by itself in the DIYCE) and check if it works.

It doesn't, then we have a tiny problem. If it does work, there might be something you are over-looking.

Do you get any errors?


i have tried like these but not working and no error messages, any ideas about emotes in diyce? /ROFL in working in command line in game....

Source code

1
{ name = "ROFL",                     		use = (pbuffs[503390]) }


Source code

1
{ name = "/ROFL",                     		use = (pbuffs[503390]) }

ghostwolf82

Professional

  • "ghostwolf82" started this thread

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

196

Friday, November 18th 2011, 6:26pm

Is action 31 a macro? If so then you are trying to call a macro from a macro which doesn't work in game, and hasn't for a long time now.

Also, thanks Sekrit. Can someone else confirm/contradict those numbers from another server?

hangman04

Savage Warrior

Posts: 113

Location: Romania

Mood: Smile

  • Send private message

197

Monday, November 21st 2011, 11:30am

Hey Ghost.
I am trying to make my wr / r and r/w scripts. Lets start with w/r. I have this simple script:

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
function WarriorRogue(arg1)
local Skill = {}
local i = 0
local rage = UnitMana("player")
local energy = UnitSkill("player")
local enemy = UnitCanAttack("player","target")
local tbuffs = BuffList("target")
local phealth = PctH("player")


if enemy then
    i=i+1; Skill[i] = { name = "Survival Instinct",                use = (  phealth <= .49                         )}
    i=i+1; Skill[i] = { name = "Enraged",                          use = (  rage <= 20                             )}
    i=i+1; Skill[i] = { name = "Splitting Chop",                   use = ( (rage >= 15) and tbuffs['Weakened']     )}
    i=i+1; Skill[i] = { name = "Keen Attack",                      use = ( (energy >= 20) and tbuffs['Vulnerable'] )}
    i=i+1; Skill[i] = { name = "Open Flank",                       use = ( (rage >= 10) and tbuffs['Vulnerable'] and CD("Splitting Chop") )}
    i=i+1; Skill[i] = { name = "Probing Attack",                   use = ( (rage >= 20)                            )}
    i=i+1; Skill[i] = { name = "Blood Dance",                      use = (  phealth >= .85               )}
    i=i+1; Skill[i] = { name = "Slash",                            use = (  rage >= 25                               )} 
    i=i+1; Skill[i] = { name = "Shadowstab",                       use = (  energy >= 20               )}
    i=i+1; Skill[i] = { name = "Attack",                           use =    true                     }
end
    MyCombat(Skill,arg1)
end
The script works great in -- DIYCE: GhostWolf Modified version 1.0

From what i observed probing + keen are main spamables every 3 sec run the seq and this is what my script does. I put slash before sstab because from what i saw it's more powerful. Also the prob - vulner - split chop is mean to be used when i have no rage. So far so good.

But when i made the script i had no idea that no matter how fast i spam the damn skill once every 0.6 secs i'll never run out of rage. xD So chop will only cast only cast if i already have a war in the party that has weakened the target (cause yes now after the stopped the buff stealing drama, if a target has 2-3 dif vulnerable debufs for ex i will use keen attack till all disappear).

But after i played a bit with it, an idea crossed my mind. What if i would use every 15 secs the prob - vul - chop combo in order to get the targed debuffed with Shattered Armor 8 sec debuff. This should increase my dps i hope and not lower it. I would like very much if could tell me the id of the debuff.

So my function would luck like this:

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
function WarriorRogue(arg1)
local Skill = {}
local i = 0
local rage = UnitMana("player")
local energy = UnitSkill("player")
local enemy = UnitCanAttack("player","target")
local tbuffs = BuffList("target")
local phealth = PctH("player")


if enemy then
    i=i+1; Skill[i] = { name = "Survival Instinct",                use = (  phealth <= .49                         )}
    i=i+1; Skill[i] = { name = "Enraged",                          use = (  rage <= 20                             )}
    i=i+1; Skill[i] = { name = "Splitting Chop",                   use = ( (rage >= 15) and tbuffs['Weakened']     )}
    i=i+1; Skill[i] = { name = "Open Flank",                       use = ( (rage >= 10) and tbuffs['Vulnerable'] and not tbuffs['Shattered Armor'] and CD("Splitting Chop") )}
    i=i+1; Skill[i] = { name = "Keen Attack",                      use = ( (energy >= 20) and tbuffs['Vulnerable'] )}
    i=i+1; Skill[i] = { name = "Open Flank",                       use = ( (rage >= 10) and tbuffs['Vulnerable'] and CD("Splitting Chop") )}
    i=i+1; Skill[i] = { name = "Probing Attack",                   use = ( (rage >= 20)                            )}
    i=i+1; Skill[i] = { name = "Blood Dance",                      use = (  phealth >= .85               )}
    i=i+1; Skill[i] = { name = "Slash",                            use = (  rage >= 25                               )} 
    i=i+1; Skill[i] = { name = "Shadowstab",                       use = (  energy >= 20               )}
    i=i+1; Skill[i] = { name = "Attack",                           use =    true                     }
end
    MyCombat(Skill,arg1)
end

So now it will cast the 2nd combo if the target has no debuff (should help a lot in instances) and in case i run out of rage and i can't perform Keen Att. Also, if the target has already a Shattered debuff from another player it won't cast mine, right? cause this is the intended purpose.

As regarding the r/w i have 2-3 questions before i even think starting working on my script:
what are the ids for r/w shadowstab bleed (it might be dif since this is an elite version, can be cast with axe), blind spot shadow stab, poisoned debuff, decay buff.

Besides the combos shadow-low-wound or blind spot-low-wound which are main. I want to make smth with decay. From what i saw on the web the attack itself isn't that much powerful but the buff is the main reason to cast. So here comes the question: Is there a way not to cast decay sooner then 32 sec apart (i can check only for the 12 sec but i have another 20 sec unaccounted for).

Also, if i have another rogue in the party how will i filter my debuffs from his? or it doesn;t matter ?

ghostwolf82

Professional

  • "ghostwolf82" started this thread

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

198

Monday, November 21st 2011, 3:44pm

@hangman04 - This is the thread for DIYCE v2, you either need to convert your scripts over to it, or post any questions regarding the original DIYCE in the original DIYCE thread. Also, I am not exactly sure what the question you are asking is... other than the debuff question (which has been answered a few times in this thread now), and the question about casting a skill for the r/w combo (you want to wait 32 secs to cast it?)...

hangman04

Savage Warrior

Posts: 113

Location: Romania

Mood: Smile

  • Send private message

199

Monday, November 21st 2011, 10:01pm

yes i consider dacay a loss in dps if i cast it and i don;t any buff. But i can cast a buff only once every 12+20= 32 secs not sooner. I was asking if there is smth for this.

as for the wr / r script my questions was more like which is better for dps. i've been playing only for few days.

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

200

Tuesday, November 22nd 2011, 3:42am

Quoted from "hangman04;484955"

yes i consider dacay a loss in dps if i cast it and i don;t any buff. But i can cast a buff only once every 12+20= 32 secs not sooner. I was asking if there is smth for this.

I've seen this asked before and unfortunately, I've yet to hear of a way to detect Decay's 20 sec block on casting (for the curious, we are talking about this Rogue skill: Decay)

There doesn't appear to be anything we can query to find out when this hidden 20 sec cooldown is active or done.

The only thing I can think of would be to create a timer that would trigger when the skill is used and disallow the use in DIYCE if the timer is active. But this could A) cause some possible problems with accuracy and B) since it would be simulated, may cause other problems. There's also the question of integrating such a thing into DIYCE itself.

Quoted from "hangman04;484955"

as for the wr / r script my questions was more like which is better for dps. i've been playing only for few days.
I can't help you there. I've not played either Warrior or Rogue and so could not possibly give advice on skill rotations.
2013... The year from hell....