What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

GetLFGRoles

Vastico

New Member
Joined
Jul 28, 2011
Messages
424
Reaction score
10
References:
API GetLFGRoles - WoWWiki - Your guide to the World of Warcraft
GetLFGRoles - World of Warcraft Programming: A Guide and Reference for Creating WoW Addons

Sample code that works:
Code:
local isLeader, isTank, isHealer, isDPS = GetLFGRoles()
print(format("Leader: %s, Tank: %s, Healer: %s, DPS: %s", tostring(isLeader), tostring(isTank), tostring(isHealer), tostring(isDPS)))

Code:
/run print(GetLFGRoles())

My code that doesn't work:
Code:
        private bool IsRole(RoleType type)
        {
            bool result = Lua.GetReturnVal<bool>("return GetLFGRoles()", 0);
            Log("Roles: {0}, {1}, {2}", type, result, (uint)type);
            return result;
        }

RoleType:
Code:
    public enum RoleType
    {
        Leader,
        Tank,
        Healer,
        Damager
    }

PrioritySelector:
Code:
            return new PrioritySelector(
                new Decorator(Delegator => !IsRole(RoleType.Damager) && !IsRole(RoleType.Healer) && !IsRole(RoleType.Tank),
                    new Sequence(
                        new ActionLogMessage(false, "Selecting roles from our current talents."),
                        new TreeSharp.Action(Delegator => SetRoles(true, false, false, true)),
                        new ActionLogMessage(false, "We have selected damager role.")
                    )
                )
            );

SetRoles:
Code:
        private void SetRoles(bool leader, bool tank, bool healer, bool damage)
        {
            Lua.DoString(string.Format("SetLFGRoles({0},{1},{2},{3})", leader.ToString().ToLower(), tank.ToString().ToLower(), healer.ToString().ToLower(), damage.ToString().ToLower()));
        }

Output:
Code:
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
[DungeonBuddy]: Roles: Damager, , 3
[DungeonBuddy]: Roles: Healer, , 2
[DungeonBuddy]: Roles: Tank, , 1
[DungeonBuddy]: Selecting roles from our current talents.
[DungeonBuddy]: We have selected damager role.
 
Back
Top