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.

1,721

Tuesday, August 23rd 2011, 3:45pm

Quoted from "Galav;457288"

@Zaodon
I wouldn't say my code logic is WAY off, I just don't know a few functions that would be optimal and very helpful.

Does that sound plausible?
But TY for the help


Your code logic is still completely broken, and I don't have the kind of time to tell you how. Its not about Diyce or RoM, its about basic programming. You would be best off using the code I posted and modify it until it works well for you. Your version will most likely never work.

Galav

Beginner

Posts: 21

Location: Ontario, Canada

  • Send private message

1,722

Wednesday, August 24th 2011, 12:28am

Your code doesn't work at all for my purposes, and the reason I suggested it the way I did was simply because of the time factor. The system you suggested works to a degree, but If the target dies from a thorn arrow or reflected shot hit then the next fight it starts with shot and I'm better off using my current code over that happening.

So I will ask again:
Pseudo code:
if cd "Reflected Shot" >= 9.5 then
g_SW1 = 1
elsif cd "Thorn Arrow" >= 5.5 then
g_SW! = 1
else
g_SW1 = 0

Plausible?
This sentence is false

1,723

Wednesday, August 24th 2011, 6:50am

Uber

I just wanted to thank all the contributors on these macro/DIYCE threads. I have achieved more than I thought I would. My script takes control of the battles even when I am under mob pressure.

I would like to clean things up some to make it easier to read. I also want to make all declarations global to make accessing them easier to prevent having to retype them.

I also am curious as to how many people have "if then" statements within their combat macros.

I am not posting from my main pc so I will have to post the combat section of the macro to see if anyone has any pointers.

1,724

Wednesday, August 24th 2011, 6:52am

Couldn't you lookup target enemy and if its health is 0 then value is 0?

1,725

Wednesday, August 24th 2011, 7:42am

Nudge

This is my running macro in combat. The if then works and before in a pinch regenerate would kill the combat aspect. Any tips on how to clean it up and maybe even trim the commands all together.


