Classic Raid Finder 2.1 with Cross Realm Chat from Nanocheeze Software
by Kenny Thorson (Shrapnel-Fenris)US cybershrapnel@gmail.com
http://www.nanocheeze.com/crf.zip

2-14-2013
Major updates. Added spam control to all the sendings. Which are a lot of different mechanisms to have controlled. May have to adjust the values yet, but we will see. Added buttons in the about page to disable crf chat and crf trade chat. Only messages in trade with relevant lfg data is forwarded. keywords such as wts lfg lfm MSV etc. synchromiation has been stabilied but sync from chan has been disabled due to disconenct issue with chataddonmessages. but syncing from battlenet works fine. many other changes, optimized a lot of things. hopefully things are working much smoother now.

note, sync from channel through addon messages has been re-enabled. I had been temp banned from sending addon messages playing around with them lol.

I will most likely be making huge changes to this addon as time goes on. I am quite pleased with it's current state, at least compared to version 1.0(PharEverTrade), It has room for major improvements but just to let you know the order of issues.

Just a warning about the only bug I know of as of right now that can mess with things is in the queue list. Sometimes the dungeon the other person chose wo't load in. I spent hours trying to track down the bug and came to the conclusion it is something retarded and I will try to tackle it again another time as I don't seem to be spotting the error expecially since all the other data loads in fine. So It's not making much sense to me. but I put a workaround in that makes it just say Loading when it happens in the info box. if you see Loading in the popup when looking at ppl in the queue just close all the windows and open them back up and hover you mouse over the icon and it should pop in to place. if not just do a reloadui I guess..It's a weird one...

I have reduced the amounts of sends a lot.
Each user can have a maximum of 3 different friends connected on unique realms which isn't the realm you are on. and you can forward from one additional realm. This means you can be forwarding a max of 2 realms onto 3 different realms. You can receive from an unlimited number of realms but you will only post the messages you get if the count of people getting messages from said realm on your realm is less than ten. This count resets everytime and player on your bnet list goes on or offline and you post a message telling everyone else to increment their count.

In essence this means that at any given time, under max possible load that each realm can be getting 10Xmessages from each realm connected to it by friends. and that you can be sending each message from your realm plus one other realm to up to 3 friends.  If you click the Cross Realm Chat+ button it will negate the rule of one forwarding server and will forward every message you get. Which mean you will still only be sending to a max of 3 people but you will be forwarding a lot of possible messages depending on how linked in the system is at the time.

There is also a cache filter for messages since it is very likely that there will be multiple broadcasts of messages (which is intended and well controlled) so any repreated messages will be filitered out until it hasn't been seen for 12 messages. Spam Filter and delivery assurance in one algorithm.

I have a lot of work to do on the auto queue system. It will form groups automatically. but the system is quite simple. It is comparing your choic of dungeon, expansion, and what difficulty level. the smallest difficulty you choose always becomes priority. So if you check the 5 man box you will most likely only get into 5 man groups. so only check what you really intend to queue for. I will be making this much more advanced over time. just haven't decided on an algorithm to do it that I like yet. 

You can also start a new group or fill an existing group using the Start Group or Find More button. (Yes they are the same button) when you select this option any names you left click on in the queue list will be automatically invited to a group. there is a small delay on invites as they get queued and invited on a trigger in order to form a succesful raid in the auto system. If you click on a name in the queue list without having clicked Start Group or Find More then the system will not queue users you click on for invites.

You can also right click on any names in the queue list to invite the user as a Btag friend automatically. This works in find or start mode. You can also put you mouse over the minimap button and a popup will come up with the name of realms you are forwarding with. and the names in the Queue list also have a popup with a lot of very relevant information for forming and finding groups.

My expectation here is that you use this addon as an assistant to form groups. While yes it can fully form a group under ideal circumstances it is far from perfect (yet) but it is quite good. try to use the auto queue function and then fill manually from the queue list or your own friend list after that. You can also type $$raidfinder into trade chat if you are not using this addon and that user will be added to the queue list for invites to. So noone is left out. Their name will appear in gray however in the list to signify this. You can also type $$classicraid in trade. These two functions will queue you under different options. one for raid finder groups and one for random classic content.

As I said though, expect major changes and updates to come as this evolves and yes. I am sure a giant bug will emerge at some point or something I was unable to test for myself without having more people using this. I stress tested the queue list several times and added over ten thousand entries to it and it only increased memory usage by 9 megs and stayed stable with no errors. 

As of now, the major bugs and things I can think of that need to be fixed or adjusted would be the queue list on logout. Peoples names aren't removed when they logout yet. So you may end up with some names in your list that are logged out and not playing if you have been playing for a while without logging yourself. Can get some bug crashes if improperly formatted messages are posted to the classic raid chat. odds of this are so small though. These would have to be malicously formatted texts inserted into chat by someone that picked apart my patterns. So I don't consider that a bug but it is a vulnerability which brings me to the last point. Messages can be faked!!! AGAIN, messages from offrealm can be faked. So, Don't go around getting in fights with people talking because it might not be them. This addon is for relaying WTB, WTS, LFM, and LFG messages mainly not for trolling or getting trolled. I may add more code to that system to prevent messages without the words wtb wts lfm and lfg in them to be posted just to avoid trolls.

If you do get a strange error or crash or something odd, just reload your ui. or even logout and back in. Should not be needed though. I did a lot of testing. but am aware of a few trouble spots.

if my fake me messages annoy you just click hide system messages. you can hide the minimap as well. I have not finished the options page yet. the texts in there are useless right now. but will be using them soon. I have a lot of features planned. Willing to take advice too. trust me when I say I have big plans though. Just trying to keep this thing stable and running smoothe before I go overboard though.

Also Variables are not yet saved. I will be adding that support soon and also will be adding a sync feature for the queue list so that when you login the queue list will sync with the channel leaders list using sendaddonchatmessages but I haven't mastered those yet. Still figuring that out. but I would of course like the queue list to autopopulate on channel join as of right now it starts to build after you login and builds until you logout. So technically you are joining the queue the moment you log in. Keep in mind though you aren't losing you spot in queue when you logout though unless you click leave queue before doing so. I will of course be altering this behavior soon.

You can also type /crf or /classicraidfinder for usage

And remember there are two seperate CRF channels. They share the same real channel. But in display it gets split into CRF:Trade and just CRF. Anything you post into the CRF channel will of course just get the CRF prefix. anything forwarded from trade gets the CRF:Trade prefix.
Send bug reports to Kenny Thorson at cybershrapnel@gmail.com or comments and concerns and thx :)
or find me in game under Shrapnel-Fenris (Shrap#1913) or on my alts Lenparhs-Fenris Sharpnel-Fenris Cybershrap-Fenris and Shrapnul-Proudmoore


I hope you enjoy!!!
-Shrapnel



