Hey EMC, I have had this for a While, and I thought it would be good to get out there. I know there are several with this in their head. This would be more a Staff service idea, or if there was a way to implant it with a command in each res side by side. Anyway here it is. The reses are just random reses The red boxes are where the res messages are, But what if you a bunch in a group? I used 4 reses for this example. If you paid for the staff service, they would set the res message for the blue box line. So it would work just as a res message, but would be for all the 4 reses, so each res you don't get the res spam. I think a lot of malls, and builds would benefit for this as you will have the message from a set zone. Anyway, Give your Thoughts and Opinions on this idea. Regards, ~Finchy,
+1 Not sure how it'd be done, but Magic Five could probably figure it out. *throws five into a fire and tells to figure it out*
Theoretically it seems very possible... but I don't know exactly how Residence's code looks. After a bit of searching I found the publicly available Residence plugin's source, although Aikar has a custom version, I imagine some of the events are similar. An event is fired upon leaving or entering a Residence. At first I thought that makes it rather easy to make this feature possible, but then I realized it wouldn't be as easy, but nonetheless not terribly difficult. When you leave a residence and are on the road between the residence, the event fires and your from becomes, for example A, and your to becomes Road(null, as no residence exists there). Then upon entering the next residence, your from becomes Road(null, as no residence exists there), and your to becomes B. Each time you enter or leave A or B, the res message is fired. I thought at first simply using an if/else statement to check if residence A was PlayerX, and residence B was also PlayerX, cancel the res message. But, being that you enter a null residence(Road) in transition between A and B, it makes it a bit more difficult. You would have to change the code to store the last two locations. So, it would look like this: Rob moves from A to Road; store A in LocationFrom and store Road in LocationTo Rob moves from Road to B; move A to LocationPreviouslyFrom and Road to LocationFrom and store B in LocationTo Check if LocationPreviouslyFrom's owner is similar to LocationTo's owner If similar, cancel Res Enter message; otherwise, still send Res Enter message However, I'm not exactly sure how to handle the Res Leave messages. :/ Again, this is theory, as I don't know Aikar's code, so it may even be completely different from what I'm thinking.
And what about players who may have next-door residences that do not want this feature; and get all of the current messages? And there would be a huge issue handling those leave messages, as we have no idea where a player is going... Before we could even consider doing something like this, we would need a way for players to add areas to their residence (into the streets) as an expansion. This is semi-simple, but also needs to be removable upon residence Foreclosure. Something I would like to do, but know I can work on other features in less time that pay off more.
Could have a res setting for it, wouldn't be terribly difficult. But yeah, knowing where a player is going would be quite difficult for handling leave messages.
A res setting for it? Sure creating the settings is easy, making them work is the hard part Players can currently Remove enter/leave messages if they choose, but I also know this is not the request. If I had implemented: I would then create some arbitrary command like /res link [Res1] [Res2]. Which would store the necessary information so that when traveling between these residences, you would not get enter/leave messages. There is a deeper logic flow beneath this of course, but I know this ^ would be possible. Just the original suggestion is simply impossible without something to fill in those gaps between the residences.
This is more what i am looking for, Just something to link all the res messages into one, so you dont get the same message from crossing to the next res over like at 2000 for an example. You are looking at the tp's and get res spam from walking around.