MMOMinion

Full Version: Crafting SkillManager Problem: No Range field for "Progress" and etc?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Currently, "Progress" is denoted by 2 mutually-exclusive (OR condition) fields "Progress<" and "Progress>="

I'm having severe problems in scripting SkillManager Crafting profiles because

- As "Difficulty" goes up, the number of crafting "Steps" increases and so the length of the Script/Profile increases.

- To maximize EXP/CP returns/HQ, I will require to cast <Touch> at every step when needed, shown by the below "simplified" example (I left out stuff like <Inner Quiet>, <Rumination>, <Steady Hand>)
Quote:"Bot max progress per <Synthesis> cast" = 12
"Durability" = 70
"Difficulty" = 67

"Current Progress" ">=Durability" "Result"
0 61 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
0 71 Don't cast <Touch>
12 51 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
12 61 Cast <Touch>
24 41 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
24 51 Cast <Touch>
36 31 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
36 41 Cast <Touch>
48 21 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
48 31 Cast <Touch>
60 11 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
60 21 Cast <Touch>
End 1 Cast <Touch> only when enough "CP" for <Touch> + <Master's Mend>
End 11 Cast <Touch>

Note: Each line represents a row in the Skill Manager Profile

- Can you imagine how many lines the above will go given a "Difficulty" of 200+?

- If there was a range field for "Progress", I could have shorten/compress the 14 rows into just 4 rows.
Progress range field?
If you set both the "Progress <" and "Progress >=", that is a range already right?

as in
Code:
Progress < 12
Progress >= 0
is
Code:
0 <= Progress < 12

EDIT:
and what's with the double post:
http://mmominion.com/Thread-Crafting-Ski...ss-and-etc
(12-30-2013, 05:55 PM)darkraito Wrote: [ -> ]Progress range field?
If you set both the "Progress <" and "Progress >=", that is a range already right?

as in
Code:
Progress < 12
Progress >= 0
is
Code:
0 <= Progress < 12

EDIT:
and what's with the double post:
http://mmominion.com/Thread-Crafting-Ski...ss-and-etc

I tested it already
Code:
"Progress < 12" + "Progress >= 0"
is not
"0 <= Progress < 12"

The Bot routine will take "Progress < 12" and ignore "Progress >= 0"


That's why for
Code:
"Progress < 60" + "Progress >= 12",
"Progress >= 12" will be ignored, giving you "Progress < 60" which is not what I want.
Post http://mmominion.com/Thread-Crafting-Ski...ss-and-etc
is for developers.

http://mmominion.com/Thread-Crafting-Ski...lty-Crafts
is for users.
I see what you meant now.

ffxivminion/ffxiv_skillmgr.lua
Code:
if ( (skill.stepmin > 0 and synth.step >= skill.stepmin) or
    (skill.stepmax > 0 and synth.step < skill.stepmax) or
    (skill.cpmin > 0 and Player.cp.current >= skill.cpmin) or
    (skill.cpmax > 0 and Player.cp.current < skill.cpmax) or
    (skill.durabmin > 0 and synth.durability >= skill.durabmin) or
    (skill.durabmax > 0 and synth.durability < skill.durabmax) or
    (skill.progrmin > 0 and synth.progress >= skill.progrmin) or
    (skill.progrmax > 0 and synth.progress < skill.progrmax) or
    (skill.qualitymin > 0 and synth.quality >= skill.qualitymin) or
    (skill.qualitymax > 0 and synth.quality < skill.qualitymax) or
    (skill.qualityminper > 0 and synth.qualitypercent >= skill.qualityminper) or
    (skill.qualitymaxper > 0 and synth.qualitypercent < skill.qualitymaxper) or
    (skill.iqstack > 0 and SkillMgr.currentIQStack < skill.iqstack) or
    (skill.condition ~= "NotUsed" and synth.description ~= skill.condition))                            
    then castable = false
end

more specifically we want to look at
Code:
(skill.progrmin > 0 and synth.progress >= skill.progrmin) or
    (skill.progrmax > 0 and synth.progress < skill.progrmax) or
I assume the variables has the values as:
skill.progrmin defines as Progress <
skill.progrmax defines as Progress >=

If we follow that, setting the Progress < 0, will not do anything as they require the value to be more than 0; otherwise it is disabled.
I can't run my FF now, but if you are willing to do some testing, change the code to
Code:
(skill.progrmin > -1 and synth.progress >= skill.progrmin) or
    (skill.progrmax > 0 and synth.progress < skill.progrmax) or
This may have other unknown side-effects. Try at your own risk.