Download
(83Kb)
Download
Updated: 12-10-09 02:00 PM
Pictures
File Info
Updated:12-10-09 02:00 PM
Created:12-03-08 06:42 PM
Downloads:9,100
Favorites:65
MD5:

Call To Arms (monitor LFG channel)  Popular! (More than 5000 hits)

Version: WotLK 3.3.0
by: ggman [More]

*** UPDATED For WotLK ***

Note: RightClick on the Minimap icon to join the LookingForGroup channel.

--------------------------------------------------------------------
Taken from original description:

CallToArms (CTA) monitors the LookingForGroup and other chat channels and shows a list of all players who are looking for a group. This is a global list that shows players and groups from all over Azeroth.


There are also some group management features that are left over from the days before the Blizzard LFG tool:

- Flag yourself as LFG - Using this feature, the player enters a short description of the desired quest/instance etc. that s/he would like to do. This information is placed on the same list that is viewable by all other users globally.

- Find more players for your group - CTA lets group leaders create a profile of their group. This profile includes a short description, the maximum size of the group and the level range of the group members. Group leaders can even set the class distribution of the group members. This information is posted on the global list so that other users can view it.

CTA also has a blacklist feature which is a list of players that are not allowed to join your group. The blacklist also acts as an extended ignore list.

-----------------------------------------------------------------------
This is an update of the original version for WotLK.

3.2.2
Added TOC keyword for new dungeon/raid.
Fixed bug where list showed wrong who information.
Fixed bug that prevented some chat channels from being seen.
Added option to Disable CTA Broadcast chat channel.
Scan Guild Chat option now works.
bumped interface version for 3.2

3.1.0
- Fix AutoLFG (SetLFGRoles to type DPS).
- Add tayedaen's chat message truncation changes
- Add Ulduar keyword
- The LFG indicator icon should be a bit more responsive.

3.0.9
- Add Thrashfinger modification (see comments)
- Minor optimizations

3.0.3
- Fix disconnect when attempting to forward messages with item links. Messages with links are now ignored.
- Fix problem with Who window not responding (events were being ignored).
- Fix problem where /who wasn't working in chat
- Fix bug where LFG messages were being removed from the list when they were forwarded.
- Tweak dungeon keywords and optimize so they are found quicker. WotLK dungeon keywords moved to top of list.
- Ignore zone keywords. No one uses these anyway. Why waste cpu time looking?
- Add keywords to spam list so these are not picked up as LFG messages. Messages containing any spam trigger words are never forwarded despite spam settting.
- LFG messages are now forwarded using ChatThrottleLib
- Misc event handler changes

3.0.2
- Fix disconnect problem (I believe this was caused by forwarding too many msgs across the CTA channel too quickly. This has been scaled back.)
- Fix error when clicking "Start a Party","Start a Raid" buttons

3.0.1
- LFG messages from local channels will now be properly broadcast to other CTA users
- Guildies looking for groups will show up in green text
- cleaned up some old code

3.0.0
- added new WotLK zones, instances
- added Death Knight class
- changed upper level to 80
- updated event calls in xml frames to be 3.0 compliant
Optional Files (0)


Post A Reply Comment Options
Unread 03-14-09, 11:26 AM  
lebanni
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Thanks, Trashfinger for fixing this addon. I stilll have a issue where CTA will not catch all lfg messages. I'm in fr-FR locale.
Report comment to moderator  
Reply With Quote
Unread 03-18-09, 06:25 AM  
Laren
A Defias Bandit

Forum posts: 3
File comments: 45
Uploads: 0
Persistant Search Options

Every time I log in I have to readjust certain search options. Would it be possible that the options are saved automatically?

The following options always reset to default after a I log in:

Show levels (min/max), Scan guild chat for group messages, Keywords in the Search result

It would be great if the options are saved.
Report comment to moderator  
Reply With Quote
Unread 03-23-09, 12:54 PM  
Sythalin
Curse staff
 
Sythalin's Avatar
AddOn Author - Click to view AddOns

