User Tools

Site Tools



acr

This is an old revision of the document!


About

ACR (Advanced Combat Routines) is a platform for highly customizable combat routines that are written in lua. Routines built on this platform can use a custom GUI, have access to a special multi-clickable Party Interface, and the routines are not bound by the same generic rules that SkillManager routines use.

Features

ACR Main Interface

puu.sh_o21aq_fe0475ebda.jpg

Enabled

Enables the current profile. If this is off, FFXIVMinion uses SkillManager instead. If a profile is not listed here, it is not properly built/compiled.

Auto-Enabled

Enables ACR if a profile is found for the current class. This will hold true in reverse, and it will be disabled if no valid profiles are found.

Show Party Interface

Toggles the multi-clickable party interface window, discussed in the next section.


ACR Party Interface

puu.sh_o27pb_a9e3a2216e.jpg

ACR does not include FFXIV icons, but these can be downloaded from this link. To install the icons, place the icons folder in the root of the ACR module [ACR\icons].

The party interface is a multi-clickable display that can work in conjunction with routines via their OnClick procedure.

Examples

Right-click to dispel debuffs. Left-click to cast a small heal. Shift+Left-click to cast a large heal. Middle-click to use an ability such as Cover/Goad on your teammate.

OnClick API documented in Routine API below.


Routine API

-- Create the basic profile table.
local profile = {}
 
-- Create a GUI table, to hold GUI-related information.
profile.GUI = {
    open = false,
    visible = true,
    name = "Batman",
}
 
-- Create a classes table, to specify which classes this profile can be used for.
profile.classes = {
    [FFXIV.JOBS.NINJA] = true,
    [FFXIV.JOBS.ROGUE] = true,
} 
 
-- The Cast() function is where the magic happens.
-- Action code should be called and fired here.
function profile.Cast()
    local currentTarget = MGetTarget()
 
    if (currentTarget) then
        local spinningEdge = ActionList:Get(2240,1,currentTarget.id)
        if (spinningEdge and spinningEdge.isready) then
            spinningEdge:Cast(currentTarget.id
            return true
        end
    end
    return false
end
 
-- The Draw() function provides a place where a developer can show custom options.
function profile.Draw()
    if (profile.GUI.open) then	
	profile.GUI.visible, profile.GUI.open = GUI:Begin(profile.GUI.name, profile.GUI.open)
	if ( profile.GUI.visible ) then 
            ACR_MyProfile_MySavedVar = GUI:Checkbox("AOE",ACR_MyProfile_MySavedVar)
        end
    end	
end
 
-- The OnOpen() function is fired when a user pressed "View Profile Options" on the main ACR window.
function profile.OnOpen()
    -- Set our GUI table //open// variable to true so that it will be drawn.
    profile.GUI.open = true
end
 
-- The OnLoad() function is fired when a profile is prepped and loaded by ACR.
function profile.OnLoad()
    -- Set and (if necessary) create a saved variable named ACR_MyProfile_MySavedVar.
    ACR_MyProfile_MySavedVar = ACR.GetSetting("ACR_MyProfile_MySavedVar",false)
end
 
-- The OnClick function is fired when a user clicks on the ACR party interface.
-- It accepts 5 parameters:
-- mouse /int/ - Possible values are 0 (Left-click), 1 (Right-click), 2 (Middle-click)
-- shiftState /bool/ - Is shift currently pressed?
-- controlState /bool/ - Is control currently pressed?
-- altState /bool/ - Is alt currently pressed?
-- entity /table/ - The entity information for the party member that was clicked on.
function profile.OnClick(mouse,shiftState,controlState,altState,entity)
 
end
 
-- The OnUpdate() function is fired on the gameloop, like any other OnUpdate function found in FFXIVMinion code.
function profile.OnUpdate(event, tickcount)
 
end
 
-- Return the profile to ACR, so it can be read.
return profile
acr.1460049864.txt.gz · Last modified: 2016/04/07 17:24 by ace