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.

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,961

Tuesday, October 8th 2013, 7:28pm

Both versions of DIYCE can check this via the global last action call

1,962

Tuesday, October 8th 2013, 7:56pm

thanks

thanks for the help

1,963

Tuesday, October 8th 2013, 10:42pm

Both versions of DIYCE can check this via the global last action call
well i tried that to the best of my know how of diyce and its still not working any care to spell it out for me

Auros

Professional

Posts: 1,360

Mood: Mellow

  • Send private message

1,964

Wednesday, October 9th 2013, 12:21am

is there any way in old diyce that is to make a skill only work if another skill goes off first but the skill that goes off first has no buffs to it at all the only way i know how to do this is if there is a buff of some kind


In DIYCE you set up your priority list of skills, it fires them in order if they are available to be fired and if they meet any extra criteria you may have set up. To have one skill fire after another can be as simple as placing it after the other on your list. That is what I think GW meant when he said it is a function of the GCD check. Your first skill fires, it is now on GCD so unavailable, so DIYCE moves to the next skill available which would be your second skill on the list.

That is the simplist explanation, of course it can be more complicated.
Govinda P/W/K/M 100x4 :pump:
Wl/R/M/Ch 100x4 :borg:
Wd/W/S 100/100/100
W/M 100/100 Glass Cannon: oh gawd, not again :pinch: ... and numerous others Semi-retired :pillepalle:

1,965

Wednesday, October 9th 2013, 4:54am

is there any way in old diyce that is to make a skill only work if another skill goes off first but the skill that goes off first has no buffs to it at all the only way i know how to do this is if there is a buff of some kind


In DIYCE you set up your priority list of skills, it fires them in order if they are available to be fired and if they meet any extra criteria you may have set up. To have one skill fire after another can be as simple as placing it after the other on your list. That is what I think GW meant when he said it is a function of the GCD check. Your first skill fires, it is now on GCD so unavailable, so DIYCE moves to the next skill available which would be your second skill on the list.

That is the simplist explanation, of course it can be more complicated.
thats not how it works ofc. just by setting 2 skills one after the other doesnt mean they will fire in line. can give numerous examples like
- shadowstab - lb - woundattack: if u try to set them like that u ll end firing shadowstab till the end of days
- plasma arrow - flame: u ll just spam plasma arrows

the concept is that if skill A is on GCD, then all other skills will be on GCD too
UNLESS
- they r off-gcd skills (charged chop etc)
- they r casted skills

from what i see, ghostwolf implies that there is some global lua function, like "LastAction(arg)" which may return something like true/false indicating if the last executed skill was "skill: arg".

setting up a very simple example for rotation (trash rotation, just for example): flame - cursed fangs .. repeat rotation (m/r)

i=i+1; Skill = { name = "Cursed Fangs", use = (energy>=30) and (LastAction("Flame")) }
i=i+1; Skill = { name = "Flame", use = (mana>=200) }

where the LastAction is an artificial command returning T/F in case Flame was cast at previous "diyce scanning".

searched abit teh lua commands along with the 1.4 commands i m using as diyce but cant find something similar.

Auros

Professional

Posts: 1,360

Mood: Mellow

  • Send private message

1,966

Wednesday, October 9th 2013, 4:49pm

Yeah, you're right...my bad.

Though you could set that up with energy conditionals. Shadowstab only goes off if energy is >70%. Then ss would fire followed by lb spam, unless you put lb on a conditional energy >55%. Then it would go, ss, lb, wa, then lb till wa back up. or some variation thereof.
Govinda P/W/K/M 100x4 :pump:
Wl/R/M/Ch 100x4 :borg:
Wd/W/S 100/100/100
W/M 100/100 Glass Cannon: oh gawd, not again :pinch: ... and numerous others Semi-retired :pillepalle:

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,967

Thursday, October 10th 2013, 2:08am

Specifically, I was referring to:

local g_lastaction = ""

Amberwave

Intermediate

Posts: 369

Location: Chicagoland

  • Send private message

1,968

Friday, October 11th 2013, 6:56pm

Darkmage, if you could put post the skills you are trying to work with, it may help. I know in had to do some creative things with the Ch/P skill Divine Vengeance.

1,969

Friday, October 11th 2013, 8:56pm

What ghostwolf is trying to say is you can put

"and g_lastaction == "Flame" "

in your use conditions. g_lastaction is a variable saving the name of the last skill you use so you can do precisely what you have been asking for.

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,970

Saturday, October 12th 2013, 9:53am

It's normally used in a "does not equal" context, but yes, you could check to see very much like that.

For an example, in DIYCE2 code it would look like this

Source code

1
{ name = "Custom: Shadow Pulse",			use = melee and (EnergyBar2 >= 20) and (g_lastaction ~= "Shadow Pulse") },


There are plenty of examples in both this thread and in the thread for DIYCE2. Search for it, and you will find it.

