Oke an example of right and wrong. First i show how it could be handled. And here we have the annoying spamming everyone hates. Its totally needless... We aren`t saying Selling in fm should stop. We are just asking for a normal and civilized way to do it. This way people can trade stuff and have a social gathering place at the same time. It shouldn`t be that hard right?
It saddens me to see how many people seem ok with diminishing the community in favor of something so unnecessary when there are many alternatives.
I don't even get why this issue even came up. I'm in fm all the time and i hardly see anything spamming @@@@@@@@@@@@@@@@@@@@@ and that screenshot was clearly just a stupid troll, u can even see there is like 3 ppl including jay
I dont believe anyone thinks those screens were real........... i was giving an EXAMPLE, ofcourse it was set-up, i was in ch2 and Pluisje is my other account. Ofcourse i oversaturated it a little bit, but that will get people`s attention. Like anti-smoking commercials... And if u want me to make a screen of everyone that does @@@@@ spamming you could better buy a new harddrive cause the amount of pics i will send u will be mind boggling
REPENTANCE MAGIC~ SendPacketOpcode: Code: SHOP_SCANNER_RESULT = 0x43 SHOP_LINK_RESULT = 0x44 SendPacketOpcode structures: Code: public static byte[] owlOfMinerva(MapleClient c, int itemid, List<HiredMerchant> hms, List<MaplePlayerShopItem> items) { //Thanks moongra, you save me some time :) final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendPacketOpcode.SHOP_SCANNER_RESULT.getValue()); // header. mplew.write(6); mplew.writeInt(0); mplew.writeInt(itemid); mplew.writeInt(hms.size()); for (HiredMerchant hm : hms) { for (MaplePlayerShopItem item : items) { mplew.writeMapleAsciiString(hm.getOwner()); mplew.writeInt(hm.getMapId()); mplew.writeMapleAsciiString(hm.getDescription()); mplew.writeInt(item.getItem().getQuantity()); mplew.writeInt(item.getBundles()); mplew.writeInt(item.getPrice()); mplew.writeInt(hm.getOwnerId()); mplew.write(hm.getFreeSlot() == -1 ? 1 : 0); MapleCharacter chr = c.getChannelServer().getPlayerStorage().getCharacterById(hm.getOwnerId()); if ((chr != null) && (c.getChannel() == hm.getChannel())) { mplew.write(1); } else { mplew.write(2); } if (item.getItem().getItemId() / 1000000 == 1) { addItemInfo(mplew, item.getItem(), true); } } } return mplew.getPacket(); } Code: public static byte[] getOwlMessage(int msg) { MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(3); mplew.writeShort(SendPacketOpcode.SHOP_LINK_RESULT.getValue()); mplew.write(msg); // depending on the byte sent, a different message is sent. return mplew.getPacket(); } RecvPacketOpcode: Code: OWL = 0x3D // +1 of DUEY OWL_WARP = 0x3E // +2 of DUEY USE_OWL_MINERVA = 0x4C // -1 of USE_TELE_ROCK As for handling the receive opcodes, you are on your own for it as I too tired and lazy to work on this. Though, it should be relatively easy now that you have the opcodes (or well the approximate range, it is at most 1-3 off) It is 8 AM in the morning. Anyways, I hope this helped. Also, I am not entirely sure on the first and second owl recvopcodes. But I am 100% certain on the send opcodes as I found them in the client. Lastly, regarding this topic, I agree with what ChickenStix said about the 30 seconds between each message. So, why not put a timer so people can't spam as often in FM? Why not make a 30 second timer between each message?
Connecting a few ideas already brought up here helped me summarize my thoughts on this. I vote to keep the spam. Why? The free market is called the free market because it is a free market. You sell stuff. That's what it's for. My proposed solutions are as follows by order of estimated time and effort required to implement; 1.) It's not even a big problem to begin with. Move to a different map. If people are bothering you, go somewhere else. Learn how to do this, it will help you in real life. Problem solved. 2.) Realize it's a chat hangout place because of the fact that it's a one click location that everyone can go to and then return back to where they came from. Because this function exists, there will always be a power struggle between social and business chat. Remove this, or make another centralized and just as easily accessible ch 1 social map. Problem solved. 3.) People spammed @s because people before then spammed @s. Fix the chalkboards, so we can use the chalkboards, so people after us will use the chalkboards. It is quite obviously a more effective medium of advertising than spamming. Get it fixed so it can catch on. Problem solved. There will always be idiots that will try to beat the spamming system. I think time can be better spent rethinking centralized locations on the server.
Is this how you want your FM to be like? Personally I'm not that bothered by it since I don't always hang out there, but do at least spare a thought for the regular FMers. And please, I really hate repeating myself but some of you seem to prefer skipping the 7 pages of arguments instead of actually reading and understanding them. Nobody is opposing buying, selling or trading in FM. They are opposing SPAMMING. Please, for the love of god, differentiate.
Let me see... this thread was created so that the staff could get some idea of players' opinions on what is currently a rather controversial subject. If we have a clearer idea of what our players want, then we are in a better position to know what, if anything, to do about this issue. I fail to see why that is so awful.
OK, giving you Matt's decision on the subject. He suggests that if someone is spamming badly in the FM entrance, you blacklist them so that you can't see what they're saying.
So less than a third of the voters are fine with spamming, more than half not ok with it and the decision is essentially a "no decision"? Ok then? Why if I blacklist someone, sell or buy something via smega, and they try to whisper me? Or what if I come across them again and can't see that they're trying to talk to me about something? Either allow it or not, this decisision is in no way different from what has already been going on. So should we report people who are indignantly spamming? Should we not? What about rule 13? Are we just going to ignore the rule and selectively enforce it? The community has spoken and nothing will be done.
It's a catch 22. Almost a compromise. Those who are annoyed with it can blacklist, those who are okay with it will see it. It's easier than implementing a whole new chatsystem code.