function MageFarm(arg1)
local Skill = {}
local i = 0
local friendly = (not UnitCanAttack("player","target"))
local pbuffs = BuffList("player")
local tbuffs = BuffList("target")
i=i+1; Skill = { ['name'] = "Holy Aura", ['use'] = (PctH("player") <= .30) }
if not string.find(pbuffs,"Regenerate") then i=i+1; Skill[i] = { ['name'] = "Regenerate", ['use'] = (PctH("player") <= .80) } end
i=i+1; Skill[i] = { ['name'] = "Elemental Catalysis", ['use'] = (Mana("player") <= 1200) }
i=i+1; Skill[i] = { ['name'] = "Urgent Heal", ['use'] = (PctH("player") <= .60) }
i=i+1; Skill[i] = { ['name'] = "Essence of Magic", ['use'] = (not string.find(pbuffs,"Essence of Magic")) }
i=i+1; Skill[i] = { ['name'] = "Electrostatic Charge", ['use'] = (PctH("player") <= .60) }
i=i+1; Skill[i] = { ['name'] = "Fireball", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Lightning", ['use'] = (not friendly) }
i=i+1; Skill[i] = { ['name'] = "Rising Tide", ['use'] = (not friendly) }

MyCombat(Skill,arg1)
end

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,726

Wednesday, August 24th 2011, 11:28am

For ways to utilize variables over and over again, take a look at the link in my Sig. Once you can understand what I have there you will be able to make a much more effective script. In that I have combined the ideas of peryl, and drake with my own to make a super function.

Posts: 86

Location: Dominating in 3vs3, 6vs6 and siege.

Occupation: Network Administrator for a local NBC T.V. station.

  • Send private message

1,727

Wednesday, August 24th 2011, 7:31pm

Quoted from "Peryl;452508"

I don't know of a way to detect if the target is a pet specifically, but you might consider checking if the target is a player. Though this brings up the potential problem of not being able to target mobs so either have a specific DIYCE script for Siege, or have a parameter passed-in to the function to allow/disallow non-player targets.

Anyway, the idea is to target a unit and check if this target is a player. If not, it selects the next target. This is done in a loop, but only 10 times or there is the possibility of locking the game into an infinite loop.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    --Select Next Enemy
    if tDead then
        TargetUnit("")
        return
    end
    if (not LockedOn) or (not enemy) then
        for i=1,10 do
            TargetNearestEnemy()
            if UnitIsPlayer("target") then
                break
            end
        end
        if not UnitIsPlayer("target") then
            TargetUnit("")
        end
        return
    end


Will this target Tower Guards, Flames Towers, Electric Towers or Faces? If not, is there a way to target everything except a players pet? Can it be assigned to the tab key?

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,728

Wednesday, August 24th 2011, 7:46pm

IMO go with the other idea. Check to see if there is a PetMaster variable, if so, it's a pet, if not true, then it is not a pet. You could also check to see if the target is a "baloon" by name i believe if you are not wanting to attack those as well.

1,729

Tuesday, August 30th 2011, 4:43pm

subbing

1,730

Friday, September 2nd 2011, 3:06am

I'm having some issues with my d/s function.

Well, really just one issue... I'm getting a "skill not available" every run through for Combo Shot. My function isn't really any different from the base d/s posted in this thread. All I did was to move focus down in the priorety because I'm low level and it isn't active.

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 ScoutDruid(arg1)
   local Skill = {}
   local i = 0
   local focus = UnitMana("player")
   local mana  = UnitSkill("player")
   local friendly = (not UnitCanAttack("player","target"))
   local pbuffs = BuffList("player")
   local tbuffs = BuffList("target")
   local dbuffs = DebuffList("player")
   i=i+1; Skill[i] = { ['name'] = "Savage Blessing",   ['use'] = (not string.find(pbuffs,"Savage Blessing")) }
   i=i+1; Skill[i] = { ['name'] = "Frost Arrow",    ['use'] = (not string.find(pbuffs,"Frost Arrow")) }
   i=i+1; Skill[i] = { ['name'] = "Focus",            ['use'] = (not string.find(pbuffs,"Focus")) }
   i=i+1; Skill[i] = { ['name'] = "Antidote",        ['use'] = (string.find(dbuffs,"Poisoned")) }
   i=i+1; Skill[i] = { ['name'] = "Recover",                        ['use'] = ((friendly) and (health <= .50) and (not string.find(tbuffs,"Recover"))) }
-- i=i+1; Skill[i] = { ['name'] = "Combo Shot",     ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Shot",           ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Snake Poison Arrow", ['use'] = ((not friendly) and (mana >= 500)) }
   i=i+1; Skill[i] = { ['name'] = "Vampire Arrows", ['use'] = ((not friendly) and (focus >= 20)) }
   i=i+1; Skill[i] = { ['name'] = "Wind Arrows",    ['use'] = ((not friendly) and (focus >= 15)) }
   i=i+1; Skill[i] = { ['name'] = "Target Area",    ['use'] = (not string.find(pbuffs,"Target Area") and (focus >= 85)) }
--   i=i+1; Skill[i] = { ['name'] = "Piercing Arrow", ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Snipe",          ['use'] = (not friendly) }
   MyCombat(Skill,arg1)
end


I understand that the cast timer would prevent skills from popping but I have tried to keep Combo Shot ahead of the other combat skills. Any ideas?

Drake1132

Beginner

Posts: 11

Location: Wait a minute... you mean I'm *not* a figment of your imagination?

  • Send private message

1,731

Saturday, September 3rd 2011, 3:42am

Quoted from "Stagg3r;460254"

I'm having some issues with my d/s function.


Based on the posted code and the fact that you're asking about Combo Shot, I assume you meant to say "s/d" rather than "d/s"

Quoted from "Stagg3r;460254"

Well, really just one issue... I'm getting a "skill not available" every run through for Combo Shot. My function isn't really any different from the base d/s posted in this thread. All I did was to move focus down in the priorety because I'm low level and it isn't active.

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 ScoutDruid(arg1)
   local Skill = {}
   local i = 0
   local focus = UnitMana("player")
   local mana  = UnitSkill("player")
   local friendly = (not UnitCanAttack("player","target"))
   local pbuffs = BuffList("player")
   local tbuffs = BuffList("target")
   local dbuffs = DebuffList("player")
   i=i+1; Skill[i] = { ['name'] = "Savage Blessing",   ['use'] = (not string.find(pbuffs,"Savage Blessing")) }
   i=i+1; Skill[i] = { ['name'] = "Frost Arrow",    ['use'] = (not string.find(pbuffs,"Frost Arrow")) }
   i=i+1; Skill[i] = { ['name'] = "Focus",            ['use'] = (not string.find(pbuffs,"Focus")) }
   i=i+1; Skill[i] = { ['name'] = "Antidote",        ['use'] = (string.find(dbuffs,"Poisoned")) }
   i=i+1; Skill[i] = { ['name'] = "Recover",                        ['use'] = ((friendly) and (health <= .50) and (not string.find(tbuffs,"Recover"))) }
-- i=i+1; Skill[i] = { ['name'] = "Combo Shot",     ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Shot",           ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Snake Poison Arrow", ['use'] = ((not friendly) and (mana >= 500)) }
   i=i+1; Skill[i] = { ['name'] = "Vampire Arrows", ['use'] = ((not friendly) and (focus >= 20)) }
   i=i+1; Skill[i] = { ['name'] = "Wind Arrows",    ['use'] = ((not friendly) and (focus >= 15)) }
   i=i+1; Skill[i] = { ['name'] = "Target Area",    ['use'] = (not string.find(pbuffs,"Target Area") and (focus >= 85)) }
--   i=i+1; Skill[i] = { ['name'] = "Piercing Arrow", ['use'] = (not friendly) }
   i=i+1; Skill[i] = { ['name'] = "Snipe",          ['use'] = (not friendly) }
   MyCombat(Skill,arg1)
end
I understand that the cast timer would prevent skills from popping but I have tried to keep Combo Shot ahead of the other combat skills. Any ideas?



The "Skill not available..." message comes up from the CD() function and basically means that DIYCE thinks the skill either a) does not exist, or b) is not known by your character, therefore in either case, the skill is not listed in your g_skill array and cannot be used.

