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.

681

Monday, July 2nd 2012, 6:53am

Can anyone show me the DIYCE for M/D

682

Monday, July 2nd 2012, 9:34am

Quoted from "Alterios;542645"

What editor do you use? Notepad++ is free and has good syntax highlighting if you are new to DIYCE. The timers in his file are to keep him from spamming shot during the Exploiting Shot debuff.


I use standard notepad in windows, but I will try Notepad++.

Thak you very much for script. :)

683

Tuesday, July 3rd 2012, 5:11am

Quoted from "aglupus;542711"

Can anyone show me the DIYCE for M/D

If you look through the thread you will find an example. There is no one script for that class, you can mold it to fit your needs. The CustomFunctions.lua code I posted on the last page will work as a shell; you just have to fill in the class sections. I would rather help you build one than give a canned one since you can learn as we go.

684

Tuesday, July 3rd 2012, 10:54pm

R/S Timers

Hey all!
I got this rotation and code from Mrmisterwaa here at the forum. I use the same but without the timers.
I would like an explaination of what the timers improve and what they are good for when playing a R/S. I would also appreciate a explaination of the melee section that goes:

Source code

1
2
3
4
5
6
7
8
{ name = "Wound Attack",                       use = ((EnergyBar1 >= 35) and ((tbuffs[500654]) and (tbuffs[500704]))) },
                { name = "Blind Spot",                         use = (((EnergyBar1 >= 25) and (boss) and (behind)) and (pbuffs['Energy Thief'] or pbuffs['Premeditation'])) },
                { name = "Shadowstab",                         use = (EnergyBar1 >= 20),       timer = "SSBleed" },
                { name = "Low Blow",                           use = (((EnergyBar1 >= 25) and (tbuffs[500654])) or (tbuffs['Energy Thief'])),      timer = "LBBleed",   ignoretimer = not tbuffs['Energy Thief'] },
                { name = "Throat Attack",                      use = ((EnergyBar2 >= 50) and (boss or elite) and (silenceThis)) },
                { name = "Vampire Arrows",                     use = (EnergyBar2 >= 20) },
                { name = "Wrist Attack",                       use = ((EnergyBar2 >= 50) and (boss)) },
                { name = "Shot",                               use = ((EnergyBar1 < 20 )) },