Forum posts: 680
File comments: 373
Uploads: 15
Everytime I log in, "Auto LFG Channel" is not working. I have to turn it off/turn it back on, then manually join the channel in order for it to work.
Report comment to moderator  
Reply With Quote
Unread 03-30-09, 03:33 AM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
Originally posted by ChaosInc
Everytime I log in, "Auto LFG Channel" is not working. I have to turn it off/turn it back on, then manually join the channel in order for it to work.
I can confirm that, I have the same error here.
Could you please fix this?
I am on locale deDE, if that matters.

cu
tay
Last edited by tayedaen : 03-30-09 at 03:34 AM.
Report comment to moderator  
Reply With Quote
Unread 04-05-09, 06:52 AM  
Thrashfinger
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 14
Uploads: 1
CallToArms v3.0.9 Updates

During the evolution of CallToArms, Blizzard changed the functionality of the LFG channel requiring a player to join the LFG system in order to join the LFG channel. Subsequently, CallToArms was updated to use the third entry of the LFG system to add the player to the first available zone (in alphabetical order) in order to enable and join the LFG channel. Although this method (effectively) yielded the desired result, it was usually not what *I* was trying to do. I have *personally* never used the auto-join functionality to join a group for a *zone*. I manually change the selections to instances *every time* I use CallToArms to look for a group; that is, until now.

Described below are instruction on a two-part modification which changes CTA's behavior slightly when you right-click on the minimap icon to auto-join or auto-leave the LFG system.

• At level 16 or higher auto-joining LFG will add the character to the first 3 instances listed in alphabetical order.
• At level 15 or lower auto-joining LFG will add the character to the first 3 zones listed in alphabetical order.

These updates work for the WotLK 3.0.9 version released on 03-14-2009 09:51 AM.

========================================================================

Synopsis:

The first change affects what (instances or zones) the character is added to (based on level) via the auto-join LFG functionality of the CTA minimap icon. The second change will clear all LookingForGroup selections completely when leaving the LFG system via the auto-leave functionality of the CTA minimap icon. These two changes also correct several omitted semi-colons within their associated functions.

========================================================================

Open the CallToArms.lua file.

PART 1 (This change adds character to instances or zones based on character level.)
------------------------------------------------------------------------
Replace the entire code block for function OpenLFGChannel
(originally starting at Line 754 and ending at Line 775)
with the following code:

Code:
local function OpenLFGChannel()
  -- If (not in a group) then join LookingForGroup.
  if ( GetNumPartyMembers() == 0 ) then
    if ( UnitLevel("player") >= 16 ) then
      -- If (level 16 or higher) then add character to first 3 instances listed.
      SetLFGType(1,2);
      SetLookingForGroup(1, 2, 1);
      SetLFGType(2,2);
      SetLookingForGroup(2, 2, 2);
      SetLFGType(3,2);
      SetLookingForGroup(3, 2, 3);
    else
      -- Else (level 15 or lower) add character to first 3 zones listed.
      SetLFGType(1,5);
      SetLookingForGroup(1, 5, 1);
      SetLFGType(2,5);
      SetLookingForGroup(2, 5, 2);
      SetLFGType(3,5);
      SetLookingForGroup(3, 5, 3);
    end
    -- Add talent spec to LFG comment.
    SetLFGComment(CTA_GetTalentSpec());
    autoLFG:ClearAutoJoin();
  else
  -- Else join LookingForMore. (Player can only join LFM when party leader).
    if ( UnitIsPartyLeader("player") ) then
      SetLookingForMore(5, 1);
      SetLFGComment("Looking for More");
    end
  end
  
  CTA_MinimapMessageFrame2:AddMessage( CTA_AUTO_LFG_MINIMAP, 1, 0.85, 0 );
  CTA_LogMsg( CTA_AUTO_LFG_MINIMAP ); 
  
  autoLFG.CHAT_MSG_CHANNEL_NOTICE = nil;
  autoLFG.State = true;
