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.

721

Tuesday, August 7th 2012, 6:04pm

Oh, sorry, you are right: Sixpax is the developer, Ghostwolf did DIYCE 2 and mrmisterwaa modified a version.
So thank you for your help anyway^^

"Fire Spirit Pride II" and "Wind Spirit Pride II" are pbuffs.
I have changed the logic from "or" to "and".
Thanx for your advice to get the buff IDs. "Fire Spirit Pride" = [621507] and "Wind Spirit Pride II" = [621508], but I dont know exactly how to involve the two stacks?
In this way -> pbuffs [621507 II] and [621508 II]? This looks wrong somehow^^

Thank you so far.
biLL
Rogue/Scout/Priest 72/72/56 - Rogue/Warden/Scout 55/55/60
Mage/Druid/Rogue 72/70/58 - Rogue/Warlock/Mage 60/72/62

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

722

Tuesday, August 7th 2012, 6:54pm

You have the ID, so as I said, use those numbers directly. Each spell, skill, buff and debuff have a unique ID, so as long as the buffs you were looking at are the ones you want, you would use pbuffs[621507] and pbuffs[621508].
2013... The year from hell....

723

Tuesday, August 7th 2012, 7:55pm

Quoted from "Peryl;563375"

You have the ID, so as I said, use those numbers directly. Each spell, skill, buff and debuff have a unique ID, so as long as the buffs you were looking at are the ones you want, you would use pbuffs[621507] and pbuffs[621508].


Thanks for your quick answers.
I do understand that, but I don't know how to involve the ID-buffs with two stacks.

Source code

1
2
3
{ name = "Plasma Arrow",               use = (not pbuffs['Charged']) },
{ name = "Electric Explosion",         use = ((pbuffs['Charged']) and (not pbuffs['621507'])) },
{ name = "Flame",                      use = (pbuffs['621507']) and (not pbuffs['621508']))},


The ID-numbers are the same for only one stack or two stacks, but I want to cast "Flame" when 2 stacks of "Fire Spirit Pride" are on and want to cast "Electric Explosion" when 2 stacks of "Wind Spirit Pride" are on.

Look here:


Here you can see the buff-ID-numbers from "Wind Spirit Pride", for stack one and stack two there is only one number, in this case -> [621508]

Thank you so far
BillTscherno has attached the following images:
  • Buff Wind Spirit Pride 1..jpg
  • Buff Wind Spirit Pride 2..jpg
Rogue/Scout/Priest 72/72/56 - Rogue/Warden/Scout 55/55/60
Mage/Druid/Rogue 72/70/58 - Rogue/Warlock/Mage 60/72/62

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

724

Tuesday, August 7th 2012, 8:29pm

Ahhh... you want the stack size. Easily done. Each entry in pbuffs is actually a table with extra information. There are three entries. stack, time and either name (when using the IDs only) or id when using the name version.

To do it right however, you do need to check if the buff actually exists first (otherwise a Lua error might occur).

So to cast Flame when you have a stack of two or more Fire Spirit Pride, you would do:

Source code

1
{ name = "Flame",  use = (pbuffs[621507] and pbuffs[621507].stack >= 2) },

Note that in the above I didn't check for the Wind Pride Spirit buff, I didn't want to have the thing too confusing.
2013... The year from hell....

725

Tuesday, August 7th 2012, 9:36pm

This is great, thank you very, very much.
That's the point I was looking for.

Gruesse
biLL
Rogue/Scout/Priest 72/72/56 - Rogue/Warden/Scout 55/55/60
Mage/Druid/Rogue 72/70/58 - Rogue/Warlock/Mage 60/72/62

726

Wednesday, August 8th 2012, 1:15pm

Hello again,

unfortunately it doesn't work, I have no idea.
Maybe the sequence isn't the best, maybe the buffqueries are to complex.
It seems that the ".stack >= 2" query doesn't work

[621507] = "Fire Spirit Pride"
[621508] = "Wind Spirit Pride"

Source code

1
2
3
4
{ name = "Fire Lightning Burst",    use = (EnergyBar2 >= 35) },
{ name = "Plasma Arrow",            use = (not pbuffs['Charged']) },
{ name = "Electric Explosion",      use = ((pbuffs['Charged']) and (not pbuffs['621507']) and (not pbuffs['621507'].stack >= 2) and (pbuffs['621508']) and (pbuffs['621508'].stack >= 2)) },
{ name = "Flame",                   use = ((pbuffs['621507']) and (pbuffs['621507'].stack >= 2) and (not pbuffs['621508']) and (not pbuffs['621508'].stack >= 2)) },


Thanks so far
biLL
Rogue/Scout/Priest 72/72/56 - Rogue/Warden/Scout 55/55/60
Mage/Druid/Rogue 72/70/58 - Rogue/Warlock/Mage 60/72/62

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

727

Wednesday, August 8th 2012, 4:35pm

Quoted from "BillTscherno;563547"

Hello again,