Also forgot to mention, about Blind Spot, had some issues with it before when I'm for example farming mems in DoD and soloing bosses. I get error message "Must be behind target". Any idea of how I can fix this with a timer aswell. Once again would be really handy and appreciated.
This is the full rotation list from buffs to range attack.

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
-- Class: Rogue/Scout
            if mainClass == "THIEF" and subClass == "RANGER" then
            --Timers for this class
            CreateDIYCETimer("SSBleed", 6.5) --Change the value between 6 -> 7.5 depending on your lag.
            CreateDIYCETimer("LBBleed", 8.5) --Change the value between 7 ->  8.5 depending on your lag.
            --goat2: 0 = Buffs, 1 = Melee, 2 = Ranged, 3 = Cooldowns & Potions, 4 = Longer Cooldowns
            
            if (goat2 == "0") then
            Skill =  {
                { name = "Combat Master",                      use = ((not pbuffs['Combat Master'])) },
                { name = "Action: 62 (Yawaka's Blessing)",     use = ((not pbuffs['Yawaka's Blessing'])) },
                { name = "Action: 69 (Unbridled Enthusiam)",   use = ((not pbuffs['Unbridled Enthusiasm'])) }, -- Speed Potion
                     }
            elseif (goat2 == "3") then
            Skill =  {
               { name = "Informer",                            use = ((not pbuffs['Informer'])) },
               { name = "Action: 64 (Unknown Choice)",         use = ((EnergyBar1 > 20)) },
               { name = "Action: 65 (Caviar Sandwich)",        use = ((not pbuffs['Caviar Sandwich'])) },
                     }
            elseif (goat2 == "4") then
            Skill = {
                { name = "Action: 46 (Energy Potion)",         use = ((EnergyBar1) <= 15 and (boss)) },
                { name = "Action: 30 (Strong Stimulant)",      use = ((boss) and (not pbuffs['Fervent Attack'])) },
                { name = "Action: 34 (Extinction Potion)",     use = ((boss) and (not pbuffs['Extinction Potion'])) },
                { name = "Energy Thief",                       use = ((EnergyBar1 < 50) and (boss) and (not tDead)) },
                { name = "Assassins Rage",                     use = ((boss) and (not tDead)) },
                { name = "Fervent Attack",                     use = ((boss) and (not tDead) and (not pbuffs['Strong Stimulant'])) },
                    }
            end

            if ((enemy) and (goat2 == "1")) then
            Skill2 = {
                { name = "Wound Attack",                       use = ((EnergyBar1 >= 35) and ((tbuffs[500654]) and (tbuffs[500704]))) },
                { name = "Blind Spot",                         use = (((EnergyBar1 >= 25) and (boss) and (behind)) and (pbuffs['Energy Thief'] or pbuffs['Premeditation'])) },
                { name = "Shadowstab",                         use = (EnergyBar1 >= 20),       timer = "SSBleed" },
                { name = "Low Blow",                           use = (((EnergyBar1 >= 25) and (tbuffs[500654])) or (tbuffs['Energy Thief'])),      timer = "LBBleed",   ignoretimer = not tbuffs['Energy Thief'] },
                { name = "Throat Attack",                      use = ((EnergyBar2 >= 50) and (boss or elite) and (silenceThis)) },
                { name = "Vampire Arrows",                     use = (EnergyBar2 >= 20) },
                { name = "Wrist Attack",                       use = ((EnergyBar2 >= 50) and (boss)) },
                { name = "Shot",                               use = ((EnergyBar1 < 20 )) },
                    }
            elseif ((enemy) and (goat2 == "2")) then
            Skill2 = {
                { name = "Vampire Arrows",                     use = (EnergyBar2 >= 20) },
                { name = "Shot",                               use = (true) },
                     }
            end


Thanks in advance,
Sincerely - B

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

685

Wednesday, July 4th 2012, 12:43am

Quoted from "BloodyArrow;543120"

Hey all!
I got this rotation and code from Mrmisterwaa here at the forum. I use the same but without the timers.
I would like an explaination of what the timers improve and what they are good for when playing a R/S.

As I've never played a rogue, I can't comment on the skill rotations themselves so I'll let someone else cover that.

As for the timers, they implement an extra cooldown for skills. The reason you want this is that some skills work better if they are not spammed due to how they work. A good example of this is Low Blow. Low Blow can put the Energy Thief debuff on your target, while this debuff is up, it is better not to spam Low Blow itself. However, in order to get the debuff on the mob, you do in fact want to spam the skill. So that line is setup so that if the debuff is on the target, an extra timer is active to slow down the use of Low Blow while if the mob doesn't have the debuff, the extra timer gets ignored allowing you to spam the skill (normal skill cooldowns are still in effect).

The timers are also used in mrmisterwaa's skill rotation to manage bleeds etc.

Quoted from "BloodyArrow;543120"

Also forgot to mention, about Blind Spot, had some issues with it before when I'm for example farming mems in DoD and soloing bosses. I get error message "Must be behind target". Any idea of how I can fix this with a timer aswell. Once again would be really handy and appreciated.

That is normal since the skill itself requires you to be behind the target (see here).
2013... The year from hell....

686

Wednesday, July 4th 2012, 3:31am

Alright I have created the timers in my code, but it does not work at all, the DiYCE button does not respond at all.
Here is a piece of my code where I inserted the timers.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--Class: Rogue/Scout
            elseif mainClass == "THIEF" and subClass == "RANGER" then
            --Timers for this class
            CreateDIYCETimer("SSBleed", 7.5) --Change the value between 6 -> 7.5 depending on your lag.
            CreateDIYCETimer("LBBleed", 8.5) --Change the value between 7 ->  8.5 depending on your lag.
                    
            --Combat
                if ((enemy) and (goat2 == "1")) then
                --if enemy then
                Skill2 = {
                    --{ name = "Energy Thief",                        use = (boss) and (not pbuffs['Energy Thief']) },
                    --{ name = "Premeditation",                      use = (EnergyBar1 >= 20) and (not pbuffs[500961]) and (not combat) and (boss) },
                    --{ name = "Shadow Step",                        use = (EnergyBar1 >= 20) and (not behind) and (boss or pvp) },
                    --{ name = "Blind Spot",                         use = (EnergyBar1 >= 25) and (behind) and (boss) and (not presshift) },
                    
                    { name = "Wound Attack",                       use = ((EnergyBar1 >= 35) and ((tbuffs[500654]) and (tbuffs[500704]))) },
                    { name = "Low Blow",                           use = (((EnergyBar1 >= 30) and (tbuffs[500654])) or (tbuffs['Energy Thief'])), timer = "LBBleed",   ignoretimer = not tbuffs['Energy Thief'] },
                    { name = "Shadowstab",                         use = (EnergyBar1 >= 20), timer = "SSBleed" },
                    { name = "Throat Attack",                      use = (EnergyBar2 >= 15) and (boss or elite) and (silenceThis) },
                    { name = "Vampire Arrows",                        use = (EnergyBar2 >= 20) },
                    { name = "Shot",                               use = true },


What am I doing wrong, is it maybe the order of the skills or?
And also at the timers, it says as comment, "Change the value between 6 -> 7.5 depending on your lag" and "Change the value between 7 -> 8.5 depending on your lag". How can I know what value to write because I dont know what kind of lag I have?
/ H

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

687

Wednesday, July 4th 2012, 4:41am

If it isn't triggering at all, chances are there is some kind of mistake in the code you added. This can often occur with missing or extra parenthesis or braces. Looking at the code section you posted, I don't see anything glaring, but go over it carefully.

As for finding the value to use, trial and error is really the only solution. If you don't normally experience lag issues while playing, try a lower value. If some skills start to not work as they were, bump it back up.
2013... The year from hell....

688

Thursday, July 5th 2012, 2:07am

Working fine now, the problem was that I had a old DIYCE.lua file without the timers implemented.
Also tried out the timers and the same values as Mrmisterwaa have. My character kills mobs some slower but keeping an eye on the energy consumption. But at bosses it does good dps.

Just need a explaination of:

Source code

1
timer = "LBBleed",   ignoretimer = not tbuffs['Energy Thief'] }, 

And what type is the values written in, is it milliseconds or seconds or something else?
Also the value intervall at those timers is for SSBleed, 6 -> 7.5 and LBBleed 7 -> 8.5. Why just those numbers, does it work to have higher or lower values than those? How do they work?

/H

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

689

Thursday, July 5th 2012, 5:50am

Quoted from "BloodyArrow;543411"

Just need a explaination of:

Source code

1
timer = "LBBleed",   ignoretimer = not tbuffs['Energy Thief'] }, 


timer = "LBBleed" tells DIYCE that for this skill you want DIYCE to take into account the timer called LBBleed (which was created previously).

ignoretimer = not tbuffs['Energy Thief'] tells DIYCE to ignore this extra timer if the target does not have the Energy Thief debuff.

Quoted from "BloodyArrow;543411"

And what type is the values written in, is it milliseconds or seconds or something else?
Also the value intervall at those timers is for SSBleed, 6 -> 7.5 and LBBleed 7 -> 8.5. Why just those numbers, does it work to have higher or lower values than those? How do they work?

Times are in seconds. As for the interval suggested, you would need to ask mrmisterwaa why he selected those values. Lower and higher values should still work though if you use a value that is less than the actual skill cooldown you won't see an effect.
2013... The year from hell....

690

Saturday, July 7th 2012, 1:24am

Great thanks a lot for explaining Peryl, really appreciate it! :)

691

Tuesday, July 17th 2012, 1:55pm

Hey all!
When playing in Siege Wars or Arena I use "Tab" to select next enemy and so on. But when I do that I often get the pets in target from other players. Is there any way to avoid this and just use your DIYCE macro button ingame?
So in other words, a piece of code that drops target if its a pet from a player, just want to target other players.
Hope someone can help me out there. :)
Sincerely ~ B

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

692

Tuesday, July 17th 2012, 2:11pm

This has been asked and answered quite a few times now. Do a thread search for "target only players" or "target non-pets". Use the advanced search and make sure the the show results as posts check box is turned on. Limit the search to this thread or at lest the add-ons and macros section.
2013... The year from hell....

trav42073

Professional

Posts: 806

Location: Arizona

Occupation: welder/fabricator/antagonist

  • Send private message

693

Tuesday, July 17th 2012, 3:37pm

will this stop random target switch. lot of times ill tab, get pet, tab get player, then my target switches back to thier pet.
95r/62m/63s/ Soultwist.
Ryaderr wrd/s/w erobos

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

694

Tuesday, July 17th 2012, 4:47pm

Quoted from "trav42073;546117"

will this stop random target switch. lot of times ill tab, get pet, tab get player, then my target switches back to thier pet.

Though it sounds like you have to different pieces of code fighting over the targeting, it depends on the solution you decide to go for.

One solution is to modify DIYCE so that it targets only players and/or non-pets when in PvP, so there wouldn't be any Tab targeting anyway, hence Tab targeting is unaffected (this could be the random target switch problem you are having if your DIYCE already has one of these changes)

Another solution is to use one or both of the macros posted here (it's at the end of the first post). Doing as I suggested in that post would override the Tab key itself and therefore affects Tab targeting, but would not affect DIYCE's re-targeting code.

You could do both of the above of course, or expand the macro to check for PvP status, or any number of variations of these and other solutions posted.
2013... The year from hell....

trav42073

Professional

Posts: 806

Location: Arizona

Occupation: welder/fabricator/antagonist

  • Send private message

695

Tuesday, July 17th 2012, 7:17pm

i quit using diyce. i can faceroll faster8) so i dont have any macro/diyce installed to cause this how u describe. only does in siege. open pvp doesnt happen. thnx nehow.
95r/62m/63s/ Soultwist.
Ryaderr wrd/s/w erobos

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

696

Tuesday, July 17th 2012, 7:21pm

Well then, you can still try the macro. It doesn't need or care about DIYCE.
2013... The year from hell....

697

Wednesday, July 18th 2012, 2:51am

I searched for the non-target pets and so on for a longer time today. I found frafalls post most easy to understand. But when I copied some of her/his code into my, but DIYCE does not react at all. Put the following into my code:

Source code

1
2
3
4
5
6
7
8
9
10
    local pvp = (zoneid == 402)
    local zoneid = (GetZoneID() % 1000)
    -- Only target players in pvp, no pets
            if pvp then
                for i=1,10 do
                    if UnitIsPlayer("target") then
                        break
                    end
                    TargetNearestEnemy()
                end

What am I missing or doing wrong here, really want this since I play Siege Wars and PvP alot.
Thanks in advance.

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

698

Wednesday, July 18th 2012, 3:10am

First, make sure the line that retrieves the zone ID comes first, otherwise that first line will always be false.

Also, there appears to be a missing end statement (though it might be an else, and possibly missing a bit of code too). I'm assuming that you simply didn't copy that part otherwise the code would not compile.

Note that the code will only select players if you are in the siege zone, and this is for DIYCE's re-targeting after a kill. It doesn't change the behaviour of the Tab key.
2013... The year from hell....

699

Wednesday, July 18th 2012, 3:49am

I did all you mentioned above. Current code looks like this:

Source code

1
2
3
4
5
6
7
8
9
10
local zoneid = (GetZoneID() % 1000)
local pvp = (zoneid == 402)
-- Only target players in pvp, no pets
            if pvp then
                for i=1,10 do
                    if UnitIsPlayer("target") then
                        break
                    end
                    TargetNearestEnemy()
                end

I put the two locals in the Player and Target status and the if part below "--Select next enemy". Does the place of the code really mater or, because same thing again, my DIYCE does not react at all when I insert the code mentioned above.
Question: Can I make this work for both PvP (Arena) and Siege Wars?

700

Wednesday, July 18th 2012, 3:50am

Quoted from "Peryl;546480"

Note that the code will only select players if you are in the siege zone, and this is for DIYCE's re-targeting after a kill. It doesn't change the behaviour of the Tab key.


The issue I have been having is that I have found out that there are multiple zone IDs for siege. I have been working from 5am to 8:30 pm 7 days a week for the last few weeks so I have not had the energy to root the issue out. I still think the code in the addon "GuildSiegeQuickTrade" holds the answer. I will look into it when I get a minute after the 1st of August.

The reason it doesn't work in PVE is that the IF statement looks for Siege and if you are not in it the code does nothing.