end
PART 2 (This change clears all LFG selections.)
------------------------------------------------------------------------
Replace the entire code block for function autoLFG:Toggle
(BEFORE PART 1 starting at Line 795 and ending at Line 813)
(AFTER PART 1 starting at around Line 810 and ending at Line 828)
with the following code:

Code:
function autoLFG:Toggle()
  if (self.State) then
    self.PARTY_MEMBERS_CHANGED = nil;
    self.State = false;
    SetLookingForGroup(1, 1);
    SetLookingForGroup(2, 1);
    SetLookingForGroup(3, 1);
    CTA_Util.logPrintln( "autoLFG:Toggle() SetLookingForGroup" );
  else
    self.PARTY_MEMBERS_CHANGED = OpenLFGChannel;
    OpenLFGChannel();
    CTA_Util.logPrintln( "autoLFG:Toggle() OpenLFGChannel()" );
  end
  
  CTA_Println( CTA_AUTO_LFG_IS..": "..(autoLFG.State and CTA_YES or CTA_NO) );
  --print( CTA_AUTO_LFG_IS..": "..(autoLFG.State and CTA_YES or CTA_NO) );
  CTA_UpdateMinimapTexture();
  CTA_SavedVariables.autoLFG = self.State;
end
Save and close the file.

========================================================================

You are done. Run it!
Report comment to moderator  
Reply With Quote
Unread 04-05-09, 07:07 AM  
Thrashfinger
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 14
Uploads: 1
CallToArms v3.0.9 Bug Report

There is a bug which manifests itself as a client-side glitch (for the player using CTA) and appears as the wrong level, class, and guild name versus character name attached to forwarded LFG messages that are displayed in the client's CTA window. The origin of the wrong level/class/guild info relates to the first message forwarded client-side (by player using CTA) in the custom CTAChannel.

(For those not familiar with the inner-workings of this addon, channels such as General, Trade, Defense channels, etc, are monitored for LFG (looking for group) and LFM (looking for more) messages. Any LFG messages detected that do not appear in the conventional LookingForGroup channel are then filtered and forwarded through the custom CTAChannel to other players using this addon.)

The level/class/guild info of the *first* player whose message was forwarded by the client is then attached to every forwarded LFG message when it is displayed in the client's CTA window (not in the broadcasted CTAChannel message - only in the displayed client-side CTA window message), and persists for an extended period of time (more than an hour last time I tested this glitch) or until the client player logs out.

You can recreate my observations by temporarily adding two chat windows for monitoring specific LFG-related messages. Set one chat window to display messages from the conventional LookingForGroup channel and the custom CTAChannel. Set the second chat window to display messages from the General and Trade channels. Watch for the first forwarded message to appear in the CTAChannel. Then look in the second window for that specific message from the player name indicated in the client-side CTA window. In the second window, hold SHIFT and left-click the player's name to display character-specific info (level/class/guild), which should appear in the default chat frame. Take special note of the player's level, class, and guild. This is the character info attached to forwarded messages (even messages not originally from this player) that are subsequently displayed in the client-side CTA window. This bug persists for an extended period of time (more than an hour last time I tested this) or until the client player logs out.

This bug was not observed when the original LFG message was broadcasted in the conventional LookingForGroup channel (although I tried my best to filter, shuffle, read, and review all the LFG messages). Only forwarded messages from non-LookingForGroup channels *appeared* to be affected.

I have looked at the code in the CallToArms_Util.lua and CTA.WhoManager.lua files, and I found several places where the GetWhoInfo() global API function is being called. However, I have yet to figure out where the SNAFU occurs or how to fix it.

Bug squashers unite! PLEASE! Help fix this glitch!

EDIT: While reading through the Lua files I noticed there are a lot of omitted semi-colons in the Lua code (which theoretically behaves similarly to C++). Missing semi-colons can potentially cause unpredictable and unintended side effects, and I am honestly surprised that the legacy code (and missing semi-colons) are not generating more in-game syntax errors.
Last edited by Thrashfinger : 04-05-09 at 07:18 AM.
Report comment to moderator  
Reply With Quote
Unread 04-18-09, 03:52 PM  
Cin
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
Getting lots of errors since the patch. Have had to disable CTA. I miss it!
Report comment to moderator  
Reply With Quote
Unread 04-18-09, 05:52 PM  
Cin
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
Originally posted by Cin
Getting lots of errors since the patch. Have had to disable CTA. I miss it!
To be specific....