ThaAmazin

King of Games

Posts: 8

Location: Ghetto

Occupation: Computer Mastermind Creator

  • Send private message

1,971

Wednesday, October 16th 2013, 4:34am

warrior/champion diyce

i have problems using the elite skills for warrior/champion it only cast slash but not bloody slash


--Class: Warrior/Champion
elseif mainClass == "WARRIOR" and subClass == "PSYRON" then
local SurpriseAttack = GetActionUsable(14)

--Potions and Buffs
Skill = {
{ name = "Bloody Battle", use = (phealth <= .90) and combat },
{ name = "Survival Instinct", use = (phealth <= .30) and combat },
}

--Combat
if enemy then
Skill2 = {
{ name = "Bloody Slash", use = (phealth >= 30) },
{ name = "Heavy Bash", use = (EnergyBar1 >= 20) },
{ name = "Slash", use = (phealth >= .20) },
{ name = "Attack", use = (thealth == 1) },
}
end
Most feared Warrior on the server--Dangerous BattleMonk on server
Palenque Server
The doors here only open one way. They open inward.
Amazin FearlessBloodwar
W/R/P/S/M/K C/Wl/W/P
82/91/92/60/60/60 82/50/83/50

1,972

Wednesday, October 16th 2013, 9:55am

i have problems using the elite skills for warrior/champion it only cast slash but not bloody slash


--Class: Warrior/Champion
elseif mainClass == "WARRIOR" and subClass == "PSYRON" then
local SurpriseAttack = GetActionUsable(14)

--Potions and Buffs
Skill = {
{ name = "Bloody Battle", use = (phealth <= .90) and combat },
{ name = "Survival Instinct", use = (phealth <= .30) and combat },
}

--Combat
if enemy then
Skill2 = {
{ name = "Bloody Slash", use = (phealth >= 30) },
{ name = "Heavy Bash", use = (EnergyBar1 >= 20) },
{ name = "Slash", use = (phealth >= .20) },
{ name = "Attack", use = (thealth == 1) },
}
end

set requirement for Bloody Slash as
phealth >= 0.3, instead of >= 30

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,973

Wednesday, October 16th 2013, 9:57am

You are in the wrong thread. You are trying to get code working for DIYCE version 2, while this is the DIYCE v1 thread.

ThaAmazin

King of Games

Posts: 8

Location: Ghetto

Occupation: Computer Mastermind Creator

  • Send private message

1,974

Wednesday, October 16th 2013, 10:06pm

For an example, in DIYCE2 code it would look like this

{ name = "Custom: Shadow Pulse", use = melee and (EnergyBar2 >= 20) and (g_lastaction ~= "Shadow Pulse") },

There are plenty of examples in both this thread and in the thread for DIYCE2. Search for it, and you will find it.



in diyce v2 last reply is since last month but if i recall u used an example for diyce v2 regrading the code to explain someone your concept if this thread is only strictly for it diyce v1 why am i the only one gettin crewed out for it..
Most feared Warrior on the server--Dangerous BattleMonk on server
Palenque Server
The doors here only open one way. They open inward.
Amazin FearlessBloodwar
W/R/P/S/M/K C/Wl/W/P
82/91/92/60/60/60 82/50/83/50

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,975

Thursday, October 17th 2013, 1:10am

Not trying to chew you out, sorry if it came across that way. I used an example of v2 code because I no longer work in v1 code, and haven't for a long time now. Additionally, I'm not going to take the time to reverse code, I give them the answer in what I have and let them figure out how to make it work if they don't want to use a better, upgraded version of this addon that processes information at a much faster speed.

As for your question, someone else already provided you an answer, so I didn't need to also give one. Test what he has said, and if it doesn't work, come back and ask for more help :) As for the age of last post, in these two threads unlike anywhere else in the forums, you won't be necroing no matter how long it's been.

Hope that clears up any confusion :beer:

1,976

Friday, October 18th 2013, 8:04am

anyone out there with a functioning diyce for warlock/champ/rogue?

1,977

Friday, October 18th 2013, 2:52pm

I have a question, after the last patch my diyce is not working as it should. For ex. I had Strong Stimulant defined before Fervent Attack and now it go random, sometimes it cast fervent and after Strong, sometimes it cast strong and then fervent. I havent changed anything on my diyce.
{ name = "Action: 13 (Strong Stimulant)", use = ((boss) and (not pbuffs["Fervent Attack"])) },
{ name = "Fervent Attack", use = ((boss) and (not pbuffs["Strong Stimulant"])) },
And the rotation is not working as it should also. Sometimes it goes ok, sometimes it cast all skills again even if boss already have the bleeding effects on him.
Just have some damn fun! That's why we play games right?

ghostwolf82

Professional

Posts: 859

Location: Kalvans Trunk

Occupation: It's dark in here

  • Send private message