unfortunately it doesn't work, I have no idea.
Maybe the sequence isn't the best, maybe the buffqueries are to complex.
It seems that the ".stack >= 2" query doesn't work

[621507] = "Fire Spirit Pride"
[621508] = "Wind Spirit Pride"

Source code

1
2
3
4
{ name = "Fire Lightning Burst",    use = (EnergyBar2 >= 35) },
{ name = "Plasma Arrow",            use = (not pbuffs['Charged']) },
{ name = "Electric Explosion",      use = ((pbuffs['Charged']) and (not pbuffs['621507']) and (not pbuffs['621507'].stack >= 2) and (pbuffs['621508']) and (pbuffs['621508'].stack >= 2)) },
{ name = "Flame",                   use = ((pbuffs['621507']) and (pbuffs['621507'].stack >= 2) and (not pbuffs['621508']) and (not pbuffs['621508'].stack >= 2)) },


Thanks so far
biLL

There are three problems that I see with this. First, as I mentioned, when using IDs do not put the ID in quotes. It is a number not a string. Second, before you can access the ".stack" part of an entry, you must ensure the entry exists or a Lua error will occur, and finally the logic is a little flawed (see this guide for correct Lua logic operator usage).

So the logic for Electric Explosion and Flame would become:

Source code

1
2
{ name = "Electric Explosion",      use = (pbuffs['Charged'] and (not pbuffs[621507] or (pbuffs[621507] and pbuffs[621507].stack >= 2) and (pbuffs[621508] and pbuffs[621508].stack < 2)) },
{ name = "Flame",                   use = (pbuffs[621507] and pbuffs[621507].stack >= 2) and (not pbuffs[621508] or (pbuffs[621508] and pbuffs[621508].stack < 2)) },
2013... The year from hell....

728

Friday, August 10th 2012, 6:52pm

Hi Peryl,

thanks a lot for your input and your code.
After changing a few brackets it works great.
Unfortunately not flawless, but when one of these buffs are not on,
I set them by hand.

Thank you very much
biLL
Rogue/Scout/Priest 72/72/56 - Rogue/Warden/Scout 55/55/60
Mage/Druid/Rogue 72/70/58 - Rogue/Warlock/Mage 60/72/62

729

Tuesday, August 14th 2012, 12:58pm

Silly question, I have a Druid/Warden/Rogue and I was wondering if this would work for my toon. I have skimmed over a lot of the comments on this thread and have not seen any specific build for a druid. I would like something to use during siege or mem farming.

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

730

Tuesday, August 14th 2012, 10:37pm

Quoted from "engelixe;564469"

Silly question, I have a Druid/Warden/Rogue and I was wondering if this would work for my toon. I have skimmed over a lot of the comments on this thread and have not seen any specific build for a druid. I would like something to use during siege or mem farming.

DIYCE is designed so that you add/modify the rotation(s) that you want. If someone posted their skill list, that's great and usually a good starting point, but not necessarily optimal for your style of play.

Further, as DIYCE has undergone several variations and modifications, any list you do find may or may not work out-of-the-box.

So if you do come up with a good rotation, by all means share with others.
2013... The year from hell....

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

731

Tuesday, August 14th 2012, 10:47pm

moving a conversation from the DIYCE 1 thread to here since it is more appropriate

Quoted from "williamdanayoung;564584"

ok i moved it to the addon folder and changed the name to () i think im ready to use it, do i need to add some attack info?if so ware can i download that and ware do i put it? thanks for your time.

You may still need to set the health and mana potion action bar slots as well as the action bar slot that has a melee range attack action on it.

Please carefully re-read the entire first post of this thread as it details what you need to get DIYCE 2 to work.
2013... The year from hell....

732

Wednesday, August 15th 2012, 12:23pm

i dont understand what im trying to read, im not sure if i need anythign and if i did,ware i would put it,
im 14 years old, lol after i get a attack one, i should be able to make the buff and pot one,im hopeing

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

733

Wednesday, August 15th 2012, 10:51pm

Quoted from "williamdanayoung;564677"

i dont understand what im trying to read, im not sure if i need anythign and if i did,ware i would put it,
im 14 years old, lol after i get a attack one, i should be able to make the buff and pot one,im hopeing

Being 14 isn't a crime, it just means you get to discover lots of stuff if you make the effort to learn.

Okay, first things first. What is the class combo you are using this for. If your class combo isn't one that DIYCE comes with (and that is most of them, to be honest), you'll need to either find someone's skill rotation or make your own (the D-I-Y in DIYCE does stand for Do It Yourself after all).

So assuming that your class combo is present, then the basic macro for calling DIYCE is

Source code

1
/run KillSequence()

This will execute DIYCE and select a skill to use, if possible, from the skill list defined in that function.

The KillSequence function also accepts several debugging options as its first parameter. If you set this first parameter to "v1" or "v2", DIYCE will spit out some messages in the chat window telling you what it is attempting to do ("v2" gives more debugging messages than "v1"). Here's an example of using the "v1" debugging option:

Source code

1
/run KillSequence("v1")

Setting the first parameter to "debugskills" will make DIYCE show you the skill list tables that it will use, as DIYCE sees them. Use "debugpbuffs" to see the list of player buffs and use "debugtbuffs" to view the target debuffs. These last two can be useful for getting buff IDs.

Finally you can set the first parameter to "debugall" to view all of the above (skills, player buffs and target debuffs). As an example of using this, the macro to call DIYCE would be:

Source code

1
/run KillSequence("debugall")



Now for the health, mana, and food slots.

If you want DIYCE to check for and use a health pot, mana pot, or a some food, first you place the desired pot onto an empty action bar slot. Then add an entry into the skill list in order to use one of these (you can see an example of these entries in the Warrior/Mage skill list already defined in the default DIYCE). So if your skill rotation doesn't have these entries, you can copy the appropriate lines.

Ones the skill list has these entries, you need to figure out what action bar slot those pots/food are on. The action bar slots are numbered from left to right, top to bottom as follows:

  • Main action bar -- 1 to 20
    [indent]This is the bottom most bar in the default UI configuration[/indent]
  • Upper action bar -- 21 to 40
    [indent]This is the horizontal bar that is normally just above the main action bar[/indent]
  • Right action bar -- 41 to 60
    [indent]This is the vertical bar that is on the rightmost side of the screen (off by default)[/indent]
  • Left action bar -- 61 to 80
    [indent]This is the vertical bar that is to the immediate left of the right action bar (off by default)[/indent]


Once you know which slot numbers to use, you can then change the macro to use those slots by giving them as the second, third and forth parameters to the KillSequence function. The health pot slot is the second parameter, the mana pot is the third parameter and the food slot is the forth parameter. For example, if your health pot was in slot 12, your mana pot in slot 23 and your food slot was 54, then your macro would become:

Source code

1
/run KillSequence("", 12, 23, 54)

Note how the first parameter is an empty string. This is because you normally don't want the debugging information (which as explained above, is what the first parameter is for). If you did want the debug info, you can still change that first parameter to the appropriate option you want.
2013... The year from hell....

734

Sunday, August 19th 2012, 2:53pm

Anyone got fully working s/r diyce to share?

735

Sunday, August 19th 2012, 11:45pm

Quoted from "Chibbo;565337"

Anyone got fully working s/r diyce to share?


Nope, but you can make one.

I've been working on my own, but I don't play s/r :( All the tools are in this thread to make your own.

Ravesden, D/S/Wd 80/75/62
Retired. Click siggy for old RoM vids, among other things.

736

Monday, August 20th 2012, 1:44pm

I would if i knew how ^^

737

Monday, August 20th 2012, 2:30pm

Ok this is frustrating to me ive been trying to get Escape Danger to trigger when i am shadow prisoned or lightning in siege when using my diyce and i keep getting an error saying cant use these skills while stunned/rooted etc. however when i do it manually it works is there sumtin i need to tag on the end of the lil code to get it to work in pvp conditions?
-[EvilEmpires]-
Cocheech - RIP
Ricknight - R/M/S/Wd
Necrotix - WL/C/M
Yamanight D/W/Wd
Nightmareknight K/W/M/P

738

Monday, August 20th 2012, 2:56pm

ok my toon is a rogue scout,can you send me a working script and telll me how and ware to put it?

739

Tuesday, August 21st 2012, 11:41am

I could have sworn this was asked before, but just took half an hour to skim over the whole thread, and just can't find it anywhere.

Is there a was to determine your target's class combo, and put that into a local? I'm not gonna lie, on my druid side, Priest/Scouts are laughable, but on my Scout/Warrior, I loathe them. Basically, I want DIYCE to fire off my ranged Throat Attack as soon as it targets/identifies an enemy P/S. Hopefully the end result would look something like this:

Source code

1
2
3
if enemy then
                Skill = {
                    { name = "Throat Attack",                    use = ((silenceThis) or (PriestScout)) },

Any help would be appreciated, thanks!

Ravesden, D/S/Wd 80/75/62
Retired. Click siggy for old RoM vids, among other things.

Peryl

Intermediate

Posts: 313

Location: Elsewhere

  • Send private message

740

Tuesday, August 21st 2012, 1:14pm

Quoted from "Ravesden;565557"

Is there a was to determine your target's class combo, and put that into a local?

You've got two choices for this. In both cases they return two values.

Either do:

Source code

1
2
local TrgtMainClass, TrgtSecClass = UnitClass("target")
local PriestScout = (TrgtMainClass == "Priest" and TrgtSecClass == "Scout")


or you can do:

Source code

1
2
local TrgtMainClass, TrgtSecClass = UnitClassToken("target")
local PriestScout = (TrgtMainClass == "AUGUR" and TrgtSecClass == "RANGER")


The only difference here is that UnitClassToken returns those oddly named string tokens for the classes, but will work regardless of the language region while UnitClass returns the easily identifiable class names, but would need to be translated for other language regions.
2013... The year from hell....