Interface\Addons\CallToArms\CallToArms.lua:757: attempt to call global 'SetLFGType' (a nil value)

Any way to fix? Very sad without my CTA.
Report comment to moderator  
Reply With Quote
Unread 04-18-09, 06:00 PM  
Cin
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
Originally posted by Cin
To be specific....

Interface\Addons\CallToArms\CallToArms.lua:757: attempt to call global 'SetLFGType' (a nil value)
Also....

Interface\Addons\CallToArms\ChatThrottleLib.lua:378: text length cannot exceed 255 bytes
Report comment to moderator  
Reply With Quote
Unread 04-21-09, 03:10 AM  
Praefatio
A Murloc Raider

Forum posts: 4
File comments: 2
Uploads: 0
Pretty much the same info from me as from the others here ..

Call to Arms seem to be broken again unfortunately. Worked pretty well for me, as some friends of mine use it on the same realm - picks up (or picked up, before the patch) a lot of action from the LFG-channel, enough to keep us busy atleast. Please fix someone, i don't have a clue how to do it myself.

After 3.1 the icon just sits there, nothing happens on /click. When CTA is enabled i can't join the LookingForGroup channel manually either, so it breaks my entire LFG system. Have to disable it entirely
Report comment to moderator  
Reply With Quote
Unread 04-21-09, 03:31 AM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
Originally posted by Cin
To be specific....

Interface\Addons\CallToArms\CallToArms.lua:757: attempt to call global 'SetLFGType' (a nil value)

Any way to fix? Very sad without my CTA.
Call2Arms works great if you disable autoLFG.
Until someone finds the time to code a proper fix for the autoLFG feature, I recommend switching the feature off.
Unfortuantely that means you have to edit lua files since autolfg is initiated even if disabled.
What I did:
1) Open calltoarms.lua (lines referr to version 3.0.9)
change line 56 from 'true' to 'false'
comment out line 829-831 and 833
comment out line 1472
comment out line 390-392 (not really needed)
remove the word 'local' from line 752 (not really needed, but declaring autolfg as 'local' two times in a file is BAD)

2) Download AlwaysLFG (to keep the autolfg functionality) from here

I did this at home and have a perfectly working CalltoArms since then.

I will post my file in the evening when I get home.

Hopefully ggman finds the time to code a proper fix for the autolfg feature.

cu
tay
Last edited by tayedaen : 04-22-09 at 09:47 AM.
Report comment to moderator  
Reply With Quote
Unread 04-21-09, 05:21 AM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
Originally posted by Cin
Also....

Interface\Addons\CallToArms\ChatThrottleLib.lua:378: text length cannot exceed 255 bytes
This is not a CalltoArms bug, it belongs to ChatThrottleLib, a library that is included in the CalltoArms addon.
You can find the library here: http://www.wowace.com/projects/chatthrottlelib/

This error occurs if CalltoArms wants to forward a LFG/LFM-message that exceeds 255 characters.

The way CTA works is:
It looks for LFG/LFM messages in every available channel, including the LookingForGroup channel if you have joined this channel.
It then forwards all found messages to ALL CTA users on your realm (your own faction only ), using it's own addon channel named CTA.
Since forwarding a lot of messages used to disconnect people from the server, the addon includes now a library that 'throttles' or 'shapes' the traffic.

This throtteling library however can not handle messages that exceed 255 characters - that's what the error ist telling you.

So to get rid of this error message there are two possible ways:
1) Solution 1: the author of ChatThrottleLib.lua changes the code in his library so that it can handle large messages. But it could be that this is not possble due to limitations of the chat system (limited to 255 characters by Blizzard).