Assuming you haven't made any code changes that might mess things up, the most likely causes are as follows...

1. You misspelled the skill name in your skills priority list (doesn't look to me like that's the case here, but double check it anyway).

2. The devs renamed the skill (probably inadvertently), possibly inserting an additional space between Combo and Shot, or an additional "o" in Shot, turning it into Shoot. Technically, this means that your skill name is incorrect in your priorities list same as number 1 above, but it isn't your fault. I checked for a Scout/Rogue and the skill name has not been changed, but that doesn't mean it hasn't been changed for the Scout/Druid *shrugs*.

3. You haven't reached level 30+ with the particular character in question, and therefore do not know the skill.

Check those first and get back to us.
[img][/img]


-- Almost all human knowledge is built upon earlier foundations of more basic knowledge. If you are having trouble, go back two steps and work on something more basic. This can provide insights that will help you with whatever you were having trouble with.


-- Want to learn how to use the Do-it-yourself Combat Engine system (DIYCE)? A good place to start might be RIGHT HERE.

Galav

Beginner

Posts: 21

Location: Ontario, Canada

  • Send private message

1,732

Saturday, September 3rd 2011, 5:24am

Completely unrelated but I think runewaker just changed the Scout Wardens Shot to Shoot just to screw with our heads...
This sentence is false

Drake1132

Beginner

Posts: 11

Location: Wait a minute... you mean I'm *not* a figment of your imagination?

  • Send private message

1,733

Saturday, September 3rd 2011, 9:13am

Quoted from "Galav;460580"

Completely unrelated but I think runewaker just changed the Scout Wardens Shot to Shoot just to screw with our heads...


