The online racing simulator
Admin Ability to Mute Racers on In-Game Chat
Putting on events, I think it would be a useful ability to mute certain players on the ingame chat (disallow them to chat period to anybody) Admin's only of course, and you wouldn't need to worry about people chatting after they have crashed out of a race or something of that mannor.
The best way to mute a driver is to remove them from the server.
Well i don´t think you should kick players just for crashing, but maybe it could be possible to have a spectator chat instead, so drivers wont see that chat. Could be alot like team chat ..
Quote from monzta :Well i don´t think you should kick players just for crashing, but maybe it could be possible to have a spectator chat instead, so drivers wont see that chat. Could be alot like team chat ..

That would be a god idea Of course, this wouldn't be anywhere on the Devs priority list
Private chat
If you are running Airio you can use the !pm command to setup private chat lists.
Not the best solution as it requires the guys who are spamming to set up the list and use the!pm command in front of every message, but it does allow you to talk to only certain people.
This would be a great idea for admins to be able to mute people (chatterboxes and foulmouths) either during league races or at public servers. Blocking messages doesn't help things too much here, since you're looking after something that will stop, say, 31 people from reading what the 1 chatterbox has to say.
The best thing to do atm to make sure they shut up is, like the Boothman said, to kick/ban them
why dont u block messages when u start racing? so even if some1 crashes and curses,no1 will see.
Quote from e2mustang :why dont u block messages when u start racing? so even if some1 crashes and curses,no1 will see.

but what if an admin happens to talk to you during the race? that would only make things worse, specially if talking about a penalty or something like that.
Quote from Senninha25 :but what if an admin happens to talk to you during the race? that would only make things worse, specially if talking about a penalty or something like that.

you can use the !pm or the /me: DT penaly for #48 blabla for example
Quote from Cornys :That would be a god idea Of course, this wouldn't be anywhere on the Devs priority list

If they gave InSim applications first shot at the message so we could decide if we want the client to talk or not, or if the client's message should be delivered to other clients or not that would be good. If I remember correctly, a message is at most 128 characters, and there are a maximum of 64 clients on the server, and 4 bytes for the packet header. We could use all of this information and put it into a packet and still be well within the 256 byte envelope for a InSim packet.

We add an option flag to the IS_ISI packet, obviously to set the flag you also have to have the admin password for the server so that the InSim instance can control it. Well call the flag INSIM_CHAT_CONTROL, and we will += that into our IS_ISI::Flags. That will tell LFS that we want this InSim instance to be authoritative on who can talk to whom. After that's added we modify the IS_SMALL packet, and the IS_MSO packet as follows.

We add a small define, in the regards of

<?php 
define
('SMALL_MSC',    8);    //  8 - inStruction        : Allow the message to be sent to all clients.
?>

And we make the ISP_SMALL's UVal that of the IS_MSO's MID, so LFS knows what message to deliver. This allows us to sync the messages between the systems.

We edit the IS_MSO packet so that we combine parts of it header. We take $ReqI, and $Zero and combine them to make a uInt_16 datatype. This will be used to identify the message. So this

<?php 
    
protected $ReqI NULL;            # 0
    
protected $Zero NULL;
?>

becomes this

<?php 
    
public $MID NULL;            # 0 - 65536
?>

So now when we get an IS_MSO packet, we can look at who it's coming from, and use the IS_SMALL packet to block the message by not sending a IS_SMALL::SMALL_MSC with the Msg ID, or sending another packet so that only some players can see that message. This packet would be called IS_MSC and looks as follows.


<?php 
class IS_MSC extends Struct // MeSsage Control - Control who get's to see a message from a client.
{
    const 
PACK 'CCSCCCCa128';
    const 
UNPACK 'CSize/CType/SMID/CUCID/CPLID/CUserType/CTextStart/a128Msg';

    protected 
$Size;                    # 8 + $Msg % 4
    
protected $Type ISP_MSO;            # ISP_MSO
    
protected $MID NULL;            # 0 - 65536

    
public $UCID 0;                    # connection's unique id (0 = host)
    
public $PLID 0;                    # player's unique id (if zero, use UCID)
    
public $UserType;                    # set if typed by a user (see User Values below)
    
public $TextStart;                    # first character of the actual text (after player name)

    
public $UCIDs;                    # Array of UCIDs the message should be sent too.
    
public $Msg;
}; function 
IS_MSC() { return new IS_MSC; }
?>


FGED GREDG RDFGDR GSFDG