2) Solution 2: CalltoArms truncates long messages before forwarding them. I'll describe the necessary changes in my next post to keep it more readble.

cu
tay
Last edited by tayedaen : 04-21-09 at 05:39 AM.
Report comment to moderator  
Reply With Quote
Unread 04-21-09, 05:35 AM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
HowTO fix this bug
Interface\Addons\CallToArms\ChatThrottleLib.lua:378: text length cannot exceed 255 bytes
This is the the quick and dirty way to fix the error, by TRUNCATING the message to 252 characters, and adding "..." to them in the end to indicate that this message was truncated.
I call it dirty because it's deliberatly cutting of some information, which is never a good solution.
However the number of messages longer then 255 characters should'nt be huge, so I think this is still valid.

You need to edit two files:
1) CallToArms.lua, line 1572
OLD:
Code:
ChatThrottleLib:SendChatMessage("NORMAL","CTA", string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
NEW:
Code:
local CTA_ChatThrottleLibMessage = string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" );
if CTA_ChatThrottleLibMessage:len() > 254 then
    CTA_ChatThrottleLibMessage = CTA_ChatThrottleLibMessage:sub(1,252) .. "..."
end
ChatThrottleLib:SendChatMessage("NORMAL","CTA", CTA_ChatThrottleLibMessage, messageType, language, channel );
2) CallToArms_Util.lua
Replace a whole function, from line 351 to 366
OLD:
Code:
CTA_Util.sendChatMessage = function( message, messageType, channel, hidden ) 
	local language = CTA_COMMON;
	if( UnitFactionGroup(CTA_PLAYER) ~= CTA_ALLIANCE ) then
		language = CTA_ORCISH;
	end
	if( not hidden ) then
		--SendChatMessage( string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
		ChatThrottleLib:SendChatMessage("NORMAL","CTA", string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
	elseif( hidden == 1 ) then
		--SendChatMessage( "[CTA] "..string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
		ChatThrottleLib:SendChatMessage("NORMAL","CTA", "[CTA] "..string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
	else
		--SendChatMessage( "<CTA> "..string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
		ChatThrottleLib:SendChatMessage("NORMAL","CTA","<CTA> "..string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" ), messageType, language, channel );
	end
end
NEW:
Code:
CTA_Util.sendChatMessage = function( message, messageType, channel, hidden )
	local language = CTA_COMMON;
	if( UnitFactionGroup(CTA_PLAYER) ~= CTA_ALLIANCE ) then
		language = CTA_ORCISH;
	end
	local CTA_ChatThrottleLibMessage = string.gsub( message, "|c(%w+)|H(%w+):(.+)|h(.+)|h|r", "%4" );
	if( not hidden ) then
	    -- then no prefix is added to the message
	elseif( hidden == 1 ) then
		CTA_ChatThrottleLibMessage = "[CTA] ".. CTA_ChatThrottleLibMessage
	else
		CTA_ChatThrottleLibMessage = "<CTA> ".. CTA_ChatThrottleLibMessage
	end
    if CTA_ChatThrottleLibMessage:len() > 254 then
        CTA_ChatThrottleLibMessage = CTA_ChatThrottleLibMessage:sub(1,252) .. "..."
    end
	ChatThrottleLib:SendChatMessage("NORMAL","CTA", CTA_ChatThrottleLibMessage, messageType, language, channel );
end
I have only drycoded the changes here, my working file is at home, I will post it later when I get there

cu
tay
Last edited by tayedaen : 04-21-09 at 05:41 AM.
Report comment to moderator  
Reply With Quote
Unread 04-22-09, 07:18 PM  
Cin
A Defias Bandit

Forum posts: 2
File comments: 22
Uploads: 0
Well, I'm not sure I can manage that (not a programmer) but I'll give it a try. Thanks!
Report comment to moderator  
Reply With Quote
Unread 04-23-09, 06:01 PM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
Originally posted by Cin
Well, I'm not sure I can manage that (not a programmer) but I'll give it a try. Thanks!
Just download 3.0.9b, cantaining the described changes.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: