User Tools

Site Tools



acr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
acr [2016/04/01 16:56] aceacr [2022/08/25 08:06] (current) anyone
Line 1: Line 1:
-===== Features =====+===== About =====
  
 ACR (Advanced Combat Routines) is a platform for highly customizable combat routines that are written in lua.   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. 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.
  
-==== Usage ==== +===== Features =====
- +
-----+
  
 === ACR Main Interface === === ACR Main Interface ===
Line 26: Line 24:
  
 {{http://puu.sh/o27pB/a9e3a2216e.jpg}} {{http://puu.sh/o27pB/a9e3a2216e.jpg}}
 +
 +//ACR does not include FFXIV icons, but these can be downloaded from [[http://www.filehosting.org/file/details/559401/icons.zip|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. The party interface is a multi-clickable display that can work in conjunction with routines via their OnClick procedure.
Line 68: Line 69:
         local spinningEdge = ActionList:Get(2240,1,currentTarget.id)         local spinningEdge = ActionList:Get(2240,1,currentTarget.id)
         if (spinningEdge and spinningEdge.isready) then         if (spinningEdge and spinningEdge.isready) then
-            spinningEdge:Cast(currentTarget.id+            spinningEdge:Cast(currentTarget.id)
             return true             return true
         end         end
Line 82: Line 83:
             ACR_MyProfile_MySavedVar = GUI:Checkbox("AOE",ACR_MyProfile_MySavedVar)             ACR_MyProfile_MySavedVar = GUI:Checkbox("AOE",ACR_MyProfile_MySavedVar)
         end         end
 +        GUI:End()
     end      end
 +end
 +
 +-- Adds a customizable header to the top of the ffxivminion task window.
 +function profile.DrawHeader()
 +
 +end
 +
 +-- Adds a customizable footer to the top of the ffxivminion task window.
 +function profile.DrawFooter()
 +
 end end
  
Line 115: Line 127:
 -- Return the profile to ACR, so it can be read. -- Return the profile to ACR, so it can be read.
 return profile return profile
 +
 +</code>
 +
 +==== Pushing Routines API ====
 +
 +<code lua>
 +
 +-- This code is an example of how to push routines into ACR using the new API call.
 +-- This isn't required anymore. Simply placing your ACR LUA file into a folder named CombatRoutines is enough for the ACR module to detect and load your ACR.
 +
 +acelib.routinePath = GetStartupPath()..[[\LuaMods\AceLib\CombatRoutines\]] --this can be any subfolder, I'm using the old structure for ease
 +
 +function AceLib.LoadCombatProfile(filename,alias)
 + if (acelib.ModuleFunctions and acelib.ModuleFunctions.ReadModuleFile) then
 + local fileInfo = { p = "CombatRoutines" , m = "AceLib" , f = filename }
 + local fileString = acelib.ModuleFunctions.ReadModuleFile(fileInfo)
 + if (fileString) then
 + local fileFunction, errorMessage = loadstring(fileString)
 + if (fileFunction) then
 + local ok, profileData = pcall(fileFunction)
 + if (ok and profileData ~= nil) then
 + ACR.AddPrivateProfile(profileData,alias)
 + end
 + end
 + end
 + else
 + if (filename ~= "" and FileExists(acelib.routinePath..filename)) then
 + local profileData,e = persistence.load(acelib.routinePath..filename)
 + if (ValidTable(profileData)) then
 + ACR.AddPrivateProfile(profileData,alias)
 + end
 + end
 + end
 +end
 +
 +function AceLib.LoadCombatProfiles()
 + AceLib.LoadCombatProfile("Ark.lua","Ark")
 +end
 +
 +-- Final call should be done in a ModuleInit so that all modules can finish loading other API where required.
 +function acelib.ModuleInit()
 +        AceLib.LoadCombatProfiles()
 +end
  
 </code> </code>
acr.1459529782.txt.gz · Last modified: 2016/04/01 16:56 by ace