They do that every other patch it seems (slight exaggeration)... can't decide what they want to name it I guess. For my scout scripts for DIYCE I automatically check which one is listed in my skills array and use the listed one. That way they can change it back and forth as many times as they like without my having to edit my scripts to deal with it.
[img][/img]


-- Almost all human knowledge is built upon earlier foundations of more basic knowledge. If you are having trouble, go back two steps and work on something more basic. This can provide insights that will help you with whatever you were having trouble with.


-- Want to learn how to use the Do-it-yourself Combat Engine system (DIYCE)? A good place to start might be RIGHT HERE.

1,734

Sunday, September 4th 2011, 8:56pm

Correct... I mean s/d. I think I was playing on Druid when I wrote the post :o

In any case, I certainly have the skill and I believe it is spelled the same way, unless there is something behind the scenes that I don't know about. here is a screeny:



1,735

Monday, September 5th 2011, 9:48am

w/wd dyice improvements

in the following dyice for w/wd , warrior bleed is called by bufflistid (see end of post) , macro flows fine however , recognition of the bleed debuff takes too long.

here is my dyice :

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
function Wcomb(arg1)
   local Skill = {}
   local i = 0
   
   --vital signs
   local plife = PctH("player")
   local pBuffs = BuffList("player")
   local power = UnitMana("player")
   local pMana = PctS("player")
   
   --mob status
   local friendly = (not UnitCanAttack("player","target"))
   local boss = (UnitSex("target")>2)
   local tbuffs = BuffListID("target")
   local tbleed = (string.find(tbuffs,500081))
   local tBuffsb = BuffList("target")
   
   --Health monitor

     i=i+1; Skill[i] = { name = "Survival Instinct",    use = ((plife <= .40) and (boss)) }     
  
  
  --Rage monitor
  
  --Buffs
   i=i+1; Skill[i] = { name = "Battle Creed",      use = (not string.find(pBuffs,"Battle Creed")) }
   i=i+1; Skill[i] = { name = "Briar Shield",      use = (not string.find(pBuffs,"Briar Shield")) }
  

  --combat
   
   i=i+1; Skill[i] = { name = "Savage Whirlwind",            use = (not friendly) }
   i=i+1; Skill[i] = { name = "Tactical Attack",             use = ((tbleed) and (power >= 16)) }
   i=i+1; Skill[i] = { name = "Attack Weakener",             use = ((not friendly) and (string.find(tBuffsb,"Vulnerable")))   }
   i=i+1; Skill[i] = { name = "Open Flank",                  use = ((not friendly) and (string.find(tBuffsb,"Vulnerable")) and (power >=11))   }

   i=i+1; Skill[i] = { name = "Probing Attack",              use = ((not friendly) and (power >= 21) and (tbleed)) }   --and (not CD("Tactical Attack"))

   i=i+1; Skill[i] = { name = "Slash",                       use = ((not friendly) and (power >= 27)) }

   i=i+1; Skill[i] = { name = "Enraged",                     use = ((power < 25) and (boss)) }
   i=i+1; Skill[i] = { name = "Power of the Wood Spirit",    use = (not friendly) }
   i=i+1; Skill[i] = { name = "Attack",                      use = (not friendly) }

   MyCombat(Skill,arg1)
end
the issue is this , after whirlwind is use and slash , if i press slightly too fast slash is cast again instead of TA.

is that normal ? i play with an average of 120 ms (funny thing is lag is very minimal ) is my connection speed the limiting factor ? or there are ways to optimize my function ?


i havent looked back on the US forum in a while so i m a bit behind with the dyice community updates. any links to specific posts to help me improve are greatly greatly appreciated.

here is my dyice.lua file
(in bold the bufflistid function , sixpak posted a year ag on the EU forum, bottom end of the code )

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
-- DIY Combat Engine version 1.4

g_skill = {}