1,978

Friday, October 18th 2013, 3:54pm

Ok guys, some people still use DIYCE v1.4 and personally I would like to keep this thread about that version for them. Please, if you have questions about the code in DIYCE v2 please post them in that thread. Just makes it easier to keep everything concise. For reference, that thread is here.

In that thread, answer these questions:
@gpx106 - What specifically are you looking for? More info helps us give you the correct answers. The copy of DIYCE available has some code for both warlock and champions in it. If you aren't willing to do any of your own work, you're going to find out that most people aren't willing to help.
@kraya - Can you (in the other thread, and using the "code" tags) post up what you have in that sections of killsequence for your character?

Compykat

Beginner

Posts: 3

Location: Southeast USA

  • Send private message

1,979

Saturday, November 16th 2013, 1:17pm

I'm hoping someone still checks this thread.

I haven't played RoM for about a year now but would like to get back into it. I used DIYCE 1.4 simply to get my skills launched. I handle potting up and pre-burn prep myself so I didn't feel the need to move on to v 2.0 or change what I had.

In trying to rebuild my DIYCE, I'm coming upon a problem that is confusing me. I put two different functions in the MyFunctions.lua file, one for PVE and one for PVP. As you can see, I call the functions RSPE and RSPV. I have two different macros set up, one for questing/instance running (RSPE) and one for siege (RSPV).

The problem I'm having is that the auto targeting part of things is cycling through all nearby enemies in both RSPE and RSPV. So while questing I'll sit there and run through any nearby mobs targeting each one rapidly, and the same for players in siege. What have I got wrong? Any help is appreciated.

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
function RSPE(arg1)
    local Skill = {}
    local i = 0
    local energy = UnitMana("player")
    local focus = UnitSkill("player")
    local friendly = (not UnitCanAttack("player", "target"))
    local combat = GetPlayerCombatState()
    local tspell,ttime,telapsed = UnitCastingTime("target")
    local pbuffs = BuffList("player")
    local tbuffs = BuffList("target")

    i=i+1; Skill[i] = { name = "Throat Attack",  use = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
    i=i+1; Skill[i] = { name = "Wound Attack",   use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed") and string.find(tbuffs, "Grievous Wound")) }
    i=i+1; Skill[i] = { name = "Low Blow",       use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed")) }
    i=i+1; Skill[i] = { name = "Shadowstab",     use = ((not friendly) and (energy >= 35) and (not string.find(tbuffs, "Bleed"))) }
    i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) }
    i=i+1; Skill[i] = { name = "Shot",           use = (not friendly) }
    
    MyCombat(Skill,arg1)

--This code will auto-target "NPC(mobs)" ONLY! (including enemy's pets)
    if tDead then
        TargetUnit("")
        return
    end
 
    if (not LockedOn) or (not enemy) then
        for i=1,10 do
            TargetNearestEnemy()
            if not UnitIsPlayer("target") then
                break
            end
        end
        if UnitIsPlayer("target") then
            TargetUnit("")
        end
        return
    end
end

function RSPV(arg1)
    local Skill = {}
    local i = 0
    local energy = UnitMana("player")
    local focus = UnitSkill("player")
    local friendly = (not UnitCanAttack("player", "target"))
    local combat = GetPlayerCombatState()
    local tspell,ttime,telapsed = UnitCastingTime("target")
    local pbuffs = BuffList("player")
    local tbuffs = BuffList("target")

    i=i+1; Skill[i] = { name = "Throat Attack",  use = ((not friendly) and (tspell ~= nil) and (ttime >= 1) and ((ttime - telapsed) > 0.5) and (focus >= 15)) }
    i=i+1; Skill[i] = { name = "Wound Attack",   use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed") and string.find(tbuffs, "Grievous Wound")) }
    i=i+1; Skill[i] = { name = "Low Blow",       use = ((not friendly) and (energy >= 35) and string.find(tbuffs, "Bleed")) }
    i=i+1; Skill[i] = { name = "Shadowstab",     use = ((not friendly) and (energy >= 35) and (not string.find(tbuffs, "Bleed"))) }
    i=i+1; Skill[i] = { name = "Vampire Arrows", use = (not friendly) }
    i=i+1; Skill[i] = { name = "Shot",           use = (not friendly) }
    
    MyCombat(Skill,arg1)

--This code will auto-target the "players(enemies)" ONLY!
    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
end
Guild: Dragonblade
Server: Osha
Toon: Indomitable

It's not what happens, it's how you react.

1,980

Saturday, November 16th 2013, 6:05pm

While I'm not familiar with diyce 1.4, it appears your issue lies with

if (not LockedOn) or (not enemy) then


where are LockedOn and enemy defined as variables? They don't appear in your functions, so when something doesn't exist, not [something that doesn't exist] is always true, resulting in you always targetting new enemies.