function Msg(outstr,a1,a2,a3)
    DEFAULT_CHAT_FRAME:AddMessage(tostring(outstr),a1,a2,a3)
    --SendChatMessage(tostring(outstr), "CHANNEL", 0, 3)
end

function ReadSkills()
    g_skill = {}
    local skillname,slot

    Msg("- Reading Class Skills")
    for page = 1,4 do
        slot = 1
        skillname = GetSkillDetail(page,slot)
        repeat
            local a1,a2,a3,a4,a5,a6,a7,a8,skillusable = GetSkillDetail(page,slot)
            if skillusable then
                g_skill[skillname] = { ['page'] = page, ['slot'] = slot }
            end
            slot = slot + 1
            skillname = GetSkillDetail(page,slot)
        until skillname == nil
    end
end
ReadSkills() -- Read skills into g_skill table at login

function PctH(tgt)
    return (UnitHealth(tgt)/UnitMaxHealth(tgt))
end

function PctM(tgt)
    return (UnitMana(tgt)/UnitMaxMana(tgt))
end

function PctS(tgt)
    return (UnitSkill(tgt)/UnitMaxSkill(tgt))
end

function CancelBuff(buffname)
    local i = 1
    local buff = UnitBuff("player",i)

    while buff ~= nil do
        if buff == buffname then
            CancelPlayerBuff(i)
            return true
        end

        i = i + 1
        buff = UnitBuff("player",i)
    end
    return false
end

function BuffTimeLeft(tgt, buffname)
    local cnt = 1
    local buffcmd, bufftimecmd, buff

    if UnitCanAttack("player", tgt) then
        buffcmd = UnitDebuff
        bufftimecmd = UnitDebuffLeftTime
    else
        buffcmd = UnitBuff
        bufftimecmd = UnitBuffLeftTime
    end

    buff = buffcmd(tgt, cnt)

    while buff ~= nil do
        if string.find(buff, buffname) then
            return bufftimecmd(tgt, cnt)
        end
        cnt = cnt + 1
        buff = buffcmd(tgt, cnt)
    end

    return 0
end

function ChkBuff(tgt,buffname)
    local cnt = 1
    local buffcmd = UnitBuff

    if UnitCanAttack("player",tgt) then
        buffcmd = UnitDebuff
    end
    local buff = buffcmd(tgt,cnt)

    while buff ~= nil do
        if string.gsub(buff, "(%()(.)(%))", "%2") == buffname then
            return true
        end
        cnt = cnt + 1
        buff = buffcmd(tgt,cnt)
    end
    return false
end

function BuffList(tgt)
    local cnt = 1
    local buffcmd = UnitBuff
    local buffstr = "/"

    if UnitCanAttack("player",tgt) then
        buffcmd = UnitDebuff
    end
    local buff = buffcmd(tgt,cnt)

    while buff ~= nil do
        buffstr = buffstr..buff.."/"
        cnt = cnt + 1
        buff = buffcmd(tgt,cnt)
    end

    return string.gsub(buffstr, "(%()(.)(%))", "%2")
end

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)
        return cd<0.5
    elseif skillname == nil then
        return false
    else
        Msg("Skill not available: "..skillname)
        return false
    end
end

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
        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)
                    return true
                end
            elseif string.find(Skill[x].name, "Custom:") then
                action = string.gsub(Skill[x].name, "(Custom:)( *)(.*)", "%3")
                if CustomAction(action) then
                    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)
                return true
            elseif CD(Skill[x].name) then
                if talktome then Msg("- "..Skill[x].name) end
                CastSpellByName(Skill[x].name)
                return true
            end
        end
    end
    if (arg1 == "v2") then Msg("- [IDLE]", 0, 1, 1) end

    return false
end

[B]function BuffListID(tgt)
    local cnt = 1
    local buffcmd = UnitBuff
    local buffstr = "/"
 
    if UnitCanAttack("player",tgt) then
        buffcmd = UnitDebuff
    end
    local buff, icon, count, ID = buffcmd(tgt,cnt)
 
    while buff ~= nil do
        buffstr = buffstr..buff.."/"..ID.."/"
        cnt = cnt + 1
        buff, icon, count, ID  = buffcmd(tgt,cnt)
    end
[/B] 
    return string.gsub(buffstr, "(%()(.)(%))", "%2")
end

function CustomAction(action)
    if CD(action) then
        if IsShiftKeyDown() then Msg("- "..action) end
        g_lastaction = action
        CastSpellByName(action)
        return true
    else
        return false
    end
end


ALL help is greatly appreciated and thank you in advance

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

1,736

Monday, September 5th 2011, 12:03pm

Well I don't know if this will solve the problem itself, the code you posted does waste a fair bit of time building the buff lists. It builds two of them, though only one would in fact be needed.

However, I posted a (in my opinion) better version of the BuffList function, but it does change how you use it in the DIYCE function (that was one of the points since string searches can be slow).

Anyway, see my post here for the basics behind this version and how it is used (http://forum.us.runesofmagic.com/showthr…9471#post449471)

Also see this post where I updated the function to include spell IDs (the original post is updated as well, but this one has a macro for getting spell IDs). See here (http://forum.us.runesofmagic.com/showthread.php?p=452232#post452232)
2013... The year from hell....

1,737

Tuesday, September 6th 2011, 4:15am

Item Set Skills

I'm having trouble adding item set skills to my DIYCE
It tells me that the skill does not exist and as a result, my whole, "General" tab gets spammed with errors saying it doesn't exist.
Do they work in DIYCE? is there a special way of including these skills?
Server: Palenque
Character: Mrchucknorris
Class: K/S/W

Drake1132

Beginner

Posts: 11

Location: Wait a minute... you mean I'm *not* a figment of your imagination?

  • Send private message

1,738

Tuesday, September 6th 2011, 6:01am

@Stagg3r:

I can't see any reason why your script would be failing to recognize Combo Shot. All I can suggest is delete the entire Combo Shot line from your DIYCE script, then re-insert it by hand from scratch. Maybe there's a weird character that looks right but isn't right or something *shrugs*.


@snowrida:

As far as I know, the only way to use Set Skills currently is to set them on an actionbar slot and use them with a skillname of "Action: # (notes)" where # is the actionbar slot id number where you place the skill and the notes are optional. Peryl or ghostwolf or someone might know differently, but until they give another method (if there is another method), using "Action: #" should work fine.
[img][/img]


-- Almost all human knowledge is built upon earlier foundations of more basic knowledge. If you are having trouble, go back two steps and work on something more basic. This can provide insights that will help you with whatever you were having trouble with.


-- Want to learn how to use the Do-it-yourself Combat Engine system (DIYCE)? A good place to start might be RIGHT HERE.

1,739

Tuesday, September 6th 2011, 1:31pm

another noob question :P

whats is the actual difference between :

Source code

1
   i=i+1; Skill[i] = { name = "Savage Whirlwind",            use = (not friendly) }


and

Source code

1
   i=i+1; Skill[i] = { name = "Savage Whirlwind",            use = ((not friendly) and CD("Savage Whirlwind"))

how will it change my code execution.
i got 0 programming knoweldge, but i thought that for a skill to be used it needed to have cool downed, and that dyice took care of it on its own .

i dont understand whats the gain of adding cd(skill) as a condition to use that same skill

please explain :P

PS : ty peryl will be making necessary changes and getting back to u in this thread or by pm

1,740

Tuesday, September 6th 2011, 1:40pm

i m planning to dyice a auto poting dyice just for my phyrius pots.

anyone know if phyrius pots can be used by name , or do they need to be sloted to actionbas and used from there ( like set skills).

i play using a gaming mouse and i plan to put the auto poter on 1 of the keys .

the idea would be to have only 1 macro for poting on my action bars which will use the appropriate pot depending on the parameters i ahave set up .

ex : if Hp <80% and and MP<20% -->use xx or zzz
if only hp <70% use xxx

Anything special i need to know about this topic before i try coding for it ?